{"version":3,"file":"chunks/3654a1eeae8648.js","mappings":"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","sources":["webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/popper/dist/es2019/Popper.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/styled.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/components/utils/analytics-payloads.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/components/Tooltip.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/theme/index.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/Avatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarImage.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/AvatarImage.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Status.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Avatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/hoc/mapProps.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/constants.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getProps.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/CustomComponentProxy.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/hoc/withPseudoState.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/utils.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/getStyles.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/theme.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Content.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/IconWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/InnerWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/LoadingSpinner.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Button.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/button/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/popper/dist/es2019/Popper.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/styled.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/components/utils/analytics-payloads.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/components/Tooltip.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Item.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/utils/index.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Element.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Item.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Group.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Group.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/internal/ScrollBlock.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/internal/helpers.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/styledContentContainer.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/Layer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Droplist.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/theme/item-theme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/item/dist/esm/util/theme.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Droplist.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/util/contextNamespace.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/util/keys.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemFocusManager.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemClickManager.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemSelectionCache.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/styled/WidthConstrainer.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/DropdownMenuStateless.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/DropdownMenu.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/glyph/chevron-down.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/glyph/checkbox.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/glyph/radio.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/icon/glyph/chevron-down.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/array-find/find.js","webpack:///./node_modules/create-react-context/lib/implementation.js","webpack:///./node_modules/create-react-context/lib/index.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/flushable/dist/index.umd.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/querystring/decode.js","webpack:///./node_modules/querystring/encode.js","webpack:///./node_modules/querystring/index.js","webpack:///./node_modules/raf-schd/esm/index.js","webpack:///./node_modules/react-node-resolver/lib/NodeResolver.js","webpack:///./node_modules/react-node-resolver/lib/index.js","webpack:///./node_modules/react-scrolllock/dist/ScrollLock.js","webpack:///./node_modules/react-scrolllock/dist/TouchScrollable.js","webpack:///./node_modules/react-scrolllock/dist/index.js","webpack:///./node_modules/react-scrolllock/dist/utils.js","webpack:///./node_modules/react-scrolllock/dist/withLockSheet.js","webpack:///./node_modules/react-scrolllock/dist/withTouchListeners.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/@atlassiansox/origin-tracing/dist/es2019/env.js","webpack:///./node_modules/@atlassiansox/origin-tracing/dist/es2019/encoder.js","webpack:///./node_modules/@atlassiansox/origin-tracing/dist/es2019/origin-tracer.js","webpack:///./node_modules/@atlassiansox/origin-tracing/dist/es2019/util/base64url.js","webpack:///./resources/js/buyer-experience/common/base-paths.ts","webpack:///./node_modules/@atlassiansox/bxpkit-join-site-user-dropdown/src/font.ts","webpack:///./node_modules/@atlassiansox/bxpkit-join-site-user-dropdown/src/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-join-site-user-dropdown/src/components/trigger.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-join-site-user-dropdown/src/components/join-link-item.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-join-site-user-dropdown/src/join-site-user-logged-in-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-join-site-user-dropdown/src/join-site-user-logged-out-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-join-site-user-dropdown/src/join-site-user-dropdown.tsx","webpack:///./resources/js/react/cms-components/nav/GlobalNavDropdown.tsx","webpack:///./node_modules/url/node_modules/punycode/punycode.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/uuid/index.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/uuid/v4.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourcesContent":["export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from 'create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_this), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || this.props.modifiers !== prevProps.modifiers) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import React from 'react';\nimport memoizeOne from 'memoize-one';\nimport { Popper as ReactPopper, } from 'react-popper';\nexport { Manager, Reference } from 'react-popper';\nconst FlipBehavior = {\n auto: [],\n top: ['top', 'bottom', 'top'],\n right: ['right', 'left', 'right'],\n bottom: ['bottom', 'top', 'bottom'],\n left: ['left', 'right', 'left'],\n};\nconst getFlipBehavior = (side) => FlipBehavior[side];\nexport class Popper extends React.Component {\n constructor() {\n super(...arguments);\n this.getModifiers = memoizeOne(placement => {\n const flipBehavior = getFlipBehavior(placement.split('-')[0]);\n const modifiers = {\n flip: {\n enabled: true,\n behavior: flipBehavior,\n boundariesElement: 'viewport',\n },\n hide: {\n enabled: true,\n },\n offset: {\n enabled: true,\n offset: this.props.offset,\n },\n preventOverflow: {\n enabled: true,\n escapeWithReference: false,\n boundariesElement: 'window',\n },\n };\n if (this.props.modifiers) {\n return { ...modifiers, ...this.props.modifiers };\n }\n return modifiers;\n });\n }\n render() {\n const { placement, children, referenceElement } = this.props;\n const modifiers = this.getModifiers(this.props.placement);\n return (React.createElement(ReactPopper, Object.assign({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement } : {})), children));\n }\n}\nPopper.defaultProps = {\n children: () => null,\n offset: '0, 8px',\n placement: 'bottom-start',\n};\n//# sourceMappingURL=Popper.js.map","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport ReactDOM from 'react-dom';\nimport invariant from 'tiny-invariant';\nimport { layers } from '@atlaskit/theme';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../constants';\nconst createContainer = (zIndex) => {\n const container = document.createElement('div');\n container.setAttribute('class', 'atlaskit-portal');\n container.setAttribute('style', `z-index: ${zIndex};`);\n return container;\n};\nconst getBody = () => {\n invariant(document && document.body, 'cannot find document.body');\n return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nconst zIndexToName = Object.keys(layers).reduce((acc, name) => {\n const layerName = name;\n const value = layers[layerName]();\n acc[value] = layerName;\n return acc;\n}, {});\nconst getLayerName = (zIndex) => {\n return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n ? zIndexToName[zIndex]\n : null;\n};\nconst getEvent = (eventName, zIndex) => {\n const detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex,\n };\n // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n if (typeof CustomEvent === 'function') {\n return new CustomEvent(eventName, {\n detail,\n });\n }\n // CustomEvent constructor API not supported (ie11)\n // Using `new Event` or `new CustomEvent` does not work in ie11\n const event = document.createEvent('CustomEvent');\n const params = {\n bubbles: true,\n cancellable: true,\n detail,\n };\n event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n return event;\n};\nconst firePortalEvent = (eventName, zIndex) => {\n const event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n};\nconst getPortalParent = () => {\n const parentElement = document.querySelector('body > .atlaskit-portal-container');\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.setAttribute('class', 'atlaskit-portal-container');\n parent.setAttribute('style', `display: flex;`);\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nclass Portal extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n container: canUseDOM ? createContainer(this.props.zIndex) : undefined,\n portalIsMounted: false,\n };\n }\n componentDidUpdate(prevProps, prevState) {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container && prevProps.zIndex !== zIndex) {\n const newContainer = createContainer(zIndex);\n getPortalParent().replaceChild(container, newContainer);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ container: newContainer });\n }\n else if (!prevState.container && container) {\n // SSR path\n getPortalParent().appendChild(container);\n }\n }\n componentDidMount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().appendChild(container);\n }\n else {\n // SSR path\n const newContainer = createContainer(zIndex);\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ container: newContainer });\n }\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n portalIsMounted: true,\n });\n firePortalEvent(PORTAL_MOUNT_EVENT, Number(zIndex));\n }\n componentWillUnmount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().removeChild(container);\n // clean up parent element if there are no more portals\n const portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n if (!portals) {\n getBody().removeChild(getPortalParent());\n }\n }\n firePortalEvent(PORTAL_UNMOUNT_EVENT, Number(zIndex));\n }\n render() {\n const { container, portalIsMounted } = this.state;\n return container && portalIsMounted\n ? ReactDOM.createPortal(this.props.children, container)\n : null;\n }\n}\nPortal.defaultProps = {\n zIndex: 0,\n};\nexport default Portal;\n//# sourceMappingURL=Portal.js.map","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nvar index = (function (condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n }\n\n throw new Error(prefix + ': ' + (message || ''));\n});\n\nexport default index;\n","import styled from 'styled-components';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nconst backgroundColor = themed({\n light: N800,\n dark: DN0,\n});\nconst textColor = themed({\n light: N0,\n dark: DN600,\n});\nexport const TooltipPrimitive = styled.div `\n z-index: ${layers.tooltip};\n pointer-events: none;\n position: fixed;\n`;\nexport const Tooltip = styled(TooltipPrimitive) `\n background-color: ${backgroundColor};\n border-radius: ${borderRadius}px;\n box-sizing: border-box;\n color: ${textColor};\n font-size: 12px;\n left: 0;\n line-height: 1.3;\n max-width: 240px;\n padding: 2px 6px;\n top: 0;\n /* Edge does not support overflow-wrap */\n word-wrap: break-word;\n overflow-wrap: break-word;\n\n ${({ truncate }) => truncate &&\n `\n max-width: 420px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n`;\n// The inline-block here is needed to keep the tooltip appearing in the correct position\n// when nested inside a wider parent (see position: relative example).\nexport const Target = styled.div `\n display: inline-block;\n`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Transition } from 'react-transition-group';\nconst ENTER_DURATION = 120;\nconst EXIT_DURATION = 80;\nconst easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nconst defaultStyle = (timeout) => ({\n transition: `transform ${timeout.enter}ms ${easing}, opacity ${timeout.enter}ms linear`,\n opacity: 0,\n});\nconst transitionStyle = (state) => {\n const transitions = {\n entering: {},\n entered: {\n opacity: 1,\n },\n exiting: {\n opacity: 0,\n },\n };\n return transitions[state];\n};\nconst getStyle = (timeout, state) => () => ({\n ...defaultStyle(timeout),\n ...transitionStyle(state),\n});\nconst Animation = ({ children, immediatelyHide, immediatelyShow, onExited, in: inProp, }) => {\n const timeout = {\n enter: immediatelyShow ? 0 : ENTER_DURATION,\n exit: immediatelyHide ? 0 : EXIT_DURATION,\n };\n return (React.createElement(Transition, { timeout: timeout, in: inProp, onExited: onExited, unmountOnExit: true, appear: true }, (state) => children(getStyle(timeout, state))));\n};\nexport default Animation;\n//# sourceMappingURL=Animation.js.map","import { name as packageName, version as packageVersion, } from '../../version.json';\nexport const hoveredPayload = {\n action: 'displayed',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\nexport const unhoveredPayload = {\n action: 'hidden',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\n//# sourceMappingURL=analytics-payloads.js.map","/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport flushable from 'flushable';\nimport NodeResolver from 'react-node-resolver';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { Tooltip as StyledTooltip } from '../styled';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Animation from './Animation';\nimport { hoveredPayload, unhoveredPayload } from './utils/analytics-payloads';\nconst SCROLL_OPTIONS = { capture: true, passive: true };\nfunction getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || { top: 0, left: 0 };\n const getBoundingClientRect = () => {\n return {\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0,\n };\n };\n return {\n getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0,\n };\n}\nlet pendingHide;\nconst showTooltip = (fn, defaultDelay) => {\n const isHidePending = pendingHide && pendingHide.pending();\n if (isHidePending) {\n pendingHide.flush();\n }\n const pendingShow = flushable(() => fn(isHidePending), isHidePending ? 0 : defaultDelay);\n return pendingShow.cancel;\n};\nconst hideTooltip = (fn, defaultDelay) => {\n pendingHide = flushable(flushed => fn(flushed), defaultDelay);\n return pendingHide.cancel;\n};\nclass Tooltip extends React.Component {\n constructor() {\n super(...arguments);\n this.wrapperRef = null;\n this.targetRef = null;\n this.cancelPendingSetState = () => { };\n this.userInteraction = 'mouse';\n this.state = {\n immediatelyHide: false,\n immediatelyShow: false,\n isVisible: false,\n renderTooltip: false,\n };\n this.handleWindowScroll = () => {\n if (this.state.isVisible) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseClick = () => {\n if (this.props.hideTooltipOnClick) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseDown = () => {\n if (this.props.hideTooltipOnMouseDown) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseOver = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.userInteraction = 'mouse';\n // In the case where a tooltip is newly rendered but immediately becomes hovered,\n // we need to set the coordinates in the mouseOver event.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: e.clientX,\n top: e.clientY,\n });\n }\n this.handleShowTooltip();\n };\n this.handleFocus = () => {\n this.userInteraction = 'keyboard';\n // We need to fake the mouse dimensions even on focus because the code path currently assumes\n // fake mouse element needs to exist before showing the tooltip.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: 0,\n top: 0,\n });\n }\n this.handleShowTooltip();\n };\n this.handleShowTooltip = () => {\n this.cancelPendingSetState();\n if (Boolean(this.props.content) && !this.state.isVisible) {\n this.cancelPendingSetState = showTooltip(immediatelyShow => {\n this.setState({\n isVisible: true,\n renderTooltip: true,\n immediatelyShow,\n });\n }, this.props.delay || 0);\n }\n };\n this.handleHideTooltip = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.cancelPendingSetState();\n if (this.state.isVisible) {\n this.cancelPendingSetState = hideTooltip(immediatelyHide => {\n this.setState({ isVisible: false, immediatelyHide });\n }, this.props.delay || 0);\n }\n };\n // Update mouse coordinates, used when position is 'mouse'.\n // We are not debouncing/throttling this function because we aren't causing any\n // re-renders or performaing any intensive calculations, we're just updating a value.\n // React also doesn't play nice debounced DOM event handlers because they pool their\n // SyntheticEvent objects. Need to use event.persist as a workaround - https://stackoverflow.com/a/24679479/893630\n this.handleMouseMove = (event) => {\n if (!this.state.renderTooltip) {\n this.fakeMouseElement = getMousePosition({\n left: event.clientX,\n top: event.clientY,\n });\n }\n };\n }\n componentWillUnmount() {\n this.cancelPendingSetState();\n this.removeScrollListener();\n }\n componentDidUpdate(_prevProps, prevState) {\n if (!prevState.isVisible && this.state.isVisible) {\n if (this.props.onShow)\n this.props.onShow();\n window.addEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n else if (prevState.isVisible && !this.state.isVisible) {\n if (this.props.onHide)\n this.props.onHide();\n this.removeScrollListener();\n }\n }\n removeScrollListener() {\n window.removeEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n shouldPositionTooltipNearMouse() {\n const { position } = this.props;\n return position === 'mouse' && this.userInteraction === 'mouse';\n }\n render() {\n const { children, position, mousePosition, content, truncate, component: TooltipContainer, tag: TargetContainer, testId, } = this.props;\n const { isVisible, renderTooltip, immediatelyShow, immediatelyHide, } = this.state;\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n return (\n /* eslint-disable jsx-a11y/mouse-events-have-key-events */\n React.createElement(React.Fragment, null,\n TargetContainer && (React.createElement(TargetContainer, { onClick: this.handleMouseClick, onMouseOver: this.handleMouseOver, onMouseOut: this.handleHideTooltip, onMouseMove: this.handleMouseMove, onMouseDown: this.handleMouseDown, onFocus: this.handleFocus, onBlur: this.handleHideTooltip, ref: (wrapperRef) => {\n this.wrapperRef = wrapperRef;\n } },\n React.createElement(NodeResolver, { innerRef: (ref) => {\n this.targetRef = ref;\n } }, React.Children.only(children)))),\n renderTooltip && this.targetRef && this.fakeMouseElement ? (React.createElement(Portal, { zIndex: layers.tooltip() },\n React.createElement(Popper, { placement: tooltipPosition, referenceElement: \n // https://github.com/FezVrasta/react-popper#usage-without-a-reference-htmlelement\n // We are using a popper technique to pass in a faked element when we use mouse.\n (this.shouldPositionTooltipNearMouse()\n ? this.fakeMouseElement\n : this.targetRef) }, ({ ref, style }) => TooltipContainer && (React.createElement(Animation, { immediatelyShow: immediatelyShow, immediatelyHide: immediatelyHide, onExited: () => this.setState({ renderTooltip: false }), in: isVisible }, getAnimationStyles => (React.createElement(TooltipContainer\n // innerRef can't be null so shortcircuit to undefined if it is.\n , { \n // innerRef can't be null so shortcircuit to undefined if it is.\n innerRef: ref || undefined, className: \"Tooltip\", style: {\n ...getAnimationStyles(),\n ...style,\n }, truncate: truncate || false, \"data-placement\": tooltipPosition, \"data-testid\": testId }, content))))))) : null)\n /* eslint-enable */\n );\n }\n}\nTooltip.defaultProps = {\n component: StyledTooltip,\n delay: 300,\n mousePosition: 'bottom',\n position: 'bottom',\n tag: 'div',\n};\nexport { Tooltip as TooltipWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'tooltip',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onHide: unhoveredPayload,\n onShow: createAndFireEventOnAtlaskit({ ...hoveredPayload }),\n})(Tooltip));\n//# sourceMappingURL=Tooltip.js.map","import { __makeTemplateObject } from \"tslib\";\nimport { css } from 'styled-components';\nimport { B200, background, DN80A, N200A, N70A } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { AVATAR_RADIUS, AVATAR_SIZES, BORDER_WIDTH, TRANSITION_DURATION, } from './constants';\nvar backgroundColorFocus = B200;\nvar overlayColorDefault = 'transparent';\nvar overlayColorHover = N70A;\nvar overlayColorSelected = N200A;\nvar overlayColorDisabled = themed({\n light: 'rgba(255, 255, 255, 0.7)',\n dark: DN80A,\n});\n// \"square\" avatars are explicit\nexport function getBorderRadius(props, config) {\n if (config === void 0) { config = { includeBorderWidth: false }; }\n var borderWidth = config.includeBorderWidth\n ? BORDER_WIDTH[props.size]\n : 0;\n return props.appearance === 'circle'\n ? '50%'\n : AVATAR_RADIUS[props.size] + borderWidth + \"px\";\n}\nexport var getSize = function (_a) {\n var size = _a.size;\n return AVATAR_SIZES[size];\n}; // for testing\nexport function getAvatarDimensions(_a, config) {\n var size = _a.size;\n if (config === void 0) { config = {\n includeBorderWidth: false,\n sizeOnly: false,\n }; }\n var borderWidth = config.includeBorderWidth\n ? BORDER_WIDTH[size] * 2\n : 0;\n var finalSize = AVATAR_SIZES[size] + borderWidth;\n return config.sizeOnly\n ? finalSize\n : \"\\n height: \" + finalSize + \"px;\\n width: \" + finalSize + \"px;\\n \";\n}\n// expose here for use with multiple element types\nexport function getInnerStyles(props) {\n if (props === void 0) { props = { appearance: 'circle', size: 'medium' }; }\n var boxSizing = 'content-box';\n var borderWidth = BORDER_WIDTH[props.size] + \"px\";\n var isInteractive = Boolean(props.isInteractive || props.href || props.onClick);\n // We make the distinction between isInteractive and isClickable as supplying a tooltip\n // makes the avatar interactive but not clickable\n var isClickable = Boolean(props.href || props.onClick);\n var backgroundColor = props.borderColor || background;\n // Inherit cursor styles so we don't cancel out pointer cursors in places like avatar group more dropdown\n var cursor = 'inherit';\n var outline = 'none';\n var overlayShade = overlayColorDefault;\n var overlayOpacity = 0;\n var pointerEvents = 'auto';\n var position = 'static';\n var transform = 'translateZ(0)';\n var transitionDuration = '0s';\n // Interaction: Hover\n if (isInteractive && (props.isActive || props.isHover)) {\n overlayShade = overlayColorHover;\n overlayOpacity = 1;\n }\n // Interaction: Active\n if (isClickable && props.isActive) {\n transform = 'scale(0.9)';\n }\n // Interaction: Focus\n if (isInteractive && props.isFocus && !props.isActive) {\n outline = 'none';\n backgroundColor = backgroundColorFocus;\n transitionDuration = TRANSITION_DURATION;\n }\n // Disabled\n if (props.isDisabled) {\n cursor = 'not-allowed';\n overlayShade = overlayColorDisabled;\n overlayOpacity = 1;\n pointerEvents = 'none';\n }\n // Clickable\n if (isClickable) {\n cursor = 'pointer';\n }\n // Loading\n if (props.isSelected) {\n overlayShade = overlayColorSelected;\n overlayOpacity = 1;\n }\n // Stack\n if (props.stackIndex) {\n position = 'relative';\n }\n return css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \";\\n align-items: stretch;\\n background-color: \", \";\\n border: 0;\\n border-radius: \", \";\\n padding: \", \";\\n box-sizing: \", \";\\n cursor: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n outline: \", \";\\n overflow: hidden;\\n pointer-events: \", \";\\n position: \", \";\\n transform: \", \";\\n transition: background-color \", \" ease-out;\\n\\n a &,\\n button & {\\n cursor: pointer;\\n }\\n\\n &::after {\\n background-color: \", \";\\n border-radius: \", \";\\n bottom: \", \";\\n content: ' ';\\n left: \", \";\\n opacity: \", \";\\n pointer-events: none;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n transition: opacity \", \";\\n }\\n\\n &::-moz-focus-inner {\\n border: 0;\\n margin: 0;\\n padding: 0;\\n }\\n \"], [\"\\n \", \";\\n align-items: stretch;\\n background-color: \", \";\\n border: 0;\\n border-radius: \", \";\\n padding: \", \";\\n box-sizing: \", \";\\n cursor: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n outline: \", \";\\n overflow: hidden;\\n pointer-events: \", \";\\n position: \", \";\\n transform: \", \";\\n transition: background-color \", \" ease-out;\\n\\n a &,\\n button & {\\n cursor: pointer;\\n }\\n\\n &::after {\\n background-color: \", \";\\n border-radius: \", \";\\n bottom: \", \";\\n content: ' ';\\n left: \", \";\\n opacity: \", \";\\n pointer-events: none;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n transition: opacity \", \";\\n }\\n\\n &::-moz-focus-inner {\\n border: 0;\\n margin: 0;\\n padding: 0;\\n }\\n \"])), getAvatarDimensions, backgroundColor, function (p) { return getBorderRadius(p, { includeBorderWidth: true }); }, borderWidth, boxSizing, cursor, outline, pointerEvents, position, transform, transitionDuration, overlayShade, getBorderRadius, borderWidth, borderWidth, overlayOpacity, borderWidth, borderWidth, TRANSITION_DURATION);\n}\nvar templateObject_1;\n//# sourceMappingURL=utils.js.map","import { gridSize } from '@atlaskit/theme/constants';\nexport var TRANSITION_DURATION = '200ms';\nvar gridSizeValue = gridSize();\nexport var AVATAR_SIZES = {\n xsmall: gridSizeValue * 2,\n small: gridSizeValue * 3,\n medium: gridSizeValue * 4,\n large: gridSizeValue * 5,\n xlarge: gridSizeValue * 12,\n xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nexport var AVATAR_RADIUS = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n xlarge: 6,\n xxlarge: 12,\n};\nexport var BORDER_WIDTH = {\n xsmall: 2,\n small: 2,\n medium: 2,\n large: 2,\n xlarge: 2,\n xxlarge: 2,\n};\n// NOTE: sizes xsmall & xxlarge DO NOT support\n// - groups\n// - presence\n// - status\nexport var EXCESS_INDICATOR_FONT_SIZE = {\n small: 10,\n medium: 11,\n large: 12,\n xlarge: 16,\n};\nexport var ICON_SIZES = {\n small: 12,\n medium: 14,\n large: 15,\n xlarge: 18,\n};\nexport var ICON_OFFSET = {\n small: 0,\n medium: 0,\n large: 1,\n xlarge: 7,\n};\nexport var SQUARE_ICON_OFFSET = {\n small: 0,\n medium: 0,\n large: 0,\n xlarge: 1,\n};\n//# sourceMappingURL=constants.js.map","import { getInnerStyles } from '../styled/utils';\nimport styledCache from './styledCache';\nexport default styledCache(getInnerStyles);\n//# sourceMappingURL=getStyledAvatar.js.map","import { __assign } from \"tslib\";\nimport { DN50, N40 } from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nvar gridSizeValue = gridSize();\nvar AVATAR_SIZES = {\n xsmall: gridSizeValue * 2,\n small: gridSizeValue * 3,\n medium: gridSizeValue * 4,\n large: gridSizeValue * 5,\n xlarge: gridSizeValue * 12,\n xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nvar AVATAR_RADIUS = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n xlarge: 6,\n xxlarge: 12,\n};\nvar BORDER_WIDTH = {\n xsmall: 2,\n small: 2,\n medium: 2,\n large: 2,\n xlarge: 2,\n xxlarge: 2,\n};\nvar ICON_SIZES = {\n xsmall: 0,\n small: 12,\n medium: 14,\n large: 15,\n xlarge: 18,\n xxlarge: 0,\n};\nvar ICON_OFFSET = {\n xsmall: 0,\n small: 0,\n medium: 0,\n large: 1,\n xlarge: 7,\n xxlarge: 0,\n};\nvar SQUARE_ICON_OFFSET = {\n xsmall: 0,\n small: 0,\n medium: 0,\n large: 0,\n xlarge: 1,\n xxlarge: 0,\n};\nfunction getBackgroundColor(props) {\n var backgroundColors = {\n light: N40,\n dark: DN50,\n };\n return props.mode && props.isLoading\n ? backgroundColors[props.mode]\n : 'transparent';\n}\nfunction getBorderRadius(props) {\n var borderWidth = props.includeBorderWidth ? BORDER_WIDTH[props.size] : 0;\n var borderRadius = props.appearance === 'circle'\n ? '50%'\n : AVATAR_RADIUS[props.size] + borderWidth + \"px\";\n return borderRadius;\n}\nfunction getDimensions(props) {\n var borderWidth = props.includeBorderWidth\n ? BORDER_WIDTH[props.size] * 2\n : 0;\n var size = AVATAR_SIZES[props.size] + borderWidth;\n var width = size + \"px\";\n var height = width;\n return { height: height, width: width };\n}\nvar getPresenceLayout = function (props) {\n var presencePosition = props.appearance === 'square'\n ? -(BORDER_WIDTH[props.size] * 2)\n : ICON_OFFSET[props.size];\n var presenceSize = ICON_SIZES[props.size];\n return {\n bottom: presencePosition + \"px\",\n height: presenceSize + \"px\",\n right: presencePosition + \"px\",\n width: presenceSize + \"px\",\n };\n};\nvar getStatusLayout = function (props) {\n var statusPosition = props.appearance === 'square'\n ? SQUARE_ICON_OFFSET[props.size]\n : ICON_OFFSET[props.size];\n var statusSize = ICON_SIZES[props.size];\n return {\n height: statusSize + \"px\",\n right: statusPosition + \"px\",\n top: statusPosition + \"px\",\n width: statusSize + \"px\",\n };\n};\nvar propsDefaults = {\n appearance: 'circle',\n includeBorderWidth: false,\n isLoading: false,\n mode: 'light',\n presence: 'offline',\n size: 'xsmall',\n};\nexport var Theme = createTheme(function (props) {\n var propsWithDefaults = __assign(__assign({}, propsDefaults), props);\n return {\n backgroundColor: getBackgroundColor(propsWithDefaults),\n borderRadius: getBorderRadius(propsWithDefaults),\n dimensions: getDimensions(propsWithDefaults),\n presence: getPresenceLayout(propsWithDefaults),\n status: getStatusLayout(propsWithDefaults),\n };\n});\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport { Theme } from '../theme';\nvar Avatar = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n var dimensions = _a.dimensions;\n return (React.createElement(\"div\", { \"data-testid\": props.testId, style: __assign({ display: 'inline-block', position: 'relative', outline: 0, zIndex: props.stackIndex }, dimensions) }, props.children));\n})); };\nexport default Avatar;\nexport var PresenceWrapper = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n var presence = _a.presence;\n return (React.createElement(\"span\", { style: __assign({ pointerEvents: 'none', position: 'absolute' }, presence) }, props.children));\n})); };\nexport var StatusWrapper = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n var status = _a.status;\n return (React.createElement(\"span\", { style: __assign({ position: 'absolute' }, status) }, props.children));\n})); };\n//# sourceMappingURL=Avatar.js.map","import { __assign, __makeTemplateObject, __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { background, DN100, N50 } from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nexport var ShapeGroup = withTheme(styled.g(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n & circle,\\n & rect {\\n fill: \", \";\\n }\\n & g {\\n fill: \", \";\\n }\\n\"], [\"\\n & circle,\\n & rect {\\n fill: \", \";\\n }\\n & g {\\n fill: \", \";\\n }\\n\"])), themed({ light: N50, dark: DN100 }), background));\nexport var Slot = function (_a) {\n var isLoading = _a.isLoading, appearance = _a.appearance, size = _a.size, backgroundImage = _a.backgroundImage, label = _a.label, role = _a.role;\n return (React.createElement(Theme.Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n return (React.createElement(\"span\", { style: {\n backgroundColor: backgroundColor,\n backgroundImage: backgroundImage\n ? \"url(\" + backgroundImage + \")\"\n : undefined,\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n borderRadius: borderRadius,\n display: 'flex',\n flex: '1 1 100%',\n height: '100%',\n width: '100%',\n }, role: role, \"aria-label\": label }));\n }));\n};\nexport var Svg = function (_a) {\n var appearance = _a.appearance, size = _a.size, children = _a.children, isLoading = _a.isLoading, otherProps = __rest(_a, [\"appearance\", \"size\", \"children\", \"isLoading\"]);\n return (React.createElement(Theme.Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n return (React.createElement(\"svg\", __assign({ style: {\n backgroundColor: backgroundColor,\n borderRadius: borderRadius,\n height: '100%',\n width: '100%',\n } }, otherProps), children));\n }));\n};\nvar templateObject_1;\n//# sourceMappingURL=AvatarImage.js.map","import { __extends } from \"tslib\";\nimport React, { PureComponent } from 'react';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { ShapeGroup, Slot, Svg } from '../styled/AvatarImage';\nexport function DefaultImage(_a) {\n var appearance = _a.appearance, size = _a.size, title = _a.title, isLoading = _a.isLoading;\n var rectBounds = 128;\n return (React.createElement(GlobalTheme.Consumer, null, function (_a) {\n var mode = _a.mode;\n return (React.createElement(Svg, { appearance: appearance, isLoading: isLoading, size: size, viewBox: \"0 0 \" + rectBounds + \" \" + rectBounds, version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\", role: \"img\", \"aria-label\": title }, appearance === 'circle' ? (React.createElement(ShapeGroup, { mode: mode },\n React.createElement(\"circle\", { cx: \"64\", cy: \"64\", r: \"64\" }),\n React.createElement(\"g\", null,\n React.createElement(\"path\", { d: \"M103,102.1388 C93.094,111.92 79.3504,118 64.1638,118 C48.8056,118 34.9294,111.768 25,101.7892 L25,95.2 C25,86.8096 31.981,80 40.6,80 L87.4,80 C96.019,80 103,86.8096 103,95.2 L103,102.1388 Z\" }),\n React.createElement(\"path\", { d: \"M63.9961647,24 C51.2938136,24 41,34.2938136 41,46.9961647 C41,59.7061864 51.2938136,70 63.9961647,70 C76.6985159,70 87,59.7061864 87,46.9961647 C87,34.2938136 76.6985159,24 63.9961647,24\" })))) : (React.createElement(ShapeGroup, { mode: mode },\n React.createElement(\"rect\", { x: \"0\", y: \"0\", width: rectBounds, height: rectBounds }),\n React.createElement(\"g\", { transform: \"translate(19.000000, 32.000000)\" },\n React.createElement(\"path\", { d: \"M18.25,32.5 L54.5833333,32.5 L54.5833333,23.4166667 L18.25,23.4166667 L18.25,32.5 Z M9.16666667,18.8331166 C9.16666667,16.3479549 11.236581,14.3333333 13.7195662,14.3333333 L59.1137671,14.3333333 C61.6282641,14.3333333 63.6666667,16.3815123 63.6666667,18.8331166 L63.6666667,41.5833333 L9.16666667,41.5833333 L9.16666667,18.8331166 Z\" }),\n React.createElement(\"path\", { d: \"M18.25,9.81383682 C18.25,4.7850061 22.3296003,0.708333333 27.3238554,0.708333333 L36.4261446,0.708333333 C41.4374965,0.708333333 45.5,4.76812825 45.5,9.81383682 L45.5,23.4166667 L18.25,23.4166667 L18.25,9.81383682 Z M36.4166667,9.81383682 C36.4166667,9.79803315 36.4184748,9.79303784 36.4207515,9.79166667 L27.3238554,9.79166667 C27.3447224,9.79166667 27.3333333,9.80308059 27.3333333,9.81383682 L27.3333333,14.3333333 L36.4166667,14.3333333 L36.4166667,9.81383682 Z\" }),\n React.createElement(\"path\", { d: \"M11.4386532,55.2083333 L74.9953562,55.2083333 L79.5452242,41.5833333 L9.80449752,41.5833333 L11.4386532,55.2083333 Z M0.1048547,36.987541 C-0.192399775,34.5091405 1.5865717,32.5 4.09502839,32.5 L87.6264735,32.5 C90.1274401,32.5 91.5225656,34.393506 90.7231047,36.7875656 L82.9702846,60.004101 C82.1795402,62.3720582 79.5279445,64.2916667 76.9985338,64.2916667 L7.91963924,64.2916667 C5.41227673,64.2916667 3.14113571,62.3029555 2.84143097,59.8041257 L0.1048547,36.987541 Z\" }))))));\n }));\n}\nvar AvatarImage = /** @class */ (function (_super) {\n __extends(AvatarImage, _super);\n function AvatarImage() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n hasError: false,\n isLoading: false,\n };\n _this.handleLoadSuccess = function () {\n _this.setState({ hasError: false, isLoading: false });\n };\n _this.handleLoadError = function () {\n _this.setState({ hasError: true, isLoading: false });\n };\n return _this;\n }\n AvatarImage.prototype.componentDidMount = function () {\n if (this.props.src) {\n // check whether there was a problem loading the image\n // if handleLoadError is called we show the default avatar\n var img = new Image();\n img.onerror = this.handleLoadError;\n img.src = this.props.src || '';\n }\n };\n AvatarImage.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n if (this.props.src && this.props.src !== prevProps.src) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ isLoading: true }, function () {\n var img = new Image();\n img.onload = _this.handleLoadSuccess;\n img.onerror = _this.handleLoadError;\n img.src = _this.props.src || '';\n });\n }\n };\n AvatarImage.prototype.render = function () {\n var _a = this.props, alt = _a.alt, src = _a.src, appearance = _a.appearance, size = _a.size;\n var _b = this.state, hasError = _b.hasError, isLoading = _b.isLoading;\n var showDefault = !isLoading && (!src || hasError);\n var imageUrl = src && !isLoading ? src : undefined;\n return showDefault ? (React.createElement(DefaultImage, { appearance: appearance, size: size, title: alt, isLoading: isLoading })) : (React.createElement(Slot, { appearance: appearance, isLoading: isLoading, size: size, role: \"img\", label: alt, backgroundImage: imageUrl }));\n };\n return AvatarImage;\n}(PureComponent));\nexport default AvatarImage;\n//# sourceMappingURL=AvatarImage.js.map","import { __assign, __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nvar Svg = function (props) { return (React.createElement(\"svg\", __assign({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar BusyCircle = withTheme(styled.circle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.R300, dark: colors.R200 })));\nvar BusyPath = withTheme(styled.path(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.background));\nvar FocusPath = withTheme(styled.path(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.purple));\nvar OfflineOuter = withTheme(styled.path(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N200, dark: colors.DN100 })));\nvar OfflineInner = withTheme(styled.path(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N40, dark: colors.DN500 })));\nvar OnlineCircle = withTheme(styled.circle(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.G300, dark: colors.G200 })));\nexport default function getPresenceSvg(presence) {\n switch (presence) {\n case 'busy':\n return (React.createElement(Svg, null,\n React.createElement(BusyCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(BusyPath, { d: \"M3.3,1.9l2.8,2.8c0.2,0.2,0.2,0.5,0,0.7L5.4,6.1c-0.2,0.2-0.5,0.2-0.7,0L1.9,3.3c-0.2-0.2-0.2-0.5,0-0.7l0.7-0.7C2.8,1.7,3.1,1.7,3.3,1.9z\" })));\n case 'focus':\n return (React.createElement(Svg, null,\n React.createElement(FocusPath, { d: \"M4,8 C1.790861,8 0,6.209139 0,4 C0,1.790861 1.790861,0 4,0 C6.209139,0 8,1.790861 8,4 C8,6.209139 6.209139,8 4,8 Z M4,6.66666667 C5.47275933,6.66666667 6.66666667,5.47275933 6.66666667,4 C6.66666667,2.52724067 5.47275933,1.33333333 4,1.33333333 C2.52724067,1.33333333 1.33333333,2.52724067 1.33333333,4 C1.33333333,5.47275933 2.52724067,6.66666667 4,6.66666667 Z M4,5.33333333 C3.26362033,5.33333333 2.66666667,4.73637967 2.66666667,4 C2.66666667,3.26362033 3.26362033,2.66666667 4,2.66666667 C4.73637967,2.66666667 5.33333333,3.26362033 5.33333333,4 C5.33333333,4.73637967 4.73637967,5.33333333 4,5.33333333 Z\" })));\n case 'offline':\n return (React.createElement(Svg, null,\n React.createElement(OfflineOuter, { d: \"M4,8 C6.209139,8 8,6.209139 8,4 C8,1.790861 6.209139,0 4,0 C1.790861,0 0,1.790861 0,4 C0,6.209139 1.790861,8 4,8 Z M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" }),\n React.createElement(OfflineInner, { d: \"M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" })));\n case 'online':\n return (React.createElement(Svg, null,\n React.createElement(OnlineCircle, { cx: \"4\", cy: \"4\", r: \"4\" })));\n default:\n return null;\n }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getPresenceSVG.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { background } from '@atlaskit/theme/colors';\nimport { withTheme } from '@atlaskit/theme/components';\nimport { BORDER_WIDTH } from './constants';\nexport var Outer = withTheme(styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n align-content: center;\\n align-items: center;\\n background-color: \", \";\\n border-radius: 50%;\\n box-sizing: border-box;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n padding: \", \"px;\\n width: 100%;\\n\"], [\"\\n align-content: center;\\n align-items: center;\\n background-color: \", \";\\n border-radius: 50%;\\n box-sizing: border-box;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n padding: \",\n \"px;\\n width: 100%;\\n\"])), function (props) { return props.bgColor || background; }, function (_a) {\n var size = _a.size;\n return (size && BORDER_WIDTH[size]) || BORDER_WIDTH.medium;\n}));\nexport var Inner = styled.span(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n align-items: center;\\n border-radius: 50%;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n width: 100%;\\n\"], [\"\\n align-items: center;\\n border-radius: 50%;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n width: 100%;\\n\"])));\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=Icon.js.map","import { __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport getPresenceSVG from '../helpers/getPresenceSVG';\nimport { Inner, Outer } from '../styled/Icon';\nvar Presence = /** @class */ (function (_super) {\n __extends(Presence, _super);\n function Presence() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Presence.prototype.render = function () {\n var _a = this.props, borderColor = _a.borderColor, children = _a.children, presence = _a.presence, size = _a.size;\n return (React.createElement(Outer, { size: size, bgColor: borderColor },\n React.createElement(Inner, null, children || (presence && getPresenceSVG(presence)))));\n };\n return Presence;\n}(Component));\nexport default Presence;\n//# sourceMappingURL=Presence.js.map","import { __assign, __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nvar Svg = function (props) { return (React.createElement(\"svg\", __assign({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar ApprovedCircle = withTheme(styled.circle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.G400, dark: colors.G300 })));\nvar ApprovedPath = withTheme(styled.path(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.background));\nvar DeclinedCircle = withTheme(styled.circle(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.R400, dark: colors.R300 })));\nvar DeclinedPath = withTheme(styled.path(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.background));\nvar LockedCircle = withTheme(styled.circle(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N40, dark: colors.DN800 })));\nvar LockedPath = withTheme(styled.path(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N500, dark: colors.DN30 })));\nexport default function getStatusSvg(status) {\n switch (status) {\n case 'approved':\n return (React.createElement(Svg, null,\n React.createElement(ApprovedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(ApprovedPath, { d: \"M2.47140452,3.52859548 C2.21105499,3.26824595 1.78894501,3.26824595 1.52859548,3.52859548 C1.26824595,3.78894501 1.26824595,4.21105499 1.52859548,4.47140452 L2.86192881,5.80473785 C3.12227834,6.06508738 3.54438833,6.06508738 3.80473785,5.80473785 L6.47140452,3.13807119 C6.73175405,2.87772166 6.73175405,2.45561167 6.47140452,2.19526215 C6.21105499,1.93491262 5.78894501,1.93491262 5.52859548,2.19526215 L3.33333333,4.39052429 L2.47140452,3.52859548 Z\" })));\n case 'declined':\n return (React.createElement(Svg, null,\n React.createElement(DeclinedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(DeclinedPath, { d: \"M4.890661,4.0088336 L5.81806461,3.07802178 C6.06167933,2.83351177 6.06048933,2.43826992 5.81540668,2.19522442 C5.57032402,1.95217891 5.17415651,1.95336612 4.93054179,2.19787613 L4.00765946,3.12415007 L3.06906871,2.18377143 C2.82523777,1.93947602 2.42906937,1.93863765 2.18420182,2.18189887 C1.93933427,2.42516008 1.93849394,2.82040282 2.18232488,3.06469822 L3.12544091,4.00961077 L2.20275024,4.93569234 C1.95913552,5.18020236 1.96032551,5.5754442 2.20540817,5.81848971 C2.45049083,6.06153521 2.84665833,6.060348 3.09027306,5.81583799 L4.00844245,4.89429431 L4.9092123,5.79678001 C5.15304324,6.04107541 5.54921164,6.04191379 5.79407919,5.79865257 C6.03894674,5.55539135 6.03978708,5.16014862 5.79595614,4.91585321 L4.890661,4.0088336 Z\" })));\n case 'locked':\n return (React.createElement(Svg, null,\n React.createElement(LockedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(LockedPath, { d: \"M4.13074827,1.21766493 L4.10368158,1.21766493 C3.36340745,1.21766493 2.76388015,1.80793503 2.76388015,2.5367787 L2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,2.54344089 C3.44054754,2.17901906 3.74031119,1.88388401 4.11044825,1.88388401 L4.1239816,1.88388401 C4.49411866,1.88388401 4.79388232,2.17901906 4.79388232,2.54344089 L4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,2.5367787 C5.47054971,1.80793503 4.8710224,1.21766493 4.13074827,1.21766493 M2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,3.88254123 L2.76388015,3.88254123 L2.76388015,3.21632216 Z M4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,3.88254123 L4.79388232,3.88254123 L4.79388232,3.21632216 Z M4.79401765,3.88254123 L3.44068287,3.88254123 L2.76401548,3.88254123 C2.39049508,3.88254123 2.08734809,4.18100738 2.08734809,4.54876031 L2.08734809,5.54808892 C2.08734809,6.10000287 2.53735205,6.54741753 3.09094491,6.54741753 L5.14375561,6.54741753 C5.69802683,6.54741753 6.14735243,6.10385072 6.14735243,5.54808892 L6.14735243,4.54876031 C6.14735243,4.18100738 5.84420544,3.88254123 5.47068504,3.88254123 L4.79401765,3.88254123 Z\" })));\n default:\n return null;\n }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getStatusSVG.js.map","import { __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport getStatusSVG from '../helpers/getStatusSVG';\nimport { Inner, Outer } from '../styled/Icon';\nvar Status = /** @class */ (function (_super) {\n __extends(Status, _super);\n function Status() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Status.prototype.render = function () {\n var _a = this.props, borderColor = _a.borderColor, children = _a.children, status = _a.status, size = _a.size;\n return (React.createElement(Outer, { size: size, bgColor: borderColor },\n React.createElement(Inner, null, children || (status && getStatusSVG(status)))));\n };\n return Status;\n}(Component));\nexport default Status;\n//# sourceMappingURL=Status.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport Tooltip from '@atlaskit/tooltip';\nimport { getProps, getStyledAvatar } from '../helpers';\nimport { mapProps, withPseudoState } from '../hoc';\nimport Outer, { PresenceWrapper, StatusWrapper } from '../styled/Avatar';\nimport { ICON_SIZES } from '../styled/constants';\nimport { Theme } from '../theme';\nimport { omit } from '../utils';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport AvatarImage from './AvatarImage';\nimport { propsOmittedFromClickData } from './constants';\nimport Presence from './Presence';\nimport Status from './Status';\nvar validIconSizes = Object.keys(ICON_SIZES);\nvar warn = function (message) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n console.warn(message); // eslint-disable-line no-console\n }\n};\nvar Avatar = /** @class */ (function (_super) {\n __extends(Avatar, _super);\n function Avatar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\n _this.clickAnalyticsCaller = function () {\n var createAnalyticsEvent = _this.props.createAnalyticsEvent;\n return createAnalyticsEvent\n ? _this.createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'avatar',\n attributes: {\n componentName: 'avatar',\n packageName: packageName,\n packageVersion: packageVersion,\n },\n })(createAnalyticsEvent)\n : undefined;\n };\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n if (_this.ref)\n _this.ref.blur();\n };\n _this.focus = function () {\n if (_this.ref)\n _this.ref.focus();\n };\n // disallow click on disabled avatars\n // only return avatar data properties\n _this.guardedClick = function (event) {\n var _a = _this.props, isDisabled = _a.isDisabled, onClick = _a.onClick;\n if (isDisabled || typeof onClick !== 'function')\n return;\n var item = omit.apply(void 0, __spread([_this.props], propsOmittedFromClickData));\n var analyticsEvent = _this.clickAnalyticsCaller();\n onClick({ item: item, event: event }, analyticsEvent);\n };\n // enforce status / presence rules\n /* eslint-disable no-console */\n _this.renderIcon = function () {\n var _a = _this.props, appearance = _a.appearance, borderColor = _a.borderColor, presence = _a.presence, status = _a.status;\n var showPresence = Boolean(presence);\n var showStatus = Boolean(status);\n // no icon needed\n if (!showStatus && !showPresence) {\n return null;\n }\n if (showStatus && showPresence) {\n warn('Avatar supports `presence` OR `status` properties, not both.');\n return null;\n }\n // only support particular sizes\n if (validIconSizes.indexOf(_this.props.size) === -1) {\n warn(\"Avatar size \\\"\" + String(_this.props.size) + \"\\\" does NOT support \" + (showPresence ? 'presence' : 'status'));\n return null;\n }\n // we can cast here because we already know that it is a valid icon size\n var size = _this.props.size;\n var indicator = (function () {\n if (showPresence) {\n var customPresenceNode = typeof presence === 'object' ? presence : null;\n return (React.createElement(PresenceWrapper, { appearance: appearance, size: size },\n React.createElement(Presence, { borderColor: borderColor, presence: !customPresenceNode && presence, size: size }, customPresenceNode)));\n }\n // showStatus\n var customStatusNode = typeof status === 'object' ? status : null;\n return (React.createElement(StatusWrapper, { appearance: appearance, size: size },\n React.createElement(Status, { borderColor: borderColor, status: !customStatusNode && status, size: size }, customStatusNode)));\n })();\n return indicator;\n };\n _this.setRef = function (ref) {\n _this.ref = ref;\n };\n return _this;\n }\n Avatar.prototype.render = function () {\n var _a = this.props, appearance = _a.appearance, enableTooltip = _a.enableTooltip, name = _a.name, size = _a.size, src = _a.src, stackIndex = _a.stackIndex, onClick = _a.onClick, theme = _a.theme, testId = _a.testId;\n // distill props from context, props, and state\n var enhancedProps = getProps(this);\n // provide element interface based on props\n var Inner = getStyledAvatar(this.props);\n Inner.displayName = 'Inner';\n var AvatarNode = (React.createElement(Theme.Provider, { value: theme },\n React.createElement(Outer, { size: size, stackIndex: stackIndex, testId: testId },\n React.createElement(Inner, __assign({ innerRef: this.setRef }, enhancedProps, { onClick: onClick != null ? this.guardedClick : undefined }),\n React.createElement(AvatarImage, { alt: name, appearance: appearance, size: size, src: src })),\n this.renderIcon())));\n return enableTooltip && name ? (React.createElement(Tooltip, { content: name }, AvatarNode)) : (AvatarNode);\n };\n Avatar.defaultProps = {\n appearance: 'circle',\n enableTooltip: true,\n size: 'medium',\n };\n return Avatar;\n}(Component));\nexport var AvatarWithoutAnalytics = mapProps({\n appearance: function (props) { return props.appearance || Avatar.defaultProps.appearance; },\n isInteractive: function (props) {\n return Boolean((typeof props.enableTooltip !== 'undefined'\n ? props.enableTooltip\n : Avatar.defaultProps.enableTooltip) && props.name);\n },\n})(withPseudoState(Avatar));\nexport default withAnalyticsContext({\n componentName: 'avatar',\n packageName: packageName,\n packageVersion: packageVersion,\n})(withAnalyticsEvents()(AvatarWithoutAnalytics));\n//# sourceMappingURL=Avatar.js.map","import { __assign, __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport { getDisplayName } from '../utils';\nexport default function mapProps(mapping) {\n return function (DecoratedComponent) { var _a; return _a = /** @class */ (function (_super) {\n __extends(MapProps, _super);\n function MapProps() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n // @ts-ignore accessing component internals\n if (_this.component && _this.component.blur)\n _this.component.blur();\n };\n _this.focus = function () {\n // @ts-ignore accessing component internals\n if (_this.component && _this.component.focus)\n _this.component.focus();\n };\n _this.setComponent = function (component) {\n _this.component = component;\n };\n return _this;\n }\n MapProps.prototype.render = function () {\n var _this = this;\n var mapped = __assign(__assign({}, this.props), Object.keys(mapping).reduce(function (acc, key) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[key] = mapping[key](_this.props), _a)));\n }, {}));\n return React.createElement(DecoratedComponent, __assign({ ref: this.setComponent }, mapped));\n };\n return MapProps;\n }(Component)),\n _a.displayName = getDisplayName('mapProps', DecoratedComponent),\n _a.DecoratedComponent = DecoratedComponent,\n _a; };\n}\n//# sourceMappingURL=mapProps.js.map","export var propsOmittedFromClickData = [\n 'onBlur',\n 'onClick',\n 'onFocus',\n 'onKeyDown',\n 'onKeyUp',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseUp',\n];\n//# sourceMappingURL=constants.js.map","import { __assign } from \"tslib\";\nvar getAppearanceProps = function (props) { return ({\n appearance: props.appearance,\n backgroundColor: props.backgroundColor,\n borderColor: props.borderColor,\n groupAppearance: props.groupAppearance,\n isActive: props.isActive,\n isDisabled: props.isDisabled,\n isFocus: props.isFocus,\n isHover: props.isHover,\n isInteractive: props.isInteractive,\n isSelected: props.isSelected,\n size: props.size,\n stackIndex: props.stackIndex,\n}); };\nvar getInteractionProps = function (props) { return ({\n onBlur: props.onBlur,\n onClick: props.onClick,\n onFocus: props.onFocus,\n onKeyDown: props.onKeyDown,\n onKeyUp: props.onKeyUp,\n onMouseDown: props.onMouseDown,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseUp: props.onMouseUp,\n tabIndex: props.tabIndex,\n}); };\nvar getLinkElementProps = function (props) {\n var href = props.href, target = props.target;\n // handle security issue for consumer\n // https://mathiasbynens.github.io/rel-noopener\n var rel = target === '_blank' ? 'noopener noreferrer' : null;\n return { href: href, rel: rel, target: target };\n};\nvar getButtonElementProps = function (props) {\n var id = props.id, isDisabled = props.isDisabled;\n return { id: id, interface: 'button', disabled: isDisabled };\n};\nexport default function getProps(component) {\n var props = component.props;\n var defaultProps = __assign(__assign({}, getAppearanceProps(props)), getInteractionProps(props));\n if (props.component) {\n return __assign(__assign({}, defaultProps), props);\n }\n if (props.href) {\n if (props.isDisabled) {\n return defaultProps;\n }\n return __assign(__assign({}, defaultProps), getLinkElementProps(props));\n }\n if (props.onClick) {\n return __assign(__assign({}, defaultProps), getButtonElementProps(props));\n }\n return defaultProps;\n}\n//# sourceMappingURL=getProps.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport React, { Component } from 'react';\n/**\n * Styling a avatar is complicated and there are a number of properties which\n * inform its appearance. We want to be able to style any arbitrary component\n * like a Link, but we don't want to pass all of these appearance-related props\n * through to the component or underlying DOM node. This component acts as a\n * layer which catches the appearance-related properties so that they can be\n * used by styled-components, then passes the rest of the props on to the custom\n * component.\n */\nvar CustomComponentProxy = /** @class */ (function (_super) {\n __extends(CustomComponentProxy, _super);\n function CustomComponentProxy() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomComponentProxy.prototype.render = function () {\n var _a = this.props, appearance = _a.appearance, avatar = _a.avatar, borderColor = _a.borderColor, ProxiedComponent = _a.component, enableTooltip = _a.enableTooltip, groupAppearance = _a.groupAppearance, innerRef = _a.innerRef, isActive = _a.isActive, isDisabled = _a.isDisabled, isFocus = _a.isFocus, isHover = _a.isHover, isSelected = _a.isSelected, primaryText = _a.primaryText, secondaryText = _a.secondaryText, stackIndex = _a.stackIndex, rest = __rest(_a, [\"appearance\", \"avatar\", \"borderColor\", \"component\", \"enableTooltip\", \"groupAppearance\", \"innerRef\", \"isActive\", \"isDisabled\", \"isFocus\", \"isHover\", \"isSelected\", \"primaryText\", \"secondaryText\", \"stackIndex\"]);\n return ProxiedComponent ? React.createElement(ProxiedComponent, __assign({}, rest)) : null;\n };\n return CustomComponentProxy;\n}(Component));\nexport default CustomComponentProxy;\n//# sourceMappingURL=CustomComponentProxy.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { withTheme } from '@atlaskit/theme/components';\nimport CustomComponentProxy from '../components/CustomComponentProxy';\n// This is necessary because we don't know what DOM element the custom component will render.\nexport default (function (styles) {\n var StyledCustomComponent = withTheme(styled(CustomComponentProxy)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n &,\\n &:hover,\\n &:active,\\n &:focus {\\n \", \"\\n }\\n \"], [\"\\n &,\\n &:hover,\\n &:active,\\n &:focus {\\n \", \"\\n }\\n \"])), styles));\n var StyledButton = withTheme(styled.button(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \";\\n \"], [\"\\n \", \";\\n \"])), styles));\n var StyledLink = withTheme(styled.a(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n a& {\\n \", \";\\n }\\n \"], [\"\\n a& {\\n \", \";\\n }\\n \"])), styles));\n var StyledSpan = withTheme(styled.span(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \";\\n \"], [\"\\n \", \";\\n \"])), styles));\n return function getStyled(_a) {\n var component = _a.component, href = _a.href, onClick = _a.onClick;\n var Ret = StyledSpan;\n if (component) {\n Ret = StyledCustomComponent;\n }\n else if (href) {\n Ret = StyledLink;\n }\n else if (onClick) {\n Ret = StyledButton;\n }\n return Ret;\n };\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=styledCache.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport { getDisplayName } from '../utils';\nexport default function withPseudoState(WrappedComponent) {\n var _a;\n return _a = /** @class */ (function (_super) {\n __extends(ComponentWithPseudoState, _super);\n function ComponentWithPseudoState() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.component = null;\n _this.actionKeys = [];\n _this.state = {\n isActive: Boolean(_this.props.isActive),\n isFocus: Boolean(_this.props.isActive),\n isHover: Boolean(_this.props.isActive),\n isInteractive: Boolean(_this.props.href || _this.props.isInteractive || _this.props.onClick),\n };\n _this.blur = function () {\n // @ts-ignore reaching into the instance\n if (_this.component && _this.component.blur)\n _this.component.blur();\n };\n _this.focus = function () {\n // @ts-ignore reaching into the instance\n if (_this.component && _this.component.focus)\n _this.component.focus();\n };\n _this.setComponent = function (component) {\n _this.component = component;\n };\n _this.onBlur = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false, isFocus: false });\n if (_this.props.onBlur) {\n (_a = _this.props).onBlur.apply(_a, __spread(args));\n }\n };\n _this.onFocus = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isFocus: true });\n if (_this.props.onFocus) {\n (_a = _this.props).onFocus.apply(_a, __spread(args));\n }\n };\n _this.onMouseLeave = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false, isHover: false });\n if (_this.props.onMouseLeave) {\n (_a = _this.props).onMouseLeave.apply(_a, __spread(args));\n }\n };\n _this.onMouseEnter = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isHover: true });\n if (_this.props.onMouseEnter) {\n (_a = _this.props).onMouseEnter.apply(_a, __spread(args));\n }\n };\n _this.onMouseUp = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false });\n if (_this.props.onMouseUp) {\n (_a = _this.props).onMouseUp.apply(_a, __spread(args));\n }\n };\n _this.onMouseDown = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: true });\n if (_this.props.onMouseDown) {\n (_a = _this.props).onMouseDown.apply(_a, __spread(args));\n }\n };\n _this.onKeyDown = function (event) {\n var _a;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n if (_this.actionKeys.indexOf(event.key) > -1) {\n _this.setState({ isActive: true });\n }\n if (_this.props.onKeyDown) {\n (_a = _this.props).onKeyDown.apply(_a, __spread([event], rest));\n }\n };\n _this.onKeyUp = function (event) {\n var _a;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n if (_this.actionKeys.indexOf(event.key) > -1) {\n _this.setState({ isActive: false });\n }\n if (_this.props.onKeyUp) {\n (_a = _this.props).onKeyUp.apply(_a, __spread([event], rest));\n }\n };\n return _this;\n }\n ComponentWithPseudoState.prototype.UNSAFE_componentWillMount = function () {\n var _a = this.props, href = _a.href, isInteractive = _a.isInteractive, onClick = _a.onClick;\n if (href || isInteractive || onClick) {\n this.actionKeys = onClick || isInteractive ? ['Enter', ' '] : ['Enter'];\n }\n };\n ComponentWithPseudoState.prototype.render = function () {\n return (React.createElement(WrappedComponent, __assign({ ref: this.setComponent }, this.state, this.props, (this.state.isInteractive && {\n onBlur: this.onBlur,\n onFocus: this.onFocus,\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter,\n onMouseUp: this.onMouseUp,\n onMouseDown: this.onMouseDown,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n }))));\n };\n return ComponentWithPseudoState;\n }(Component)),\n _a.displayName = getDisplayName('withPseudoState', WrappedComponent),\n _a;\n}\n//# sourceMappingURL=withPseudoState.js.map","import { __assign, __values } from \"tslib\";\nexport function omit(obj) {\n var e_1, _a;\n var keysToOmit = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n keysToOmit[_i - 1] = arguments[_i];\n }\n var newObj = __assign({}, obj);\n try {\n for (var keysToOmit_1 = __values(keysToOmit), keysToOmit_1_1 = keysToOmit_1.next(); !keysToOmit_1_1.done; keysToOmit_1_1 = keysToOmit_1.next()) {\n var key = keysToOmit_1_1.value;\n delete newObj[key];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (keysToOmit_1_1 && !keysToOmit_1_1.done && (_a = keysToOmit_1.return)) _a.call(keysToOmit_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return newObj;\n}\nexport function getDisplayName(prefix, Component) {\n var componentName = Component.displayName || Component.name;\n return componentName ? prefix + \"(\" + componentName + \")\" : prefix;\n}\n//# sourceMappingURL=utils.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n return function ComponentWithTheme(props) {\n return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n };\n}\n//# sourceMappingURL=hoc.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.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 (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 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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { applyPropertyStyle, baseTheme } from '../theme';\nconst compactButtonHeight = `${(gridSize() * 3) / fontSize()}em`;\nconst buttonHeight = `${(gridSize() * 4) / fontSize()}em`;\n/** Background */\nconst getBackground = (props) => applyPropertyStyle('background', props, baseTheme);\n/** Box Shadow */\nconst getBoxShadow = (props) => {\n const boxShadowColor = applyPropertyStyle('boxShadowColor', props, baseTheme);\n return `0 0 0 2px ${boxShadowColor}`;\n};\n/** Color */\nconst getColor = (props) => applyPropertyStyle('color', props, baseTheme);\n/** Cursor */\nconst getCursor = ({ state = 'default' }) => state === 'hover' || state === 'active' || state === 'selected'\n ? 'pointer'\n : state === 'disabled'\n ? 'not-allowed'\n : 'default';\n/** Height */\nconst getHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'auto'\n : buttonHeight;\n/** Line Height */\nconst getLineHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'inherit'\n : buttonHeight;\n/** Padding */\nconst getPadding = ({ spacing = 'default' }) => spacing === 'none' ? 0 : `0 ${gridSize()}px`;\n/** Text Decoration */\nconst getTextDecoration = ({ appearance = 'default', state = 'default', }) => state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n ? 'underline'\n : 'inherit';\n/** Transition */\nconst getTransition = ({ state = 'default' }) => state === 'hover'\n ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n/** Transition Duration */\nconst getTransitionDuration = ({ state = 'default' }) => state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n/** Vertical Align */\nconst getVerticalAlign = ({ spacing = 'default' }) => spacing === 'none' ? 'baseline' : 'middle';\n/** Width */\nconst getWidth = ({ shouldFitContainer }) => shouldFitContainer ? '100%' : 'auto';\n/** Base styles */\nconst staticStyles = {\n alignItems: 'baseline',\n borderWidth: 0,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n fontWeight: '500',\n maxWidth: '100%',\n outline: 'none !important',\n textAlign: 'center',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexport const getButtonStyles = (props) => ({\n ...staticStyles,\n background: getBackground(props),\n borderRadius: `${borderRadius()}px`,\n boxShadow: getBoxShadow(props),\n color: `${getColor(props)} !important`,\n cursor: getCursor(props),\n height: getHeight(props),\n lineHeight: getLineHeight(props),\n padding: getPadding(props),\n transition: getTransition(props),\n transitionDuration: getTransitionDuration(props),\n verticalAlign: getVerticalAlign(props),\n width: getWidth(props),\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0,\n },\n '&:hover': {\n textDecoration: getTextDecoration(props),\n },\n ...(props.isLoading && { pointerEvents: 'none' }),\n});\n/**\n * SPINNER STYLES\n */\nexport const getSpinnerStyles = () => ({\n display: 'flex',\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n});\n//# sourceMappingURL=getStyles.js.map","export const mapAttributesToState = ({ isDisabled = false, isActive = false, isFocus = false, isHover = false, isSelected = false, }) => {\n if (isDisabled) {\n return 'disabled';\n }\n if (isSelected && isFocus) {\n return 'focusSelected';\n }\n if (isSelected) {\n return 'selected';\n }\n if (isActive) {\n return 'active';\n }\n if (isHover) {\n return 'hover';\n }\n if (isFocus) {\n return 'focus';\n }\n return 'default';\n};\nexport const filterProps = (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n{ createAnalyticsEvent, ...props }, type) => {\n if (type === 'span') {\n const { target, href, ...rest } = props;\n return rest;\n }\n return props;\n};\nexport const getLoadingStyle = (isLoading) => ({\n transition: 'opacity 0.3s',\n opacity: isLoading ? 0 : 1,\n});\nexport const composeRefs = (...refs) => {\n return (x) => {\n refs\n .filter(r => !!r)\n .forEach(ref => {\n if (typeof ref === 'function') {\n ref(x);\n }\n else {\n ref.current = x;\n }\n });\n };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nexport function hex2rgba(hex, alpha = 1) {\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n let colorArr = hex.substring(1).split('');\n if (colorArr.length === 3) {\n colorArr = [\n colorArr[0],\n colorArr[0],\n colorArr[1],\n colorArr[1],\n colorArr[2],\n colorArr[2],\n ];\n }\n const color = `0x${colorArr.join('')}`;\n // FIXME: `>>` operand can validly take a string value\n const r = (color >> 16) & 255;\n const g = (color >> 8) & 255;\n const b = color & 255;\n return `rgba(${[r, g, b].join(',')}, ${alpha})`;\n }\n throw new Error('Bad Hex');\n}\n//# sourceMappingURL=utils.js.map","import * as colors from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { getButtonStyles, getSpinnerStyles } from './components/getStyles';\nimport { hex2rgba } from './components/utils';\nexport const fallbacks = {\n background: { light: colors.N20A, dark: colors.DN70 },\n color: { light: colors.N400, dark: colors.DN400 },\n textDecoration: { light: 'none', dark: 'none' },\n};\nexport const baseTheme = {\n // Default appearance\n background: {\n default: {\n default: { light: colors.N20A, dark: colors.DN70 },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n primary: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n warning: {\n default: { light: colors.Y300, dark: colors.Y300 },\n hover: { light: colors.Y200, dark: colors.Y200 },\n active: { light: colors.Y400, dark: colors.Y400 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.Y400, dark: colors.Y400 },\n focusSelected: { light: colors.Y400, dark: colors.Y400 },\n },\n danger: {\n default: { light: colors.R400, dark: colors.R400 },\n hover: { light: colors.R300, dark: colors.R300 },\n active: { light: colors.R500, dark: colors.R500 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.R500, dark: colors.R500 },\n focusSelected: { light: colors.R500, dark: colors.R500 },\n },\n link: {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n subtle: {\n default: { light: 'none', dark: 'none' },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n 'subtle-link': {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n },\n boxShadowColor: {\n default: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n primary: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n warning: {\n focus: { light: colors.Y500, dark: colors.Y500 },\n focusSelected: { light: colors.Y500, dark: colors.Y500 },\n },\n danger: {\n focus: { light: colors.R100, dark: colors.R100 },\n focusSelected: { light: colors.R100, dark: colors.R100 },\n },\n link: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n subtle: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n 'subtle-link': {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n },\n color: {\n default: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n primary: {\n default: { light: colors.N0, dark: colors.DN30 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n warning: {\n default: { light: colors.N800, dark: colors.N800 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N800, dark: colors.N800 },\n focusSelected: { light: colors.N800, dark: colors.N800 },\n },\n danger: {\n default: { light: colors.N0, dark: colors.N0 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N0, dark: colors.N0 },\n focusSelected: { light: colors.N0, dark: colors.N0 },\n },\n link: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.N700 },\n focusSelected: { light: colors.N20, dark: colors.N700 },\n },\n subtle: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n 'subtle-link': {\n default: { light: colors.N200, dark: colors.DN400 },\n hover: { light: colors.N90, dark: colors.B50 },\n active: { light: colors.N400, dark: colors.DN300 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n },\n};\nexport function applyPropertyStyle(property, { appearance = 'default', state = 'default', mode = 'light', }, theme) {\n const propertyStyles = theme[property];\n if (!propertyStyles) {\n return 'initial';\n }\n // Check for relevant fallbacks\n if (!propertyStyles[appearance]) {\n if (!propertyStyles['default']) {\n return fallbacks[property][mode] ? fallbacks[property][mode] : 'initial';\n }\n appearance = 'default';\n }\n // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n // return the 'default' state of that appearance.\n if (!propertyStyles[appearance][state]) {\n state = 'default';\n }\n const appearanceStyles = propertyStyles[appearance];\n const stateStyles = appearanceStyles[state];\n if (!stateStyles) {\n return 'inherit';\n }\n return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexport const Theme = createTheme(themeProps => ({\n buttonStyles: getButtonStyles(themeProps),\n spinnerStyles: getSpinnerStyles(),\n}));\n//# sourceMappingURL=theme.js.map","import { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ children, followsIcon, spacing, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignItems: followsIcon ? 'baseline' : 'center',\n alignSelf: followsIcon ? 'baseline' : 'center',\n flex: '1 1 auto',\n margin: spacing === 'none' ? 0 : `0 ${gridSize() / 2}px`,\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...getLoadingStyle(isLoading),\n } }, rest), children));\n//# sourceMappingURL=Content.js.map","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ spacing, icon, isOnlyChild, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'flex',\n flexShrink: 0,\n lineHeight: 0,\n fontSize: 0,\n userSelect: 'none',\n margin: spacing === 'none'\n ? 0\n : isOnlyChild\n ? `0 -${gridSize() / 4}px`\n : `0 ${gridSize() / 2}px`,\n ...getLoadingStyle(isLoading),\n } }, rest), icon));\n//# sourceMappingURL=IconWrapper.js.map","import { jsx } from '@emotion/core';\nexport default ({ fit, children, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'inline-flex',\n flexWrap: 'nowrap',\n maxWidth: '100%',\n position: 'relative',\n ...(fit && { width: '100%' }),\n ...(fit && { justifyContent: 'center' }),\n } }, rest), children));\n//# sourceMappingURL=InnerWrapper.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport Spinner from '@atlaskit/spinner';\nconst appearances = ['primary', 'danger'];\nexport default class LoadingSpinner extends React.Component {\n constructor() {\n super(...arguments);\n this.invertSpinner = () => {\n const { appearance, isSelected, isDisabled } = this.props;\n if (isSelected) {\n return true;\n }\n if (isDisabled) {\n return false;\n }\n if (appearance !== undefined) {\n if (appearances.indexOf(appearance) !== -1) {\n return true;\n }\n }\n return false;\n };\n }\n render() {\n const { spacing, styles } = this.props;\n let spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n return (jsx(\"div\", { css: styles },\n jsx(Spinner, { size: spinnerSize, appearance: this.invertSpinner() ? 'invert' : 'inherit' })));\n }\n}\n//# sourceMappingURL=LoadingSpinner.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport memoize from 'memoize-one';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Content from './Content';\nimport IconWrapper from './IconWrapper';\nimport InnerWrapper from './InnerWrapper';\nimport LoadingSpinner from './LoadingSpinner';\nimport { composeRefs, filterProps, mapAttributesToState } from './utils';\nexport class Button extends React.Component {\n constructor() {\n super(...arguments);\n // ref can be a range of things because we render button, a, span or other React components\n this.button = React.createRef();\n // Makes sure we don't call ref every render.\n this.getComposedRefs = memoize(composeRefs);\n this.state = {\n isActive: false,\n isFocus: false,\n isHover: false,\n };\n this.isInteractive = () => !this.props.isDisabled && !this.props.isLoading;\n this.onMouseEnter = (e) => {\n this.setState({ isHover: true });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n this.onMouseLeave = (e) => {\n this.setState({ isHover: false, isActive: false });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n this.onMouseDown = (e) => {\n e.preventDefault();\n this.setState({ isActive: true });\n if (this.props.onMouseDown) {\n this.props.onMouseDown(e);\n }\n };\n this.onMouseUp = (e) => {\n this.setState({ isActive: false });\n if (this.props.onMouseUp) {\n this.props.onMouseUp(e);\n }\n };\n this.onFocus = event => {\n this.setState({ isFocus: true });\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n this.onBlur = event => {\n this.setState({ isFocus: false });\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n this.getElement = () => {\n const { href, isDisabled } = this.props;\n if (href) {\n return isDisabled ? 'span' : 'a';\n }\n return 'button';\n };\n // Swallow click events when the button is disabled\n // to prevent inner child clicks bubbling up.\n this.onInnerClick = e => {\n if (!this.isInteractive()) {\n e.stopPropagation();\n }\n return true;\n };\n }\n componentDidMount() {\n if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n this.button.focus();\n }\n }\n render() {\n const { appearance = 'default', children, className, component: CustomComponent, consumerRef, iconAfter, iconBefore, isDisabled = false, isLoading = false, isSelected = false, shouldFitContainer = false, spacing = 'default', theme = (current, props) => current(props), testId, ...rest } = this.props;\n const attributes = { ...this.state, isSelected, isDisabled };\n const StyledButton = CustomComponent || this.getElement();\n const iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n (iconAfter && !iconBefore && !children));\n const specifiers = (styles) => {\n if (StyledButton === 'a') {\n return {\n 'a&': styles,\n };\n }\n else if (StyledButton === CustomComponent) {\n return {\n '&, a&, &:hover, &:active, &:focus': styles,\n };\n }\n return styles;\n };\n return (jsx(Theme.Provider, { value: theme },\n jsx(GlobalTheme.Consumer, null, ({ mode }) => (jsx(Theme.Consumer, Object.assign({ mode: mode, state: mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, this.props), ({ buttonStyles, spinnerStyles }) => (jsx(StyledButton, Object.assign({}, filterProps(rest, StyledButton), { \"data-testid\": testId, ref: this.getComposedRefs(this.button, consumerRef), onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onMouseDown: this.onMouseDown, onMouseUp: this.onMouseUp, onFocus: this.onFocus, onBlur: this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n jsx(InnerWrapper, { onClick: this.onInnerClick, fit: !!shouldFitContainer },\n isLoading && (jsx(LoadingSpinner, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n iconBefore && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n children && (jsx(Content, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n iconAfter && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter }))))))))));\n }\n}\nButton.defaultProps = {\n appearance: 'default',\n autoFocus: false,\n isDisabled: false,\n isLoading: false,\n isSelected: false,\n shouldFitContainer: false,\n spacing: 'default',\n type: 'button',\n};\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nconst ButtonWithRef = React.forwardRef((props, ref) => jsx(Button, Object.assign({}, props, { consumerRef: ref })));\nButtonWithRef.displayName = 'Button';\nexport default withAnalyticsContext({\n componentName: 'button',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onClick: createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'button',\n attributes: {\n componentName: 'button',\n packageName,\n packageVersion,\n },\n }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n from {\n transform: rotate(50deg);\n opacity: 0;\n stroke-dashoffset: 60;\n }\n to {\n transform: rotate(230deg);\n opacity: 1;\n stroke-dashoffset: 50;\n }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n if (mode === 'light') {\n return appearance === 'inherit' ? N500 : N0;\n }\n // Dark mode: colours provided by Jake Miller\n return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n const size = typeof providedSize === 'number'\n ? providedSize\n : presetSizes[providedSize];\n return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n const strokeColor = getStrokeColor({\n mode: tokens.mode,\n appearance,\n });\n // The Spinner animation uses a combination of two\n // css animations on two separate elements.\n return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n /* align better inline with text */\n vertical-align: middle;\n /* We are going to animate this in */\n opacity: 0;\n\n animation: ${loadIn} 1s ease-in-out;\n /* When the animation completes, stay at the last frame of the animation */\n animation-fill-mode: forwards;\n animation-delay: ${delay}ms;\n ` },\n jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n fill: none;\n stroke: ${strokeColor};\n stroke-width: 1.5;\n stroke-linecap: round;\n stroke-dasharray: 60;\n stroke-dashoffset: inherit;\n transform-origin: center;\n animation: ${rotate} 0.86s infinite;\n animation-delay: ${delay}ms;\n animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n ` })));\n }));\n}));\n//# sourceMappingURL=spinner.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.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 (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 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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from 'create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_this), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || this.props.modifiers !== prevProps.modifiers) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import React from 'react';\nimport memoizeOne from 'memoize-one';\nimport { Popper as ReactPopper, } from 'react-popper';\nexport { Manager, Reference } from 'react-popper';\nconst FlipBehavior = {\n auto: [],\n top: ['top', 'bottom', 'top'],\n right: ['right', 'left', 'right'],\n bottom: ['bottom', 'top', 'bottom'],\n left: ['left', 'right', 'left'],\n};\nconst getFlipBehavior = (side) => FlipBehavior[side];\nexport class Popper extends React.Component {\n constructor() {\n super(...arguments);\n this.getModifiers = memoizeOne(placement => {\n const flipBehavior = getFlipBehavior(placement.split('-')[0]);\n const modifiers = {\n flip: {\n enabled: true,\n behavior: flipBehavior,\n boundariesElement: 'viewport',\n },\n hide: {\n enabled: true,\n },\n offset: {\n enabled: true,\n offset: this.props.offset,\n },\n preventOverflow: {\n enabled: true,\n escapeWithReference: false,\n boundariesElement: 'window',\n },\n };\n if (this.props.modifiers) {\n return { ...modifiers, ...this.props.modifiers };\n }\n return modifiers;\n });\n }\n render() {\n const { placement, children, referenceElement } = this.props;\n const modifiers = this.getModifiers(this.props.placement);\n return (React.createElement(ReactPopper, Object.assign({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement } : {})), children));\n }\n}\nPopper.defaultProps = {\n children: () => null,\n offset: '0, 8px',\n placement: 'bottom-start',\n};\n//# sourceMappingURL=Popper.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport ReactDOM from 'react-dom';\nimport invariant from 'tiny-invariant';\nimport { layers } from '@atlaskit/theme';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../constants';\nconst createContainer = (zIndex) => {\n const container = document.createElement('div');\n container.setAttribute('class', 'atlaskit-portal');\n container.setAttribute('style', `z-index: ${zIndex};`);\n return container;\n};\nconst getBody = () => {\n invariant(document && document.body, 'cannot find document.body');\n return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nconst zIndexToName = Object.keys(layers).reduce((acc, name) => {\n const layerName = name;\n const value = layers[layerName]();\n acc[value] = layerName;\n return acc;\n}, {});\nconst getLayerName = (zIndex) => {\n return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n ? zIndexToName[zIndex]\n : null;\n};\nconst getEvent = (eventName, zIndex) => {\n const detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex,\n };\n // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n if (typeof CustomEvent === 'function') {\n return new CustomEvent(eventName, {\n detail,\n });\n }\n // CustomEvent constructor API not supported (ie11)\n // Using `new Event` or `new CustomEvent` does not work in ie11\n const event = document.createEvent('CustomEvent');\n const params = {\n bubbles: true,\n cancellable: true,\n detail,\n };\n event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n return event;\n};\nconst firePortalEvent = (eventName, zIndex) => {\n const event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n};\nconst getPortalParent = () => {\n const parentElement = document.querySelector('body > .atlaskit-portal-container');\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.setAttribute('class', 'atlaskit-portal-container');\n parent.setAttribute('style', `display: flex;`);\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nclass Portal extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n container: canUseDOM ? createContainer(this.props.zIndex) : undefined,\n portalIsMounted: false,\n };\n }\n componentDidUpdate(prevProps, prevState) {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container && prevProps.zIndex !== zIndex) {\n const newContainer = createContainer(zIndex);\n getPortalParent().replaceChild(container, newContainer);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ container: newContainer });\n }\n else if (!prevState.container && container) {\n // SSR path\n getPortalParent().appendChild(container);\n }\n }\n componentDidMount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().appendChild(container);\n }\n else {\n // SSR path\n const newContainer = createContainer(zIndex);\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ container: newContainer });\n }\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n portalIsMounted: true,\n });\n firePortalEvent(PORTAL_MOUNT_EVENT, Number(zIndex));\n }\n componentWillUnmount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().removeChild(container);\n // clean up parent element if there are no more portals\n const portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n if (!portals) {\n getBody().removeChild(getPortalParent());\n }\n }\n firePortalEvent(PORTAL_UNMOUNT_EVENT, Number(zIndex));\n }\n render() {\n const { container, portalIsMounted } = this.state;\n return container && portalIsMounted\n ? ReactDOM.createPortal(this.props.children, container)\n : null;\n }\n}\nPortal.defaultProps = {\n zIndex: 0,\n};\nexport default Portal;\n//# sourceMappingURL=Portal.js.map","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nvar index = (function (condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n }\n\n throw new Error(prefix + ': ' + (message || ''));\n});\n\nexport default index;\n","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nconst backgroundColor = themed({\n light: N800,\n dark: DN0,\n});\nconst textColor = themed({\n light: N0,\n dark: DN600,\n});\nexport const TooltipPrimitive = styled.div `\n z-index: ${layers.tooltip};\n pointer-events: none;\n position: fixed;\n`;\nexport const Tooltip = styled(TooltipPrimitive) `\n background-color: ${backgroundColor};\n border-radius: ${borderRadius}px;\n box-sizing: border-box;\n color: ${textColor};\n font-size: 12px;\n left: 0;\n line-height: 1.3;\n max-width: 240px;\n padding: 2px 6px;\n top: 0;\n /* Edge does not support overflow-wrap */\n word-wrap: break-word;\n overflow-wrap: break-word;\n\n ${({ truncate }) => truncate &&\n `\n max-width: 420px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n`;\n// The inline-block here is needed to keep the tooltip appearing in the correct position\n// when nested inside a wider parent (see position: relative example).\nexport const Target = styled.div `\n display: inline-block;\n`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Transition } from 'react-transition-group';\nconst ENTER_DURATION = 120;\nconst EXIT_DURATION = 80;\nconst easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nconst defaultStyle = (timeout) => ({\n transition: `transform ${timeout.enter}ms ${easing}, opacity ${timeout.enter}ms linear`,\n opacity: 0,\n});\nconst transitionStyle = (state) => {\n const transitions = {\n entering: {},\n entered: {\n opacity: 1,\n },\n exiting: {\n opacity: 0,\n },\n };\n return transitions[state];\n};\nconst getStyle = (timeout, state) => () => ({\n ...defaultStyle(timeout),\n ...transitionStyle(state),\n});\nconst Animation = ({ children, immediatelyHide, immediatelyShow, onExited, in: inProp, }) => {\n const timeout = {\n enter: immediatelyShow ? 0 : ENTER_DURATION,\n exit: immediatelyHide ? 0 : EXIT_DURATION,\n };\n return (React.createElement(Transition, { timeout: timeout, in: inProp, onExited: onExited, unmountOnExit: true, appear: true }, (state) => children(getStyle(timeout, state))));\n};\nexport default Animation;\n//# sourceMappingURL=Animation.js.map","import { name as packageName, version as packageVersion, } from '../../version.json';\nexport const hoveredPayload = {\n action: 'displayed',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\nexport const unhoveredPayload = {\n action: 'hidden',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\n//# sourceMappingURL=analytics-payloads.js.map","/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport flushable from 'flushable';\nimport NodeResolver from 'react-node-resolver';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { Tooltip as StyledTooltip } from '../styled';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Animation from './Animation';\nimport { hoveredPayload, unhoveredPayload } from './utils/analytics-payloads';\nconst SCROLL_OPTIONS = { capture: true, passive: true };\nfunction getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || { top: 0, left: 0 };\n const getBoundingClientRect = () => {\n return {\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0,\n };\n };\n return {\n getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0,\n };\n}\nlet pendingHide;\nconst showTooltip = (fn, defaultDelay) => {\n const isHidePending = pendingHide && pendingHide.pending();\n if (isHidePending) {\n pendingHide.flush();\n }\n const pendingShow = flushable(() => fn(isHidePending), isHidePending ? 0 : defaultDelay);\n return pendingShow.cancel;\n};\nconst hideTooltip = (fn, defaultDelay) => {\n pendingHide = flushable(flushed => fn(flushed), defaultDelay);\n return pendingHide.cancel;\n};\nclass Tooltip extends React.Component {\n constructor() {\n super(...arguments);\n this.wrapperRef = null;\n this.targetRef = null;\n this.cancelPendingSetState = () => { };\n this.userInteraction = 'mouse';\n this.state = {\n immediatelyHide: false,\n immediatelyShow: false,\n isVisible: false,\n renderTooltip: false,\n };\n this.handleWindowScroll = () => {\n if (this.state.isVisible) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseClick = () => {\n if (this.props.hideTooltipOnClick) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseDown = () => {\n if (this.props.hideTooltipOnMouseDown) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseOver = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.userInteraction = 'mouse';\n // In the case where a tooltip is newly rendered but immediately becomes hovered,\n // we need to set the coordinates in the mouseOver event.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: e.clientX,\n top: e.clientY,\n });\n }\n this.handleShowTooltip();\n };\n this.handleFocus = () => {\n this.userInteraction = 'keyboard';\n // We need to fake the mouse dimensions even on focus because the code path currently assumes\n // fake mouse element needs to exist before showing the tooltip.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: 0,\n top: 0,\n });\n }\n this.handleShowTooltip();\n };\n this.handleShowTooltip = () => {\n this.cancelPendingSetState();\n if (Boolean(this.props.content) && !this.state.isVisible) {\n this.cancelPendingSetState = showTooltip(immediatelyShow => {\n this.setState({\n isVisible: true,\n renderTooltip: true,\n immediatelyShow,\n });\n }, this.props.delay || 0);\n }\n };\n this.handleHideTooltip = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.cancelPendingSetState();\n if (this.state.isVisible) {\n this.cancelPendingSetState = hideTooltip(immediatelyHide => {\n this.setState({ isVisible: false, immediatelyHide });\n }, this.props.delay || 0);\n }\n };\n // Update mouse coordinates, used when position is 'mouse'.\n // We are not debouncing/throttling this function because we aren't causing any\n // re-renders or performaing any intensive calculations, we're just updating a value.\n // React also doesn't play nice debounced DOM event handlers because they pool their\n // SyntheticEvent objects. Need to use event.persist as a workaround - https://stackoverflow.com/a/24679479/893630\n this.handleMouseMove = (event) => {\n if (!this.state.renderTooltip) {\n this.fakeMouseElement = getMousePosition({\n left: event.clientX,\n top: event.clientY,\n });\n }\n };\n }\n componentWillUnmount() {\n this.cancelPendingSetState();\n this.removeScrollListener();\n }\n componentDidUpdate(_prevProps, prevState) {\n if (!prevState.isVisible && this.state.isVisible) {\n if (this.props.onShow)\n this.props.onShow();\n window.addEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n else if (prevState.isVisible && !this.state.isVisible) {\n if (this.props.onHide)\n this.props.onHide();\n this.removeScrollListener();\n }\n }\n removeScrollListener() {\n window.removeEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n shouldPositionTooltipNearMouse() {\n const { position } = this.props;\n return position === 'mouse' && this.userInteraction === 'mouse';\n }\n render() {\n const { children, position, mousePosition, content, truncate, component: TooltipContainer, tag: TargetContainer, testId, } = this.props;\n const { isVisible, renderTooltip, immediatelyShow, immediatelyHide, } = this.state;\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n return (\n /* eslint-disable jsx-a11y/mouse-events-have-key-events */\n React.createElement(React.Fragment, null,\n TargetContainer && (React.createElement(TargetContainer, { onClick: this.handleMouseClick, onMouseOver: this.handleMouseOver, onMouseOut: this.handleHideTooltip, onMouseMove: this.handleMouseMove, onMouseDown: this.handleMouseDown, onFocus: this.handleFocus, onBlur: this.handleHideTooltip, ref: (wrapperRef) => {\n this.wrapperRef = wrapperRef;\n } },\n React.createElement(NodeResolver, { innerRef: (ref) => {\n this.targetRef = ref;\n } }, React.Children.only(children)))),\n renderTooltip && this.targetRef && this.fakeMouseElement ? (React.createElement(Portal, { zIndex: layers.tooltip() },\n React.createElement(Popper, { placement: tooltipPosition, referenceElement: \n // https://github.com/FezVrasta/react-popper#usage-without-a-reference-htmlelement\n // We are using a popper technique to pass in a faked element when we use mouse.\n (this.shouldPositionTooltipNearMouse()\n ? this.fakeMouseElement\n : this.targetRef) }, ({ ref, style }) => TooltipContainer && (React.createElement(Animation, { immediatelyShow: immediatelyShow, immediatelyHide: immediatelyHide, onExited: () => this.setState({ renderTooltip: false }), in: isVisible }, getAnimationStyles => (React.createElement(TooltipContainer\n // innerRef can't be null so shortcircuit to undefined if it is.\n , { \n // innerRef can't be null so shortcircuit to undefined if it is.\n innerRef: ref || undefined, className: \"Tooltip\", style: {\n ...getAnimationStyles(),\n ...style,\n }, truncate: truncate || false, \"data-placement\": tooltipPosition, \"data-testid\": testId }, content))))))) : null)\n /* eslint-enable */\n );\n }\n}\nTooltip.defaultProps = {\n component: StyledTooltip,\n delay: 300,\n mousePosition: 'bottom',\n position: 'bottom',\n tag: 'div',\n};\nexport { Tooltip as TooltipWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'tooltip',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onHide: unhoveredPayload,\n onShow: createAndFireEventOnAtlaskit({ ...hoveredPayload }),\n})(Tooltip));\n//# sourceMappingURL=Tooltip.js.map","// If a generic is used here, props can be inferred never and passed up (even with defaults)\nexport function add(fn, addend) {\n return (props) => fn(props) + addend;\n}\nexport function subtract(fn, subtrahend) {\n return (props) => fn(props) - subtrahend;\n}\nexport function multiply(fn, factor) {\n return (props) => fn(props) * factor;\n}\nexport function divide(fn, divisor) {\n return (props) => fn(props) / divisor;\n}\n//# sourceMappingURL=math.js.map","import styled, { css } from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { divide, multiply } from '@atlaskit/theme/math';\nvar activeBackgroundColor = themed({\n light: colors.B75,\n dark: colors.DN30\n});\nvar hoverBackgroundColor = themed({\n light: colors.N20,\n dark: colors.DN60\n});\nvar selectedBackgroundColor = themed({\n light: colors.N0,\n dark: colors.DN30\n});\nvar activePrimaryTextColor = themed({\n light: colors.N800,\n dark: colors.DN300\n});\nvar defaultPrimaryTextColor = themed({\n light: colors.N800,\n dark: colors.DN600\n});\nvar disabledPrimaryTextColor = themed({\n light: colors.N70,\n dark: colors.DN70\n});\nvar primaryPrimaryTextColor = themed({\n light: colors.B400,\n dark: colors.B400\n});\nvar selectedPrimaryTextColor = themed({\n light: colors.N800,\n dark: colors.N800\n});\nvar focusedStyles = css([\"\\n box-shadow: 0 0 0 2px \", \"\\n inset;\\n outline: none;\\n outline-offset: 0;\\n position: relative; /* prevents bgcolor of a hovered element from obfuscating focus ring of a focused sibling element */\\n\"], themed({\n light: colors.B100,\n dark: colors.B75\n}));\nvar activeStyles = css([\"\\n &,\\n &:hover {\\n background-color: \", \";\\n color: \", \";\\n }\\n\"], selectedBackgroundColor, selectedPrimaryTextColor);\nvar primaryStyles = css([\"\\n color: \", \";\\n\"], primaryPrimaryTextColor);\n\nvar sharedStyles = function sharedStyles(props) {\n return css([\"\\n align-items: center;\\n box-sizing: border-box;\\n color: \", \";\\n cursor: \", \";\\n display: \", \";\\n flex-wrap: nowrap;\\n font-size: \", \"px;\\n font-weight: normal;\\n padding: 0 \", \"px;\\n text-decoration: none;\\n\\n &:hover {\\n background-color: \", \";\\n color: \", \";\\n text-decoration: none;\\n\\n \", \";\\n }\\n &:active {\\n background-color: \", \";\\n color: \", \";\\n\\n \", \";\\n }\\n &:focus {\\n \", \";\\n }\\n\\n \", \" \", \" \", \";\\n\"], props.isDisabled ? disabledPrimaryTextColor : defaultPrimaryTextColor, props.isDisabled ? 'not-allowed' : 'pointer', props.isHidden ? 'none' : 'flex', fontSize, multiply(gridSize, 1.5), !props.isDisabled && hoverBackgroundColor, props.isDisabled ? disabledPrimaryTextColor : defaultPrimaryTextColor, props.isPrimary && primaryStyles, !props.isDisabled && activeBackgroundColor, !props.isDisabled && activePrimaryTextColor, props.isPrimary && primaryStyles, focusedStyles, props.isFocused && focusedStyles, props.isActive && activeStyles, props.isPrimary && primaryStyles);\n};\n\nexport var Anchor = styled.a.withConfig({\n displayName: \"Item__Anchor\",\n componentId: \"aiqnor-0\"\n})([\"\\n \", \";\\n\"], function (props) {\n return sharedStyles(props);\n});\nexport var Span = styled.span.withConfig({\n displayName: \"Item__Span\",\n componentId: \"aiqnor-1\"\n})([\"\\n \", \";\\n\"], function (props) {\n return sharedStyles(props);\n}); // Checkbox/Radio wrapper -- sits left of the children\n\nexport var InputWrapper = styled.span.withConfig({\n displayName: \"Item__InputWrapper\",\n componentId: \"aiqnor-2\"\n})([\"\\n display: flex;\\n margin: 0 2px;\\n\"]); // Elements injected before/after the children\n\nexport var Before = styled.span.withConfig({\n displayName: \"Item__Before\",\n componentId: \"aiqnor-3\"\n})([\"\\n display: flex;\\n\"]);\nexport var After = styled.span.withConfig({\n displayName: \"Item__After\",\n componentId: \"aiqnor-4\"\n})([\"\\n align-items: center;\\n display: flex;\\n\"]); // Alignment and layout for the children\n\nexport var ContentWrapper = styled.span.withConfig({\n displayName: \"Item__ContentWrapper\",\n componentId: \"aiqnor-5\"\n})([\"\\n display: flex;\\n flex-direction: column;\\n margin: 0 \", \"px;\\n padding: \", \"px 0;\\n overflow: hidden;\\n\\n &:first-child {\\n margin: 0;\\n }\\n\"], gridSize, gridSize);\nexport var Content = styled.span.withConfig({\n displayName: \"Item__Content\",\n componentId: \"aiqnor-6\"\n})([\"\\n flex: 1 1 auto;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \", \";\\n\"], function (props) {\n return props.allowMultiline && css([\"\\n white-space: normal;\\n \"]);\n}); // Description is a block element below the children, like a subtitle\n\nexport var Description = styled.span.withConfig({\n displayName: \"Item__Description\",\n componentId: \"aiqnor-7\"\n})([\"\\n color: \", \";\\n flex: 1 1 auto;\\n font-size: 12px;\\n line-height: 16 / 12;\\n margin-top: \", \"px;\\n\"], colors.subtleText, divide(gridSize, 2)); // NOTE: Exposed as a named export for this package\n\nexport var SecondaryText = styled.span.withConfig({\n displayName: \"Item__SecondaryText\",\n componentId: \"aiqnor-8\"\n})([\"\\n color: \", \";\\n\"], colors.subtleText);","import * as colors from '@atlaskit/theme/colors';\nexport function getInputBackground(_ref) {\n var isChecked = _ref.isChecked,\n isDisabled = _ref.isDisabled,\n isHovered = _ref.isHovered,\n isPressed = _ref.isPressed;\n var background = colors.N40;\n if (isHovered) background = colors.N50;\n if (isPressed) background = colors.B200;\n if (isChecked) background = colors.B400;\n if (isDisabled) background = colors.N20;\n if (isChecked && isDisabled) background = colors.N600;\n return background;\n}\nexport function getInputFill(appearanceProps) {\n return appearanceProps.isChecked ? colors.N0 : 'transparent';\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport { Anchor, Span } from '../styled/Item';\nexport var supportsVoiceOver = function supportsVoiceOver() {\n return /Mac OS X/.test(navigator.userAgent);\n};\nexport var getAriaRoles = function getAriaRoles() {\n return {\n checkbox: supportsVoiceOver() ? 'checkbox' : 'menuitemcheckbox',\n link: 'menuitem',\n option: 'option',\n radio: supportsVoiceOver() ? 'radio' : 'menuitemradio'\n };\n};\nexport var baseTypes = {\n default: 'link',\n values: ['link', 'radio', 'checkbox', 'option']\n};\n\nvar Element =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(Element, _PureComponent);\n\n function Element() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Element);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Element)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseDown\", function (e) {\n e.preventDefault();\n\n _this.props.handleMouseDown();\n });\n\n return _this;\n }\n\n _createClass(Element, [{\n key: \"render\",\n value: function render() {\n var props = this.props;\n var isActive = props.isActive,\n isChecked = props.isChecked,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isHidden = props.isHidden,\n isSelected = props.isSelected,\n isPrimary = props.isPrimary;\n var type = this.props.type || '';\n var appearanceProps = {\n isActive: isActive,\n isChecked: isChecked,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isHidden: isHidden,\n isSelected: isSelected,\n isPrimary: isPrimary\n };\n var ariaProps = {\n 'aria-checked': !!isChecked,\n 'aria-disabled': !!isDisabled,\n 'aria-hidden': !!isHidden,\n 'aria-selected': !!isSelected\n };\n var ariaRoles = getAriaRoles();\n var commonProps = {\n 'data-role': 'droplistItem',\n onClick: props.handleClick,\n onKeyPress: props.handleKeyPress,\n onMouseDown: this.handleMouseDown,\n onMouseOut: props.handleMouseOut,\n onMouseOver: props.handleMouseOver,\n onMouseUp: props.handleMouseUp,\n role: ariaRoles[type],\n title: props.title,\n tabIndex: props.type === 'option' ? null : 0\n };\n var testingProps = process.env.NODE_ENV === 'test' ? {\n 'data-test-active': isActive,\n 'data-test-checked': isChecked,\n 'data-test-disabled': isDisabled,\n 'data-test-hidden': isHidden,\n 'data-test-selected': isSelected\n } : {};\n\n var consolidatedProps = _objectSpread({}, appearanceProps, ariaProps, commonProps, testingProps);\n\n if (props.href && !isDisabled) {\n return React.createElement(Anchor, _extends({\n href: props.href,\n target: props.target\n }, consolidatedProps), props.children);\n }\n\n return React.createElement(Span, consolidatedProps, props.children);\n }\n }]);\n\n return Element;\n}(PureComponent);\n\nexport { Element as default };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Checkbox from '@atlaskit/icon/glyph/checkbox';\nimport Radio from '@atlaskit/icon/glyph/radio';\nimport Tooltip from '@atlaskit/tooltip';\nimport { After, Before, Content, ContentWrapper, Description, InputWrapper } from '../styled/Item';\nimport { getInputBackground, getInputFill } from '../utils';\nimport { name as packageName, version as packageVersion } from '../version.json';\nimport Element from './Element';\nvar inputTypes = {\n checkbox: Checkbox,\n radio: Radio\n};\n\nvar Item =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(Item, _PureComponent);\n\n function Item() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Item);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Item)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isHovered: false,\n isPressed: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n return document.addEventListener('mouseup', _this.handleMouseUp);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n return document.removeEventListener('mouseup', _this.handleMouseUp);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"guardedActivate\", function (event) {\n var _this$props = _this.props,\n isDisabled = _this$props.isDisabled,\n onActivate = _this$props.onActivate;\n if (!isDisabled && onActivate) onActivate({\n item: _assertThisInitialized(_this),\n event: event\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n return _this.guardedActivate(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (event) {\n var keyIsValid = ['Enter', ' '].indexOf(event.key) > -1;\n if (keyIsValid) _this.guardedActivate(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseDown\", function () {\n return _this.setState({\n isPressed: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseUp\", function () {\n return _this.setState({\n isPressed: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseOut\", function () {\n return _this.setState({\n isHovered: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseOver\", function () {\n return _this.setState({\n isHovered: true\n });\n });\n\n return _this;\n }\n\n _createClass(Item, [{\n key: \"render\",\n value: function render() {\n var props = this.props;\n var _this$state = this.state,\n isHovered = _this$state.isHovered,\n isPressed = _this$state.isPressed;\n var type = props.type || '';\n var hasInput = ['checkbox', 'radio'].indexOf(type) > -1;\n var Input = inputTypes[type];\n var appearanceProps = {\n isActive: props.type === 'link' && props.isActive || props.type === 'option' && props.isSelected,\n isChecked: ['checkbox', 'radio'].indexOf(type) > -1 && props.isChecked,\n isDisabled: props.isDisabled,\n isFocused: props.isFocused,\n isHidden: props.isHidden,\n isHovered: isHovered,\n isPressed: isPressed,\n isSelected: type === 'option' && props.isSelected,\n isPrimary: props.appearance === 'primary'\n };\n var element = React.createElement(Element, _extends({}, appearanceProps, {\n handleClick: this.handleClick,\n handleKeyPress: this.handleKeyPress,\n handleMouseOut: this.handleMouseOut,\n handleMouseOver: this.handleMouseOver,\n handleMouseUp: this.handleMouseUp,\n handleMouseDown: this.handleMouseDown,\n href: props.href,\n target: props.target,\n title: props.title,\n type: props.type\n }), hasInput && React.createElement(InputWrapper, appearanceProps, React.createElement(Input, {\n label: \"\",\n primaryColor: getInputBackground(appearanceProps),\n secondaryColor: getInputFill(appearanceProps),\n size: \"medium\"\n })), !!props.elemBefore && React.createElement(Before, null, props.elemBefore), React.createElement(ContentWrapper, null, React.createElement(Content, {\n allowMultiline: this.context.shouldAllowMultilineItems\n }, props.children), !!props.description && React.createElement(Description, null, props.description)), !!props.elemAfter && React.createElement(After, null, props.elemAfter));\n return React.createElement(\"span\", {\n role: \"presentation\"\n }, props.tooltipDescription ? React.createElement(Tooltip, {\n content: props.tooltipDescription,\n position: props.tooltipPosition\n }, element) : element);\n }\n }]);\n\n return Item;\n}(PureComponent);\n\n_defineProperty(Item, \"defaultProps\", {\n appearance: 'default',\n children: null,\n description: '',\n elemAfter: null,\n elemBefore: null,\n href: null,\n isActive: false,\n isChecked: false,\n isDisabled: false,\n isFocused: false,\n isHidden: false,\n isSelected: false,\n itemContext: 'menu',\n onActivate: function onActivate() {},\n target: null,\n title: null,\n tooltipDescription: null,\n tooltipPosition: 'right',\n type: 'link'\n});\n\n_defineProperty(Item, \"contextTypes\", {\n shouldAllowMultilineItems: PropTypes.bool\n});\n\nexport { Item as DroplistItemWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'droplistItem',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onActivate: createAndFireEventOnAtlaskit({\n action: 'selected',\n actionSubject: 'droplistItem',\n attributes: {\n componentName: 'droplistItem',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(Item));","import styled from 'styled-components';\nimport { DN300, N300 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { multiply } from '@atlaskit/theme/math';\nexport default styled.div.withConfig({\n displayName: \"Group\",\n componentId: \"sc-1q26u8b-0\"\n})([\"\\n box-sizing: border-box;\\n display: block;\\n margin-top: \", \"px;\\n\\n &:first-child {\\n margin-top: 0;\\n }\\n\"], gridSize);\nexport var Heading = styled.div.withConfig({\n displayName: \"Group__Heading\",\n componentId: \"sc-1q26u8b-1\"\n})([\"\\n align-items: baseline;\\n color: \", \";\\n display: flex;\\n flex: 1 1 auto;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 1;\\n margin: 0;\\n padding: \", \"px \", \"px;\\n\"], themed({\n light: N300,\n dark: DN300\n}), gridSize, multiply(gridSize, 1.5));\nexport var HeadingAfter = styled.div.withConfig({\n displayName: \"Group__HeadingAfter\",\n componentId: \"sc-1q26u8b-2\"\n})([\"\\n flex: 0 0 auto;\\n\"]);\nexport var HeadingText = styled.div.withConfig({\n displayName: \"Group__HeadingText\",\n componentId: \"sc-1q26u8b-3\"\n})([\"\\n flex: 1 1 auto;\\n font-size: 12px;\\n text-transform: uppercase;\\n\"]);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport Group, { Heading, HeadingAfter, HeadingText } from '../styled/Group';\n\nvar DroplistGroup =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(DroplistGroup, _PureComponent);\n\n function DroplistGroup() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DroplistGroup);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DroplistGroup)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n ariaLabel: _this.props.heading\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n if (_this.props.heading || _this.props.elemAfter) {\n _this.setState({\n ariaLabel: _this.getAriaLabel()\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n if (_this.props.heading || _this.props.elemAfter) {\n // eslint-disable-next-line react/no-did-update-set-state\n _this.setState({\n ariaLabel: _this.getAriaLabel()\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getAriaLabel\", function () {\n var _this$props = _this.props,\n elemAfter = _this$props.elemAfter,\n heading = _this$props.heading;\n var afterText = elemAfter && typeof elemAfter === 'string' ? elemAfter : _this.headingElement && _this.headingElement.textContent;\n return \"\".concat(heading || '', \" \").concat(afterText || '');\n });\n\n return _this;\n }\n\n _createClass(DroplistGroup, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n elemAfter = _this$props2.elemAfter,\n heading = _this$props2.heading;\n var ariaLabel = this.state.ariaLabel;\n return React.createElement(Group, {\n \"aria-label\": ariaLabel,\n role: \"group\"\n }, heading ? React.createElement(Heading, {\n \"aria-hidden\": \"true\",\n \"data-role\": \"droplistGroupHeading\"\n }, React.createElement(HeadingText, null, heading), elemAfter ? React.createElement(HeadingAfter, {\n innerRef: function innerRef(r) {\n _this2.headingElement = r;\n }\n }, elemAfter) : null) : null, children);\n }\n }]);\n\n return DroplistGroup;\n}(PureComponent);\n\nDroplistGroup.displayName = 'Group';\nexport default DroplistGroup;","import React from 'react';\nimport styled from 'styled-components';\nimport ScrollLock from 'react-scrolllock';\nvar Blanket = styled.div.withConfig({\n displayName: \"ScrollBlock__Blanket\",\n componentId: \"sc-1xiww8k-0\"\n})([\"\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: transparent;\\n\"]);\nexport default function ScrollBlock() {\n return React.createElement(Blanket, null, React.createElement(ScrollLock, null));\n}","var positionMap = {\n 'top left': {\n position: 'top-start',\n animation: 'top'\n },\n 'top center': {\n position: 'top',\n animation: 'top'\n },\n 'top right': {\n position: 'top-end',\n animation: 'top'\n },\n 'right top': {\n position: 'right-start',\n animation: 'right'\n },\n 'right middle': {\n position: 'right',\n animation: 'right'\n },\n 'right bottom': {\n position: 'right-end',\n animation: 'right'\n },\n 'bottom left': {\n position: 'bottom-start',\n animation: 'bottom'\n },\n 'bottom center': {\n position: 'bottom',\n animation: 'bottom'\n },\n 'bottom right': {\n position: 'bottom-end',\n animation: 'bottom'\n },\n 'left top': {\n position: 'left-start',\n animation: 'left'\n },\n 'left middle': {\n position: 'left',\n animation: 'left'\n },\n 'left bottom': {\n position: 'left-end',\n animation: 'left'\n }\n};\nexport var POSITION_ATTRIBUTE_ENUM = {\n values: ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom left', 'bottom center', 'bottom right', 'left top', 'left middle', 'left bottom'],\n default: 'right middle'\n};\n\nfunction positionToPopper(position) {\n return position && positionMap[position] ? positionMap[position].position : null;\n}\n/* Convert the autoFlip property into the array format that Popper expects.\n * The first item must not include the edge-position variation, or Popper will not understand it.\n */\n\n\nexport function getFlipBehavior(props) {\n return props.position && Array.isArray(props.autoFlip) ? [props.position.split(' ')[0]].concat(props.autoFlip) : null;\n}\nexport function positionPropToPopperPosition(position) {\n return positionToPopper(position) || positionMap[POSITION_ATTRIBUTE_ENUM.default].position;\n}","import styled from 'styled-components';\nexport default styled.div.withConfig({\n displayName: \"styledContentContainer\",\n componentId: \"p0j3f7-0\"\n})([\"\\n [data-role='droplistContent'] {\\n \", \";\\n }\\n\"], function (_ref) {\n var maxHeight = _ref.maxHeight;\n return maxHeight ? \"max-height: \".concat(maxHeight, \"px\") : '';\n});","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\nimport rafSchedule from 'raf-schd';\nimport Popper from 'popper.js'; // eslint-disable-line import/extensions\n\nimport ScrollBlock from './internal/ScrollBlock';\nimport { getFlipBehavior, positionPropToPopperPosition } from './internal/helpers';\nimport ContentContainer from '../styledContentContainer'; // We create a dummy target when making the menu fixed so that we can force popper.js to use fixed positioning\n// without affecting child layout of the actual target since children of fixed position elements can't use percentage\n// heights/widths.\n\nvar FixedTarget = styled.div.withConfig({\n displayName: \"Layer__FixedTarget\",\n componentId: \"qunuuz-0\"\n})([\"\\n \", \";\\n\"], function (_ref) {\n var fixedOffset = _ref.fixedOffset,\n targetRef = _ref.targetRef;\n\n if (fixedOffset && targetRef) {\n var actualTarget = targetRef.firstChild;\n var rect = actualTarget.getBoundingClientRect();\n return \"\\n position: fixed;\\n top: \".concat(fixedOffset.top, \"px;\\n left: \").concat(fixedOffset.left, \"px;\\n height: \").concat(rect.height, \"px;\\n width: \").concat(rect.width, \"px;\\n z-index: -1;\\n \");\n }\n\n return 'display: none;';\n});\n\nif (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('@atlaskit/layer has been deprecated. It is an internal component and should not be used directly.');\n}\n\nvar Layer =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Layer, _Component);\n\n // working with extract-react-types\n function Layer(props) {\n var _this;\n\n _classCallCheck(this, Layer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Layer).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"popper\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"targetRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contentRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"fixedRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"extractStyles\", function (state) {\n if (state) {\n var popperHeight = state.offsets.popper.height;\n var left = Math.round(state.offsets.popper.left); // The offset position is sometimes an object and sometimes just a string...\n\n var cssPosition = _typeof(state.offsets.popper.position) === 'object' ? state.offsets.popper.position.position : state.offsets.popper.position;\n\n var top = _this.fixPositionTopUnderflow(state.offsets.popper.top, cssPosition);\n\n var originalHeight = _this.state.originalHeight || popperHeight;\n\n var maxHeight = _this.calculateMaxHeight(originalHeight, popperHeight, top, cssPosition);\n\n _this.setState({\n // position: fixed or absolute\n cssPosition: cssPosition,\n hasExtractedStyles: true,\n transform: \"translate3d(\".concat(left, \"px, \").concat(top, \"px, 0px)\"),\n // state.flipped is either true or undefined\n flipped: !!state.flipped,\n actualPosition: state.position,\n originalPosition: state.originalPosition,\n originalHeight: originalHeight,\n maxHeight: maxHeight\n });\n }\n });\n\n _this.state = {\n hasExtractedStyles: false,\n position: null,\n transform: null,\n flipped: false,\n actualPosition: null,\n // We set these default offsets to prevent a flash of popper content in the wrong position\n // which can cause incorrect height calculations. Popper will calculate these values\n offsets: {\n popper: {\n left: -9999,\n top: -9999\n }\n },\n originalPosition: null,\n // fix Safari parent width: https://product-fabric.atlassian.net/browse/ED-1784\n cssPosition: 'absolute',\n originalHeight: null,\n maxHeight: null,\n fixedOffset: null\n };\n _this.extractStyles = rafSchedule(_this.extractStyles.bind(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(Layer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.applyPopper(this.props);\n this.calculateFixedOffset(this.props);\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n this.applyPopper(nextProps);\n this.calculateFixedOffset(nextProps);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this$props = this.props,\n onFlippedChange = _this$props.onFlippedChange,\n onPositioned = _this$props.onPositioned;\n var _this$state = this.state,\n flipped = _this$state.flipped,\n actualPosition = _this$state.actualPosition,\n originalPosition = _this$state.originalPosition,\n hasExtractedStyles = _this$state.hasExtractedStyles;\n\n if (prevState.flipped !== flipped && onFlippedChange) {\n onFlippedChange({\n flipped: flipped,\n actualPosition: actualPosition,\n originalPosition: originalPosition\n });\n } // This flag is set the first time the position is calculated from Popper and applied to the content\n\n\n if (!prevState.hasExtractedStyles && hasExtractedStyles && onPositioned) {\n onPositioned();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.extractStyles.cancel();\n\n if (this.popper) {\n this.popper.destroy();\n }\n }\n /* Calculate the max height of the popper if it's height is greater than the viewport to prevent\n * the bottom of the popper not being viewable.\n * Only works if the popper uses viewport as the boundary and has a fixed position ancestor.\n */\n\n }, {\n key: \"calculateMaxHeight\",\n value: function calculateMaxHeight(originalHeight, currentHeight, positionTop, cssPosition) {\n var DocumentElementClientHeight = 0;\n\n if (document.documentElement) {\n DocumentElementClientHeight = document.documentElement.clientHeight;\n }\n\n if (cssPosition !== 'fixed' || this.props.boundariesElement !== 'viewport') {\n return null;\n }\n\n var viewportHeight = Math.max(DocumentElementClientHeight, window.innerHeight || 0);\n return viewportHeight < originalHeight && currentHeight + positionTop >= viewportHeight - 50 ? // allow some spacing either side of viewport height\n viewportHeight - 12 : null;\n }\n /* Popper may return either a fixed or absolute position which would be applied to the\n * content style. In order to overcome clipping issues for overflow containing blocks when\n * the position is absolute, we create a fixed position wrapper.\n */\n\n }, {\n key: \"calculateFixedOffset\",\n value: function calculateFixedOffset(props) {\n var isAlwaysFixed = props.isAlwaysFixed;\n\n if (isAlwaysFixed && this.targetRef) {\n var actualTarget = this.targetRef.firstChild;\n this.setState({\n fixedOffset: {\n top: actualTarget.getBoundingClientRect().top,\n left: actualTarget.getBoundingClientRect().left\n }\n });\n } else if (!isAlwaysFixed && this.state.fixedOffset !== null) {\n this.setState({\n fixedOffset: null\n });\n }\n }\n /* Clamp fixed position to the window for fixed position poppers that flow off the top of the\n * window.\n * A fixed position popper is a popper who has an ancestor with position: fixed.\n *\n * It is too difficult to fix this for non-fixed position poppers without re-implementing popper's\n * offset functionality or fixing the issue upstream.\n */\n // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"fixPositionTopUnderflow\",\n value: function fixPositionTopUnderflow(popperTop, cssPosition) {\n return popperTop >= 0 || cssPosition !== 'fixed' ? Math.round(popperTop) : 0;\n }\n }, {\n key: \"applyPopper\",\n value: function applyPopper(props) {\n if (!this.fixedRef || !this.targetRef || !this.contentRef) {\n return;\n }\n\n if (this.popper) {\n this.popper.destroy();\n } // \"new Popper(...)\" operation is very expensive when called on virtual DOM.\n // This condition reduces the number of calls so we can run our tests faster\n // (time was reduced from 100s to 13s).\n\n\n if (!props.content) {\n return;\n } // we wrap our target in a div so that we can safely get a reference to it, but we pass the\n // actual target to popper\n\n\n var actualTarget = props.isAlwaysFixed ? this.fixedRef : this.targetRef.firstChild;\n var popperOpts = {\n placement: positionPropToPopperPosition(props.position),\n onCreate: this.extractStyles,\n onUpdate: this.extractStyles,\n modifiers: {\n applyStyle: {\n enabled: false\n },\n hide: {\n enabled: false\n },\n offset: {\n enabled: true,\n offset: this.props.offset\n },\n flip: {\n enabled: !!this.props.autoFlip,\n flipVariations: true,\n boundariesElement: this.props.boundariesElement,\n padding: 0 // leave 0 pixels between popper and the boundariesElement\n\n },\n preventOverflow: {\n enabled: !!this.props.autoFlip,\n escapeWithReference: !(this.props.boundariesElement === 'scrollParent')\n }\n },\n positionFixed: props.isAlwaysFixed\n };\n var flipBehavior = getFlipBehavior(props);\n\n if (flipBehavior) {\n popperOpts.modifiers.flip.behavior = flipBehavior;\n }\n\n this.popper = new Popper(actualTarget, this.contentRef, popperOpts);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n zIndex = _this$props2.zIndex,\n lockScroll = _this$props2.lockScroll;\n var _this$state2 = this.state,\n cssPosition = _this$state2.cssPosition,\n transform = _this$state2.transform,\n hasExtractedStyles = _this$state2.hasExtractedStyles,\n maxHeight = _this$state2.maxHeight,\n fixedOffset = _this$state2.fixedOffset;\n var opacity = hasExtractedStyles ? {} : {\n opacity: 0\n };\n return React.createElement(\"div\", null, React.createElement(\"div\", {\n ref: function ref(_ref2) {\n _this2.targetRef = _ref2;\n }\n }, this.props.children), React.createElement(FixedTarget, {\n targetRef: this.targetRef,\n fixedOffset: fixedOffset\n }, React.createElement(\"div\", {\n style: {\n height: '100%',\n width: '100%'\n },\n ref: function ref(_ref3) {\n _this2.fixedRef = _ref3;\n }\n })), lockScroll && React.createElement(ScrollBlock, null), React.createElement(ContentContainer, {\n maxHeight: maxHeight\n }, React.createElement(\"div\", {\n ref: function ref(_ref4) {\n _this2.contentRef = _ref4;\n },\n style: _objectSpread({\n top: 0,\n left: 0,\n position: cssPosition,\n transform: transform,\n zIndex: zIndex\n }, opacity)\n }, this.props.content)));\n }\n }]);\n\n return Layer;\n}(Component);\n\n_defineProperty(Layer, \"defaultProps\", {\n autoFlip: true,\n boundariesElement: 'viewport',\n children: null,\n content: null,\n offset: '0, 0',\n onFlippedChange: function onFlippedChange() {},\n position: 'right middle',\n zIndex: 400,\n lockScroll: false,\n isAlwaysFixed: false,\n onPositioned: function onPositioned() {}\n});\n\nexport { Layer as default };","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n from {\n transform: rotate(50deg);\n opacity: 0;\n stroke-dashoffset: 60;\n }\n to {\n transform: rotate(230deg);\n opacity: 1;\n stroke-dashoffset: 50;\n }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n if (mode === 'light') {\n return appearance === 'inherit' ? N500 : N0;\n }\n // Dark mode: colours provided by Jake Miller\n return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n const size = typeof providedSize === 'number'\n ? providedSize\n : presetSizes[providedSize];\n return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n const strokeColor = getStrokeColor({\n mode: tokens.mode,\n appearance,\n });\n // The Spinner animation uses a combination of two\n // css animations on two separate elements.\n return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n /* align better inline with text */\n vertical-align: middle;\n /* We are going to animate this in */\n opacity: 0;\n\n animation: ${loadIn} 1s ease-in-out;\n /* When the animation completes, stay at the last frame of the animation */\n animation-fill-mode: forwards;\n animation-delay: ${delay}ms;\n ` },\n jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n fill: none;\n stroke: ${strokeColor};\n stroke-width: 1.5;\n stroke-linecap: round;\n stroke-dasharray: 60;\n stroke-dashoffset: inherit;\n transform-origin: center;\n animation: ${rotate} 0.86s infinite;\n animation-delay: ${delay}ms;\n animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n ` })));\n }));\n}));\n//# sourceMappingURL=spinner.js.map","import styled, { css } from 'styled-components';\nimport { backgroundOnLayer, N50A, N60A } from '@atlaskit/theme/colors';\nimport { borderRadius, gridSize } from '@atlaskit/theme/constants';\nimport { divide, multiply } from '@atlaskit/theme/math';\n/* When dropdown contains more than 9 elements (droplist items, droplist groups),\n * it should have scroll and cut off half of the 10th item to indicate that there are more\n * items then are seen. This was previously calculated by mapping over children, but with\n * the current composed API it is simpler to just assume 9 items. */\n\nvar getMaxHeight = function getMaxHeight(_ref) {\n var isTall = _ref.isTall,\n maxHeight = _ref.maxHeight;\n if (maxHeight) return \"\".concat(maxHeight, \"px\");\n var heightWithoutPadding = 17;\n var verticalPadding = gridSize();\n var height = heightWithoutPadding + verticalPadding * 2;\n var defaultMaxHeight = 9.5 * height + verticalPadding / 2;\n return isTall ? '90vh' : \"\".concat(defaultMaxHeight, \"px\");\n};\n\nexport default styled.div.withConfig({\n displayName: \"Droplist\",\n componentId: \"sc-1z05y4v-0\"\n})([\"\\n display: inline-flex;\\n\\n \", \";\\n\"], function (props) {\n return props.fit && \"\\n display: block;\\n flex: 1 1 auto;\\n \";\n});\nvar backgroundColor = backgroundOnLayer;\nvar boxShadow = css([\"\\n box-shadow: 0 \", \"px \", \"px -\", \"px\\n \", \",\\n 0 0 1px \", \";\\n\"], divide(gridSize, 2), gridSize, divide(gridSize, 4), N50A, N60A);\nexport var Content = styled.div.withConfig({\n displayName: \"Droplist__Content\",\n componentId: \"sc-1z05y4v-1\"\n})([\"\\n background: \", \";\\n border-radius: \", \"px;\\n \", \";\\n box-sizing: border-box;\\n overflow: auto;\\n padding: \", \"px 0;\\n max-height: \", \";\\n\"], backgroundColor, borderRadius, boxShadow, divide(gridSize, 2), getMaxHeight);\nexport var SpinnerContainer = styled.div.withConfig({\n displayName: \"Droplist__SpinnerContainer\",\n componentId: \"sc-1z05y4v-2\"\n})([\"\\n display: flex;\\n justify-content: center;\\n min-width: \", \"px;\\n padding: \", \"px;\\n\"], multiply(gridSize, 20), multiply(gridSize, 2.5));\nexport var Trigger = styled.div.withConfig({\n displayName: \"Droplist__Trigger\",\n componentId: \"sc-1z05y4v-3\"\n})([\"\\n display: inline-flex;\\n transition-duration: 0.2s;\\n transition: box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);\\n\\n \", \";\\n\"], function (props) {\n return props.fit && \"\\n box-sizing: border-box;\\n display: block;\\n \";\n});","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { itemThemeNamespace } from '@atlaskit/item';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { multiply } from '@atlaskit/theme/math';\nvar dropdownPadding = {\n bottom: gridSize,\n left: multiply(gridSize, 1.5),\n right: multiply(gridSize, 1.5),\n top: gridSize\n};\nvar droplistItemTheme = {\n padding: {\n default: dropdownPadding,\n compact: dropdownPadding\n },\n borderRadius: function borderRadius() {\n return 0;\n },\n default: {\n background: themed({\n light: colors.N0,\n dark: colors.DN50\n }),\n text: themed({\n light: colors.N800,\n dark: colors.DN600\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n hover: {\n background: themed({\n light: colors.N20,\n dark: colors.DN70\n }),\n text: themed({\n light: colors.N800,\n dark: colors.DN600\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n active: {\n background: themed({\n light: colors.B75,\n dark: colors.B75\n }),\n text: themed({\n light: colors.N800,\n dark: colors.B400\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n selected: {\n background: 'transparent',\n text: themed({\n light: colors.N800,\n dark: colors.DN600\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n disabled: {\n background: 'transparent',\n text: themed({\n light: colors.N70,\n dark: colors.DN80\n }),\n secondaryText: themed({\n light: colors.N50,\n dark: colors.DN70\n })\n },\n focus: {\n outline: themed({\n light: colors.B100,\n dark: colors.B75\n })\n }\n};\nexport default _defineProperty({}, itemThemeNamespace, droplistItemTheme);","import { gridSize as akGridSize, borderRadius } from '@atlaskit/theme/constants';\nimport * as colors from '@atlaskit/theme/colors';\nexport var themeNamespace = '@atlaskit-shared-theme/item'; // Used for Group titles and Item descriptions\n\nexport var compactSmallFontSize = 10;\nexport var compactLineHeight = 1.2;\nexport var gridSize = akGridSize();\nexport var defaultTheme = {\n afterItemSpacing: {\n compact: akGridSize(),\n default: akGridSize()\n },\n beforeItemSpacing: {\n compact: akGridSize(),\n default: akGridSize()\n },\n borderRadius: borderRadius(),\n focus: {\n outline: colors.B100\n },\n height: {\n compact: 0,\n default: 0\n },\n width: {\n compact: 'auto',\n default: 'auto'\n },\n padding: {\n default: {\n bottom: akGridSize() / 2,\n left: akGridSize() / 2,\n right: akGridSize() / 2,\n top: akGridSize() / 2\n },\n compact: {\n bottom: akGridSize(),\n left: akGridSize(),\n right: akGridSize(),\n top: akGridSize()\n }\n },\n default: {\n background: colors.background,\n text: colors.text,\n secondaryText: colors.N200\n },\n selected: {\n background: colors.backgroundActive,\n text: colors.N500,\n secondaryText: colors.N200\n },\n active: {\n background: colors.backgroundActive,\n text: colors.textActive,\n secondaryText: colors.N200\n },\n hover: {\n background: colors.backgroundHover,\n text: colors.textHover,\n secondaryText: colors.N200\n },\n disabled: {\n background: colors.N0,\n text: colors.N200,\n secondaryText: colors.N200\n },\n // same as hover in this case\n dragging: {\n background: colors.N20,\n text: colors.N800,\n secondaryText: colors.N200\n }\n};\n\nvar isValidCssValue = function isValidCssValue(value) {\n return value !== undefined && value !== null && value !== '';\n}; // Returns the theme that contains the requested theme key(s), preferring the user-supplied\n// theme if it is provided.\n\n\nexport var themeWithKeys = function themeWithKeys(maybeTheme, key, parentKey) {\n if (parentKey) {\n return maybeTheme && maybeTheme[parentKey] && isValidCssValue(maybeTheme[parentKey][key]) ? maybeTheme : defaultTheme;\n }\n\n return maybeTheme && isValidCssValue(maybeTheme[key]) ? maybeTheme : defaultTheme;\n}; // Returns the theme value for the requested key(s), falling back to the default theme if the\n// user-supplied theme doesn't exist or doesn't contain the requested key(s)\n\nexport var getThemeStyle = function getThemeStyle(maybeTheme, key, parentKey) {\n var theme = themeWithKeys(maybeTheme, key, parentKey);\n return parentKey ? theme[parentKey][key] : theme[key];\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider } from 'styled-components';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Layer from '@atlaskit/layer';\nimport Spinner from '@atlaskit/spinner';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport Wrapper, { Content, SpinnerContainer, Trigger } from '../styled/Droplist';\nimport itemTheme from '../theme/item-theme';\nimport { name as packageName, version as packageVersion } from '../version.json';\nvar halfFocusRing = 1;\nvar dropOffset = \"0, \".concat(gridSize(), \"px\");\n\nif (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('@atlaskit/droplist has been deprecated. It is an internal component and should not be used directly.');\n}\n\nvar Droplist =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Droplist, _Component);\n\n function Droplist() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Droplist);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Droplist)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n _this.setContentWidth(); // We use a captured event here to avoid a radio or checkbox dropdown item firing its\n // click event first, which would cause a re-render of the element and prevent Droplist\n // from detecting the actual source of this original click event.\n\n\n document.addEventListener('click', _this.handleClickOutside, true);\n document.addEventListener('keydown', _this.handleEsc);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n if (_this.props.isOpen) {\n _this.setContentWidth();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n document.removeEventListener('click', _this.handleClickOutside, true);\n document.removeEventListener('keydown', _this.handleEsc);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setContentWidth\", function () {\n var _assertThisInitialize = _assertThisInitialized(_this),\n dropContentRef = _assertThisInitialize.dropContentRef,\n triggerRef = _assertThisInitialize.triggerRef;\n\n var shouldFitContainer = _this.props.shouldFitContainer; // We need to manually set the content width to match the trigger width\n // if props.shouldFitContainer is true\n\n if (shouldFitContainer && dropContentRef && triggerRef) {\n dropContentRef.style.width = \"\".concat(triggerRef.offsetWidth - halfFocusRing * 2, \"px\");\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleEsc\", function (event) {\n if ((event.key === 'Escape' || event.key === 'Esc') && _this.props.isOpen) {\n _this.close(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickOutside\", function (event) {\n if (_this.props.isOpen) {\n if (event.target instanceof Node) {\n // Rather than check for the target within the entire Droplist, we specify the trigger/content.\n // This aids with future effort in scroll-locking Droplist when isMenuFixed is enabled; the scroll\n // blanket which stretches to the viewport should not stop 'close' from being triggered.\n var withinTrigger = _this.triggerRef && _this.triggerRef.contains(event.target);\n\n var withinContent = _this.dropContentRef && _this.dropContentRef.contains(event.target);\n\n if (!withinTrigger && !withinContent) {\n _this.close(event);\n }\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"close\", function (event) {\n if (_this.props.onOpenChange) {\n _this.props.onOpenChange({\n isOpen: false,\n event: event\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleContentRef\", function (ref) {\n _this.dropContentRef = ref; // If the dropdown has just been opened, we focus on the containing element so the\n // user can tab to the first dropdown item. We will only receive this ref if isOpen\n // is true or null, so no need to check for truthiness here.\n\n if (ref) {\n ref.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleTriggerRef\", function (ref) {\n _this.triggerRef = ref;\n });\n\n return _this;\n }\n\n _createClass(Droplist, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n shouldAllowMultilineItems: this.props.shouldAllowMultilineItems\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n appearance = _this$props.appearance,\n boundariesElement = _this$props.boundariesElement,\n children = _this$props.children,\n isLoading = _this$props.isLoading,\n isOpen = _this$props.isOpen,\n maxHeight = _this$props.maxHeight,\n onClick = _this$props.onClick,\n onKeyDown = _this$props.onKeyDown,\n position = _this$props.position,\n isMenuFixed = _this$props.isMenuFixed,\n shouldFitContainer = _this$props.shouldFitContainer,\n shouldFlip = _this$props.shouldFlip,\n trigger = _this$props.trigger,\n onPositioned = _this$props.onPositioned,\n testId = _this$props.testId;\n var layerContent = isOpen ? React.createElement(Content, {\n \"data-role\": \"droplistContent\",\n \"data-testid\": testId && \"\".concat(testId, \"--content\"),\n isTall: appearance === 'tall',\n innerRef: this.handleContentRef,\n maxHeight: maxHeight\n }, isLoading ? React.createElement(SpinnerContainer, null, React.createElement(Spinner, {\n size: \"small\"\n })) : React.createElement(ThemeProvider, {\n theme: itemTheme\n }, React.createElement(\"div\", null, children))) : null;\n return React.createElement(Wrapper, {\n fit: shouldFitContainer,\n onClick: onClick,\n onKeyDown: onKeyDown\n }, React.createElement(Layer, {\n autoFlip: shouldFlip,\n boundariesElement: boundariesElement,\n content: layerContent,\n offset: dropOffset,\n position: position,\n isAlwaysFixed: isOpen && isMenuFixed,\n onPositioned: onPositioned\n }, React.createElement(Trigger, {\n fit: shouldFitContainer,\n innerRef: this.handleTriggerRef\n }, trigger)));\n }\n }]);\n\n return Droplist;\n}(Component);\n\n_defineProperty(Droplist, \"defaultProps\", {\n appearance: 'default',\n boundariesElement: 'viewport',\n children: null,\n isLoading: false,\n isOpen: false,\n onClick: function onClick() {},\n onKeyDown: function onKeyDown() {},\n onOpenChange: function onOpenChange() {},\n position: 'bottom left',\n isMenuFixed: false,\n shouldAllowMultilineItems: false,\n shouldFitContainer: false,\n shouldFlip: true,\n trigger: null,\n onPositioned: function onPositioned() {}\n});\n\n_defineProperty(Droplist, \"childContextTypes\", {\n shouldAllowMultilineItems: PropTypes.bool\n});\n\nexport { Droplist as DroplistWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'droplist',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onOpenChange: createAndFireEventOnAtlaskit({\n action: 'toggled',\n actionSubject: 'droplist',\n attributes: {\n componentName: 'droplist',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(Droplist));","var prefix = function prefix(key) {\n return \"@atlaskit-private-do-not-use/dropdown-menu:\".concat(key);\n};\n\nexport var focusManagerContext = prefix('focus-manager');\nexport var selectionCacheContext = prefix('selection-cache');\nexport var selectionManagerContext = prefix('selection-manager');\nexport var clickManagerContext = prefix('click-manager');","export var KEY_UP = 'ArrowUp';\nexport var KEY_DOWN = 'ArrowDown';\nexport var KEY_SPACE = ' ';\nexport var KEY_ENTER = 'Enter';\nexport var KEY_TAB = 'Tab';\nexport var KEY_ESC = 'Escape';","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { focusManagerContext } from '../../util/contextNamespace';\nimport { KEY_DOWN, KEY_UP, KEY_TAB } from '../../util/keys';\n\nvar DropdownItemFocusManager =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownItemFocusManager, _Component);\n\n function DropdownItemFocusManager() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownItemFocusManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemFocusManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"registeredItems\", []);\n\n _defineProperty(_assertThisInitialized(_this), \"focusedItemId\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemRegistered\", function (itemId, itemNode) {\n _this.registeredItems.push({\n itemId: itemId,\n itemNode: itemNode\n });\n\n if (_this.props.autoFocus && _this.registeredItems.length === 1) {\n _this.focusedItemId = itemId;\n itemNode.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemDeregistered\", function (itemId) {\n _this.registeredItems = _this.registeredItems.filter(function (item) {\n return item.itemId !== itemId;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemFocused\", function (itemId) {\n _this.focusedItemId = itemId;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemUpdated\", function (itemId, itemNode) {\n var matchingIndex = -1;\n\n for (var i = 0; i < _this.registeredItems.length; i++) {\n if (_this.registeredItems[i].itemId === itemId) {\n matchingIndex = i;\n break;\n }\n }\n\n if (matchingIndex === -1) {\n _this.handleItemRegistered(itemId, itemNode);\n\n return;\n }\n\n _this.registeredItems[matchingIndex].itemNode = itemNode;\n\n if (_this.focusedItemIndex() === matchingIndex) {\n itemNode.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusedItemIndex\", function () {\n var _assertThisInitialize = _assertThisInitialized(_this),\n focusedItemId = _assertThisInitialize.focusedItemId,\n registeredItems = _assertThisInitialize.registeredItems;\n\n for (var i = 0; i < registeredItems.length; i++) {\n if (registeredItems[i].itemId === focusedItemId) {\n return i;\n }\n }\n\n return -1;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyboard\", function (event) {\n var key = event.key,\n shiftKey = event.shiftKey;\n\n var focusedItemIndex = _this.focusedItemIndex();\n\n if (key === KEY_UP || key === KEY_DOWN) {\n // We prevent default here to avoid page scrolling when up/down\n // pressed while dropdown is focused.\n event.preventDefault();\n\n if (focusedItemIndex < 0) {\n return;\n }\n\n var nextItemIndex = key === KEY_UP ? Math.max(0, focusedItemIndex - 1) : Math.min(_this.registeredItems.length - 1, focusedItemIndex + 1);\n\n _this.registeredItems[nextItemIndex].itemNode.focus();\n }\n\n if (key === KEY_TAB) {\n if (!shiftKey && focusedItemIndex === _this.registeredItems.length - 1) {\n if (_this.props.close) _this.props.close({\n event: event,\n source: 'keydown'\n });\n }\n\n if (shiftKey && focusedItemIndex === 0) {\n if (_this.props.close) _this.props.close({\n event: event,\n source: 'keydown'\n });\n }\n }\n });\n\n return _this;\n }\n\n _createClass(DropdownItemFocusManager, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return _defineProperty({}, focusManagerContext, {\n itemFocused: this.handleItemFocused,\n registerItem: this.handleItemRegistered,\n deregisterItem: this.handleItemDeregistered,\n updateItem: this.handleItemUpdated\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n return React.createElement(\"div\", {\n onKeyDown: this.handleKeyboard\n }, this.props.children);\n }\n }]);\n\n return DropdownItemFocusManager;\n}(Component);\n\n_defineProperty(DropdownItemFocusManager, \"childContextTypes\", _defineProperty({}, focusManagerContext, PropTypes.object));\n\nexport { DropdownItemFocusManager as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { clickManagerContext } from '../../util/contextNamespace';\n\nvar DropdownItemClickManager =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownItemClickManager, _Component);\n\n function DropdownItemClickManager() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownItemClickManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemClickManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemClicked\", function (event) {\n _this.props.onItemClicked(event);\n });\n\n return _this;\n }\n\n _createClass(DropdownItemClickManager, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return _defineProperty({}, clickManagerContext, {\n itemClicked: this.handleItemClicked\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DropdownItemClickManager;\n}(Component);\n\n_defineProperty(DropdownItemClickManager, \"childContextTypes\", _defineProperty({}, clickManagerContext, PropTypes.object));\n\nexport { DropdownItemClickManager as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport find from 'array-find';\nimport { selectionCacheContext } from '../../util/contextNamespace';\n\nvar isItemInList = function isItemInList(itemList, itemId, groupId) {\n return Boolean(find(itemList, function (item) {\n return item.id === itemId && item.groupId === groupId;\n }));\n};\n\nvar DropdownItemSelectionCache =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownItemSelectionCache, _Component);\n\n function DropdownItemSelectionCache() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownItemSelectionCache);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemSelectionCache)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n lastCacheUpdate: 0\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectedItems\", []);\n\n _defineProperty(_assertThisInitialized(_this), \"alreadyDefaultedItems\", []);\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemSelectionsChanged\", function (groupId, newGroupSelections) {\n var newSelectedItems = [].concat(_toConsumableArray(_this.selectedItems.filter(function (item) {\n return item.groupId !== groupId;\n })), _toConsumableArray(newGroupSelections));\n _this.selectedItems = newSelectedItems; // We store selectedItems in an instance variable (this.selectedItems) instead of state,\n // because if multiple children update the cache at the same time it causes unexpected\n // behaviour due to the asynchronous behaviour of setState. So we need to trigger setState\n // with a different value to cause the children to be updated with their new selection values.\n\n _this.setState({\n lastCacheUpdate: Date.now()\n });\n });\n\n return _this;\n }\n\n _createClass(DropdownItemSelectionCache, [{\n key: \"getChildContext\",\n // eslint-disable-line react/sort-comp\n value: function getChildContext() {\n var _this2 = this;\n\n return _defineProperty({}, selectionCacheContext, {\n // This function returns true/false describing whether the supplied navigation item\n // (which must have a unique item and group ID) is currently selected - this is used\n // by radio and checkbox dropdown items to retreive their 'selected' state when they\n // re-mount, which happens when the dropdown is closed and then re-opened.\n isItemSelected: function isItemSelected(groupId, itemId) {\n return isItemInList(_this2.selectedItems, itemId, groupId);\n },\n itemsInGroup: function itemsInGroup(groupId) {\n return _this2.selectedItems.filter(function (item) {\n return item.groupId === groupId;\n });\n },\n itemSelectionsChanged: this.handleItemSelectionsChanged,\n hasItemAlreadyHadDefaultSelectedApplied: function hasItemAlreadyHadDefaultSelectedApplied(groupId, itemId) {\n return isItemInList(_this2.alreadyDefaultedItems, itemId, groupId);\n },\n markItemAsDefaultApplied: function markItemAsDefaultApplied(groupId, itemId) {\n _this2.alreadyDefaultedItems.push({\n id: itemId,\n groupId: groupId\n });\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(\"div\", null, this.props.children);\n }\n }]);\n\n return DropdownItemSelectionCache;\n}(Component);\n\n_defineProperty(DropdownItemSelectionCache, \"childContextTypes\", _defineProperty({}, selectionCacheContext, PropTypes.shape({\n isItemSelected: PropTypes.func,\n itemsInGroup: PropTypes.func,\n itemSelectionsChanged: PropTypes.func\n})));\n\nexport { DropdownItemSelectionCache as default };","import styled from 'styled-components';\nexport default styled.div.withConfig({\n displayName: \"WidthConstrainer\",\n componentId: \"sc-15doeus-0\"\n})([\"\\n \", \";\\n\"], function (_ref) {\n var shouldFitContainer = _ref.shouldFitContainer;\n return shouldFitContainer ? '' : 'max-width: 300px;';\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/no-array-index-key */\nimport React, { Component, Fragment } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { uid } from 'react-uid';\nimport { withAnalyticsContext, withAnalyticsEvents, createAndFireEvent } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport Droplist, { Item, Group } from '@atlaskit/droplist';\nimport ExpandIcon from '@atlaskit/icon/glyph/chevron-down';\nimport { name as packageName, version as packageVersion } from '../version.json';\nimport DropdownItemFocusManager from './context/DropdownItemFocusManager';\nimport DropdownItemClickManager from './context/DropdownItemClickManager';\nimport DropdownItemSelectionCache from './context/DropdownItemSelectionCache';\nimport WidthConstrainer from '../styled/WidthConstrainer';\nimport { KEY_DOWN, KEY_SPACE, KEY_ENTER } from '../util/keys';\n\nvar DropdownMenuStateless =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownMenuStateless, _Component);\n\n function DropdownMenuStateless() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownMenuStateless);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownMenuStateless)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"domItemsList\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"focusedItem\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"triggerContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"sourceOfIsOpen\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"dropdownListPositioned\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n id: uid({\n id: _this.constructor.name\n }),\n autoFocusDropdownItems: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n if (_this.isUsingDeprecatedAPI()) {\n if (process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.log('DropdownMenu.items is deprecated. Please switch to the declarative API.');\n }\n\n if (_this.domItemsList) {\n _this.focusFirstItem();\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProp) {\n if (_this.isUsingDeprecatedAPI() && _this.props.isOpen && !prevProp.isOpen) {\n _this.focusFirstItem();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getNextFocusable\", function (indexItem, available) {\n if (!_this.domItemsList) {\n return null;\n }\n\n var currentItem = typeof indexItem !== 'number' ? -1 : indexItem;\n var latestAvailable = typeof available !== 'number' ? currentItem : available;\n\n if (currentItem < _this.domItemsList.length - 1) {\n currentItem++;\n\n if (_this.domItemsList[currentItem].getAttribute('aria-hidden') !== 'true') {\n return currentItem;\n }\n\n return _this.getNextFocusable(currentItem, latestAvailable);\n }\n\n return latestAvailable;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPrevFocusable\", function (indexItem, available) {\n if (!_this.domItemsList) {\n return null;\n }\n\n var currentItem = typeof indexItem !== 'number' ? -1 : indexItem;\n var latestAvailable = typeof available !== 'number' ? currentItem : available;\n\n if (currentItem && currentItem > 0) {\n currentItem--;\n\n if (_this.domItemsList[currentItem].getAttribute('aria-hidden') !== 'true') {\n return currentItem;\n }\n\n return _this.getPrevFocusable(currentItem, latestAvailable);\n }\n\n return latestAvailable || currentItem;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusFirstItem\", function () {\n if (_this.sourceOfIsOpen === 'keydown') {\n _this.focusItem(_this.getNextFocusable());\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusNextItem\", function () {\n _this.focusItem(_this.getNextFocusable(_this.focusedItem));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusPreviousItem\", function () {\n _this.focusItem(_this.getPrevFocusable(_this.focusedItem));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusItem\", function (index) {\n if (!_this.domItemsList || !index) {\n return;\n }\n\n _this.focusedItem = index;\n\n _this.domItemsList[_this.focusedItem].focus();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isTargetChildItem\", function (target) {\n if (!target) return false;\n var isDroplistItem = target.getAttribute('data-role') === 'droplistItem'; // eslint-disable-next-line react/no-find-dom-node\n\n var thisDom = findDOMNode(_assertThisInitialized(_this));\n return isDroplistItem && thisDom ? thisDom.contains(target) : false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyboardInteractionForClosed\", function (event) {\n if (_this.props.isOpen) {\n return;\n }\n\n switch (event.key) {\n case KEY_DOWN:\n case KEY_SPACE:\n case KEY_ENTER:\n event.preventDefault();\n\n _this.open({\n event: event,\n source: 'keydown'\n });\n\n break;\n\n default:\n break;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyboardInteractionsDeprecated\", function (event) {\n // KeyboardEvent.target is typed as an EventTarget but we need to access methods on it which\n // are specific to Element. Due limitations of the HTML spec flow doesn't know that an\n // EventTarget can have these methods, so we cast it to Element through Object. This is the\n // safest thing we can do in this situation.\n // https://flow.org/en/docs/types/casting/#toc-type-casting-through-any\n var target = event.target;\n\n if (_this.props.isOpen) {\n if (_this.isTargetChildItem(target)) {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n\n _this.focusPreviousItem();\n\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n\n _this.focusNextItem();\n\n break;\n\n case 'Tab':\n event.preventDefault();\n\n _this.close({\n event: event\n });\n\n break;\n\n default:\n break;\n }\n } else if (event.key === 'ArrowDown') {\n _this.sourceOfIsOpen = 'keydown';\n\n _this.focusFirstItem();\n } else if (event.key === 'Tab') {\n _this.close({\n event: event\n });\n }\n } else {\n switch (event.key) {\n case KEY_DOWN:\n case KEY_SPACE:\n case KEY_ENTER:\n event.preventDefault();\n\n _this.open({\n event: event,\n source: 'keydown'\n });\n\n break;\n\n default:\n break;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"domMenuContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickDeprecated\", function (event) {\n var menuContainer = _this.domMenuContainer; // Casting target to Element. See comment in `handleKeyboardInteractionsDeprecated`.\n\n var target = event.target;\n\n if (!menuContainer || menuContainer && !menuContainer.contains(target)) {\n _this.toggle({\n source: 'click',\n event: event\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isUsingDeprecatedAPI\", function () {\n return Boolean(_this.props.items.length);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n // For any clicks we don't want autofocus\n _this.setState({\n autoFocusDropdownItems: false\n });\n\n if (_this.isUsingDeprecatedAPI()) {\n _this.handleClickDeprecated(event);\n\n return;\n }\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n triggerContainer = _assertThisInitialize.triggerContainer; // Casting target to Element. See comment in `handleKeyboardInteractionsDeprecated`.\n\n\n var target = event.target;\n\n if (triggerContainer && triggerContainer.contains(target) && // $FlowFixMe - disabled is not in Element\n target.disabled !== true) {\n var isOpen = _this.props.isOpen;\n _this.sourceOfIsOpen = 'mouse';\n\n _this.props.onOpenChange({\n isOpen: !isOpen,\n event: event\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"triggerContent\", function () {\n var _this$props = _this.props,\n children = _this$props.children,\n trigger = _this$props.trigger,\n isOpen = _this$props.isOpen,\n triggerButtonProps = _this$props.triggerButtonProps,\n triggerType = _this$props.triggerType,\n testId = _this$props.testId;\n var insideTriggerContent = _this.isUsingDeprecatedAPI() ? children : trigger;\n\n if (triggerType !== 'button') {\n return insideTriggerContent;\n }\n\n var triggerProps = _objectSpread({}, triggerButtonProps);\n\n var defaultButtonProps = {\n 'aria-controls': _this.state.id,\n 'aria-expanded': isOpen,\n 'aria-haspopup': true,\n isSelected: isOpen\n };\n\n if (!triggerProps.iconAfter && !triggerProps.iconBefore) {\n triggerProps.iconAfter = React.createElement(ExpandIcon, {\n size: \"medium\",\n label: \"\"\n });\n }\n\n return React.createElement(Button, _extends({}, defaultButtonProps, triggerProps, {\n testId: testId && \"\".concat(testId, \"--trigger\")\n }), insideTriggerContent);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"open\", function (attrs) {\n _this.sourceOfIsOpen = attrs.source;\n\n _this.props.onOpenChange({\n isOpen: true,\n event: attrs.event\n }); // Dropdown opened via keyboard gets auto focussed\n\n\n _this.setState({\n autoFocusDropdownItems: _this.sourceOfIsOpen === 'keydown'\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"close\", function (attrs) {\n _this.sourceOfIsOpen = null;\n\n _this.props.onOpenChange({\n isOpen: false,\n event: attrs.event\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggle\", function (attrs) {\n if (attrs.source === 'keydown') return;\n\n if (_this.props.isOpen) {\n _this.close(attrs);\n } else {\n _this.open(attrs);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemClicked\", function (event) {\n _this.props.onOpenChange({\n isOpen: false,\n event: event\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderTrigger\", function () {\n var triggerContent = _this.triggerContent();\n\n return _this.isUsingDeprecatedAPI() ? triggerContent : React.createElement(\"div\", {\n ref: function ref(_ref) {\n _this.triggerContainer = _ref;\n }\n }, triggerContent);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderItems\", function (items) {\n return items.map(function (item, itemIndex) {\n return React.createElement(Item, _extends({}, item, {\n key: itemIndex,\n onActivate: function onActivate(_ref2) {\n var event = _ref2.event;\n\n _this.props.onItemActivated({\n item: item,\n event: event\n });\n }\n }), item.content);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderGroups\", function (groups) {\n return groups.map(function (group, groupIndex) {\n return React.createElement(Group, {\n heading: group.heading,\n elemAfter: group.elemAfter,\n key: groupIndex\n }, _this.renderItems(group.items));\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderDeprecated\", function () {\n var _this$props2 = _this.props,\n items = _this$props2.items,\n shouldFitContainer = _this$props2.shouldFitContainer;\n var id = _this.state.id;\n return React.createElement(\"div\", {\n id: id,\n ref: function ref(_ref3) {\n _this.domMenuContainer = _ref3;\n _this.domItemsList = _ref3 ? _ref3.querySelectorAll('[data-role=\"droplistItem\"]') : null;\n },\n role: \"menu\",\n style: shouldFitContainer ? null : {\n maxWidth: 300\n }\n }, _this.renderGroups(items));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDroplistPositioned\", function () {\n _this.dropdownListPositioned = true; // Trigger render so item focus manager can auto focus for keyboard trigger\n\n _this.setState({\n autoFocusDropdownItems: _this.sourceOfIsOpen === 'keydown'\n });\n\n if (_this.props.onPositioned) _this.props.onPositioned();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderDropdownItems\", function () {\n if (_this.sourceOfIsOpen === 'keydown' && _this.dropdownListPositioned) {\n return React.createElement(DropdownItemFocusManager, {\n autoFocus: _this.state.autoFocusDropdownItems,\n close: _this.close\n }, _this.props.children);\n }\n\n return React.createElement(Fragment, null, _this.props.children);\n });\n\n return _this;\n }\n\n _createClass(DropdownMenuStateless, [{\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n appearance = _this$props3.appearance,\n boundariesElement = _this$props3.boundariesElement,\n isLoading = _this$props3.isLoading,\n isOpen = _this$props3.isOpen,\n onOpenChange = _this$props3.onOpenChange,\n position = _this$props3.position,\n isMenuFixed = _this$props3.isMenuFixed,\n shouldAllowMultilineItems = _this$props3.shouldAllowMultilineItems,\n shouldFitContainer = _this$props3.shouldFitContainer,\n shouldFlip = _this$props3.shouldFlip,\n testId = _this$props3.testId;\n var id = this.state.id;\n var isDeprecated = this.isUsingDeprecatedAPI();\n var deprecatedProps = isDeprecated ? {\n onKeyDown: this.handleKeyboardInteractionsDeprecated,\n shouldAllowMultilineItems: shouldAllowMultilineItems\n } : {\n onKeyDown: this.handleKeyboardInteractionForClosed\n };\n return React.createElement(DropdownItemSelectionCache, null, React.createElement(Droplist, _extends({\n appearance: appearance,\n boundariesElement: boundariesElement,\n isLoading: isLoading,\n isOpen: isOpen,\n onClick: this.handleClick,\n onOpenChange: onOpenChange,\n position: position,\n isMenuFixed: isMenuFixed,\n shouldFitContainer: shouldFitContainer,\n shouldFlip: shouldFlip,\n trigger: this.renderTrigger(),\n onPositioned: this.onDroplistPositioned\n }, deprecatedProps, {\n analyticsContext: {\n componentName: 'dropdownMenu',\n packageName: packageName,\n packageVersion: packageVersion\n },\n testId: testId\n }), isDeprecated ? this.renderDeprecated() : React.createElement(WidthConstrainer, {\n id: id,\n role: \"menu\",\n shouldFitContainer: shouldFitContainer\n }, React.createElement(DropdownItemClickManager, {\n onItemClicked: this.handleItemClicked\n }, this.renderDropdownItems()))));\n }\n }]);\n\n return DropdownMenuStateless;\n}(Component);\n\n_defineProperty(DropdownMenuStateless, \"defaultProps\", {\n appearance: 'default',\n boundariesElement: 'viewport',\n isLoading: false,\n isOpen: false,\n items: [],\n onItemActivated: function onItemActivated() {},\n onOpenChange: function onOpenChange() {},\n position: 'bottom left',\n isMenuFixed: false,\n shouldAllowMultilineItems: false,\n shouldFitContainer: false,\n shouldFlip: true,\n triggerType: 'default',\n onPositioned: function onPositioned() {}\n});\n\nexport { DropdownMenuStateless as DropdownMenuStatelessWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'dropdownMenu',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onOpenChange: createAndFireEventOnAtlaskit({\n action: 'toggled',\n actionSubject: 'dropdownMenu',\n attributes: {\n componentName: 'dropdownMenu',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(DropdownMenuStateless));","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport StatelessMenu from './DropdownMenuStateless';\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownMenu, _Component);\n\n function DropdownMenu() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownMenu);\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownMenu)).call.apply(_getPrototypeOf2, [this].concat(_args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isOpen: _this.props.defaultOpen,\n items: _toConsumableArray(_this.props.items)\n });\n\n _defineProperty(_assertThisInitialized(_this), \"findActivatedGroup\", function (item) {\n return _this.state.items.filter(function (group) {\n return group.items.indexOf(item) > -1;\n })[0];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemActivation\", function (attrs) {\n var activatedItem = attrs.item;\n\n var activatedGroup = _this.findActivatedGroup(activatedItem);\n\n var items = _toConsumableArray(_this.state.items);\n\n switch (activatedItem.type) {\n case 'checkbox':\n activatedItem.isChecked = !activatedItem.isChecked;\n\n _this.props.onItemActivated({\n item: activatedItem\n });\n\n _this.setState({\n items: items\n });\n\n break;\n\n case 'radio':\n activatedGroup.items.forEach(function (i) {\n if (i === activatedItem) {\n i.isChecked = true; // eslint-disable-line no-param-reassign\n } else {\n i.isChecked = false; // eslint-disable-line no-param-reassign\n }\n });\n\n _this.props.onItemActivated({\n item: activatedItem\n });\n\n _this.setState({\n items: items\n });\n\n break;\n\n case 'link':\n default:\n _this.props.onItemActivated({\n item: activatedItem\n });\n\n _this.close();\n\n break;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOpenChange\", function (attrs) {\n var _this$props;\n\n if (_this.state.isOpen === attrs.isOpen) return;\n\n _this.setState({\n isOpen: attrs.isOpen\n });\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (_this$props = _this.props).onOpenChange.apply(_this$props, [attrs].concat(args));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"close\", function () {\n var _this$props2;\n\n if (_this.state.isOpen === false) return;\n\n _this.setState({\n isOpen: false\n });\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n (_this$props2 = _this.props).onOpenChange.apply(_this$props2, [{\n isOpen: false\n }].concat(args));\n });\n\n return _this;\n }\n\n _createClass(DropdownMenu, [{\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.items !== this.state.items) {\n this.setState({\n items: _toConsumableArray(nextProps.items)\n });\n }\n\n if (nextProps.isOpen !== this.props.isOpen) {\n this.setState({\n isOpen: nextProps.isOpen\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var isOpen = this.state.isOpen;\n var _this$props3 = this.props,\n appearance = _this$props3.appearance,\n boundariesElement = _this$props3.boundariesElement,\n children = _this$props3.children,\n isLoading = _this$props3.isLoading,\n items = _this$props3.items,\n position = _this$props3.position,\n isMenuFixed = _this$props3.isMenuFixed,\n shouldAllowMultilineItems = _this$props3.shouldAllowMultilineItems,\n shouldFitContainer = _this$props3.shouldFitContainer,\n shouldFlip = _this$props3.shouldFlip,\n testId = _this$props3.testId,\n trigger = _this$props3.trigger,\n triggerButtonProps = _this$props3.triggerButtonProps,\n triggerType = _this$props3.triggerType,\n onPositioned = _this$props3.onPositioned;\n return React.createElement(StatelessMenu, {\n appearance: appearance,\n boundariesElement: boundariesElement,\n isOpen: isOpen,\n isLoading: isLoading,\n items: items,\n onItemActivated: this.handleItemActivation,\n onOpenChange: this.handleOpenChange,\n position: position,\n isMenuFixed: isMenuFixed,\n shouldAllowMultilineItems: shouldAllowMultilineItems,\n shouldFitContainer: shouldFitContainer,\n shouldFlip: shouldFlip,\n trigger: trigger,\n triggerButtonProps: triggerButtonProps,\n triggerType: triggerType,\n onPositioned: onPositioned,\n testId: testId\n }, children);\n }\n }]);\n\n return DropdownMenu;\n}(Component);\n\n_defineProperty(DropdownMenu, \"defaultProps\", {\n appearance: 'default',\n boundariesElement: 'viewport',\n defaultOpen: false,\n isLoading: false,\n isOpen: false,\n items: [],\n onItemActivated: function onItemActivated() {},\n onOpenChange: function onOpenChange() {},\n position: 'bottom left',\n isMenuFixed: false,\n shouldAllowMultilineItems: false,\n shouldFitContainer: false,\n shouldFlip: true,\n triggerType: 'default',\n onPositioned: function onPositioned() {}\n});\n\nexport { DropdownMenu as default };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n var size = _a.size;\n return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], [\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\n/**\n * Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\nfunction insertDynamicGradientID(svgStr, label) {\n var id = uuid_1.default();\n var replacedSvgStr = svgStr\n .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n return replacedSvgStr;\n}\nvar Icon = function (props) {\n var Glyph = props.glyph, dangerouslySetGlyph = props.dangerouslySetGlyph, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, size = props.size, testId = props.testId, label = props.label;\n var glyphProps = dangerouslySetGlyph\n ? {\n dangerouslySetInnerHTML: {\n __html: insertDynamicGradientID(dangerouslySetGlyph, label),\n },\n }\n : { children: Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null };\n return (react_1.default.createElement(exports.IconWrapper, tslib_1.__assign({ primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"data-testid\": testId, role: label ? 'img' : 'presentation', \"aria-label\": label ? label : undefined }, glyphProps)));\n};\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px',\n};\nexports.sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronDownIcon = function ChevronDownIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nChevronDownIcon.displayName = 'ChevronDownIcon';\nvar _default = ChevronDownIcon;\nexports.default = _default;","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.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 (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 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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n var size = _a.size;\n return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], [\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\n/**\n * Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\nfunction insertDynamicGradientID(svgStr, label) {\n var id = uuid_1.default();\n var replacedSvgStr = svgStr\n .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n return replacedSvgStr;\n}\nvar Icon = function (props) {\n var Glyph = props.glyph, dangerouslySetGlyph = props.dangerouslySetGlyph, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, size = props.size, testId = props.testId, label = props.label;\n var glyphProps = dangerouslySetGlyph\n ? {\n dangerouslySetInnerHTML: {\n __html: insertDynamicGradientID(dangerouslySetGlyph, label),\n },\n }\n : { children: Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null };\n return (react_1.default.createElement(exports.IconWrapper, tslib_1.__assign({ primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"data-testid\": testId, role: label ? 'img' : 'presentation', \"aria-label\": label ? label : undefined }, glyphProps)));\n};\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px',\n};\nexports.sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar CheckboxIcon = function CheckboxIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nCheckboxIcon.displayName = 'CheckboxIcon';\nvar _default = CheckboxIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar RadioIcon = function RadioIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nRadioIcon.displayName = 'RadioIcon';\nvar _default = RadioIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.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 (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 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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst ChevronDownIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nChevronDownIcon.displayName = 'ChevronDownIcon';\nvar _default = ChevronDownIcon;\nexports.default = _default;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96\n};","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\n\n/**\n * Returns the appropriate circle stroke color.\n */\nfunction getStrokeColor({\n mode,\n appearance\n}) {\n if (mode === 'light') {\n return appearance === 'inherit' ? `var(--ds-text-subtle, ${N500})` : `var(--ds-text-inverse, ${N0})`;\n }\n\n return appearance === 'inherit' ? `var(--ds-text-subtle, ${DN900})` : `var(--ds-text-inverse, ${DN500})`;\n}\n\nconst rotate = keyframes({\n to: {\n transform: 'rotate(360deg)'\n }\n});\nconst rotateStyles = css({\n animation: `${rotate} 0.86s infinite`,\n animationTimingFunction: 'cubic-bezier(0.4, 0.15, 0.6, 0.85)',\n transformOrigin: 'center'\n});\n/**\n * There are three parts to the load in animation:\n * 1. Fade in\n * 2. Accelerated spin\n * 3. Stretch the spinner line\n */\n\nconst loadIn = keyframes({\n from: {\n transform: 'rotate(50deg)',\n opacity: 0,\n strokeDashoffset: 60\n },\n to: {\n transform: 'rotate(230deg)',\n opacity: 1,\n strokeDashoffset: 50\n }\n});\nconst loadInStyles = css({\n animation: `${loadIn} 1s ease-in-out`,\n\n /**\n * When the animation completes, stay at the last frame of the animation.\n */\n animationFillMode: 'forwards',\n\n /**\n * We are going to animate this in.\n */\n opacity: 0\n});\nconst wrapperStyles = css({\n display: 'inline-flex',\n\n /**\n * Align better inline with text.\n */\n verticalAlign: 'middle'\n});\nconst circleStyles = css({\n fill: 'none',\n strokeDasharray: 60,\n strokeDashoffset: 'inherit',\n strokeLinecap: 'round',\n strokeWidth: 1.5,\n '@media screen and (forced-colors: active)': {\n filter: 'grayscale(100%)',\n stroke: 'CanvasText'\n }\n});\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Spinner({\n testId,\n appearance = 'inherit',\n delay = 0,\n size: providedSize = 'medium'\n}, ref) {\n const size = typeof providedSize === 'number' ? providedSize : presetSizes[providedSize];\n const animationDelay = `${delay}ms`;\n const {\n mode\n } = useGlobalTheme();\n const stroke = getStrokeColor({\n mode,\n appearance\n });\n /**\n * The Spinner animation uses a combination of two\n * css animations on two separate elements.\n */\n\n return jsx(\"span\", {\n /**\n * This span exists to off-load animations from the circle element,\n * which were causing performance issues (style recalculations)\n * on Safari and older versions of Chrome.\n *\n * This can be removed and styles placed back on the circle element once\n * Safari fixes this bug and off-loads rendering to the GPU from the CPU.\n */\n css: [wrapperStyles, rotateStyles],\n \"data-testid\": testId && `${testId}-wrapper`,\n style: {\n animationDelay,\n width: size,\n height: size\n }\n }, jsx(\"svg\", {\n height: size,\n width: size,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"data-testid\": testId,\n ref: ref,\n css: loadInStyles,\n style: {\n animationDelay\n }\n }, jsx(\"circle\", {\n cx: \"8\",\n cy: \"8\",\n r: \"7\",\n css: circleStyles,\n style: {\n stroke\n }\n })));\n}));","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n } // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n } // If format not supported (or no theme provided), return standard theme\n\n\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './get-theme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n\n if (value) {\n return value;\n } // TS believes value can be undefined\n\n }\n }\n\n return '';\n };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n\n if (value) {\n return value;\n }\n }\n\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n}; // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const assistive = visuallyHidden;\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\n\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","'use strict';\n\nfunction find(array, predicate, context) {\n if (typeof Array.prototype.find === 'function') {\n return array.find(predicate, context);\n }\n\n context = context || this;\n var length = array.length;\n var i;\n\n if (typeof predicate !== 'function') {\n throw new TypeError(predicate + ' is not a function');\n }\n\n for (i = 0; i < length; i++) {\n if (predicate.call(context, array[i], i, array)) {\n return array[i];\n }\n }\n}\n\nmodule.exports = find;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.map = factory());\n}(this, (function () { 'use strict';\n\n // a timeout function that can be flushed and cancelled\n var flushable = function flushable(onComplete, delay) {\n var timeoutId = setTimeout(function () {\n timeoutId = null;\n onComplete(false);\n }, delay);\n\n var clearTimer = function clearTimer() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n };\n\n return {\n cancel: clearTimer,\n flush: function flush() {\n if (!timeoutId) {\n return;\n }\n\n clearTimer();\n onComplete(true);\n },\n pending: function pending() {\n return Boolean(timeoutId);\n }\n };\n };\n\n return flushable;\n\n})));\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","\n\nexport default (function (fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return frameId;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(undefined, lastArgs);\n });\n\n return frameId;\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n var resultFn = wrapperFn;\n\n return resultFn;\n});","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _reactDom = require('react-dom');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NodeResolver = function (_Component) {\n _inherits(NodeResolver, _Component);\n\n function NodeResolver() {\n _classCallCheck(this, NodeResolver);\n\n return _possibleConstructorReturn(this, (NodeResolver.__proto__ || Object.getPrototypeOf(NodeResolver)).apply(this, arguments));\n }\n\n _createClass(NodeResolver, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.props.innerRef((0, _reactDom.findDOMNode)(this));\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.props.innerRef(null);\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return NodeResolver;\n}(_react.Component);\n\nexports.default = NodeResolver;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _NodeResolver = require('./NodeResolver');\n\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_NodeResolver).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nvar _withLockSheet = require('./withLockSheet');\n\nvar _withLockSheet2 = _interopRequireDefault(_withLockSheet);\n\nvar _withTouchListeners = require('./withTouchListeners');\n\nvar _withTouchListeners2 = _interopRequireDefault(_withTouchListeners);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ScrollLock = function (_PureComponent) {\n _inherits(ScrollLock, _PureComponent);\n\n function ScrollLock() {\n _classCallCheck(this, ScrollLock);\n\n return _possibleConstructorReturn(this, (ScrollLock.__proto__ || Object.getPrototypeOf(ScrollLock)).apply(this, arguments));\n }\n\n _createClass(ScrollLock, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM) return;\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n var offset = window.innerHeight - this.initialHeight;\n\n // adjust scroll if the window has been resized since the lock was engaged\n // e.g. mobile safari dynamic chrome heights\n if (offset) {\n window.scrollTo(0, window.pageYOffset + offset);\n }\n\n // reset the initial height in case this scroll lock is used again\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.props.children;\n\n\n return children ? _react2.default.createElement(\n _TouchScrollable.TouchScrollable,\n null,\n children\n ) : null;\n }\n }]);\n\n return ScrollLock;\n}(_react.PureComponent);\n\n// attach the stylesheet and inject styles on [un]mount\n\n\nvar compose = (0, _utils.pipe)(_withTouchListeners2.default, _withLockSheet2.default);\nvar SheetLock = compose(ScrollLock);\n\n// toggle the lock based on `isActive` prop\nvar LockToggle = function LockToggle(props) {\n return props.isActive ? _react2.default.createElement(SheetLock, props) : props.children;\n};\n\nLockToggle.defaultProps = {\n accountForScrollbars: true,\n children: null,\n isActive: true\n};\n\nexports.default = LockToggle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TouchScrollable = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TouchScrollable = exports.TouchScrollable = function (_PureComponent) {\n _inherits(TouchScrollable, _PureComponent);\n\n function TouchScrollable() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, TouchScrollable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = TouchScrollable.__proto__ || Object.getPrototypeOf(TouchScrollable)).call.apply(_ref, [this].concat(args))), _this), _this.getScrollableArea = function (ref) {\n _this.scrollableArea = ref;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(TouchScrollable, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.addEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.addEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.removeEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.removeEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n rest = _objectWithoutProperties(_props, ['children']);\n\n return typeof children === 'function' ? children(this.getScrollableArea) : (0, _react.cloneElement)(children, _extends({ ref: this.getScrollableArea }, rest));\n }\n }]);\n\n return TouchScrollable;\n}(_react.PureComponent);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ScrollLock = require('./ScrollLock');\n\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollLock).default;\n }\n});\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nObject.defineProperty(exports, 'TouchScrollable', {\n enumerable: true,\n get: function get() {\n return _TouchScrollable.TouchScrollable;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pipe = exports.listenerOptions = undefined;\nexports.preventTouchMove = preventTouchMove;\nexports.allowTouchMove = allowTouchMove;\nexports.preventInertiaScroll = preventInertiaScroll;\nexports.isTouchDevice = isTouchDevice;\nexports.camelToKebab = camelToKebab;\nexports.parse = parse;\nexports.getPadding = getPadding;\nexports.getWindowHeight = getWindowHeight;\nexports.getDocumentHeight = getDocumentHeight;\nexports.makeStyleTag = makeStyleTag;\nexports.injectStyles = injectStyles;\nexports.insertStyleTag = insertStyleTag;\n\nvar _exenv = require('exenv');\n\nvar listenerOptions = exports.listenerOptions = {\n capture: false,\n passive: false\n};\n\n// ==============================\n// Touch Helpers\n// ==============================\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n\n return false;\n}\n\nfunction allowTouchMove(e) {\n var target = e.currentTarget;\n\n if (target.scrollHeight > target.clientHeight) {\n e.stopPropagation();\n return true;\n }\n\n e.preventDefault();\n return false;\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n}\n\n// `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\nfunction isTouchDevice() {\n if (!_exenv.canUseDOM) return false;\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\n// ==============================\n// Misc.\n// ==============================\n\nfunction camelToKebab(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction parse(val) {\n return isNaN(val) ? val : val + 'px';\n}\n\n// Take a list of functions and return a function that applies the list of\n// functions from left to right\n\nvar pipeFns = function pipeFns(a, b) {\n return function () {\n return b(a.apply(undefined, arguments));\n };\n};\nvar pipe = exports.pipe = function pipe() {\n for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return fns.reduce(pipeFns);\n};\n\n// ==============================\n// Document Helpers\n// ==============================\n\nfunction getPadding() {\n if (!_exenv.canUseDOM) return 0;\n\n var paddingRight = parseInt(window.getComputedStyle(document.body).paddingRight, 10);\n var scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n return paddingRight + scrollbarWidth;\n}\n\nfunction getWindowHeight() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n if (_exenv.canUseDOM) {\n return window.innerHeight * multiplier;\n }\n}\n\nfunction getDocumentHeight() {\n if (_exenv.canUseDOM) {\n return document.body.clientHeight;\n }\n}\n\n// ==============================\n// Style Sheets\n// ==============================\n\nfunction makeStyleTag() {\n if (!_exenv.canUseDOM) return;\n\n var tag = document.createElement('style');\n tag.type = 'text/css';\n tag.setAttribute('data-react-scrolllock', '');\n\n return tag;\n}\nfunction injectStyles(tag, css) {\n if (!_exenv.canUseDOM) return;\n\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n if (!_exenv.canUseDOM) return;\n\n var head = document.head || document.getElementsByTagName('head')[0];\n\n head.appendChild(tag);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withLockSheet;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction withLockSheet(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(SheetProvider, _PureComponent);\n\n function SheetProvider() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, SheetProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SheetProvider.__proto__ || Object.getPrototypeOf(SheetProvider)).call.apply(_ref, [this].concat(args))), _this), _this.addSheet = function () {\n var styles = _this.getStyles();\n\n var sheet = (0, _utils.makeStyleTag)();\n if (!sheet) return;\n\n (0, _utils.injectStyles)(sheet, styles);\n (0, _utils.insertStyleTag)(sheet);\n\n _this.sheet = sheet;\n }, _this.getStyles = function () {\n var accountForScrollbars = _this.props.accountForScrollbars;\n\n\n var height = (0, _utils.getDocumentHeight)();\n var paddingRight = accountForScrollbars ? (0, _utils.getPadding)() : null;\n var styles = 'body {\\n box-sizing: border-box !important;\\n overflow: hidden !important;\\n position: relative !important;\\n ' + (height ? 'height: ' + height + 'px !important;' : '') + '\\n ' + (paddingRight ? 'padding-right: ' + paddingRight + 'px !important;' : '') + '\\n }';\n\n return styles;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(SheetProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.addSheet();\n }\n }, {\n key: 'removeSheet',\n value: function removeSheet() {\n if (!this.sheet) return;\n\n // $FlowFixMe\n this.sheet.parentNode.removeChild(this.sheet);\n this.sheet = null;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.removeSheet();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return SheetProvider;\n }(_react.PureComponent);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withTouchListeners;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Mobile Safari ignores { overflow: hidden } declaration on the body,\n// so we have to prevent touchmove events via JS\nfunction withTouchListeners(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(TouchProvider, _PureComponent);\n\n function TouchProvider() {\n _classCallCheck(this, TouchProvider);\n\n return _possibleConstructorReturn(this, (TouchProvider.__proto__ || Object.getPrototypeOf(TouchProvider)).apply(this, arguments));\n }\n\n _createClass(TouchProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.addEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.removeEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return TouchProvider;\n }(_react.PureComponent);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import React from 'react';\nexport default React.createContext(null);","export const getEnvGlobals = () => ({\n atob: // atob/btoa need to be bound because they throw an illegal invocation error when called as a method (obj.atob())\n typeof atob === 'function' && atob.bind(undefined) || typeof Buffer !== 'undefined' && (encoded => Buffer.from(encoded, 'base64').toString()),\n btoa: typeof btoa === 'function' && btoa.bind(undefined) || typeof Buffer !== 'undefined' && (str => Buffer.from(str).toString('base64')),\n URLSearchParams: typeof URLSearchParams === 'function' && URLSearchParams || typeof require === 'function' && require('url').URLSearchParams\n});\nlet env;\nexport const getEnv = () => env || (env = validateEnv(getEnvGlobals()));\n\nconst validateEnv = env => {\n if (!(env.atob && env.btoa && env.URLSearchParams)) {\n throw new TypeError(`Origin-Tracing: missing environment APIs. Required: btoa(), atob(), URLSearchParams() (or in Node: Buffer, require('url').URLSearchParams).`);\n }\n\n return env;\n};","import { base64ToBase64Url, base64UrlToBase64 } from './util/base64url';\nimport { getEnv } from './env';\nconst productShorthands = {\n confluence: 'c',\n jira: 'j',\n stride: 's',\n bitbucket: 'b',\n trello: 't'\n};\nexport function encode(originData) {\n const json = JSON.stringify(toJSONObject(originData));\n const base64 = getEnv().btoa(json);\n return base64ToBase64Url(base64);\n}\nexport function decode(encodedOriginString) {\n const base64 = base64UrlToBase64(encodedOriginString);\n const json = getEnv().atob(base64);\n return fromJSONObject(JSON.parse(json));\n}\nexport function toJSONObject({\n id,\n product\n}) {\n return {\n i: id,\n p: product && product in productShorthands ? productShorthands[product] : product\n };\n}\nexport function fromJSONObject(originJSONObject) {\n const originData = {};\n\n if (originJSONObject.i) {\n originData.id = originJSONObject.i;\n }\n\n if (originJSONObject.p) {\n originData.product = expandProductShorthand(originJSONObject.p);\n }\n\n return originData;\n}\n\nfunction expandProductShorthand(maybeShorthand) {\n const products = Object.keys(productShorthands);\n\n for (let i = 0; i < products.length; i++) {\n const product = products[i];\n const shorthand = productShorthands[product];\n\n if (maybeShorthand === shorthand) {\n return product;\n }\n }\n\n return maybeShorthand;\n}","import uuid from 'uuid/v4';\nimport { encode, decode } from './encoder';\nimport { getEnv } from './env';\nconst packageVersion = \"6.0.7\";\nconst originParamName = 'atlOrigin';\nconst originVersioningAttributes = {\n originLibrary: `origin-tracing.js@${packageVersion}`\n};\nexport default class OriginTracer {\n constructor({\n id = OriginTracer.generateId(),\n product,\n dangerouslySkipValidation = false\n }) {\n this.id = id;\n this.product = product;\n\n if (!dangerouslySkipValidation) {\n this.validate();\n }\n }\n\n static isValidId(value) {\n return typeof value === 'string' && /^[-_a-zA-Z0-9]{1,36}$/.test(value);\n }\n\n static isValidProduct(value) {\n return typeof value === 'string' && /^[-_a-zA-Z0-9]{1,20}$/.test(value);\n }\n\n static generateId() {\n const id = uuid(); // Dash positions are fixed so they don't add to uniqueness.\n // Remove them to save space in the encoded form.\n\n return id.replace(/-/g, '');\n }\n\n static createEmpty() {\n return new EmptyOriginTracer();\n }\n\n static createMalformed() {\n return new MalformedOriginTracer();\n }\n\n static fromUrl(url) {\n let params = new (getEnv().URLSearchParams)();\n replaceQuery(url, queryString => {\n params = new (getEnv().URLSearchParams)(queryString);\n });\n return OriginTracer.fromEncoded(params.get(originParamName));\n }\n\n static fromEncoded(encoded) {\n if (!encoded) {\n return OriginTracer.createEmpty();\n }\n\n try {\n return OriginTracer.decode(encoded);\n } catch (e) {\n return OriginTracer.createMalformed();\n }\n }\n\n static removeFromUrl(url) {\n return replaceQuery(url, queryString => {\n const params = new (getEnv().URLSearchParams)(queryString);\n params.delete(originParamName);\n return params.toString();\n });\n }\n\n static decode(encodedOrigin) {\n const originData = decode(encodedOrigin);\n return new OriginTracer(originData);\n }\n\n encode() {\n return encode({\n id: this.id,\n product: this.product\n });\n }\n\n addToUrl(url) {\n return replaceQuery(url, originalQueryString => {\n const params = new (getEnv().URLSearchParams)(originalQueryString);\n params.set(originParamName, this.encode());\n return params.toString();\n });\n }\n\n isEmpty() {\n return false;\n }\n\n isMalformed() {\n return !this.isEmpty() && !this.isValid();\n }\n\n isValid() {\n return true;\n }\n\n toAnalyticsAttributes({\n transformValue = v => v === null ? undefined : v,\n hasGeneratedId = false\n } = {}) {\n // `originIdGenerated` should be used in analytic events that generated this originId.\n // Subsequent events should use `originId`.\n // No two events should have the same value of originIdGenerated.\n const originIdProp = hasGeneratedId ? 'originIdGenerated' : 'originId';\n return {\n [originIdProp]: transformValue(this.id),\n originProduct: transformValue(this.product),\n ...originVersioningAttributes\n };\n }\n\n validate() {\n if (!OriginTracer.isValidId(this.id)) {\n throw new TypeError('Invalid Origin id');\n }\n\n if (!OriginTracer.isValidProduct(this.product)) {\n throw new TypeError('Missing/invalid Origin product');\n }\n }\n\n}\n\nclass EmptyOriginTracer extends OriginTracer {\n constructor() {\n super({\n id: null,\n product: null,\n dangerouslySkipValidation: true\n });\n }\n\n isValid() {\n return false;\n }\n\n isEmpty() {\n return true;\n }\n\n toAnalyticsAttributes() {\n return { ...originVersioningAttributes\n };\n }\n\n}\n\nclass MalformedOriginTracer extends OriginTracer {\n constructor() {\n super({\n id: null,\n product: null,\n dangerouslySkipValidation: true\n });\n }\n\n isValid() {\n return false;\n }\n\n isEmpty() {\n return false;\n }\n\n toAnalyticsAttributes() {\n return {\n originMalformed: true,\n ...originVersioningAttributes\n };\n }\n\n}\n\nfunction replaceQuery(url, replacer) {\n const urlWithQueryStringRegex = /(^[^?#]*)(?:\\?)?([^#]*?)(#.*|$)$/; // If we get passed window.location, we don't want to call window.location.replace()\n\n const urlString = String(url);\n return urlString.replace(urlWithQueryStringRegex, (wholeMatch, beforeQuery, queryString, afterQuery) => {\n let newQueryString = replacer(queryString);\n\n if (newQueryString) {\n newQueryString = `?${newQueryString}`;\n }\n\n return `${beforeQuery}${newQueryString}${afterQuery}`;\n });\n}","/**\n * This file converts between Base64 and Base 64 Encoding with URL and Filename Safe Alphabet,\n * the latter of which has URL-safe characters only (drops =, + and /).\n *\n * Why not use a library? The popular libs use Buffer to be able to\n * encode any data to base64. We don't need this capability, and it causes\n * Webpack to include 30KB of a Buffer polyfill.\n * Webpack's/UglifyJS's Tree Shaking seems to be unable to drop it.\n *\n * See: RFC 4648 section 5 (https://tools.ietf.org/html/rfc4648#section-5)\n */\nexport function base64ToBase64Url(base64) {\n if (base64 == null) {\n return '';\n }\n\n return String(base64).replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n}\nexport function base64UrlToBase64(base64url) {\n if (base64url == null) {\n return '';\n }\n\n const base64 = String(base64url).replace(/-/g, '+').replace(/_/g, '/');\n const padLength = (4 - base64url.length % 4) % 4;\n const pad = '==='.slice(0, padLength);\n return base64 + pad;\n}","import Environment from './environment';\nimport stgConfig from \"../../../../config\";\n\nexport default class BasePaths {\n ENV_DEV = 'dev';\n ENV_STAGING = 'staging';\n ENV_PRODUCTION = 'production';\n env: string;\n localizedPrefix: string | boolean;\n\n constructor(env?: string) {\n this.env = env || Environment.getEnvironment();\n this.localizedPrefix = this.getLocalizedPrefix();\n }\n\n getLocalizedPrefix() {\n let languagePrefix = window.location.hostname.split('.')[0];\n if (languagePrefix === 'www' || languagePrefix === 'wac' || languagePrefix === 'qa-wac' || languagePrefix === 'localhost') {\n return false;\n }\n return languagePrefix;\n }\n\n wrapForI18n(url: string) {\n if(!this.localizedPrefix) {\n return url;\n }\n return url.replace('//www.', `//${this.localizedPrefix}.`);\n }\n\n // WAC\n wacBasePath() {\n let base = {\n production: this.wrapForI18n('https://www.atlassian.com'),\n staging: `${window.location.hostname.indexOf('qa-wac') > -1 ? 'https://qa-wac.internal.atlassian.com' : stgConfig.stgWacInternalUrl}`,\n dev: 'http://localhost:8090/wac'\n };\n\n let result = base.hasOwnProperty(this.env) ? base[this.env] : base.production;\n\n return result;\n }\n\n // Identity\n idBasePath() {\n let base = {\n production: 'https://id.atlassian.com',\n staging: 'https://id.stg.internal.atlassian.com',\n dev: 'http://auth.bizbox.atlassian.com:8888'\n };\n\n let result = base.hasOwnProperty(this.env) ? base[this.env] : base.production;\n\n return result;\n }\n\n idLoginUrl(url?: string, skipEncoding?: boolean) {\n let continueParam = this.getReturnUrl(url, skipEncoding);\n return `${this.idBasePath()}/login?continue=${continueParam}`;\n }\n\n idLogoutUrl(url: string) {\n let continueParam = this.getReturnUrl(url);\n return `${this.idBasePath()}/logout?continue=${continueParam}`;\n }\n\n idLogoutLoginUrl(url?: string) {\n let skipInitialEncoding = true;\n return this.idLogoutUrl( this.idLoginUrl(url, skipInitialEncoding) );\n }\n\n // MAC\n macBasePath() {\n let base = {\n production: 'https://my.atlassian.com',\n staging: 'https://my.stg.internal.atlassian.com',\n dev: 'http://my.bizbox.atlassian.com:8888'\n };\n\n let result = base.hasOwnProperty(this.env) ? base[this.env] : base.production;\n\n return result;\n }\n\n macConfigUrl() {\n return `${this.macBasePath()}/ondemand/config`;\n }\n\n // Stargate\n atlProxyBasePath() {\n let base = {\n production: '/gateway/api',\n staging: 'https://wac.stg.atlassian.com/gateway/api',\n dev: 'https://wac.stg.atlassian.com/gateway/api'\n };\n\n let result = base.hasOwnProperty(this.env) ? base[this.env] : base.production;\n\n return result;\n }\n\n // COFS WAC\n wacCofsBasePath() {\n let base = {\n production: '/apis/prod/cofs',\n staging: '/apis/stg/cofs',\n dev: '/apis/stg/cofs'\n };\n\n let result = base.hasOwnProperty(this.env) ? base[this.env] : base.production;\n\n return result;\n }\n\n // COFS WAC\n wacHamletBasePath() {\n let base = {\n production: '/hamlet/1.0',\n staging: '/apis/stg/hamlet/1.0',\n dev: '/apis/stg/hamlet/1.0'\n };\n\n let result = base.hasOwnProperty(this.env) ? base[this.env] : base.production;\n\n return result;\n }\n\n getReturnUrl(url?: string, skipEncoding?: boolean) {\n url = url || window.location.href;\n\n if (!skipEncoding) {\n url = encodeURIComponent(url);\n }\n return url;\n }\n\n}\n","export const fontFamily =\n 'Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif';\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'JoinSiteUserDropdown.';\nexport const messages = defineMessages({\n logIn: {\n id: `${ID_PREFIX}logIn`,\n defaultMessage: 'Log in'\n },\n joinTeam: {\n id: `${ID_PREFIX}joinTeam`,\n defaultMessage: 'Find my team'\n },\n profile: {\n id: `${ID_PREFIX}profile`,\n defaultMessage: 'Profile'\n },\n licenses: {\n id: `${ID_PREFIX}licenses`,\n defaultMessage: 'Licenses'\n },\n logOut: {\n id: `${ID_PREFIX}logOut`,\n defaultMessage: 'Log out'\n },\n logOutTriggerText: {\n id: `${ID_PREFIX}logOutTriggerText`,\n defaultMessage: 'My account'\n },\n switchAccount: {\n id: `${ID_PREFIX}switchAccount`,\n defaultMessage: 'Switch Account'\n }\n});\n","import Avatar from '@atlaskit/avatar';\nimport Button from '@atlaskit/button';\nimport ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';\nimport { B400 } from '@atlaskit/theme/colors';\nimport React, { Component } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { fontFamily } from '../font';\nimport { messages } from '../messages';\n\nexport type TriggerProps = {\n readonly avatarSrc?: string;\n readonly isLoggedIn: boolean;\n readonly userName: string;\n};\n\nexport class Trigger extends Component {\n public render() {\n const { avatarSrc, isLoggedIn, userName } = this.props;\n if (isLoggedIn) {\n return (\n \n \n \n );\n } else {\n return (\n \n \n {\n \n }\n \n \n \n \n \n }\n >\n \n );\n }\n }\n}\n\nconst RootContainer = styled.div`\n &:hover {\n cursor: pointer;\n }\n`;\n\nconst TriggerContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst TitleLabel = styled.span`\n font-family: ${fontFamily};\n font-size: 14px;\n color: ${B400};\n padding-left: 8px;\n\n @media only screen and (max-width: 999px) {\n font-size: 12px;\n }\n`;\n","import { N30, N800 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport styled from 'styled-components';\n\nexport type JoinLinkItemProps = {\n readonly linkLabel: JSX.Element;\n readonly onLinkClick: () => void;\n};\n\nexport function JoinLinkItem({\n linkLabel,\n onLinkClick\n}: JoinLinkItemProps): JSX.Element {\n return (\n \n
{linkLabel}
\n
\n );\n}\n\nconst RootContainer = styled.div`\n font-size: 12px;\n line-height: 15px;\n padding: 8px 16px 8px 16px;\n color: ${N800};\n &:hover {\n background-color: ${N30};\n cursor: pointer;\n }\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { N0, N40, N50, N800 } from '@atlaskit/theme/colors';\nimport Avatar from '@atlaskit/avatar';\nimport styled from 'styled-components';\nimport { JoinLinkItem } from './components/join-link-item';\nimport { fontFamily } from './font';\nimport { messages } from './messages';\n\nexport type JoinSiteUserLoggedInViewProps = {\n readonly userName: string;\n readonly userEmail: string;\n readonly onManageLicenses: () => void;\n readonly onManageProfile: () => void;\n readonly onLogOutClick: () => void;\n readonly onSwitchAccountClick: () => void;\n readonly avatarSrc?: string;\n};\n\nexport function JoinSiteUserLoggedInView({\n userEmail,\n userName,\n onManageLicenses,\n onManageProfile,\n onLogOutClick,\n onSwitchAccountClick,\n avatarSrc\n}: JoinSiteUserLoggedInViewProps) {\n return (\n \n \n \n \n \n {userName}\n {userEmail}\n \n \n \n \n }\n onLinkClick={onSwitchAccountClick}\n />\n }\n onLinkClick={onManageProfile}\n />\n }\n onLinkClick={onManageLicenses}\n />\n }\n onLinkClick={onLogOutClick}\n />\n \n \n );\n}\n\nconst RootContainer = styled.div`\n font-family: ${fontFamily};\n width: 250px;\n`;\n\nconst TopRowContainer = styled.div`\n width: 100%;\n border-bottom: 1px solid ${N40};\n margin-top: -4px;\n display: flex;\n`;\n\nconst LinkContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-bottom: -4px;\n`;\n\nconst UserDetailsContainer = styled.div`\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 8px 16px;\n width: 100%;\n background-color: ${N800};\n`;\n\nconst UserInfoContainer = styled.div`\n display: flex;\n flex-flow: column;\n margin-left: 8px;\n`;\n\nconst UserNameLabel = styled.div`\n font-size: 15px;\n line-height: 19px;\n color: ${N0};\n`;\n\nconst UserEmailLabel = styled.div`\n font-size: 10px;\n line-height: 12px;\n color: ${N50};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { JoinLinkItem } from './components/join-link-item';\nimport { fontFamily } from './font';\nimport { messages } from './messages';\n\nexport type JoinSiteUserLoggedOutViewProps = {\n readonly onLogInClick: () => void;\n readonly onJoinYourTeam: () => void;\n};\n\nexport function JoinSiteUserLoggedOutView({\n onLogInClick,\n onJoinYourTeam\n}: JoinSiteUserLoggedOutViewProps) {\n return (\n \n \n }\n onLinkClick={onJoinYourTeam}\n />\n }\n onLinkClick={onLogInClick}\n />\n \n \n );\n}\n\nconst RootContainer = styled.div`\n width: 137px;\n margin-top: -4px;\n margin-bottom: -4px;\n`;\n\nconst LinkContainer = styled.div`\n font-family: ${fontFamily};\n display: flex;\n flex-direction: column;\n`;\n","import DropdownMenu from '@atlaskit/dropdown-menu';\nimport React from 'react';\nimport { Trigger } from './components/trigger';\nimport { JoinSiteUserLoggedInView } from './join-site-user-logged-in-view';\nimport { JoinSiteUserLoggedOutView } from './join-site-user-logged-out-view';\nimport { messages } from './messages';\n\nexport type JoinSiteUserDropdownProps = {\n readonly userName?: string;\n readonly userEmail?: string;\n readonly avatarSrc?: string;\n readonly position?: string;\n readonly isLoggedIn: boolean;\n readonly onLogInClick: () => void;\n readonly onLogOutClick: () => void;\n readonly onManageLicenses: () => void;\n readonly onManageProfile: () => void;\n readonly onJoinYourTeam: () => void;\n readonly onSwitchAccountClick: () => void;\n};\n\nexport function JoinSiteUserDropdown({\n userEmail = '',\n userName = '',\n avatarSrc = '',\n position = 'bottom right',\n isLoggedIn = false,\n onLogInClick,\n onLogOutClick,\n onManageLicenses,\n onManageProfile,\n onJoinYourTeam,\n onSwitchAccountClick\n}: JoinSiteUserDropdownProps) {\n const trigger = (\n \n );\n return isLoggedIn ? (\n \n \n \n ) : (\n \n \n \n );\n}\n\nJoinSiteUserDropdown.messages = messages;\n\nexport default JoinSiteUserDropdown;\n","import React, { Component } from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport Spinner from \"@atlaskit/spinner\";\nimport OriginTracing from \"@atlassiansox/origin-tracing\";\nimport { hamletUser } from \"../../../common/hamlet/hamlet-user\";\nimport BasePaths from \"../../../buyer-experience/common/base-paths\";\nimport { JoinSiteUserDropdown } from \"@atlassiansox/bxpkit-join-site-user-dropdown\"; // @todo resolve issues for appswitcher\nimport Environment from \"../../../common/environment\";\nimport storage from \"../../../utils/storage\";\nimport tracking from '../../../utils/tracking';\n\nclass GlobalNavDropdown extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: true,\n labels: props.labels,\n isLoggedIn: false\n };\n this.basePaths = new BasePaths();\n this.performanceBoost = true;\n this.origin = new OriginTracing({ product: \"wac-globaldropdown\" });\n }\n\n componentDidMount() {\n if (storage.getCookie(\"login_user_detected\") === \"true\") {\n this.getUser()\n .then(user => {\n this.setState({\n ...user,\n isLoading: false\n });\n\n if (user.isLoggedIn) {\n tracking.trackEvent(\"bxp.globalnavdropdown.user.loggedin\");\n }\n })\n .catch(() => {\n tracking.trackEvent(\n \"bxp.globalnavdropdown.user.getusererror\"\n );\n });\n } else {\n this.setState({\n isLoading: false\n });\n }\n }\n\n render() {\n const {\n displayName,\n avatar,\n email,\n isLoggedIn,\n isLoading,\n labels\n } = this.state;\n\n if (isLoading) {\n return (\n
\n \n
\n );\n } else if (isLoggedIn) {\n return (\n
\n \n \n \n
\n );\n } else {\n return (\n
\n \n \n \n
\n );\n }\n }\n\n onSwitchAccountClick = () => {\n tracking.trackEvent(\"bxp.globalnavdropdown.click.switchAccount\");\n window.location.href = Environment.getSwitchAccountURL();\n };\n\n onManageProfileClick = () => {\n const additionalTracking = {\n label: this.props.labels[\"JoinSiteUserDropdown.profile\"]\n };\n tracking.trackEvent(\n \"bxp.globalnavdropdown.click.manage.profile\",\n Object.assign(this.props.defaultTrackProperties, {\n ...additionalTracking,\n ...this.origin.toAnalyticsAttributes({ hasGeneratedId: true })\n })\n );\n window.location.href = Environment.getManageProfileUrl(this.state.email);\n };\n\n onManageLicensesClick = () => {\n const additionalTracking = {\n label: this.props.labels[\"JoinSiteUserDropdown.licenses\"]\n };\n tracking.trackEvent(\n \"bxp.globalnavdropdown.click.manage.licenses\",\n Object.assign(this.props.defaultTrackProperties, {\n ...additionalTracking,\n ...this.origin.toAnalyticsAttributes({ hasGeneratedId: true })\n })\n );\n window.location.href = Environment.getMacUrl();\n };\n\n onLogOutClick = () => {\n const additionalTracking = {\n label: this.props.labels[\"JoinSiteUserDropdown.logOut\"]\n };\n tracking.trackEvent(\n \"bxp.globalnavdropdown.click.logout\",\n Object.assign(this.props.defaultTrackProperties, {\n ...additionalTracking,\n ...this.origin.toAnalyticsAttributes({ hasGeneratedId: true })\n })\n );\n window.location.href = Environment.getLogoutUrl();\n };\n\n onLogInClick = () => {\n const baseUrl = Environment.getIdentityBaseUrl();\n const stargateBaseUrl = Environment.getAPIPrivateURL();\n const continueUrl = this.origin.addToUrl(stargateBaseUrl + \"/start/authredirect\");\n const additionalTracking = {\n label: this.props.labels[\"JoinSiteUserDropdown.logIn\"]\n };\n tracking.trackEvent(\n \"bxp.globalnavdropdown.click.login\",\n Object.assign(this.props.defaultTrackProperties, {\n ...additionalTracking,\n ...this.origin.toAnalyticsAttributes({ hasGeneratedId: true })\n })\n );\n window.location.href = `${baseUrl}/login?continue=${encodeURIComponent(\n continueUrl\n )}`;\n };\n\n onJoinYourTeamClick = () => {\n const baseUrl = Environment.getIdentityBaseUrl();\n const stargateBaseUrl = Environment.getAPIPrivateURL();\n const continueUrl = this.origin.addToUrl(stargateBaseUrl + \"/start/authredirect\");\n const additionalTracking = {\n label: this.props.labels[\"JoinSiteUserDropdown.joinTeam\"]\n };\n tracking.trackEvent(\n \"bxp.globalnavdropdown.click.join.team\",\n Object.assign(this.props.defaultTrackProperties, {\n ...additionalTracking,\n ...this.origin.toAnalyticsAttributes({ hasGeneratedId: true })\n })\n );\n window.location.href = `${baseUrl}/login?continue=${encodeURIComponent(\n continueUrl\n )}`;\n };\n\n onCreateAcountClick = () => {\n const loginUrl = `${Environment.getIdentityBaseUrl()}/signup?`;\n const startUrl = Environment.getStartUrl();\n const additionalTracking = {\n label: this.props.labels[\"JoinSiteUserDropdown.createAccount\"]\n };\n tracking.trackEvent(\n \"bxp.globalnavdropdown.click.create.account\",\n Object.assign(this.props.defaultTrackProperties, {\n ...additionalTracking,\n ...this.origin.toAnalyticsAttributes({ hasGeneratedId: true })\n })\n );\n window.location.href =\n loginUrl + `&continue=${encodeURIComponent(startUrl)}`;\n };\n\n getUser() {\n return hamletUser.getStargateProfile(this.performanceBoost).then(() => {\n const email = hamletUser.getUserEmail() || \"\";\n\n return {\n displayName: hamletUser.getDisplayName(),\n avatar: hamletUser.getAvatar(),\n email,\n isLoggedIn: hamletUser.isLoggedIn()\n };\n });\n }\n}\n\nexport default GlobalNavDropdown;\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}"],"names":["channel","payload","createAnalyticsEvent","consumerEvent","clonedEvent","clone","fire","ContextTypes","getAtlaskitAnalyticsContext","getAtlaskitAnalyticsEventHandlers","_super","AnalyticsContext","props","_this","call","this","getChildContext","getAnalyticsContext","data","context","ancestorData","getAnalyticsEventHandlers","state","prototype","render","children","value","Children","contextTypes","childContextTypes","Component","defaultData","WrappedComponent","WithAnalyticsContext","ref","_a","analyticsContext","rest","analyticsData","displayName","name","UIAnalyticsEvent","hasFired","console","warn","handlers","JSON","parse","stringify","forEach","handler","update","updater","AnalyticsEvent","AnalyticsContextConsumer","originalEventProps","patchedEventProps","updatePatchedEventProps","changedPropCallbacks","Object","keys","createEventMap","filter","p","length","mapCreateEventsToProps","changedPropNames","reduce","modified","propCallbackName","eventCreator","providedCallback","includes","args","_i","arguments","analyticsEvent","apply","wrappedComponentProps","defaultProps","WithAnalyticsEvents","ManagerReferenceNodeContext","setRef","node","fn","_len","Array","_key","safeInvoke","current","initialStyle","position","top","left","opacity","pointerEvents","initialArrowStyle","InnerPopper","_React$Component","concat","undefined","placement","popperNode","innerRef","updatePopperInstance","arrowNode","enabled","order","setState","eventsEnabled","positionFixed","modifiers","arrow","element","applyStyle","updateStateModifier","offsets","popper","styles","arrowStyles","hide","popperInstance","destroy","destroyPopperInstance","referenceElement","getOptions","scheduleUpdate","_proto","componentDidUpdate","prevProps","prevState","enableEventListeners","disableEventListeners","componentWillUnmount","arg","isArray","setPopperNode","style","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","_ref","Consumer","referenceNode","FlipBehavior","auto","right","bottom","Popper","constructor","super","getModifiers","side","flip","behavior","split","boundariesElement","offset","preventOverflow","escapeWithReference","assign","createContainer","zIndex","container","document","createElement","setAttribute","getBody","condition","message","Error","body","zIndexToName","acc","layerName","getLayerName","hasOwnProperty","firePortalEvent","eventName","event","detail","layer","Number","CustomEvent","createEvent","params","bubbles","cancellable","initCustomEvent","getEvent","window","dispatchEvent","getPortalParent","parentElement","querySelector","parent","appendChild","Portal","canUseDOM","portalIsMounted","newContainer","replaceChild","componentDidMount","removeChild","backgroundColor","themed","light","dark","textColor","N0","TooltipPrimitive","Tooltip","truncate","defaultStyle","timeout","transition","enter","transitionStyle","entering","entered","exiting","immediatelyHide","immediatelyShow","onExited","in","inProp","exit","Transition","unmountOnExit","appear","getStyle","hoveredPayload","action","actionSubject","attributes","componentName","packageName","packageVersion","unhoveredPayload","SCROLL_OPTIONS","capture","passive","getMousePosition","mouseCoordinates","safeMouse","getBoundingClientRect","width","height","clientWidth","clientHeight","pendingHide","wrapperRef","targetRef","cancelPendingSetState","userInteraction","isVisible","renderTooltip","handleWindowScroll","handleMouseClick","hideTooltipOnClick","handleMouseDown","hideTooltipOnMouseDown","handleMouseOver","e","target","fakeMouseElement","clientX","clientY","handleShowTooltip","handleFocus","Boolean","content","defaultDelay","isHidePending","pending","flush","cancel","showTooltip","delay","handleHideTooltip","flushed","handleMouseMove","removeScrollListener","_prevProps","onShow","addEventListener","onHide","removeEventListener","shouldPositionTooltipNearMouse","mousePosition","component","TooltipContainer","tag","TargetContainer","testId","tooltipPosition","onClick","onMouseOver","onMouseOut","onMouseMove","onMouseDown","onFocus","onBlur","getAnimationStyles","className","createAndFireEventOnAtlaskit","createAndFireEvent","templateObject_1","TRANSITION_DURATION","gridSizeValue","xsmall","small","medium","large","xlarge","xxlarge","AVATAR_RADIUS","BORDER_WIDTH","backgroundColorFocus","overlayColorHover","overlayColorSelected","overlayColorDisabled","getBorderRadius","config","includeBorderWidth","borderWidth","size","appearance","getAvatarDimensions","sizeOnly","finalSize","isInteractive","href","isClickable","borderColor","cursor","outline","overlayShade","overlayOpacity","transform","transitionDuration","isActive","isHover","isFocus","isDisabled","isSelected","stackIndex","css","getBackgroundColor","backgroundColors","mode","isLoading","getDimensions","getPresenceLayout","presencePosition","presenceSize","getStatusLayout","statusPosition","statusSize","propsDefaults","presence","Theme","createTheme","propsWithDefaults","borderRadius","dimensions","status","display","PresenceWrapper","StatusWrapper","ShapeGroup","Slot","backgroundImage","label","role","backgroundPosition","backgroundRepeat","backgroundSize","flex","Svg","otherProps","DefaultImage","title","viewBox","version","xmlns","cx","cy","r","d","x","y","AvatarImage","hasError","handleLoadSuccess","handleLoadError","src","img","Image","onerror","onload","alt","_b","imageUrl","PureComponent","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","BusyCircle","colors","BusyPath","FocusPath","OfflineOuter","OfflineInner","OnlineCircle","Outer","bgColor","Inner","Presence","ApprovedCircle","ApprovedPath","DeclinedCircle","DeclinedPath","LockedCircle","LockedPath","Status","mapping","validIconSizes","Avatar","clickAnalyticsCaller","blur","focus","guardedClick","item","renderIcon","showPresence","showStatus","indexOf","String","customPresenceNode","customStatusNode","enableTooltip","theme","enhancedProps","getProps","getStyledAvatar","AvatarNode","Provider","AvatarWithoutAnalytics","DecoratedComponent","MapProps","setComponent","mapped","key","withPseudoState","propsOmittedFromClickData","getAppearanceProps","groupAppearance","getInteractionProps","onKeyDown","onKeyUp","onMouseEnter","onMouseLeave","onMouseUp","tabIndex","getLinkElementProps","rel","getButtonElementProps","id","interface","disabled","CustomComponentProxy","ProxiedComponent","avatar","primaryText","secondaryText","StyledCustomComponent","StyledButton","StyledLink","StyledSpan","Ret","ComponentWithPseudoState","actionKeys","UNSAFE_componentWillMount","omit","obj","e_1","keysToOmit","newObj","keysToOmit_1","keysToOmit_1_1","next","done","e_1_1","error","return","getDisplayName","prefix","R200","R300","R400","Y300","G200","G300","G400","B75","B100","B200","B400","N40","N50","N200","N500","N800","N900","N70A","N200A","DN800","DN600","DN500","DN300","DN100","DN50","DN30","DN0","DN80A","background","backgroundActive","backgroundHover","purple","gridSize","layers","card","dialog","navigation","blanket","modal","flag","spotlight","tooltip","withTheme","InnerComponent","tokens","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","createContext","themeProps","useContext","themeFn","valueFn","mixedFn","useCallback","DEFAULT_THEME_MODE","THEME_MODES","getTheme","__ATLASKIT_THEME__","modesOrVariant","variantModes","variantProp","variants","modes","extendStatics","b","setPrototypeOf","__proto__","__extends","__","create","__assign","t","s","i","n","__rest","getOwnPropertySymbols","propertyIsEnumerable","__values","o","Symbol","iterator","m","TypeError","__read","ar","push","__spread","__makeTemplateObject","cooked","raw","defineProperty","compactButtonHeight","fontSize","buttonHeight","getBackground","applyPropertyStyle","baseTheme","getBoxShadow","getColor","getCursor","getHeight","spacing","getLineHeight","getPadding","getTextDecoration","getTransition","getTransitionDuration","getVerticalAlign","getWidth","shouldFitContainer","staticStyles","alignItems","boxSizing","fontStyle","fontWeight","maxWidth","textAlign","textDecoration","whiteSpace","mapAttributesToState","getLoadingStyle","composeRefs","refs","hex2rgba","hex","alpha","test","colorArr","substring","color","join","fallbacks","N20A","DN70","N400","DN400","default","hover","N30A","DN60","active","selected","N700","focusSelected","primary","B300","B500","warning","Y200","Y400","danger","R500","link","N20","subtle","boxShadowColor","Y500","R100","N70","N90","B50","property","propertyStyles","appearanceStyles","stateStyles","buttonStyles","boxShadow","lineHeight","padding","verticalAlign","border","margin","spinnerStyles","followsIcon","jsx","alignSelf","overflow","textOverflow","icon","isOnlyChild","flexShrink","userSelect","fit","flexWrap","justifyContent","appearances","LoadingSpinner","invertSpinner","spinnerSize","Button","button","getComposedRefs","preventDefault","getElement","onInnerClick","stopPropagation","autoFocus","HTMLButtonElement","CustomComponent","consumerRef","iconAfter","iconBefore","iconIsOnlyChild","type","filterProps","InnerWrapper","IconWrapper","Content","ButtonWithRef","withAnalyticsContext","withAnalyticsEvents","presetSizes","rotate","keyframes","loadIn","providedSize","strokeColor","DN900","getStrokeColor","focusable","R50","R75","Y50","Y75","Y100","G50","G75","G100","G500","P50","P75","P100","P200","P300","P400","P500","T50","T75","T100","T200","T300","T400","T500","N10","N30","N60","N80","N100","N300","N600","N10A","N40A","N50A","N60A","N80A","N90A","N100A","N300A","N400A","N500A","N600A","N700A","N800A","DN700","DN200","DN90","DN80","DN40","DN20","DN10","DN800A","DN700A","DN600A","DN500A","DN400A","DN300A","DN200A","DN100A","DN90A","DN70A","DN60A","DN50A","DN40A","DN30A","DN20A","DN10A","backgroundOnLayer","text","textHover","textActive","subtleText","placeholderText","heading","subtleHeading","codeBlock","linkHover","linkActive","linkOutline","blue","teal","red","yellow","green","skeleton","FLATTENED","CHANNEL","fontSizeSmall","fontFamily","codeFontFamily","focusRing","outlineWidth","noFocusRing","visuallyHidden","clip","assistive","skeletonShimmer","animationDuration","animationIterationCount","animationTimingFunction","animationDirection","from","to","__decorate","decorators","desc","c","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","result","then","__generator","f","g","_","sent","trys","ops","verb","v","op","pop","__createBinding","k","k2","__exportStar","exports","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__importStar","mod","__esModule","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","get","__classPrivateFieldSet","set","multiply","factor","divide","divisor","activeBackgroundColor","hoverBackgroundColor","selectedBackgroundColor","activePrimaryTextColor","defaultPrimaryTextColor","disabledPrimaryTextColor","primaryPrimaryTextColor","selectedPrimaryTextColor","focusedStyles","activeStyles","primaryStyles","sharedStyles","isHidden","isPrimary","isFocused","Anchor","componentId","Span","InputWrapper","Before","After","ContentWrapper","allowMultiline","Description","getInputBackground","isChecked","isHovered","isPressed","getInputFill","appearanceProps","supportsVoiceOver","navigator","userAgent","Element","_PureComponent","_getPrototypeOf2","ariaProps","ariaRoles","checkbox","option","radio","commonProps","handleClick","onKeyPress","handleKeyPress","handleMouseOut","handleMouseUp","consolidatedProps","inputTypes","Item","_this$props","onActivate","guardedActivate","_this$state","hasInput","Input","primaryColor","secondaryColor","elemBefore","shouldAllowMultilineItems","description","elemAfter","tooltipDescription","itemContext","Heading","HeadingAfter","HeadingText","DroplistGroup","ariaLabel","getAriaLabel","afterText","headingElement","textContent","_this2","_this$props2","Group","Blanket","ScrollBlock","positionMap","animation","POSITION_ATTRIBUTE_ENUM","values","maxHeight","FixedTarget","fixedOffset","rect","firstChild","Layer","_Component","popperHeight","Math","round","cssPosition","fixPositionTopUnderflow","originalHeight","calculateMaxHeight","hasExtractedStyles","flipped","actualPosition","originalPosition","extractStyles","bind","applyPopper","calculateFixedOffset","nextProps","onFlippedChange","onPositioned","currentHeight","positionTop","DocumentElementClientHeight","documentElement","viewportHeight","max","innerHeight","isAlwaysFixed","actualTarget","popperTop","fixedRef","contentRef","popperOpts","positionToPopper","onCreate","onUpdate","autoFlip","flipVariations","flipBehavior","lockScroll","_this$state2","_ref2","_ref3","_ref4","isTall","SpinnerContainer","Trigger","dropdownPadding","droplistItemTheme","compact","dropOffset","Droplist","setContentWidth","handleClickOutside","handleEsc","isOpen","_assertThisInitialize","dropContentRef","triggerRef","offsetWidth","halfFocusRing","close","Node","withinTrigger","contains","withinContent","onOpenChange","isMenuFixed","shouldFlip","trigger","layerContent","handleContentRef","ThemeProvider","handleTriggerRef","focusManagerContext","selectionCacheContext","clickManagerContext","KEY_UP","KEY_DOWN","KEY_ENTER","DropdownItemFocusManager","itemId","itemNode","registeredItems","focusedItemId","matchingIndex","focusedItemIndex","handleItemRegistered","shiftKey","nextItemIndex","min","source","itemFocused","handleItemFocused","registerItem","deregisterItem","handleItemDeregistered","updateItem","handleItemUpdated","handleKeyboard","DropdownItemClickManager","onItemClicked","itemClicked","handleItemClicked","isItemInList","itemList","groupId","DropdownItemSelectionCache","lastCacheUpdate","newGroupSelections","newSelectedItems","selectedItems","Date","now","isItemSelected","itemsInGroup","itemSelectionsChanged","handleItemSelectionsChanged","hasItemAlreadyHadDefaultSelectedApplied","alreadyDefaultedItems","markItemAsDefaultApplied","DropdownMenuStateless","uid","autoFocusDropdownItems","isUsingDeprecatedAPI","domItemsList","focusFirstItem","prevProp","indexItem","available","currentItem","latestAvailable","getAttribute","getNextFocusable","getPrevFocusable","sourceOfIsOpen","focusItem","focusedItem","index","isDroplistItem","thisDom","findDOMNode","open","isTargetChildItem","focusPreviousItem","focusNextItem","menuContainer","domMenuContainer","toggle","items","handleClickDeprecated","triggerContainer","triggerButtonProps","triggerType","insideTriggerContent","triggerProps","defaultButtonProps","attrs","triggerContent","map","itemIndex","onItemActivated","groups","group","groupIndex","renderItems","querySelectorAll","renderGroups","dropdownListPositioned","Fragment","_this$props3","isDeprecated","deprecatedProps","handleKeyboardInteractionsDeprecated","handleKeyboardInteractionForClosed","renderTrigger","onDroplistPositioned","renderDeprecated","WidthConstrainer","renderDropdownItems","DropdownMenu","_args","defaultOpen","activatedItem","activatedGroup","findActivatedGroup","_len2","_key2","_len3","_key3","handleItemActivation","handleOpenChange","tslib_1","react_1","styled_components_1","uuid_1","colors_1","constants_1","getSize","sizes","span","svgStr","Glyph","glyph","dangerouslySetGlyph","glyphProps","dangerouslySetInnerHTML","__html","replace","sizeMap","_react","_interopRequireDefault","_Icon","_extends","ChevronDownIcon","_default","CheckboxIcon","RadioIcon","_base","Icon","useTheme","rotateStyles","transformOrigin","strokeDashoffset","loadInStyles","animationFillMode","wrapperStyles","circleStyles","fill","strokeDasharray","strokeLinecap","strokeWidth","stroke","animationDelay","module","array","predicate","find","_propTypes2","_gud2","_classCallCheck","instance","Constructor","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","enumerable","writable","configurable","MAX_SIGNED_31_BIT_INT","defaultValue","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_temp","emitter","on","off","h","newValue","changedBits","componentWillReceiveProps","oldValue","object","isRequired","_Component2","_temp2","getValue","observedBits","_react2","_implementation2","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","onComplete","timeoutId","setTimeout","clearTimer","clearTimeout","factory","safeIsNaN","isNaN","areInputsEqual","newInputs","lastInputs","first","second","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","isBrowser","timeoutDuration","longerTimeoutBrowsers","debounce","called","scheduled","isFunction","functionToCheck","toString","getStyleComputedProperty","nodeType","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","_getStyleComputedProp","overflowX","overflowY","getReferenceNode","reference","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","axis","sideA","sideB","parseFloat","computedStyle","parseInt","getWindowSizes","createClass","defineProperties","descriptor","protoProps","staticProps","getClientRect","scrollTop","scrollLeft","horizScrollbar","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","isFixed","getFixedPositionOffsetParent","el","getBoundaries","boundaries","excludeScroll","relativeOffset","innerWidth","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","refRect","rects","sortedAreas","area","sort","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","runModifiers","ends","slice","prop","findIndex","cur","match","isDestroyed","options","originalPlacement","isCreated","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","toCheck","removeAttribute","willChange","removeOnDestroy","getWindow","attachToScrollParents","callback","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","cancelAnimationFrame","isNumeric","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","Defaults","basePlacement","shiftvariation","_data$offsets","isVertical","shiftOffsets","useHeight","fragments","frag","trim","divider","search","splitRegex","mergeWithPrevious","str","toValue","index2","parseOffset","transformProp","popperStyles","priority","secondary","keepTogether","floor","opSide","_data$offsets$arrow","arrowElement","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","onLoad","modifierOptions","classCallCheck","requestAnimationFrame","jquery","Utils","PopperUtils","qs","sep","eq","regexp","maxKeys","kstr","vstr","idx","substr","decodeURIComponent","stringifyPrimitive","ks","encodeURIComponent","decode","encode","frameId","wrapperFn","_createClass","_reactDom","NodeResolver","getPrototypeOf","_NodeResolver","_exenv","_TouchScrollable","_withLockSheet2","_withTouchListeners2","_utils","ScrollLock","initialHeight","scrollTo","pageYOffset","TouchScrollable","SheetLock","pipe","compose","LockToggle","accountForScrollbars","getScrollableArea","scrollableArea","preventInertiaScroll","listenerOptions","allowTouchMove","_props","_objectWithoutProperties","cloneElement","_ScrollLock","preventTouchMove","currentTarget","scrollHeight","totalScroll","currentScroll","isTouchDevice","maxTouchPoints","camelToKebab","val","paddingRight","getWindowHeight","multiplier","getDocumentHeight","makeStyleTag","injectStyles","styleSheet","cssText","createTextNode","insertStyleTag","head","getElementsByTagName","pipeFns","fns","SheetProvider","addSheet","getStyles","sheet","removeSheet","TouchProvider","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","initialStatus","isMounting","appearStatus","mountOnEnter","nextCallback","getDerivedStateFromProps","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","nodeRef","forceReflow","performEnter","performExit","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","onEnter","safeSetState","onEntering","onTransitionEnd","onEntered","_this3","onExit","onExiting","nextState","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","childProps","TransitionGroupContext","noop","contextType","propTypes","env","getEnv","validateEnv","atob","Buffer","encoded","btoa","URLSearchParams","productShorthands","confluence","jira","stride","bitbucket","trello","originParamName","originVersioningAttributes","originLibrary","OriginTracer","generateId","product","dangerouslySkipValidation","validate","static","EmptyOriginTracer","MalformedOriginTracer","url","replaceQuery","queryString","fromEncoded","createEmpty","createMalformed","delete","encodedOrigin","originData","encodedOriginString","base64","base64url","padLength","base64UrlToBase64","json","originJSONObject","maybeShorthand","products","expandProductShorthand","fromJSONObject","toJSONObject","addToUrl","originalQueryString","isEmpty","isMalformed","isValid","toAnalyticsAttributes","transformValue","hasGeneratedId","originProduct","isValidId","isValidProduct","originMalformed","replacer","wholeMatch","beforeQuery","afterQuery","newQueryString","BasePaths","_defineProperty","Environment","localizedPrefix","getLocalizedPrefix","languagePrefix","location","hostname","base","production","wrapForI18n","staging","stgConfig","dev","skipEncoding","continueParam","getReturnUrl","idBasePath","idLogoutUrl","idLoginUrl","macBasePath","ID_PREFIX","messages","logIn","defaultMessage","joinTeam","profile","licenses","logOut","logOutTriggerText","switchAccount","avatarSrc","isLoggedIn","userName","RootContainer","TriggerContainer","TitleLabel","JoinLinkItem","linkLabel","onLinkClick","JoinSiteUserLoggedInView","userEmail","onManageLicenses","onManageProfile","onLogOutClick","onSwitchAccountClick","TopRowContainer","UserDetailsContainer","UserInfoContainer","UserNameLabel","UserEmailLabel","LinkContainer","JoinSiteUserLoggedOutView","onLogInClick","onJoinYourTeam","JoinSiteUserDropdown","GlobalNavDropdown","_assertThisInitialized","tracking","additionalTracking","labels","defaultTrackProperties","_objectSpread","origin","email","baseUrl","stargateBaseUrl","continueUrl","loginUrl","startUrl","basePaths","performanceBoost","OriginTracing","storage","getUser","user","React","Spinner","IntlProvider","locale","lang","onManageLicensesClick","onManageProfileClick","onJoinYourTeamClick","hamletUser","root","freeGlobal","global","punycode","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","fromCharCode","RangeError","mapDomain","string","parts","ucs2decode","extra","output","charCodeAt","ucs2encode","digitToBasic","digit","adapt","delta","numPoints","firstTime","input","out","basic","oldi","w","baseMinusT","codePoint","inputLength","bias","lastIndexOf","splice","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","util","Url","protocol","slashes","auth","port","query","pathname","path","protocolPattern","portPattern","simplePathPattern","unwise","autoEscape","nonHostChars","hostEndingChars","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","isString","queryIndex","splitter","uSplit","simplePath","exec","proto","lowerProto","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","l","part","newpart","validParts","notHost","bit","unshift","toASCII","ae","esc","escape","qm","format","isObject","relative","resolveObject","u","urlParse","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","isAbsolute","v1","v4","uuid","byteToHex","buf","bth","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","rnds","random","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","getTime","nsecs","dt","tl","tmh","ii","_arrayLikeToArray","arr2","ownKeys","sym","_toConsumableArray","arrayLikeToArray","iter","unsupportedIterableToArray","_unsupportedIterableToArray","minLen"],"sourceRoot":""}