{"version":3,"file":"chunks/ecb01325c31165.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/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/toPrimitive.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/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlaskit/button/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/form/dist/es2019/label.js","webpack:///./node_modules/@atlaskit/form/dist/es2019/required-asterisk.js","webpack:///./node_modules/@atlaskit/form/dist/es2019/field.js","webpack:///./node_modules/@atlaskit/form/dist/es2019/form.js","webpack:///./node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/typography.js","webpack:///./node_modules/@atlaskit/form/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/form/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/form/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/logo/dist/es2019/confluence-logo/logo.js","webpack:///./node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/icon/glyph/error.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/icon/glyph/radio.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/icon/glyph/shortcut.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/icon/glyph/warning.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/dist/styled-base.browser.esm.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/final-form-focus/dist/final-form-focus.es.js","webpack:///./node_modules/final-form/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/final-form/dist/final-form.es.js","webpack:///./node_modules/final-form/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/flushable/dist/index.umd.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/_baseSet.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/set.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/react-clientside-effect/lib/index.es.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/react-clientside-effect/node_modules/@babel/runtime/helpers/esm/toPrimitive.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/react-uid/dist/es2019/context.js","webpack:///./node_modules/react-uid/dist/es2019/uid.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/messages.ts","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarItem.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatarItem.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/theme/item.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/AvatarItem.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/components/account-details.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/utils/initials.ts","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/logo/dist/es2019/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/components/default-header.tsx","webpack:///./node_modules/@atlaskit/form/dist/es2019/form-footer.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/components/site-selector-form-footer.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/radio/dist/es2019/styled/Radio.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/radio/dist/es2019/RadioIcon.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/radio/dist/es2019/styled/RadioInput.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/radio/dist/es2019/Radio.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/radio/dist/es2019/RadioGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/components/site-selector-radio-group.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/components/site-selector-form.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/site-selector-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/ModalTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/react-uid/dist/es2019/UIDComponent.js","webpack:///./node_modules/react-uid/dist/es2019/Control.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/blanket/dist/es2019/styled.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/blanket/dist/es2019/Blanket.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/shared-variables.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@emotion/styled/dist/styled.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/utils/flex-max-height-ie-fix.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/styled/Modal.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/styled/Content.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/Footer.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/Header.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/Content.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/raf-schd/esm/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/react-focus-lock/dist/es2015/util.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/react-focus-lock/dist/es2015/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/FocusLock.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/Positioner.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/Modal.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/StackConsumer.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/node_modules/@atlaskit/modal-dialog/dist/es2019/components/ModalWrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-site-selector-modal/src/site-selector-modal.tsx","webpack:///./node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/logo.js","webpack:///./node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/logo.js","webpack:///./node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/logo.js","webpack:///./resources/js/react/cms-components/product/ProductTemplateSiteSelectorContainer.tsx","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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","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","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","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 setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\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","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","/*! *****************************************************************************\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","/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { subtleHeading } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { fontFamily as getFontFamily } from '@atlaskit/theme/constants';\nimport { h200 } from '@atlaskit/theme/typography';\nconst fontFamily = getFontFamily();\nconst labelStyles = css({\n display: 'inline-block',\n marginTop: 0,\n marginBottom: \"var(--ds-space-050, 4px)\",\n fontFamily: fontFamily\n});\n\n/**\n * TODO: Address duplication with packages/design-system/form/src/fieldset.tsx\n * in https://product-fabric.atlassian.net/browse/DSP-7731\n */\nconst getFieldsetLabelDynamicStyles = mode => css([h200({\n theme: {\n mode\n }\n}), {\n color: `var(--ds-text-subtle, ${subtleHeading({\n theme: {\n mode\n }\n })})`\n}]);\n\n// eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\nconst lightH200Styles = getFieldsetLabelDynamicStyles('light');\n\n// eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\nconst darkH200Styles = getFieldsetLabelDynamicStyles('dark');\n\n/**\n * __Label__\n *\n * A label represents a caption for an item in a user interface.\n *\n * It's recommended that a label has a `4px` spacing above its associated\n * control element.\n */\nconst Label = ({\n children,\n htmlFor,\n id,\n testId\n}) => {\n const {\n mode\n } = useGlobalTheme();\n return jsx(\"label\", {\n css: [mode === 'light' ? lightH200Styles : darkH200Styles, labelStyles],\n id: id,\n htmlFor: htmlFor,\n \"data-testid\": testId\n }, children);\n};\nexport default Label;","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nimport { R400 } from '@atlaskit/theme/colors';\nimport { fontFamily as getFontFamily } from '@atlaskit/theme/constants';\nconst fontFamily = getFontFamily();\nconst requiredIndicatorStyles = css({\n paddingLeft: \"var(--ds-space-025, 2px)\",\n color: `var(--ds-text-danger, ${R400})`,\n fontFamily\n});\nexport default function RequiredAsterisk() {\n return jsx(\"span\", {\n css: requiredIndicatorStyles,\n \"aria-hidden\": \"true\",\n title: \"required\"\n }, \"*\");\n}","/** @jsx jsx */\nimport { createContext, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { uid } from 'react-uid';\nimport invariant from 'tiny-invariant';\nimport { FormContext, IsDisabledContext } from './form';\nimport Label from './label';\nimport RequiredAsterisk from './required-asterisk';\nconst fieldWrapperStyles = css({\n marginTop: \"var(--ds-space-100, 8px)\"\n});\nfunction isEvent(event) {\n return Boolean(event && event.target);\n}\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n/**\n * __Field id__\n *\n * A field id uses the context API. It provides the id of the field to message components. This links the message with the field of screenreaders.\n */\nexport const FieldId = /*#__PURE__*/createContext(undefined);\nfunction usePreviousRef(current) {\n const ref = useRef(current);\n\n // will be updated on the next render\n useEffect(() => {\n ref.current = current;\n });\n\n // return the existing current (pre render)\n return ref;\n}\nfunction isShallowEqual(previousValue, currentValue) {\n if (previousValue === currentValue) {\n return true;\n }\n\n // not checking functions\n if (typeof previousValue === 'function' && typeof currentValue === 'function') {\n return true;\n }\n if (Array.isArray(previousValue) && Array.isArray(currentValue)) {\n return JSON.stringify(previousValue) === JSON.stringify(currentValue);\n }\n if (typeof previousValue === 'object' && typeof currentValue === 'object') {\n return JSON.stringify(previousValue) === JSON.stringify(currentValue);\n }\n return false;\n}\nexport default function Field(props) {\n var _getCurrentValue;\n const {\n registerField,\n getCurrentValue\n } = useContext(FormContext);\n const isDisabled = useContext(IsDisabledContext) || props.isDisabled || false;\n const defaultValue = isFunction(props.defaultValue) ? props.defaultValue() : props.defaultValue;\n const latestPropsRef = usePreviousRef(props);\n\n /**\n * HACK: defaultValue can potentially be an array or object which cannot be\n * passed directly into a `useEffect` dependency array, since it will trigger\n * the hook every time.\n */\n const isDefaultValueChanged = !isShallowEqual(latestPropsRef.current.defaultValue, props.defaultValue);\n const [state, setState] = useState({\n fieldProps: {\n onChange: () => {},\n onBlur: () => {},\n onFocus: () => {},\n /* Previously, defaultValue was being set as undefined in Field.defaultProps, which\n * effectively made it an optional prop to external consumers of Field. However the\n * prop types defined defaultValue as required, so inside the component it was not\n * valid for defaultValue to be undefined. We need to suppress the error\n * after changing defaultValue to explictly be an optional prop.\n * If default value has changed we are using new default value.\n * Otherwise we need to check if we already have value for this field\n * (because we are using changing key prop to re-run field level validation, and that\n * cause the component re-mounting) to not override the actual value with the default value.\n */\n // @ts-ignore\n value: isDefaultValueChanged ? defaultValue : (_getCurrentValue = getCurrentValue(props.name)) !== null && _getCurrentValue !== void 0 ? _getCurrentValue : defaultValue\n },\n error: undefined,\n valid: false,\n meta: {\n dirty: false,\n dirtySinceLastSubmit: false,\n touched: false,\n valid: false,\n validating: false,\n submitting: false,\n submitFailed: false,\n error: undefined,\n submitError: undefined\n }\n });\n const latestStateRef = usePreviousRef(state);\n useEffect(() => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' && !process.env.CI) {\n invariant(latestPropsRef.current.name, '@atlaskit/form: Field components have a required name prop');\n }\n function fieldStateToMeta(value = {}) {\n return {\n dirty: value.dirty || false,\n dirtySinceLastSubmit: value.dirtySinceLastSubmit || false,\n touched: value.touched || false,\n valid: value.valid || false,\n submitting: value.submitting || false,\n submitFailed: value.submitFailed || false,\n error: value.error,\n submitError: value.submitError,\n validating: !!value.validating\n };\n }\n const unregister = registerField(latestPropsRef.current.name,\n /**\n * Similar as for setting initial state value.\n * Additionally we are checking if the default value is a function,\n * it is used in checkbox fields, where fields with same name and\n * defaultIsChecked should create array of values. In this situation we can't\n * override the default value on re-registering, but also we don't need to change\n * the key prop to re-run validation.\n */\n // @ts-ignore\n isDefaultValueChanged ||\n // @ts-ignore\n isFunction(latestPropsRef.current.defaultValue) ? latestPropsRef.current.defaultValue : latestStateRef.current.fieldProps.value, fieldState => {\n /**\n * Do not update dirtySinceLastSubmit until submission has finished.\n */\n const modifiedDirtySinceLastSubmit = fieldState.submitting ? latestStateRef.current.meta.dirtySinceLastSubmit : fieldState.dirtySinceLastSubmit;\n\n /**\n * Do not update submitFailed until submission has finished.\n */\n const modifiedSubmitFailed = fieldState.submitting ? latestStateRef.current.meta.submitFailed : fieldState.submitFailed;\n\n /**\n * Do not use submitError if the value has changed.\n */\n const modifiedSubmitError = modifiedDirtySinceLastSubmit && latestPropsRef.current.validate ? undefined : fieldState.submitError;\n const modifiedError = modifiedSubmitError || (fieldState.touched || fieldState.dirty) && fieldState.error;\n\n /**\n * If there has been a submit error, then use logic in modifiedError to determine validity,\n * so we can determine when there is a submit error which we do not want to display\n * because the value has been changed.\n */\n const modifiedValid = modifiedSubmitFailed ? modifiedError === undefined : fieldState.valid;\n function getTransform(eventOrValue, currentValue) {\n if (latestPropsRef.current.transform) {\n return latestPropsRef.current.transform(eventOrValue, currentValue);\n }\n if (isEvent(eventOrValue)) {\n const {\n currentTarget\n } = eventOrValue;\n if (currentTarget.type === 'checkbox') {\n if (currentTarget.checked) {\n return currentTarget.value || true;\n }\n return currentTarget.value ? undefined : false;\n } else if (currentTarget) {\n return currentTarget.value;\n }\n } else {\n return eventOrValue;\n }\n }\n setState({\n fieldProps: {\n onChange: e => {\n fieldState.change(getTransform(e, fieldState.value));\n },\n onBlur: fieldState.blur,\n onFocus: fieldState.focus,\n value: fieldState.value\n },\n error: modifiedError || undefined,\n /**\n * The following parameters are optionally typed in final-form to indicate that not all parameters need\n * to be subscribed to. We cast them as booleans (using || false), since this is what they are semantically.\n */\n valid: modifiedValid || false,\n meta: fieldStateToMeta(fieldState)\n });\n }, {\n dirty: true,\n dirtySinceLastSubmit: true,\n touched: true,\n valid: true,\n submitting: true,\n submitFailed: true,\n value: true,\n error: true,\n submitError: true,\n validating: true\n }, {\n getValidator: () => function validate(value, formState, fieldState) {\n const supplied = latestPropsRef.current.validate;\n if (supplied && fieldState) {\n return supplied(value, formState, fieldStateToMeta(fieldState));\n }\n }\n });\n return unregister;\n }, [latestPropsRef, latestStateRef, registerField, props.name, isDefaultValueChanged]);\n const fieldId = useMemo(\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n () => props.id ? props.id : `${props.name}-${uid({\n id: props.name\n })}`, [props.id, props.name]);\n const getDescribedBy = () => {\n let value = '';\n if (state.error) {\n value += `${fieldId}-error `;\n }\n if (state.valid) {\n value += `${fieldId}-valid `;\n }\n return `${value}${fieldId}-helper`;\n };\n const extendedFieldProps = {\n ...state.fieldProps,\n name: props.name,\n isDisabled,\n isInvalid: Boolean(state.error),\n isRequired: Boolean(props.isRequired),\n 'aria-invalid': state.error ? 'true' : 'false',\n 'aria-describedby': getDescribedBy(),\n 'aria-labelledby': `${fieldId}-label`,\n id: fieldId\n };\n return jsx(\"div\", {\n css: fieldWrapperStyles,\n \"data-testid\": props.testId\n }, props.label && jsx(Label, {\n htmlFor: fieldId,\n id: `${fieldId}-label`,\n testId: props.testId && `${props.testId}--label`\n }, props.label, props.isRequired && jsx(RequiredAsterisk, null), props.elementAfterLabel), jsx(FieldId.Provider, {\n value: fieldId\n }, props.children({\n fieldProps: extendedFieldProps,\n error: state.error,\n valid: state.valid,\n meta: state.meta\n })));\n}","import React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { createForm } from 'final-form';\nimport createDecorator from 'final-form-focus';\nimport set from 'lodash/set';\n/**\n * __Form context__\n *\n * A form context creates a context for the field values and allows them to be accessed by the children.\n */\nexport const FormContext = /*#__PURE__*/createContext({\n registerField: function () {\n return () => {};\n },\n getCurrentValue: () => undefined\n});\n\n/**\n * __Is disabled context__\n *\n * An is disabled context creates the context for when a value is disabled.\n */\nexport const IsDisabledContext = /*#__PURE__*/createContext(false);\nexport default function Form(props) {\n const formRef = useRef(null);\n const onSubmitRef = useRef(props.onSubmit);\n onSubmitRef.current = props.onSubmit;\n const [form] = useState(() => {\n // Types here would break the existing API\n const finalForm = createForm({\n onSubmit: (...args) => onSubmitRef.current(...args),\n destroyOnUnregister: true,\n initialValues: {},\n mutators: {\n setDefaultValue: ([name, defaultValue], state) => {\n if (state.formState.initialValues) {\n const initialValues = state.formState.initialValues;\n const values = state.formState.values;\n const value = name && typeof defaultValue === 'function' ? defaultValue(initialValues[name]) : defaultValue;\n\n /* eslint-disable no-param-reassign */\n set(initialValues, name, value);\n set(values, name, value);\n /* eslint-enable */\n }\n }\n }\n });\n\n createDecorator(() => formRef.current ? Array.from(formRef.current.querySelectorAll('input')) : [])(finalForm);\n return finalForm;\n });\n const [state, setState] = useState({\n dirty: false,\n submitting: false\n });\n useEffect(() => {\n const unsubscribe = form.subscribe(({\n dirty,\n submitting\n }) => {\n setState({\n dirty,\n submitting\n });\n }, {\n dirty: true,\n submitting: true\n });\n return unsubscribe;\n }, [form]);\n const registerField = useCallback((name, defaultValue, subscriber, subscription, config) => {\n form.pauseValidation();\n const unsubscribe = form.registerField(name, subscriber, subscription, config);\n form.mutators.setDefaultValue(name, defaultValue);\n form.resumeValidation();\n return unsubscribe;\n }, [form]);\n const handleSubmit = e => {\n if (e) {\n e.preventDefault();\n }\n form.submit();\n };\n const handleReset = initialValues => {\n form.reset(initialValues);\n };\n const handleKeyDown = e => {\n if (e.key === 'Enter' && (e.ctrlKey || e.metaKey) && formRef.current) {\n const submitButton = formRef.current.querySelector('button:not([type]), button[type=\"submit\"], input[type=\"submit\"]');\n if (submitButton) {\n submitButton.click();\n }\n e.preventDefault();\n }\n };\n const {\n isDisabled = false,\n children\n } = props;\n const {\n dirty,\n submitting\n } = state;\n\n /**\n * This method is needed in FormContext to use it on the field level\n * to check the current value of the field in case of the component re-mounting.\n */\n const getCurrentValue = useCallback(name => {\n const formState = form.getState();\n return (formState === null || formState === void 0 ? void 0 : formState.values[name]) || undefined;\n }, [form]);\n const FormContextValue = useMemo(() => {\n return {\n registerField,\n getCurrentValue\n };\n }, [registerField, getCurrentValue]);\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: FormContextValue\n }, /*#__PURE__*/React.createElement(IsDisabledContext.Provider, {\n value: isDisabled\n }, children({\n formProps: {\n onSubmit: handleSubmit,\n ref: formRef,\n onKeyDown: handleKeyDown\n },\n dirty,\n reset: handleReset,\n submitting,\n disabled: isDisabled,\n getState: () => form.getState(),\n getValues: () => form.getState().values,\n // TODO: deprecate\n setFieldValue: form.change\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', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\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}","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;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\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 { heading, subtleHeading } from './colors';\nimport { fontSize, gridSize } from './constants';\nconst baseHeading = (size, lineHeight) => ({\n fontSize: `${size / fontSize()}em`,\n fontStyle: 'inherit',\n lineHeight: lineHeight / size\n});\nexport const headingSizes = {\n h900: {\n size: 35,\n lineHeight: 40\n },\n h800: {\n size: 29,\n lineHeight: 32\n },\n h700: {\n size: 24,\n lineHeight: 28\n },\n h600: {\n size: 20,\n lineHeight: 24\n },\n h500: {\n size: 16,\n lineHeight: 20\n },\n h400: {\n size: 14,\n lineHeight: 16\n },\n h300: {\n size: 12,\n lineHeight: 16\n },\n h200: {\n size: 12,\n lineHeight: 16\n },\n h100: {\n size: 11,\n lineHeight: 16\n }\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h900 = (props = {}) => ({\n ...baseHeading(headingSizes.h900.size, headingSizes.h900.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-medium, 500)\",\n letterSpacing: `-0.01em`,\n marginTop: `${gridSize() * 6.5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h800 = (props = {}) => ({\n ...baseHeading(headingSizes.h800.size, headingSizes.h800.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n letterSpacing: `-0.01em`,\n marginTop: `${gridSize() * 5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h700 = (props = {}) => ({\n ...baseHeading(headingSizes.h700.size, headingSizes.h700.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-medium, 500)\",\n letterSpacing: `-0.01em`,\n marginTop: `${gridSize() * 5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h600 = (props = {}) => ({\n ...baseHeading(headingSizes.h600.size, headingSizes.h600.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-medium, 500)\",\n letterSpacing: `-0.008em`,\n marginTop: `${gridSize() * 3.5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h500 = (props = {}) => ({\n ...baseHeading(headingSizes.h500.size, headingSizes.h500.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n letterSpacing: `-0.006em`,\n marginTop: `${gridSize() * 3}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h400 = (props = {}) => ({\n ...baseHeading(headingSizes.h400.size, headingSizes.h400.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n letterSpacing: `-0.003em`,\n marginTop: `${gridSize() * 2}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h300 = (props = {}) => ({\n ...baseHeading(headingSizes.h300.size, headingSizes.h300.lineHeight),\n color: `var(--ds-text, ${heading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n marginTop: `${gridSize() * 2.5}px`,\n textTransform: 'uppercase'\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h200 = (props = {}) => ({\n ...baseHeading(headingSizes.h200.size, headingSizes.h200.lineHeight),\n color: `var(--ds-text-subtlest, ${subtleHeading(props)})`,\n fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n marginTop: `${gridSize() * 2}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h100 = (props = {}) => ({\n ...baseHeading(headingSizes.h100.size, headingSizes.h100.lineHeight),\n color: `var(--ds-text-subtlest, ${subtleHeading(props)})`,\n fontWeight: \"var(--ds-font-weight-bold, 700)\",\n marginTop: `${gridSize() * 2}px`\n});","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\n\nconst svg = (iconGradientStart, iconGradientStop) => {\n const id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\nexport const ConfluenceLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Confluence',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg,\n testId: testId,\n textColor: textColor\n });\n};","/**\n * These are the default parameters for LogoProps if the user does not specify values.\n */\nexport const defaultLogoParams = {\n iconColor: 'inherit',\n iconGradientStart: 'inherit',\n iconGradientStop: 'inherit',\n label: '',\n size: 'medium',\n textColor: 'currentColor'\n};\n/**\n * The props for the that takes the svg and turns it into a component.\n */\n\nexport const sizes = {\n xsmall: 16,\n small: 24,\n medium: 32,\n large: 40,\n xlarge: 48\n};\n/**\n * In order to pass linting rules, these props were renamed to be more descriptive i.e. props renamed to LogoProps and\n * defaultParams to defaultLogoParams. However, this is a breaking change as it is a file with public entry points. The code\n * below is here to keep Logo backwards compatible.\n * See the ticket here: https://product-fabric.atlassian.net/browse/DSP-4086.\n *\n * Note that some consumers are accessing this using like so: import { Props } from '@atlaskit/logo/constants', this should\n * still work despite `LogoProps` being in a different types.tsx file.\n *\n */\n\n/**\n * @deprecated This has been renamed, please import `LogoProps` instead.\n */\n\n/**\n * @deprecated This has been renamed, please import `defaultLogoParams` instead.\n */\nexport const DefaultProps = defaultLogoParams;","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { css, jsx } from '@emotion/core';\nimport { sizes } from './constants';\nconst CSS_VAR_COLOR = '--logo-color';\nconst CSS_VAR_FILL = '--logo-fill';\nconst baseWrapperStyles = css({\n display: 'inline-block',\n position: 'relative',\n color: `var(${CSS_VAR_COLOR})`,\n fill: `var(${CSS_VAR_FILL})`,\n userSelect: 'none',\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: '0',\n left: '0',\n fill: 'inherit'\n },\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> canvas': {\n display: 'block',\n height: '100%',\n visibility: 'hidden'\n }\n});\nconst stopColorStyles = css({\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n stop: {\n stopColor: 'currentColor'\n }\n});\nconst sizeStyles = Object.entries(sizes).reduce((acc, [key, val]) => {\n acc[key] = css({\n height: `${val}px`\n });\n return acc;\n}, {});\n/**\n * __Wrapper__\n *\n * An internal component used by `@atlaskit/logo` to render logo SVGs with correct styles.\n */\n\nconst Wrapper = ({\n label,\n svg,\n iconGradientStart,\n iconGradientStop,\n size,\n iconColor,\n testId: userDefinedTestId,\n textColor,\n ...rest\n}) => {\n const shouldApplyStopColor = iconGradientStart === 'inherit' && iconGradientStop === 'inherit';\n const testId = userDefinedTestId && `${userDefinedTestId}--wrapper`;\n return jsx(\"span\", _extends({\n css: [baseWrapperStyles, shouldApplyStopColor && stopColorStyles, size && sizeStyles[size]],\n \"data-testid\": testId,\n style: {\n [CSS_VAR_COLOR]: iconColor,\n [CSS_VAR_FILL]: textColor\n },\n \"aria-label\": label ? label : undefined,\n role: label ? 'img' : 'presentation',\n dangerouslySetInnerHTML: {\n __html: typeof svg === 'function' ? svg(String(iconGradientStart), String(iconGradientStop)) : svg\n }\n }, rest));\n};\n\nexport default Wrapper;","\"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 ErrorIcon = function ErrorIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nErrorIcon.displayName = 'ErrorIcon';\nvar _default = ErrorIcon;\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;","\"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 ShortcutIcon = function ShortcutIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nShortcutIcon.displayName = 'ShortcutIcon';\nvar _default = ShortcutIcon;\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 WarningIcon = function WarningIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nWarningIcon.displayName = 'WarningIcon';\nvar _default = WarningIcon;\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","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { createElement, Fragment } from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/core';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme' && key !== 'innerRef';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var identifierName;\n var shouldForwardProp;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n shouldForwardProp = tag.__emotion_forwardProp && options.shouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && // $FlowFixMe\n options.shouldForwardProp(propName);\n } : options.shouldForwardProp;\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, context, ref) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var finalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = theme;\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(context.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), context.registered, mergedProps);\n var rules = insertStyles(context, serialized, typeof finalTag === 'string');\n className += context.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref || props.innerRef;\n\n if (process.env.NODE_ENV !== 'production' && props.innerRef) {\n console.error('`innerRef` is deprecated and will be removed in a future major version of Emotion, please use the `ref` prop instead' + (identifierName === undefined ? '' : \" in the usage of `\" + identifierName + \"`\"));\n }\n\n var ele = /*#__PURE__*/createElement(finalTag, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, nextOptions !== undefined ? _objectSpread({}, options || {}, {}, nextOptions) : options).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport default createStyled;\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","import { getIn } from 'final-form';\n\n// \n\n/**\n * Predicate to identify inputs that can have focus() called on them\n */\nvar isFocusableInput = function isFocusableInput(wtf) {\n return !!(wtf && typeof wtf.focus === 'function');\n};\n\n// \n/**\n * Gets all the inputs inside all forms on the page\n */\n\nvar getAllInputs = function getAllInputs() {\n if (typeof document === 'undefined') {\n return [];\n }\n\n return Array.prototype.slice.call(document.forms).reduce(function (accumulator, form) {\n return accumulator.concat(Array.prototype.slice.call(form).filter(isFocusableInput));\n }, []);\n};\n\n// \n/**\n * Finds the input by looking if the name attribute path is existing in the errors object\n */\n\nvar findInput = function findInput(inputs, errors) {\n return inputs.find(function (input) {\n return input.name && getIn(errors, input.name);\n });\n};\n\n// \n\nvar noop = function noop() {};\n\nvar createDecorator = function createDecorator(getInputs, findInput$$1) {\n return function (form) {\n var focusOnFirstError = function focusOnFirstError(errors) {\n if (!getInputs) {\n getInputs = getAllInputs;\n }\n\n if (!findInput$$1) {\n findInput$$1 = findInput;\n }\n\n var firstInput = findInput$$1(getInputs(), errors);\n\n if (firstInput) {\n firstInput.focus();\n }\n }; // Save original submit function\n\n\n var originalSubmit = form.submit; // Subscribe to errors, and keep a local copy of them\n\n var state = {};\n var unsubscribe = form.subscribe(function (nextState) {\n state = nextState;\n }, {\n errors: true,\n submitErrors: true\n }); // What to do after submit\n\n var afterSubmit = function afterSubmit() {\n var _state = state,\n errors = _state.errors,\n submitErrors = _state.submitErrors;\n\n if (errors && Object.keys(errors).length) {\n focusOnFirstError(errors);\n } else if (submitErrors && Object.keys(submitErrors).length) {\n focusOnFirstError(submitErrors);\n }\n }; // Rewrite submit function\n\n\n form.submit = function () {\n var result = originalSubmit.call(form);\n\n if (result && typeof result.then === 'function') {\n // async\n result.then(afterSubmit, noop);\n } else {\n // sync\n afterSubmit();\n }\n\n return result;\n };\n\n return function () {\n unsubscribe();\n form.submit = originalSubmit;\n };\n };\n};\n\n// \n/**\n * Generates a function to get all the inputs in a form with the specified name\n */\n\nvar getFormInputs = function getFormInputs(name) {\n return function () {\n if (typeof document === 'undefined') {\n return [];\n } // $FlowFixMe\n\n\n var form = document.forms[name];\n return form && form.length ? Array.prototype.slice.call(form).filter(isFocusableInput) : []; // cast cheat to get from HTMLFormElement children to FocusableInput\n };\n};\n\n//\n\nexport default createDecorator;\nexport { getFormInputs };\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\n// \nvar charCodeOfDot = \".\".charCodeAt(0);\nvar reEscapeChar = /\\\\(\\\\)?/g;\nvar rePropName = RegExp( // Match anything that isn't a dot or bracket.\n\"[^.[\\\\]]+\" + \"|\" + // Or match property names within brackets.\n\"\\\\[(?:\" + // Match a non-string expression.\n\"([^\\\"'][^[]*)\" + \"|\" + // Or match strings (supports escaping characters).\n\"([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2\" + \")\\\\]\" + \"|\" + // Or match \"\" as the space between consecutive dots or empty brackets.\n\"(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))\", \"g\");\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n\nvar stringToPath = function stringToPath(string) {\n var result = [];\n\n if (string.charCodeAt(0) === charCodeOfDot) {\n result.push(\"\");\n }\n\n string.replace(rePropName, function (match, expression, quote, subString) {\n var key = match;\n\n if (quote) {\n key = subString.replace(reEscapeChar, \"$1\");\n } else if (expression) {\n key = expression.trim();\n }\n\n result.push(key);\n });\n return result;\n};\n\nvar keysCache = {};\nvar keysRegex = /[.[\\]]+/;\n\nvar toPath = function toPath(key) {\n if (key === null || key === undefined || !key.length) {\n return [];\n }\n\n if (typeof key !== \"string\") {\n throw new Error(\"toPath() expects a string\");\n }\n\n if (keysCache[key] == null) {\n /**\n * The following patch fixes issue 456, introduced since v4.20.3:\n *\n * Before v4.20.3, i.e. in v4.20.2, a `key` like 'choices[]' would map to ['choices']\n * (e.g. an array of choices used where 'choices[]' is name attribute of an input of type checkbox).\n *\n * Since v4.20.3, a `key` like 'choices[]' would map to ['choices', ''] which is wrong and breaks\n * this kind of inputs e.g. in React.\n *\n * v4.20.3 introduced an unwanted breaking change, this patch fixes it, see the issue at the link below.\n *\n * @see https://github.com/final-form/final-form/issues/456\n */\n if (key.endsWith(\"[]\")) {\n // v4.20.2 (a `key` like 'choices[]' should map to ['choices'], which is fine).\n keysCache[key] = key.split(keysRegex).filter(Boolean);\n } else {\n // v4.20.3 (a `key` like 'choices[]' maps to ['choices', ''], which breaks applications relying on inputs like ``).\n keysCache[key] = stringToPath(key);\n }\n }\n\n return keysCache[key];\n};\n\n// \n\nvar getIn = function getIn(state, complexKey) {\n // Intentionally using iteration rather than recursion\n var path = toPath(complexKey);\n var current = state;\n\n for (var i = 0; i < path.length; i++) {\n var key = path[i];\n\n if (current === undefined || current === null || typeof current !== \"object\" || Array.isArray(current) && isNaN(key)) {\n return undefined;\n }\n\n current = current[key];\n }\n\n return current;\n};\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nvar setInRecursor = function setInRecursor(current, index, path, value, destroyArrays) {\n if (index >= path.length) {\n // end of recursion\n return value;\n }\n\n var key = path[index]; // determine type of key\n\n if (isNaN(key)) {\n var _extends2;\n\n // object set\n if (current === undefined || current === null) {\n var _ref;\n\n // recurse\n var _result2 = setInRecursor(undefined, index + 1, path, value, destroyArrays); // delete or create an object\n\n\n return _result2 === undefined ? undefined : (_ref = {}, _ref[key] = _result2, _ref);\n }\n\n if (Array.isArray(current)) {\n throw new Error(\"Cannot set a non-numeric property on an array\");\n } // current exists, so make a copy of all its values, and add/update the new one\n\n\n var _result = setInRecursor(current[key], index + 1, path, value, destroyArrays);\n\n if (_result === undefined) {\n var numKeys = Object.keys(current).length;\n\n if (current[key] === undefined && numKeys === 0) {\n // object was already empty\n return undefined;\n }\n\n if (current[key] !== undefined && numKeys <= 1) {\n // only key we had was the one we are deleting\n if (!isNaN(path[index - 1]) && !destroyArrays) {\n // we are in an array, so return an empty object\n return {};\n } else {\n return undefined;\n }\n }\n\n current[key];\n var _final = _objectWithoutPropertiesLoose(current, [key].map(_toPropertyKey));\n\n return _final;\n } // set result in key\n\n\n return _extends({}, current, (_extends2 = {}, _extends2[key] = _result, _extends2));\n } // array set\n\n\n var numericKey = Number(key);\n\n if (current === undefined || current === null) {\n // recurse\n var _result3 = setInRecursor(undefined, index + 1, path, value, destroyArrays); // if nothing returned, delete it\n\n\n if (_result3 === undefined) {\n return undefined;\n } // create an array\n\n\n var _array = [];\n _array[numericKey] = _result3;\n return _array;\n }\n\n if (!Array.isArray(current)) {\n throw new Error(\"Cannot set a numeric property on an object\");\n } // recurse\n\n\n var existingValue = current[numericKey];\n var result = setInRecursor(existingValue, index + 1, path, value, destroyArrays); // current exists, so make a copy of all its values, and add/update the new one\n\n var array = [].concat(current);\n\n if (destroyArrays && result === undefined) {\n array.splice(numericKey, 1);\n\n if (array.length === 0) {\n return undefined;\n }\n } else {\n array[numericKey] = result;\n }\n\n return array;\n};\n\nvar setIn = function setIn(state, key, value, destroyArrays) {\n if (destroyArrays === void 0) {\n destroyArrays = false;\n }\n\n if (state === undefined || state === null) {\n throw new Error(\"Cannot call setIn() with \" + String(state) + \" state\");\n }\n\n if (key === undefined || key === null) {\n throw new Error(\"Cannot call setIn() with \" + String(key) + \" key\");\n } // Recursive function needs to accept and return State, but public API should\n // only deal with Objects\n\n\n return setInRecursor(state, 0, toPath(key), value, destroyArrays);\n};\n\nvar FORM_ERROR = \"FINAL_FORM/form-error\";\nvar ARRAY_ERROR = \"FINAL_FORM/array-error\";\n\n// \n/**\n * Converts internal field state to published field state\n */\n\nfunction publishFieldState(formState, field) {\n var errors = formState.errors,\n initialValues = formState.initialValues,\n lastSubmittedValues = formState.lastSubmittedValues,\n submitErrors = formState.submitErrors,\n submitFailed = formState.submitFailed,\n submitSucceeded = formState.submitSucceeded,\n submitting = formState.submitting,\n values = formState.values;\n var active = field.active,\n blur = field.blur,\n change = field.change,\n data = field.data,\n focus = field.focus,\n modified = field.modified,\n modifiedSinceLastSubmit = field.modifiedSinceLastSubmit,\n name = field.name,\n touched = field.touched,\n validating = field.validating,\n visited = field.visited;\n var value = getIn(values, name);\n var error = getIn(errors, name);\n\n if (error && error[ARRAY_ERROR]) {\n error = error[ARRAY_ERROR];\n }\n\n var submitError = submitErrors && getIn(submitErrors, name);\n var initial = initialValues && getIn(initialValues, name);\n var pristine = field.isEqual(initial, value);\n var dirtySinceLastSubmit = !!(lastSubmittedValues && !field.isEqual(getIn(lastSubmittedValues, name), value));\n var valid = !error && !submitError;\n return {\n active: active,\n blur: blur,\n change: change,\n data: data,\n dirty: !pristine,\n dirtySinceLastSubmit: dirtySinceLastSubmit,\n error: error,\n focus: focus,\n initial: initial,\n invalid: !valid,\n length: Array.isArray(value) ? value.length : undefined,\n modified: modified,\n modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n name: name,\n pristine: pristine,\n submitError: submitError,\n submitFailed: submitFailed,\n submitSucceeded: submitSucceeded,\n submitting: submitting,\n touched: touched,\n valid: valid,\n value: value,\n visited: visited,\n validating: validating\n };\n}\n\n// \nvar fieldSubscriptionItems = [\"active\", \"data\", \"dirty\", \"dirtySinceLastSubmit\", \"error\", \"initial\", \"invalid\", \"length\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitError\", \"submitFailed\", \"submitSucceeded\", \"submitting\", \"touched\", \"valid\", \"value\", \"visited\", \"validating\"];\n\n// \nvar shallowEqual = function shallowEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== \"object\" || !a || typeof b !== \"object\" || !b) {\n return false;\n }\n\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(b);\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n};\n\n// \nfunction subscriptionFilter (dest, src, previous, subscription, keys, shallowEqualKeys) {\n var different = false;\n keys.forEach(function (key) {\n if (subscription[key]) {\n dest[key] = src[key];\n\n if (!previous || (~shallowEqualKeys.indexOf(key) ? !shallowEqual(src[key], previous[key]) : src[key] !== previous[key])) {\n different = true;\n }\n }\n });\n return different;\n}\n\n// \nvar shallowEqualKeys$1 = [\"data\"];\n/**\n * Filters items in a FieldState based on a FieldSubscription\n */\n\nvar filterFieldState = function filterFieldState(state, previousState, subscription, force) {\n var result = {\n blur: state.blur,\n change: state.change,\n focus: state.focus,\n name: state.name\n };\n var different = subscriptionFilter(result, state, previousState, subscription, fieldSubscriptionItems, shallowEqualKeys$1) || !previousState;\n return different || force ? result : undefined;\n};\n\n// \nvar formSubscriptionItems = [\"active\", \"dirty\", \"dirtyFields\", \"dirtyFieldsSinceLastSubmit\", \"dirtySinceLastSubmit\", \"error\", \"errors\", \"hasSubmitErrors\", \"hasValidationErrors\", \"initialValues\", \"invalid\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitting\", \"submitError\", \"submitErrors\", \"submitFailed\", \"submitSucceeded\", \"touched\", \"valid\", \"validating\", \"values\", \"visited\"];\n\n// \nvar shallowEqualKeys = [\"touched\", \"visited\"];\n/**\n * Filters items in a FormState based on a FormSubscription\n */\n\nfunction filterFormState(state, previousState, subscription, force) {\n var result = {};\n var different = subscriptionFilter(result, state, previousState, subscription, formSubscriptionItems, shallowEqualKeys) || !previousState;\n return different || force ? result : undefined;\n}\n\n// \n\nvar memoize = function memoize(fn) {\n var lastArgs;\n var lastResult;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!lastArgs || args.length !== lastArgs.length || args.some(function (arg, index) {\n return !shallowEqual(lastArgs[index], arg);\n })) {\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n }\n\n return lastResult;\n };\n};\n\nvar isPromise = (function (obj) {\n return !!obj && (typeof obj === \"object\" || typeof obj === \"function\") && typeof obj.then === \"function\";\n});\n\nvar version = \"4.20.9\";\n\nvar configOptions = [\"debug\", \"initialValues\", \"keepDirtyOnReinitialize\", \"mutators\", \"onSubmit\", \"validate\", \"validateOnBlur\"];\n\nvar tripleEquals = function tripleEquals(a, b) {\n return a === b;\n};\n\nvar hasAnyError = function hasAnyError(errors) {\n return Object.keys(errors).some(function (key) {\n var value = errors[key];\n\n if (value && typeof value === \"object\" && !(value instanceof Error)) {\n return hasAnyError(value);\n }\n\n return typeof value !== \"undefined\";\n });\n};\n\nfunction convertToExternalFormState(_ref) {\n var active = _ref.active,\n dirtySinceLastSubmit = _ref.dirtySinceLastSubmit,\n modifiedSinceLastSubmit = _ref.modifiedSinceLastSubmit,\n error = _ref.error,\n errors = _ref.errors,\n initialValues = _ref.initialValues,\n pristine = _ref.pristine,\n submitting = _ref.submitting,\n submitFailed = _ref.submitFailed,\n submitSucceeded = _ref.submitSucceeded,\n submitError = _ref.submitError,\n submitErrors = _ref.submitErrors,\n valid = _ref.valid,\n validating = _ref.validating,\n values = _ref.values;\n return {\n active: active,\n dirty: !pristine,\n dirtySinceLastSubmit: dirtySinceLastSubmit,\n modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n error: error,\n errors: errors,\n hasSubmitErrors: !!(submitError || submitErrors && hasAnyError(submitErrors)),\n hasValidationErrors: !!(error || hasAnyError(errors)),\n invalid: !valid,\n initialValues: initialValues,\n pristine: pristine,\n submitting: submitting,\n submitFailed: submitFailed,\n submitSucceeded: submitSucceeded,\n submitError: submitError,\n submitErrors: submitErrors,\n valid: valid,\n validating: validating > 0,\n values: values\n };\n}\n\nfunction notifySubscriber(subscriber, subscription, state, lastState, filter, force) {\n var notification = filter(state, lastState, subscription, force);\n\n if (notification) {\n subscriber(notification);\n return true;\n }\n\n return false;\n}\n\nfunction notify(_ref2, state, lastState, filter, force) {\n var entries = _ref2.entries;\n Object.keys(entries).forEach(function (key) {\n var entry = entries[Number(key)]; // istanbul ignore next\n\n if (entry) {\n var subscription = entry.subscription,\n subscriber = entry.subscriber,\n notified = entry.notified;\n\n if (notifySubscriber(subscriber, subscription, state, lastState, filter, force || !notified)) {\n entry.notified = true;\n }\n }\n });\n}\n\nfunction createForm(config) {\n if (!config) {\n throw new Error(\"No config specified\");\n }\n\n var debug = config.debug,\n destroyOnUnregister = config.destroyOnUnregister,\n keepDirtyOnReinitialize = config.keepDirtyOnReinitialize,\n initialValues = config.initialValues,\n mutators = config.mutators,\n onSubmit = config.onSubmit,\n validate = config.validate,\n validateOnBlur = config.validateOnBlur;\n\n if (!onSubmit) {\n throw new Error(\"No onSubmit function specified\");\n }\n\n var state = {\n subscribers: {\n index: 0,\n entries: {}\n },\n fieldSubscribers: {},\n fields: {},\n formState: {\n asyncErrors: {},\n dirtySinceLastSubmit: false,\n modifiedSinceLastSubmit: false,\n errors: {},\n initialValues: initialValues && _extends({}, initialValues),\n invalid: false,\n pristine: true,\n submitting: false,\n submitFailed: false,\n submitSucceeded: false,\n resetWhileSubmitting: false,\n valid: true,\n validating: 0,\n values: initialValues ? _extends({}, initialValues) : {}\n },\n lastFormState: undefined\n };\n var inBatch = 0;\n var validationPaused = false;\n var validationBlocked = false;\n var preventNotificationWhileValidationPaused = false;\n var nextAsyncValidationKey = 0;\n var asyncValidationPromises = {};\n\n var clearAsyncValidationPromise = function clearAsyncValidationPromise(key) {\n return function (result) {\n delete asyncValidationPromises[key];\n return result;\n };\n };\n\n var changeValue = function changeValue(state, name, mutate) {\n var before = getIn(state.formState.values, name);\n var after = mutate(before);\n state.formState.values = setIn(state.formState.values, name, after) || {};\n };\n\n var renameField = function renameField(state, from, to) {\n if (state.fields[from]) {\n var _extends2, _extends3;\n\n state.fields = _extends({}, state.fields, (_extends2 = {}, _extends2[to] = _extends({}, state.fields[from], {\n name: to,\n // rebind event handlers\n blur: function blur() {\n return api.blur(to);\n },\n change: function change(value) {\n return api.change(to, value);\n },\n focus: function focus() {\n return api.focus(to);\n },\n lastFieldState: undefined\n }), _extends2));\n delete state.fields[from];\n state.fieldSubscribers = _extends({}, state.fieldSubscribers, (_extends3 = {}, _extends3[to] = state.fieldSubscribers[from], _extends3));\n delete state.fieldSubscribers[from];\n var value = getIn(state.formState.values, from);\n state.formState.values = setIn(state.formState.values, from, undefined) || {};\n state.formState.values = setIn(state.formState.values, to, value);\n delete state.lastFormState;\n }\n }; // bind state to mutators\n\n\n var getMutatorApi = function getMutatorApi(key) {\n return function () {\n // istanbul ignore next\n if (mutators) {\n // ^^ causes branch coverage warning, but needed to appease the Flow gods\n var mutatableState = {\n formState: state.formState,\n fields: state.fields,\n fieldSubscribers: state.fieldSubscribers,\n lastFormState: state.lastFormState\n };\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var returnValue = mutators[key](args, mutatableState, {\n changeValue: changeValue,\n getIn: getIn,\n renameField: renameField,\n resetFieldState: api.resetFieldState,\n setIn: setIn,\n shallowEqual: shallowEqual\n });\n state.formState = mutatableState.formState;\n state.fields = mutatableState.fields;\n state.fieldSubscribers = mutatableState.fieldSubscribers;\n state.lastFormState = mutatableState.lastFormState;\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n return returnValue;\n }\n };\n };\n\n var mutatorsApi = mutators ? Object.keys(mutators).reduce(function (result, key) {\n result[key] = getMutatorApi(key);\n return result;\n }, {}) : {};\n\n var runRecordLevelValidation = function runRecordLevelValidation(setErrors) {\n var promises = [];\n\n if (validate) {\n var errorsOrPromise = validate(_extends({}, state.formState.values)); // clone to avoid writing\n\n if (isPromise(errorsOrPromise)) {\n promises.push(errorsOrPromise.then(function (errors) {\n return setErrors(errors, true);\n }));\n } else {\n setErrors(errorsOrPromise, false);\n }\n }\n\n return promises;\n };\n\n var getValidators = function getValidators(field) {\n return Object.keys(field.validators).reduce(function (result, index) {\n var validator = field.validators[Number(index)]();\n\n if (validator) {\n result.push(validator);\n }\n\n return result;\n }, []);\n };\n\n var runFieldLevelValidation = function runFieldLevelValidation(field, setError) {\n var promises = [];\n var validators = getValidators(field);\n\n if (validators.length) {\n var error;\n validators.forEach(function (validator) {\n var errorOrPromise = validator(getIn(state.formState.values, field.name), state.formState.values, validator.length === 0 || validator.length === 3 ? publishFieldState(state.formState, state.fields[field.name]) : undefined);\n\n if (errorOrPromise && isPromise(errorOrPromise)) {\n field.validating = true;\n var promise = errorOrPromise.then(function (error) {\n if (state.fields[field.name]) {\n state.fields[field.name].validating = false;\n setError(error);\n }\n }); // errors must be resolved, not rejected\n\n promises.push(promise);\n } else if (!error) {\n // first registered validator wins\n error = errorOrPromise;\n }\n });\n setError(error);\n }\n\n return promises;\n };\n\n var runValidation = function runValidation(fieldChanged, callback) {\n if (validationPaused) {\n validationBlocked = true;\n callback();\n return;\n }\n\n var fields = state.fields,\n formState = state.formState;\n\n var safeFields = _extends({}, fields);\n\n var fieldKeys = Object.keys(safeFields);\n\n if (!validate && !fieldKeys.some(function (key) {\n return getValidators(safeFields[key]).length;\n })) {\n callback();\n return; // no validation rules\n } // pare down field keys to actually validate\n\n\n var limitedFieldLevelValidation = false;\n\n if (fieldChanged) {\n var changedField = safeFields[fieldChanged];\n\n if (changedField) {\n var validateFields = changedField.validateFields;\n\n if (validateFields) {\n limitedFieldLevelValidation = true;\n fieldKeys = validateFields.length ? validateFields.concat(fieldChanged) : [fieldChanged];\n }\n }\n }\n\n var recordLevelErrors = {};\n var asyncRecordLevelErrors = {};\n var fieldLevelErrors = {};\n var promises = [].concat(runRecordLevelValidation(function (errors, wasAsync) {\n if (wasAsync) {\n asyncRecordLevelErrors = errors || {};\n } else {\n recordLevelErrors = errors || {};\n }\n }), fieldKeys.reduce(function (result, name) {\n return result.concat(runFieldLevelValidation(fields[name], function (error) {\n fieldLevelErrors[name] = error;\n }));\n }, []));\n var hasAsyncValidations = promises.length > 0;\n var asyncValidationPromiseKey = ++nextAsyncValidationKey;\n var promise = Promise.all(promises).then(clearAsyncValidationPromise(asyncValidationPromiseKey)); // backwards-compat: add promise to submit-blocking promises iff there are any promises to await\n\n if (hasAsyncValidations) {\n asyncValidationPromises[asyncValidationPromiseKey] = promise;\n }\n\n var processErrors = function processErrors(afterAsync) {\n var merged = _extends({}, limitedFieldLevelValidation ? formState.errors : {}, recordLevelErrors, afterAsync ? asyncRecordLevelErrors // new async errors\n : formState.asyncErrors);\n\n var forEachError = function forEachError(fn) {\n fieldKeys.forEach(function (name) {\n if (fields[name]) {\n // make sure field is still registered\n // field-level errors take precedent over record-level errors\n var recordLevelError = getIn(recordLevelErrors, name);\n var errorFromParent = getIn(merged, name);\n var hasFieldLevelValidation = getValidators(safeFields[name]).length;\n var fieldLevelError = fieldLevelErrors[name];\n fn(name, hasFieldLevelValidation && fieldLevelError || validate && recordLevelError || (!recordLevelError && !limitedFieldLevelValidation ? errorFromParent : undefined));\n }\n });\n };\n\n forEachError(function (name, error) {\n merged = setIn(merged, name, error) || {};\n });\n forEachError(function (name, error) {\n if (error && error[ARRAY_ERROR]) {\n var existing = getIn(merged, name);\n var copy = [].concat(existing);\n copy[ARRAY_ERROR] = error[ARRAY_ERROR];\n merged = setIn(merged, name, copy);\n }\n });\n\n if (!shallowEqual(formState.errors, merged)) {\n formState.errors = merged;\n }\n\n if (afterAsync) {\n formState.asyncErrors = asyncRecordLevelErrors;\n }\n\n formState.error = recordLevelErrors[FORM_ERROR];\n };\n\n if (hasAsyncValidations) {\n // async validations are running, ensure validating is true before notifying\n state.formState.validating++;\n callback();\n } // process sync errors\n\n\n processErrors(false); // sync errors have been set. notify listeners while we wait for others\n\n callback();\n\n if (hasAsyncValidations) {\n var afterPromise = function afterPromise() {\n state.formState.validating--;\n callback();\n };\n\n promise.then(function () {\n if (nextAsyncValidationKey > asyncValidationPromiseKey) {\n // if this async validator has been superseded by another, ignore its results\n return;\n }\n\n processErrors(true);\n }).then(afterPromise, afterPromise);\n }\n };\n\n var notifyFieldListeners = function notifyFieldListeners(name) {\n if (inBatch) {\n return;\n }\n\n var fields = state.fields,\n fieldSubscribers = state.fieldSubscribers,\n formState = state.formState;\n\n var safeFields = _extends({}, fields);\n\n var notifyField = function notifyField(name) {\n var field = safeFields[name];\n var fieldState = publishFieldState(formState, field);\n var lastFieldState = field.lastFieldState;\n field.lastFieldState = fieldState;\n var fieldSubscriber = fieldSubscribers[name];\n\n if (fieldSubscriber) {\n notify(fieldSubscriber, fieldState, lastFieldState, filterFieldState, lastFieldState === undefined);\n }\n };\n\n if (name) {\n notifyField(name);\n } else {\n Object.keys(safeFields).forEach(notifyField);\n }\n };\n\n var markAllFieldsTouched = function markAllFieldsTouched() {\n Object.keys(state.fields).forEach(function (key) {\n state.fields[key].touched = true;\n });\n };\n\n var hasSyncErrors = function hasSyncErrors() {\n return !!(state.formState.error || hasAnyError(state.formState.errors));\n };\n\n var calculateNextFormState = function calculateNextFormState() {\n var fields = state.fields,\n formState = state.formState,\n lastFormState = state.lastFormState;\n\n var safeFields = _extends({}, fields);\n\n var safeFieldKeys = Object.keys(safeFields); // calculate dirty/pristine\n\n var foundDirty = false;\n var dirtyFields = safeFieldKeys.reduce(function (result, key) {\n var dirty = !safeFields[key].isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n\n if (dirty) {\n foundDirty = true;\n result[key] = true;\n }\n\n return result;\n }, {});\n var dirtyFieldsSinceLastSubmit = safeFieldKeys.reduce(function (result, key) {\n // istanbul ignore next\n var nonNullLastSubmittedValues = formState.lastSubmittedValues || {}; // || {} is for flow, but causes branch coverage complaint\n\n if (!safeFields[key].isEqual(getIn(formState.values, key), getIn(nonNullLastSubmittedValues, key))) {\n result[key] = true;\n }\n\n return result;\n }, {});\n formState.pristine = !foundDirty;\n formState.dirtySinceLastSubmit = !!(formState.lastSubmittedValues && Object.values(dirtyFieldsSinceLastSubmit).some(function (value) {\n return value;\n }));\n formState.modifiedSinceLastSubmit = !!(formState.lastSubmittedValues && // Object.values would treat values as mixed (facebook/flow#2221)\n Object.keys(safeFields).some(function (value) {\n return safeFields[value].modifiedSinceLastSubmit;\n }));\n formState.valid = !formState.error && !formState.submitError && !hasAnyError(formState.errors) && !(formState.submitErrors && hasAnyError(formState.submitErrors));\n var nextFormState = convertToExternalFormState(formState);\n\n var _safeFieldKeys$reduce = safeFieldKeys.reduce(function (result, key) {\n result.modified[key] = safeFields[key].modified;\n result.touched[key] = safeFields[key].touched;\n result.visited[key] = safeFields[key].visited;\n return result;\n }, {\n modified: {},\n touched: {},\n visited: {}\n }),\n modified = _safeFieldKeys$reduce.modified,\n touched = _safeFieldKeys$reduce.touched,\n visited = _safeFieldKeys$reduce.visited;\n\n nextFormState.dirtyFields = lastFormState && shallowEqual(lastFormState.dirtyFields, dirtyFields) ? lastFormState.dirtyFields : dirtyFields;\n nextFormState.dirtyFieldsSinceLastSubmit = lastFormState && shallowEqual(lastFormState.dirtyFieldsSinceLastSubmit, dirtyFieldsSinceLastSubmit) ? lastFormState.dirtyFieldsSinceLastSubmit : dirtyFieldsSinceLastSubmit;\n nextFormState.modified = lastFormState && shallowEqual(lastFormState.modified, modified) ? lastFormState.modified : modified;\n nextFormState.touched = lastFormState && shallowEqual(lastFormState.touched, touched) ? lastFormState.touched : touched;\n nextFormState.visited = lastFormState && shallowEqual(lastFormState.visited, visited) ? lastFormState.visited : visited;\n return lastFormState && shallowEqual(lastFormState, nextFormState) ? lastFormState : nextFormState;\n };\n\n var callDebug = function callDebug() {\n return debug && \"development\" !== \"production\" && debug(calculateNextFormState(), Object.keys(state.fields).reduce(function (result, key) {\n result[key] = state.fields[key];\n return result;\n }, {}));\n };\n\n var notifying = false;\n var scheduleNotification = false;\n\n var notifyFormListeners = function notifyFormListeners() {\n if (notifying) {\n scheduleNotification = true;\n } else {\n notifying = true;\n callDebug();\n\n if (!inBatch && !(validationPaused && preventNotificationWhileValidationPaused)) {\n var lastFormState = state.lastFormState;\n var nextFormState = calculateNextFormState();\n\n if (nextFormState !== lastFormState) {\n state.lastFormState = nextFormState;\n notify(state.subscribers, nextFormState, lastFormState, filterFormState);\n }\n }\n\n notifying = false;\n\n if (scheduleNotification) {\n scheduleNotification = false;\n notifyFormListeners();\n }\n }\n };\n\n var beforeSubmit = function beforeSubmit() {\n return Object.keys(state.fields).some(function (name) {\n return state.fields[name].beforeSubmit && state.fields[name].beforeSubmit() === false;\n });\n };\n\n var afterSubmit = function afterSubmit() {\n return Object.keys(state.fields).forEach(function (name) {\n return state.fields[name].afterSubmit && state.fields[name].afterSubmit();\n });\n };\n\n var resetModifiedAfterSubmit = function resetModifiedAfterSubmit() {\n return Object.keys(state.fields).forEach(function (key) {\n return state.fields[key].modifiedSinceLastSubmit = false;\n });\n }; // generate initial errors\n\n\n runValidation(undefined, function () {\n notifyFormListeners();\n });\n var api = {\n batch: function batch(fn) {\n inBatch++;\n fn();\n inBatch--;\n notifyFieldListeners();\n notifyFormListeners();\n },\n blur: function blur(name) {\n var fields = state.fields,\n formState = state.formState;\n var previous = fields[name];\n\n if (previous) {\n // can only blur registered fields\n delete formState.active;\n fields[name] = _extends({}, previous, {\n active: false,\n touched: true\n });\n\n if (validateOnBlur) {\n runValidation(name, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n } else {\n notifyFieldListeners();\n notifyFormListeners();\n }\n }\n },\n change: function change(name, value) {\n var fields = state.fields,\n formState = state.formState;\n\n if (getIn(formState.values, name) !== value) {\n changeValue(state, name, function () {\n return value;\n });\n var previous = fields[name];\n\n if (previous) {\n // only track modified for registered fields\n fields[name] = _extends({}, previous, {\n modified: true,\n modifiedSinceLastSubmit: !!formState.lastSubmittedValues\n });\n }\n\n if (validateOnBlur) {\n notifyFieldListeners();\n notifyFormListeners();\n } else {\n runValidation(name, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n }\n }\n },\n\n get destroyOnUnregister() {\n return !!destroyOnUnregister;\n },\n\n set destroyOnUnregister(value) {\n destroyOnUnregister = value;\n },\n\n focus: function focus(name) {\n var field = state.fields[name];\n\n if (field && !field.active) {\n state.formState.active = name;\n field.active = true;\n field.visited = true;\n notifyFieldListeners();\n notifyFormListeners();\n }\n },\n mutators: mutatorsApi,\n getFieldState: function getFieldState(name) {\n var field = state.fields[name];\n return field && field.lastFieldState;\n },\n getRegisteredFields: function getRegisteredFields() {\n return Object.keys(state.fields);\n },\n getState: function getState() {\n return calculateNextFormState();\n },\n initialize: function initialize(data) {\n var fields = state.fields,\n formState = state.formState;\n\n var safeFields = _extends({}, fields);\n\n var values = typeof data === \"function\" ? data(formState.values) : data;\n\n if (!keepDirtyOnReinitialize) {\n formState.values = values;\n }\n /**\n * Hello, inquisitive code reader! Thanks for taking the time to dig in!\n *\n * The following code is the way it is to allow for non-registered deep\n * field values to be set via initialize()\n */\n // save dirty values\n\n\n var savedDirtyValues = keepDirtyOnReinitialize ? Object.keys(safeFields).reduce(function (result, key) {\n var field = safeFields[key];\n var pristine = field.isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n\n if (!pristine) {\n result[key] = getIn(formState.values, key);\n }\n\n return result;\n }, {}) : {}; // update initalValues and values\n\n formState.initialValues = values;\n formState.values = values; // restore the dirty values\n\n Object.keys(savedDirtyValues).forEach(function (key) {\n formState.values = setIn(formState.values, key, savedDirtyValues[key]) || {};\n });\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n },\n isValidationPaused: function isValidationPaused() {\n return validationPaused;\n },\n pauseValidation: function pauseValidation(preventNotification) {\n if (preventNotification === void 0) {\n preventNotification = true;\n }\n\n validationPaused = true;\n preventNotificationWhileValidationPaused = preventNotification;\n },\n registerField: function registerField(name, subscriber, subscription, fieldConfig) {\n if (subscription === void 0) {\n subscription = {};\n }\n\n if (!state.fieldSubscribers[name]) {\n state.fieldSubscribers[name] = {\n index: 0,\n entries: {}\n };\n }\n\n var index = state.fieldSubscribers[name].index++; // save field subscriber callback\n\n state.fieldSubscribers[name].entries[index] = {\n subscriber: memoize(subscriber),\n subscription: subscription,\n notified: false\n }; // create initial field state if not exists\n\n var field = state.fields[name] || {\n active: false,\n afterSubmit: fieldConfig && fieldConfig.afterSubmit,\n beforeSubmit: fieldConfig && fieldConfig.beforeSubmit,\n data: fieldConfig && fieldConfig.data || {},\n isEqual: fieldConfig && fieldConfig.isEqual || tripleEquals,\n lastFieldState: undefined,\n modified: false,\n modifiedSinceLastSubmit: false,\n name: name,\n touched: false,\n valid: true,\n validateFields: fieldConfig && fieldConfig.validateFields,\n validators: {},\n validating: false,\n visited: false\n }; // Mutators can create a field in order to keep the field states\n // We must update this field when registerField is called afterwards\n\n field.blur = field.blur || function () {\n return api.blur(name);\n };\n\n field.change = field.change || function (value) {\n return api.change(name, value);\n };\n\n field.focus = field.focus || function () {\n return api.focus(name);\n };\n\n state.fields[name] = field;\n var haveValidator = false;\n var silent = fieldConfig && fieldConfig.silent;\n\n var notify = function notify() {\n if (silent && state.fields[name]) {\n notifyFieldListeners(name);\n } else {\n notifyFormListeners();\n notifyFieldListeners();\n }\n };\n\n if (fieldConfig) {\n haveValidator = !!(fieldConfig.getValidator && fieldConfig.getValidator());\n\n if (fieldConfig.getValidator) {\n state.fields[name].validators[index] = fieldConfig.getValidator;\n }\n\n var noValueInFormState = getIn(state.formState.values, name) === undefined;\n\n if (fieldConfig.initialValue !== undefined && (noValueInFormState || getIn(state.formState.values, name) === getIn(state.formState.initialValues, name)) // only initialize if we don't yet have any value for this field\n ) {\n state.formState.initialValues = setIn(state.formState.initialValues || {}, name, fieldConfig.initialValue);\n state.formState.values = setIn(state.formState.values, name, fieldConfig.initialValue);\n runValidation(undefined, notify);\n } // only use defaultValue if we don't yet have any value for this field\n\n\n if (fieldConfig.defaultValue !== undefined && fieldConfig.initialValue === undefined && getIn(state.formState.initialValues, name) === undefined && noValueInFormState) {\n state.formState.values = setIn(state.formState.values, name, fieldConfig.defaultValue);\n }\n }\n\n if (haveValidator) {\n runValidation(undefined, notify);\n } else {\n notify();\n }\n\n return function () {\n var validatorRemoved = false; // istanbul ignore next\n\n if (state.fields[name]) {\n // state.fields[name] may have been removed by a mutator\n validatorRemoved = !!(state.fields[name].validators[index] && state.fields[name].validators[index]());\n delete state.fields[name].validators[index];\n }\n\n var hasFieldSubscribers = !!state.fieldSubscribers[name];\n\n if (hasFieldSubscribers) {\n // state.fieldSubscribers[name] may have been removed by a mutator\n delete state.fieldSubscribers[name].entries[index];\n }\n\n var lastOne = hasFieldSubscribers && !Object.keys(state.fieldSubscribers[name].entries).length;\n\n if (lastOne) {\n delete state.fieldSubscribers[name];\n delete state.fields[name];\n\n if (validatorRemoved) {\n state.formState.errors = setIn(state.formState.errors, name, undefined) || {};\n }\n\n if (destroyOnUnregister) {\n state.formState.values = setIn(state.formState.values, name, undefined, true) || {};\n }\n }\n\n if (!silent) {\n if (validatorRemoved) {\n runValidation(undefined, function () {\n notifyFormListeners();\n notifyFieldListeners();\n });\n } else if (lastOne) {\n // values or errors may have changed\n notifyFormListeners();\n }\n }\n };\n },\n reset: function reset(initialValues) {\n if (initialValues === void 0) {\n initialValues = state.formState.initialValues;\n }\n\n if (state.formState.submitting) {\n state.formState.resetWhileSubmitting = true;\n }\n\n state.formState.submitFailed = false;\n state.formState.submitSucceeded = false;\n delete state.formState.submitError;\n delete state.formState.submitErrors;\n delete state.formState.lastSubmittedValues;\n api.initialize(initialValues || {});\n },\n\n /**\n * Resets all field flags (e.g. touched, visited, etc.) to their initial state\n */\n resetFieldState: function resetFieldState(name) {\n state.fields[name] = _extends({}, state.fields[name], {\n active: false,\n lastFieldState: undefined,\n modified: false,\n touched: false,\n valid: true,\n validating: false,\n visited: false\n });\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n },\n\n /**\n * Returns the form to a clean slate; that is:\n * - Clear all values\n * - Resets all fields to their initial state\n */\n restart: function restart(initialValues) {\n if (initialValues === void 0) {\n initialValues = state.formState.initialValues;\n }\n\n api.batch(function () {\n for (var name in state.fields) {\n api.resetFieldState(name);\n state.fields[name] = _extends({}, state.fields[name], {\n active: false,\n lastFieldState: undefined,\n modified: false,\n modifiedSinceLastSubmit: false,\n touched: false,\n valid: true,\n validating: false,\n visited: false\n });\n }\n\n api.reset(initialValues);\n });\n },\n resumeValidation: function resumeValidation() {\n validationPaused = false;\n preventNotificationWhileValidationPaused = false;\n\n if (validationBlocked) {\n // validation was attempted while it was paused, so run it now\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n }\n\n validationBlocked = false;\n },\n setConfig: function setConfig(name, value) {\n switch (name) {\n case \"debug\":\n debug = value;\n break;\n\n case \"destroyOnUnregister\":\n destroyOnUnregister = value;\n break;\n\n case \"initialValues\":\n api.initialize(value);\n break;\n\n case \"keepDirtyOnReinitialize\":\n keepDirtyOnReinitialize = value;\n break;\n\n case \"mutators\":\n mutators = value;\n\n if (value) {\n Object.keys(mutatorsApi).forEach(function (key) {\n if (!(key in value)) {\n delete mutatorsApi[key];\n }\n });\n Object.keys(value).forEach(function (key) {\n mutatorsApi[key] = getMutatorApi(key);\n });\n } else {\n Object.keys(mutatorsApi).forEach(function (key) {\n delete mutatorsApi[key];\n });\n }\n\n break;\n\n case \"onSubmit\":\n onSubmit = value;\n break;\n\n case \"validate\":\n validate = value;\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n break;\n\n case \"validateOnBlur\":\n validateOnBlur = value;\n break;\n\n default:\n throw new Error(\"Unrecognised option \" + name);\n }\n },\n submit: function submit() {\n var formState = state.formState;\n\n if (formState.submitting) {\n return;\n }\n\n delete formState.submitErrors;\n delete formState.submitError;\n formState.lastSubmittedValues = _extends({}, formState.values);\n\n if (hasSyncErrors()) {\n markAllFieldsTouched();\n resetModifiedAfterSubmit();\n state.formState.submitFailed = true;\n notifyFormListeners();\n notifyFieldListeners();\n return; // no submit for you!!\n }\n\n var asyncValidationPromisesKeys = Object.keys(asyncValidationPromises);\n\n if (asyncValidationPromisesKeys.length) {\n // still waiting on async validation to complete...\n Promise.all(asyncValidationPromisesKeys.map(function (key) {\n return asyncValidationPromises[Number(key)];\n })).then(api.submit, console.error);\n return;\n }\n\n var submitIsBlocked = beforeSubmit();\n\n if (submitIsBlocked) {\n return;\n }\n\n var resolvePromise;\n var completeCalled = false;\n\n var complete = function complete(errors) {\n formState.submitting = false;\n var resetWhileSubmitting = formState.resetWhileSubmitting;\n\n if (resetWhileSubmitting) {\n formState.resetWhileSubmitting = false;\n }\n\n if (errors && hasAnyError(errors)) {\n formState.submitFailed = true;\n formState.submitSucceeded = false;\n formState.submitErrors = errors;\n formState.submitError = errors[FORM_ERROR];\n markAllFieldsTouched();\n } else {\n if (!resetWhileSubmitting) {\n formState.submitFailed = false;\n formState.submitSucceeded = true;\n }\n\n afterSubmit();\n }\n\n notifyFormListeners();\n notifyFieldListeners();\n completeCalled = true;\n\n if (resolvePromise) {\n resolvePromise(errors);\n }\n\n return errors;\n };\n\n formState.submitting = true;\n formState.submitFailed = false;\n formState.submitSucceeded = false;\n formState.lastSubmittedValues = _extends({}, formState.values);\n resetModifiedAfterSubmit(); // onSubmit is either sync, callback or async with a Promise\n\n var result = onSubmit(formState.values, api, complete);\n\n if (!completeCalled) {\n if (result && isPromise(result)) {\n // onSubmit is async with a Promise\n notifyFormListeners(); // let everyone know we are submitting\n\n notifyFieldListeners(); // notify fields also\n\n return result.then(complete, function (error) {\n complete();\n throw error;\n });\n } else if (onSubmit.length >= 3) {\n // must be async, so we should return a Promise\n notifyFormListeners(); // let everyone know we are submitting\n\n notifyFieldListeners(); // notify fields also\n\n return new Promise(function (resolve) {\n resolvePromise = resolve;\n });\n } else {\n // onSubmit is sync\n complete(result);\n }\n }\n },\n subscribe: function subscribe(subscriber, subscription) {\n if (!subscriber) {\n throw new Error(\"No callback given.\");\n }\n\n if (!subscription) {\n throw new Error(\"No subscription provided. What values do you want to listen to?\");\n }\n\n var memoized = memoize(subscriber);\n var subscribers = state.subscribers;\n var index = subscribers.index++;\n subscribers.entries[index] = {\n subscriber: memoized,\n subscription: subscription,\n notified: false\n };\n var nextFormState = calculateNextFormState();\n notifySubscriber(memoized, subscription, nextFormState, nextFormState, filterFormState, true);\n return function () {\n delete subscribers.entries[index];\n };\n }\n };\n return api;\n}\n\nexport { ARRAY_ERROR, FORM_ERROR, configOptions, createForm, fieldSubscriptionItems, formSubscriptionItems, getIn, setIn, version };\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\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 baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\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","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\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 return obj;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\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);","import * as React from 'react';\nimport { generateUID } from './uid';\nexport const createSource = (prefix = '') => ({\n value: 1,\n prefix: prefix,\n uid: generateUID(),\n});\nexport const counter = createSource();\nexport const source = React.createContext(createSource());\nexport const getId = (source) => source.value++;\nexport const getPrefix = (source) => (source ? source.prefix : '');\n","/**\n * generates a UID factory\n * @internal\n * @example\n * const uid = generateUID();\n * uid(object) = 1;\n * uid(object) = 1;\n * uid(anotherObject) = 2;\n */\nexport const generateUID = () => {\n let counter = 1;\n const map = new WeakMap();\n /**\n * @borrows {uid}\n */\n const uid = (item, index) => {\n if (typeof item === 'number' || typeof item === 'string') {\n return index ? `idx-${index}` : `val-${item}`;\n }\n if (!map.has(item)) {\n map.set(item, counter++);\n return uid(item);\n }\n return 'uid' + map.get(item);\n };\n return uid;\n};\n/**\n * @name uid\n * returns an UID associated with {item}\n * @param {Object} item - object to generate UID for\n * @param {Number} index, a fallback index\n * @example\n * uid(object) == 1;\n * uid(object) == 1;\n * uid(anotherObject) == 2;\n * uid(\"not object\", 42) == 42\n *\n * @see {@link useUID}\n */\nexport const uid = generateUID();\n","import { defineMessages } from 'react-intl';\n\nexport const messages = defineMessages({\n atlassianLogoLabel: {\n id: 'SiteSelectorModal.atlassianLogoLabel',\n defaultMessage: 'Atlassian logo'\n },\n cancel: {\n id: 'SiteSelectorModal.cancel',\n defaultMessage: 'Cancel'\n },\n createPage: {\n id: 'SiteSelectorModal.createPage',\n defaultMessage: 'Create page'\n },\n selectASite: {\n id: 'SiteSelectorModal.selectASite',\n defaultMessage: 'Select a site'\n },\n startASite: {\n id: 'SiteSelectorModal.startASite',\n defaultMessage: 'Start a new site'\n },\n switchAccount: {\n id: 'SiteSelectorModal.switchAccount',\n defaultMessage: 'Sign in with a different account'\n }\n});\n","import { __makeTemplateObject } from \"tslib\";\nimport styled, { css } from 'styled-components';\nimport { B200, B75, background, backgroundActive, backgroundHover, DN300, DN600, N200, N900, } from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nimport { borderRadius, gridSize } from '@atlaskit/theme/constants';\nvar focusBorderColor = themed({ light: B200, dark: B75 });\nvar textColors = themed({ light: N900, dark: DN600 });\nvar subtleTextColors = themed({ light: N200, dark: DN300 });\nexport function getBackgroundColor(_a) {\n var backgroundColor = _a.backgroundColor, href = _a.href, isActive = _a.isActive, isHover = _a.isHover, isSelected = _a.isSelected, onClick = _a.onClick;\n var isInteractive = href || onClick;\n var themedBackgroundColor = backgroundColor || background;\n // Interaction: Hover\n if (isInteractive && (isHover || isSelected)) {\n themedBackgroundColor = backgroundHover;\n }\n // Interaction: Active\n if (isInteractive && isActive) {\n themedBackgroundColor = backgroundActive;\n }\n return themedBackgroundColor;\n}\nexport function getStyles(_a) {\n var isInteractive = _a.isInteractive, isActive = _a.isActive, isDisabled = _a.isDisabled, isFocus = _a.isFocus;\n var borderColor = 'transparent';\n var cursor = 'auto';\n var opacity = 1;\n var outline = 'none';\n var pointerEvents = 'auto';\n // Interaction: Focus\n if (isInteractive && isFocus && !isActive) {\n outline = 'none';\n borderColor = focusBorderColor;\n }\n // Disabled\n if (isDisabled) {\n cursor = 'not-allowed';\n opacity = 0.75;\n pointerEvents = 'none';\n }\n // Interactive\n if (isInteractive) {\n cursor = 'pointer';\n }\n return css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n align-items: center;\\n background-color: \", \";\\n border-radius: \", \"px;\\n border: 2px solid \", \";\\n box-sizing: border-box;\\n color: inherit;\\n cursor: \", \";\\n display: flex;\\n font-size: inherit;\\n font-style: normal;\\n font-weight: normal;\\n line-height: 1;\\n opacity: \", \";\\n outline: \", \";\\n margin: 0;\\n padding: \", \"px;\\n pointer-events: \", \";\\n text-align: left;\\n text-decoration: none;\\n width: 100%;\\n \"], [\"\\n align-items: center;\\n background-color: \", \";\\n border-radius: \", \"px;\\n border: 2px solid \", \";\\n box-sizing: border-box;\\n color: inherit;\\n cursor: \", \";\\n display: flex;\\n font-size: inherit;\\n font-style: normal;\\n font-weight: normal;\\n line-height: 1;\\n opacity: \", \";\\n outline: \", \";\\n margin: 0;\\n padding: \", \"px;\\n pointer-events: \", \";\\n text-align: left;\\n text-decoration: none;\\n width: 100%;\\n \"])), getBackgroundColor, borderRadius, borderColor, cursor, opacity, outline, gridSize() * 2, pointerEvents);\n}\nvar truncateText = function (p) {\n return p.truncate && css(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n overflow-x: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \"], [\"\\n overflow-x: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \"])));\n};\nexport var Content = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \"\\n flex: 1 1 100%;\\n line-height: 1.4;\\n padding-left: \", \"px;\\n\"], [\"\\n \",\n \"\\n flex: 1 1 100%;\\n line-height: 1.4;\\n padding-left: \", \"px;\\n\"])), function (truncate) {\n return truncate && css(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-width: 100%;\\n min-width: 0;\\n \"], [\"\\n max-width: 100%;\\n min-width: 0;\\n \"])));\n}, gridSize);\nexport var PrimaryText = withTheme(styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n \", \" color: \", \";\\n\"], [\"\\n \", \" color: \", \";\\n\"])), truncateText, textColors));\nexport var SecondaryText = withTheme(styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n \", \" color: \", \";\\n font-size: 0.85em;\\n\"], [\"\\n \", \" color: \", \";\\n font-size: 0.85em;\\n\"])), truncateText, subtleTextColors));\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=AvatarItem.js.map","import { getStyles } from '../styled/AvatarItem';\nimport styledCache from './styledCache';\nexport default styledCache(getStyles);\n//# sourceMappingURL=getStyledAvatarItem.js.map","import { createTheme } from '@atlaskit/theme/components';\nexport var ThemeItem = createTheme(function () {\n return {\n backgroundColor: '',\n };\n});\n//# sourceMappingURL=item.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React, { cloneElement, Component, } from 'react';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { getProps, getStyledAvatarItem } from '../helpers';\nimport { withPseudoState } from '../hoc';\nimport { Content, getBackgroundColor, PrimaryText, SecondaryText, } from '../styled/AvatarItem';\nimport { ThemeItem } from '../theme/item';\nimport { omit } from '../utils';\nimport { propsOmittedFromClickData } from './constants';\nvar AvatarItem = /** @class */ (function (_super) {\n __extends(AvatarItem, _super);\n function AvatarItem() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n if (_this.node)\n _this.node.blur();\n };\n _this.focus = function () {\n if (_this.node)\n _this.node.focus();\n };\n // disallow click on disabled avatars\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 onClick({ item: item, event: event });\n };\n _this.setNode = function (ref) {\n _this.node = ref;\n };\n return _this;\n }\n AvatarItem.prototype.render = function () {\n var _this = this;\n var _a = this.props, avatar = _a.avatar, enableTextTruncate = _a.enableTextTruncate, primaryText = _a.primaryText, secondaryText = _a.secondaryText, href = _a.href, onClick = _a.onClick;\n // distill props from context, props, and state\n var enhancedProps = getProps(this);\n // provide element interface based on props\n var StyledComponent = getStyledAvatarItem(this.props);\n return (React.createElement(GlobalTheme.Consumer, null, function (_a) {\n var mode = _a.mode;\n return (React.createElement(ThemeItem.Provider, { value: _this.props.theme },\n React.createElement(ThemeItem.Consumer, null, function (tokens) {\n // maintain the illusion of a mask around presence/status\n var borderColor = getBackgroundColor(__assign(__assign(__assign({}, _this.props), tokens), { mode: mode }));\n return (React.createElement(StyledComponent, __assign({ innerRef: _this.setNode }, enhancedProps, { isInteractive: !!href || !!onClick, onClick: _this.guardedClick }),\n React.isValidElement(avatar)\n ? cloneElement(avatar, { borderColor: borderColor })\n : null,\n React.createElement(Content, { truncate: enableTextTruncate },\n React.createElement(PrimaryText, { truncate: enableTextTruncate }, primaryText),\n React.createElement(SecondaryText, { truncate: enableTextTruncate }, secondaryText))));\n })));\n }));\n };\n AvatarItem.defaultProps = {\n enableTextTruncate: true,\n };\n return AvatarItem;\n}(Component));\nexport default withPseudoState(AvatarItem);\n//# sourceMappingURL=AvatarItem.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 styled from 'styled-components';\n\nimport { getInitials } from '../utils/initials';\n\nimport Avatar, { AvatarItem } from '@atlaskit/avatar';\nimport { colors, fontFamily } from '@atlaskit/theme';\n\nexport type AccountDetailsProps = {\n readonly userName: string;\n readonly userEmail: string;\n readonly avatarSrc?: string;\n};\n\nexport function AccountDetails({\n userName,\n userEmail,\n avatarSrc\n}: AccountDetailsProps) {\n return (\n \n ) : (\n (\n
\n {getInitials(userName)}\n
\n )}\n />\n )\n }\n key={userEmail}\n primaryText={userName}\n secondaryText={userEmail}\n />\n );\n}\n\nconst Initials = styled.span`\n display: flex;\n align-items: center;\n justify-content: center;\n\n font-family: ${fontFamily};\n font-size: 10px;\n line-height: 10px;\n color: ${colors.N500};\n\n width: 100%;\n height: 100%;\n background-color: ${colors.N40};\n border-radius: 50%;\n`;\n","export function getInitials(fullName: string): string {\n return fullName.split(/[^\\w]+/).reduce((result, part) => {\n if (result.length < 3 && part.length > 0) {\n return result + part[0].toUpperCase();\n } else {\n return result;\n }\n }, '');\n}\n","/**\n * These are the default parameters for LogoProps if the user does not specify values.\n */\nexport const defaultLogoParams = {\n iconColor: 'inherit',\n iconGradientStart: 'inherit',\n iconGradientStop: 'inherit',\n label: '',\n size: 'medium',\n textColor: 'currentColor'\n};\n\n/**\n * The props for the that takes the svg and turns it into a component.\n */\n\nexport const sizes = {\n xsmall: 16,\n small: 24,\n medium: 32,\n large: 40,\n xlarge: 48\n};\n\n/**\n * In order to pass linting rules, these props were renamed to be more descriptive i.e. props renamed to LogoProps and\n * defaultParams to defaultLogoParams. However, this is a breaking change as it is a file with public entry points. The code\n * below is here to keep Logo backwards compatible.\n * See the ticket here: https://product-fabric.atlassian.net/browse/DSP-4086.\n *\n * Note that some consumers are accessing this using like so: import { Props } from '@atlaskit/logo/constants', this should\n * still work despite `LogoProps` being in a different types.tsx file.\n *\n */\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-175 Internal documentation for deprecation (no external access)} This has been renamed, please import `LogoProps` instead.\n */\n// eslint-disable-next-line @repo/internal/react/consistent-types-definitions\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-176 Internal documentation for deprecation (no external access)} This has been renamed, please import `defaultLogoParams` instead.\n */\nexport const DefaultProps = defaultLogoParams;","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;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\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', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\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})`;","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { sizes } from './constants';\nconst CSS_VAR_COLOR = '--logo-color';\nconst CSS_VAR_FILL = '--logo-fill';\nconst baseWrapperStyles = css({\n display: 'inline-block',\n position: 'relative',\n color: `var(${CSS_VAR_COLOR})`,\n fill: `var(${CSS_VAR_FILL})`,\n lineHeight: 1,\n userSelect: 'none',\n whiteSpace: 'normal',\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n height: '100%',\n fill: 'inherit'\n }\n});\nconst stopColorStyles = css({\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n stop: {\n stopColor: 'currentColor'\n }\n});\nconst sizeStyles = Object.entries(sizes).reduce((acc, [key, val]) => {\n acc[key] = css({\n height: `${val}px`\n });\n return acc;\n}, {});\n\n/**\n * __Wrapper__\n *\n * An internal component used by `@atlaskit/logo` to render logo SVGs with correct styles.\n */\nconst Wrapper = ({\n label,\n svg,\n size,\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n testId: userDefinedTestId,\n ...rest\n}) => {\n const shouldApplyStopColor = iconGradientStart === 'inherit' && iconGradientStop === 'inherit' && appearance === undefined;\n const testId = userDefinedTestId && `${userDefinedTestId}--wrapper`;\n return jsx(\"span\", _extends({\n css: [baseWrapperStyles, shouldApplyStopColor && stopColorStyles, size && sizeStyles[size]],\n \"data-testid\": testId,\n style: {\n [CSS_VAR_COLOR]: iconColor,\n [CSS_VAR_FILL]: textColor\n },\n \"aria-label\": label ? label : undefined,\n role: label ? 'img' : undefined,\n dangerouslySetInnerHTML: {\n __html: svg\n }\n // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n }, rest));\n};\nexport default Wrapper;","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n // We treat the word \"Atlassian\" differently to normal product logos, it has a bold brand look\n atlassianLogoTextColor: textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Atlassian logo__\n *\n * The Atlassian logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianLogo = ({\n appearance,\n label = 'Atlassian',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport { B200, B400, N0, N100, N400, N50, N600, N800 } from '@atlaskit/theme/colors';\n// TODO: This is where we need to add tokens for all appearance color values\nexport const getColorsFromAppearance = appearance => {\n let iconGradientStart, iconGradientStop, iconColor, textColor, atlassianLogoTextColor;\n switch (appearance) {\n case 'brand':\n iconGradientStart = B400;\n iconGradientStop = B200;\n iconColor = B200;\n textColor = `var(--ds-text, ${N800})`;\n // This is only used for the top level Atlassian wordmark (see AtlassianLogo\n // or AtlassianStartLogo for example), and is only different for the Brand\n // appearance - a bold brand color. For other appearances,\n // atlassianLogoTextColor is the same as textColor.\n atlassianLogoTextColor = B400;\n break;\n case 'neutral':\n iconGradientStart = N600;\n iconGradientStop = N100;\n iconColor = N100;\n textColor = N400;\n atlassianLogoTextColor = N400;\n break;\n case 'inverse':\n iconGradientStart = N50;\n iconGradientStop = N0;\n iconColor = N0;\n textColor = `var(--ds-text-inverse, ${N0})`;\n atlassianLogoTextColor = `var(--ds-text-inverse, ${N0})`;\n break;\n }\n return {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n atlassianLogoTextColor\n };\n};","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport { B200, B400, N700 } from '@atlaskit/theme/colors';\n\nimport { messages } from '../messages';\n\nexport function DefaultHeader() {\n return (\n }\n />\n );\n}\n","/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nconst formFooterWrapperStyles = css({\n display: 'flex',\n marginTop: \"var(--ds-space-300, 24px)\",\n justifyContent: 'flex-end'\n});\nconst justifyContentStyles = css({\n justifyContent: 'flex-start'\n});\n\n/**\n * __Form footer__\n *\n * A form footer has the content to be shown at the bottom of the form. This is usually the submit button.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/form/docs/layout)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/form/docs/layout)\n * - [Usage](https://atlaskit.atlassian.com/packages/design-system/form/docs/layout)\n */\nexport default function FormFooter({\n align = 'end',\n children\n}) {\n return jsx(\"footer\", {\n css: [formFooterWrapperStyles, align === 'start' && justifyContentStyles]\n }, children);\n}","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nimport Button from '@atlaskit/button';\nimport ShortcutIcon from '@atlaskit/icon/glyph/shortcut';\n\nimport { FormFooter } from '@atlaskit/form';\n\nimport { messages } from '../messages';\n\nexport type SiteSelectorFormFooterProps = {\n readonly canSubmit: boolean;\n readonly onSwitchAccountClick: () => void;\n readonly onCancelClick: () => void;\n readonly fullScreenView?: boolean;\n};\n\nexport function SiteSelectorFormFooter({\n canSubmit,\n onSwitchAccountClick,\n onCancelClick,\n fullScreenView\n}: SiteSelectorFormFooterProps) {\n return (\n \n \n \n onSwitchAccountClick()}\n >\n \n \n \n \n {fullScreenView !== true ? (\n
\n onCancelClick()}\n >\n \n \n \n }\n >\n \n \n \n
\n ) : (\n \n )}\n
\n
\n
\n );\n}\n\nconst ActionsContainer = styled.div`\n margin-top: 8px;\n position: relative;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst LeftActionsContainer = styled.div`\n flex-shrink: 0;\n`;\n\nconst RightActionsContainer = styled.div`\n flex-shrink: 0;\n flex-grow: 1;\n text-align: right;\n & > :first-child {\n margin-right: 4px;\n }\n`;\n\nconst PrimaryContainer = styled.span`\n margin-left: 4px;\n`;\n","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 styled, { css } from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nconst disabledColor = themed({ light: colors.N80, dark: colors.N80 });\nexport const Label = styled.label `\n align-items: flex-start;\n color: ${(props) => props.isDisabled ? disabledColor(props) : colors.text(props)};\n ${({ isDisabled }) => isDisabled\n ? css `\n cursor: not-allowed;\n `\n : ''};\n display: flex;\n`;\nconst borderColor = themed({ light: colors.N40, dark: colors.DN80 });\nconst focusBorder = css `\n stroke: ${themed({ light: colors.B100, dark: colors.B75 })};\n stroke-width: 2px;\n`;\nconst invalidBorder = css `\n stroke: ${themed({ light: colors.R300, dark: colors.R300 })};\n stroke-width: 2px;\n`;\nconst activeBorder = css `\n stroke: currentColor;\n stroke-width: 2px;\n`;\nconst checkedBorder = css `\n stroke: currentColor;\n stroke-width: 2px;\n`;\nconst border = css `\n stroke: ${({ isHovered, ...rest }) => isHovered\n ? themed({ light: colors.N40, dark: colors.DN200 })(rest)\n : borderColor(rest)};\n stroke-width: 2px;\n`;\nconst getBorderColor = (props) => {\n if (props.isDisabled)\n return '';\n if (props.isFocused)\n return focusBorder;\n if (props.isActive)\n return activeBorder;\n if (props.isInvalid)\n return invalidBorder;\n if (props.isChecked)\n return checkedBorder;\n return border;\n};\nconst getDotColor = (props) => {\n const { isChecked, isDisabled, isActive, ...rest } = props;\n let color = themed({ light: colors.N10, dark: colors.DN10 });\n if (isDisabled && isChecked) {\n color = themed({ light: colors.N70, dark: colors.DN90 });\n }\n else if (isActive && isChecked && !isDisabled) {\n color = themed({ light: colors.B400, dark: colors.DN10 });\n }\n else if (!isChecked) {\n color = themed({ light: 'transparent', dark: 'transparent' });\n }\n return color(rest);\n};\nconst getCircleColor = (props) => {\n const { isChecked, isDisabled, isActive, isHovered, isInvalid, ...rest } = props;\n // set the default\n let color = themed({ light: colors.N10, dark: colors.DN10 });\n if (isDisabled) {\n color = themed({ light: colors.N20, dark: colors.DN10 });\n }\n else if (isActive) {\n color = themed({ light: colors.B50, dark: colors.B200 });\n }\n else if (isHovered && isChecked) {\n color = themed({ light: colors.B300, dark: colors.B75 });\n }\n else if (isHovered) {\n color = themed({ light: colors.N30, dark: colors.DN30 });\n }\n else if (isChecked) {\n color = themed({\n light: colors.B400,\n dark: isInvalid ? colors.DN10 : colors.B400,\n });\n }\n return color(rest);\n};\nexport const LabelText = styled.div `\n padding: 2px 4px;\n`;\nexport const IconWrapper = styled.span `\n line-height: 0;\n flex-shrink: 0;\n color: ${getCircleColor};\n fill: ${getDotColor};\n transition: all 0.2s ease-in-out;\n\n /* This is adding a property to the inner svg, to add a border to the radio */\n & circle:first-of-type {\n transition: stroke 0.2s ease-in-out;\n ${getBorderColor};\n }\n`;\n//# sourceMappingURL=Radio.js.map","import React, { Component } from 'react';\nimport Icon from '@atlaskit/icon/glyph/radio';\nimport { IconWrapper } from './styled/Radio';\nexport default class RadioIcon extends Component {\n render() {\n const { isActive, isChecked, isDisabled, isFocused, isHovered, isInvalid, } = this.props;\n return (React.createElement(IconWrapper, { isActive: isActive, isChecked: isChecked, isDisabled: isDisabled, isFocused: isFocused, isHovered: isHovered, isInvalid: isInvalid },\n React.createElement(Icon, { label: \"\", primaryColor: \"inherit\", secondaryColor: \"inherit\" })));\n }\n}\n//# sourceMappingURL=RadioIcon.js.map","import styled from 'styled-components';\nexport const RadioInputWrapper = styled.div `\n display: flex;\n flex-shrink: 0;\n position: relative;\n`;\nexport const HiddenInput = styled.input `\n position: absolute;\n top: 50%;\n left: 50%;\n padding: 0;\n margin: 0;\n transform: translate(-50%, -50%);\n opacity: 0;\n`;\n//# sourceMappingURL=RadioInput.js.map","import React, { Component } from 'react';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport RadioIcon from './RadioIcon';\nimport { Label, LabelText } from './styled/Radio';\nimport { HiddenInput, RadioInputWrapper } from './styled/RadioInput';\nimport { name as packageName, version as packageVersion } from './version.json';\nclass Radio extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n isHovered: false,\n isFocused: false,\n isActive: false,\n isMouseDown: false,\n };\n this.onBlur = event => {\n this.setState({\n // onBlur is called after onMouseDown if the checkbox was focused, however\n // in this case on blur is called immediately after, and we need to check\n // whether the mouse is down.\n isActive: this.state.isMouseDown && this.state.isActive,\n isFocused: false,\n });\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n this.onFocus = event => {\n this.setState({ isFocused: true });\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n this.onMouseLeave = event => {\n this.setState({ isActive: false, isHovered: false });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(event);\n }\n };\n this.onMouseEnter = event => {\n this.setState({ isHovered: true });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(event);\n }\n };\n this.onMouseUp = event => {\n this.setState({ isActive: false, isMouseDown: false });\n if (this.props.onMouseUp) {\n this.props.onMouseUp(event);\n }\n };\n this.onMouseDown = event => {\n this.setState({ isActive: true, isMouseDown: true });\n if (this.props.onMouseDown) {\n this.props.onMouseDown(event);\n }\n };\n }\n render() {\n const { ariaLabel, isDisabled, isRequired, isInvalid, isChecked, label, name, onChange, onInvalid, value, testId, ...rest } = this.props;\n const { isFocused, isHovered, isActive } = this.state;\n return (React.createElement(Label, { isDisabled: isDisabled, onMouseDown: this.onMouseDown, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onMouseUp: this.onMouseUp, \"data-testid\": testId && `${testId}--radio-label` },\n React.createElement(RadioInputWrapper, null,\n React.createElement(HiddenInput, Object.assign({ \"aria-label\": ariaLabel, checked: isChecked, disabled: isDisabled, name: name, onChange: onChange, onBlur: this.onBlur, onInvalid: onInvalid, onFocus: this.onFocus, required: isRequired, type: \"radio\", value: value }, rest, { \"data-testid\": testId && `${testId}--hidden-radio` })),\n React.createElement(RadioIcon, { isActive: isActive, isChecked: isChecked, isDisabled: isDisabled, isFocused: isFocused, isHovered: isHovered, isInvalid: isInvalid })),\n label ? React.createElement(LabelText, null, label) : null));\n }\n}\nRadio.defaultProps = {\n isDisabled: false,\n isInvalid: false,\n isChecked: false,\n};\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport { Radio as RadioWithoutAnalytics };\nexport default withAnalyticsContext({\n componentName: 'radio',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onChange: createAndFireEventOnAtlaskit({\n action: 'changed',\n actionSubject: 'radio',\n attributes: {\n componentName: 'radio',\n packageName,\n packageVersion,\n },\n }),\n})(Radio));\n//# sourceMappingURL=Radio.js.map","import React, { Component, Fragment, } from 'react';\nimport Radio from './Radio';\nexport default class RadioGroup extends Component {\n constructor(props) {\n super(props);\n this.getProp = (key) => {\n return this.props[key] ? this.props[key] : this.state[key];\n };\n this.onChange = event => {\n this.setState({\n value: event.currentTarget.value,\n });\n this.props.onChange(event);\n };\n this.buildOptions = () => {\n const { options, isDisabled, isRequired, onInvalid, name } = this.props;\n const value = this.getProp('value');\n if (!options.length)\n return [];\n return options.map(({ testId, ...optionProps }, index) => {\n if (typeof isDisabled !== 'undefined') {\n optionProps.isDisabled = isDisabled;\n }\n if (value !== null && optionProps.value === value) {\n optionProps.isChecked = true;\n }\n return (React.createElement(Radio, Object.assign({}, optionProps, { name: name || optionProps.name, key: index, onChange: this.onChange, onInvalid: onInvalid, isRequired: isRequired, testId: testId })));\n });\n };\n this.state = {\n value: this.props.value !== undefined\n ? this.props.value\n : this.props.defaultValue,\n };\n }\n render() {\n const options = this.buildOptions();\n return React.createElement(Fragment, null, options);\n }\n}\nRadioGroup.defaultProps = {\n onChange: () => { },\n options: [],\n};\n//# sourceMappingURL=RadioGroup.js.map","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { Field } from '@atlaskit/form';\nimport { RadioGroup } from '@atlaskit/radio';\nimport { OptionsPropType } from '@atlaskit/radio/types';\n\nimport { messages } from '../messages';\n\nexport type SiteSelectorRadioGroupProps = {\n readonly sites: string[];\n\n readonly onSiteChanged: () => void;\n};\n\nexport type SiteSelectorRadioGroupState = {\n fieldName: string;\n radioOptions: OptionsPropType;\n selectedSite: string | number | undefined;\n};\n\nexport class SiteSelectorRadioGroup extends React.Component<\n SiteSelectorRadioGroupProps,\n SiteSelectorRadioGroupState\n> {\n constructor(props: SiteSelectorRadioGroupProps) {\n super(props);\n\n const { sites } = this.props;\n\n const fieldName = 'site';\n const radioOptions = this.getRadioOptions(sites, fieldName);\n const defaultValue = radioOptions[0].value;\n\n this.state = {\n fieldName,\n radioOptions,\n selectedSite: defaultValue!\n };\n }\n\n getRadioOptions = (sites: string[], fieldName: string) => {\n const radioOptions: OptionsPropType = sites.map((site) => {\n // HOT-101715 fixes\n const { hostname: originalHostname, searchParams } = new URL(site);\n let hostname = originalHostname;\n try {\n const continueVal = searchParams.get('continue');\n hostname = continueVal\n ? new URL(continueVal).hostname\n : originalHostname;\n } catch {}\n return {\n name: fieldName,\n value: site,\n label: hostname\n };\n });\n\n // Include option to \"Start a new site\"\n radioOptions.push({\n name: fieldName,\n value: '',\n label: \n });\n\n return radioOptions;\n };\n\n onValueChange: React.ChangeEventHandler = (\n event: React.ChangeEvent\n ) => {\n this.props.onSiteChanged();\n\n // In our custom onChange handler, we need to manage the RadioGroup state in our component's state\n const newValue = event.currentTarget.getAttribute('value');\n const newSiteSelected = newValue ? newValue : undefined;\n\n this.setState({ selectedSite: newSiteSelected });\n };\n\n render() {\n const { fieldName, radioOptions, selectedSite } = this.state;\n\n return (\n }\n defaultValue={selectedSite}\n >\n {({ fieldProps }: { fieldProps: object }) => (\n \n )}\n \n );\n }\n}\n","import React, { Component } from 'react';\n\nimport { SiteSelectorFormFooter } from './site-selector-form-footer';\nimport { SiteSelectorRadioGroup } from './site-selector-radio-group';\n\nimport Form from '@atlaskit/form';\n\nexport type SiteSelectorFormProps = {\n readonly sites: string[];\n\n readonly onNewSiteSelected: () => void;\n readonly onSiteSelected: (site: string) => void;\n readonly onSiteChanged: () => void;\n readonly onSwitchAccountClick: () => void;\n readonly onCancelClick: () => void;\n readonly fullScreenView?: boolean;\n};\n\nexport class SiteSelectorForm extends Component {\n public handleFormSubmit = (data: FormData) => {\n const { onNewSiteSelected, onSiteSelected } = this.props;\n\n if (!data.site || data.site === '') {\n onNewSiteSelected();\n } else {\n onSiteSelected(data.site);\n }\n };\n\n public renderFormContents = (\n formProps: Record,\n submitting: boolean\n ) => {\n const {\n sites,\n onSwitchAccountClick,\n onCancelClick,\n onSiteChanged,\n fullScreenView\n } = this.props;\n\n return (\n
\n \n \n \n );\n };\n\n public render() {\n return (\n
\n {({ formProps, submitting }: FormProps) =>\n this.renderFormContents(formProps, submitting)\n }\n
\n );\n }\n}\n\nexport type FormData = {\n readonly site: string;\n};\n\nexport type FormProps = {\n readonly formProps: Record;\n readonly submitting: boolean;\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { AccountDetails } from './components/account-details';\nimport { DefaultHeader } from './components/default-header';\nimport { SiteSelectorForm } from './components/site-selector-form';\n\nimport { fontFamily } from '@atlaskit/theme';\n\nexport type SiteSelectorViewProps = {\n readonly userName: string;\n readonly userEmail: string;\n readonly sites: string[];\n\n readonly header?: React.ReactNode;\n\n readonly onNewSiteSelected: () => void;\n readonly onSiteSelected: (site: string) => void;\n readonly onSiteChanged: () => void;\n readonly onSwitchAccountClick: () => void;\n readonly onCancelClick: () => void;\n\n readonly avatarSrc?: string;\n readonly fullScreenView?: boolean;\n};\n\nexport function SiteSelectorView({\n userName,\n userEmail,\n sites,\n avatarSrc,\n header,\n onNewSiteSelected,\n onSiteSelected,\n onSwitchAccountClick,\n onCancelClick,\n onSiteChanged,\n fullScreenView\n}: SiteSelectorViewProps) {\n return (\n \n
{header !== undefined ? header : }
\n \n \n \n \n \n \n
\n );\n}\n\nconst RootContainer = styled.div`\n font-family: ${fontFamily};\n`;\n\nconst Header = styled.div`\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst AvatarContainer = styled.div`\n margin: 20px 0px;\n`;\n\nconst SitesContainer = styled.div``;\n","import React from 'react';\nconst { Consumer, Provider } = React.createContext({\n isOpen: true,\n onExited: () => { },\n});\n// checks if children exist and are truthy\nconst hasChildren = (children) => React.Children.count(children) > 0 &&\n React.Children.map(children, child => !!child).filter(Boolean).length > 0;\nclass Transition extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n currentChildren: undefined,\n };\n this.onExited = () => {\n this.setState({\n currentChildren: this.props.children,\n });\n };\n }\n static getDerivedStateFromProps(props, state) {\n const { currentChildren: previousChildren } = state;\n const exiting = hasChildren(previousChildren) && !hasChildren(props.children);\n return {\n currentChildren: exiting ? previousChildren : props.children,\n };\n }\n render() {\n return (React.createElement(Provider, { value: {\n onExited: this.onExited,\n isOpen: hasChildren(this.props.children),\n } }, this.state.currentChildren));\n }\n}\nexport const ModalTransitionConsumer = Consumer;\nexport default Transition;\n//# sourceMappingURL=ModalTransition.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 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","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","import * as React from 'react';\nimport { counter, getId, getPrefix } from './context';\n// --------------------------------------------\nconst prefixId = (id, prefix, name) => {\n const uid = prefix + id;\n return String(name ? name(uid) : uid);\n};\n/**\n * @deprecated\n * UID in form of renderProps (not SSR friendly)\n * @see https://github.com/thearnica/react-uid#react-components\n * @example\n * // get UID to connect label to input\n * \n * {(id)} => \n *\n * // get uid to generate uid for a keys in a list\n * \n * {(, uid)} => items.map(item =>
  • )}\n * \n */\nexport class UID extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n quartz: this.props.idSource || counter,\n prefix: getPrefix(this.props.idSource),\n id: getId(this.props.idSource || counter),\n };\n this.uid = (item) => prefixId(this.state.id + '-' + this.state.quartz.uid(item), this.state.prefix, this.props.name);\n }\n render() {\n const { children, name } = this.props;\n const { id, prefix } = this.state;\n return children(prefixId(id, prefix, name), this.uid);\n }\n}\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { UID } from './UIDComponent';\nimport { createSource, source } from './context';\nimport { useUID } from './hooks';\n/**\n * UID isolation component, required for SSR and testing.\n * Wrap your application with it to guarantee UID consistency between SSR and CSR.\n * @param {String} [prefix] - prefix for all generated ids\n * @example\n * \n * \n * \n * @see https://github.com/thearnica/react-uid#server-side-friendly-uid\n */\nexport const UIDReset = ({ children, prefix = '' }) => {\n const [valueSource] = useState(() => createSource(prefix));\n return React.createElement(source.Provider, { value: valueSource }, children);\n};\n/**\n * Creates a sub-ids for nested components, isolating from inside a branch.\n * Useful for self-contained elements or code splitting\n * @see https://github.com/thearnica/react-uid#code-splitting\n */\nexport const UIDFork = ({ children, prefix = '' }) => {\n const id = useUID();\n const [valueSource] = useState(() => createSource(id + '-' + prefix));\n return React.createElement(source.Provider, { value: valueSource }, children);\n};\n/**\n * UID in form of renderProps. Supports nesting and SSR. Prefer {@link useUID} hook version if possible.\n * @see https://github.com/thearnica/react-uid#server-side-friendly-uid\n * @see https://github.com/thearnica/react-uid#react-components\n * @example\n * // get UID to connect label to input\n * \n * {(id)} => \n *\n * // get uid to generate uid for a keys in a list\n * \n * {(, uid)} => items.map(item =>
  • )}\n * \n *\n * @see {@link useUID} - a hook version of this component\n * @see {@link UID} - not SSR compatible version\n */\nexport const UIDConsumer = ({ name, children }) => (React.createElement(source.Consumer, null, (value) => React.createElement(UID, { name: name, idSource: value, children: children })));\n","import styled from 'styled-components';\nimport { DN90A, N100A } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { layers } from '@atlaskit/theme/constants';\nconst backgroundColor = themed({ light: N100A, dark: DN90A });\nexport const opacity = (p) => (p.isTinted ? 1 : 0);\nexport const pointerEvents = (p) => p.canClickThrough ? 'none' : 'initial';\nexport default styled.div `\n background: ${backgroundColor};\n bottom: 0;\n left: 0;\n opacity: ${opacity};\n pointer-events: ${pointerEvents};\n position: fixed;\n right: 0;\n top: 0;\n transition: opacity 220ms;\n z-index: ${layers.blanket};\n`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport Div from './styled';\nimport { name as packageName, version as packageVersion } from './version.json';\nclass Blanket extends React.Component {\n render() {\n const { canClickThrough, isTinted, onBlanketClicked } = this.props;\n const onClick = canClickThrough ? undefined : onBlanketClicked;\n const containerProps = { canClickThrough, isTinted, onClick };\n return React.createElement(Div, Object.assign({}, containerProps));\n }\n}\nBlanket.defaultProps = {\n canClickThrough: false,\n isTinted: false,\n onBlanketClicked: () => { },\n};\nexport { Blanket as BlanketWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'blanket',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onBlanketClicked: createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'blanket',\n attributes: {\n componentName: 'blanket',\n packageName,\n packageVersion,\n },\n }),\n})(Blanket));\n//# sourceMappingURL=Blanket.js.map","// eslint-disable-next-line import/prefer-default-export\nexport const WIDTH_ENUM = {\n values: ['small', 'medium', 'large', 'x-large'],\n widths: {\n small: 400,\n medium: 600,\n large: 800,\n 'x-large': 968,\n },\n defaultValue: 'medium',\n};\nexport const gutter = 60;\n//# sourceMappingURL=shared-variables.js.map","import styled from '@emotion/styled-base';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = styled.bind();\ntags.forEach(function (tagName) {\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport default newStyled;\n","/* Used to adjust flex parent height to account for the subtraction in children below */\nexport const IEMaxHeightCalcPx = 1;\n/* A bug exists in IE where flex column children overflow the height of their parents.\n * The workaround is to set a pixel max-height on the flex children.\n * For more information see https://github.com/philipwalton/flexbugs/issues/216\n */\nexport const flexMaxHeightIEFix = `\n max-height: 100%;\n @media only screen and (-ms-high-contrast:active), (-ms-high-contrast:none) {\n max-height: calc(100% - ${IEMaxHeightCalcPx}px);\n }\n`;\n//# sourceMappingURL=flex-max-height-ie-fix.js.map","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { DN50, N0, N30A, N60A, text } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nimport { gutter, WIDTH_ENUM } from '../shared-variables';\nimport { flexMaxHeightIEFix, IEMaxHeightCalcPx, } from '../utils/flex-max-height-ie-fix';\nconst boxShadow = ({ isChromeless }) => isChromeless\n ? 'none'\n : `\n 0 0 0 1px ${N30A}, 0 2px 1px ${N30A},\n 0 0 20px -6px ${N60A}\n `;\nconst dialogBgColor = ({ isChromeless }) => {\n return isChromeless ? 'transparent' : themed({ light: N0, dark: DN50 })();\n};\nconst maxDimensions = `calc(100% - ${gutter * 2}px)`;\nconst maxHeightDimensions = `calc(100% - ${gutter * 2 - IEMaxHeightCalcPx}px)`;\nexport const dialogWidth = ({ widthName, widthValue }) => {\n if (typeof widthValue === 'number') {\n return `${widthValue}px`;\n }\n return widthName ? `${WIDTH_ENUM.widths[widthName]}px` : widthValue || 'auto';\n};\nexport const dialogHeight = ({ heightValue, }) => {\n if (typeof heightValue === 'number') {\n return `${heightValue}px`;\n }\n return heightValue || 'auto';\n};\nexport const FillScreen = styled.div `\n height: 100vh;\n left: 0;\n overflow-y: auto;\n position: absolute;\n top: ${(props) => props.scrollDistance}px;\n width: 100%;\n z-index: ${layers.modal};\n -webkit-overflow-scrolling: touch;\n`;\nconst positionBaseStyles = (props) => css `\n display: flex;\n flex-direction: column;\n height: ${maxHeightDimensions};\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n max-width: ${maxDimensions};\n top: ${gutter}px;\n width: ${dialogWidth(props)};\n z-index: ${layers.modal()};\n pointer-events: none;\n`;\nconst positionBaseResponsiveStyles = css `\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n max-width: 100%;\n width: 100%;\n`;\nexport const PositionerAbsolute = styled.div `\n ${positionBaseStyles};\n position: absolute;\n\n @media (min-width: 320px) and (max-width: 480px) {\n ${positionBaseResponsiveStyles};\n }\n`;\nexport const PositionerRelative = styled.div `\n margin: ${gutter}px auto;\n position: relative;\n width: ${dialogWidth};\n z-index: ${layers.modal};\n pointer-events: none;\n\n @media (min-width: 320px) and (max-width: 480px) {\n ${positionBaseResponsiveStyles};\n margin: 0;\n }\n`;\nexport const PositionerFixed = styled.div `\n ${positionBaseStyles};\n position: fixed;\n\n @media (min-width: 320px) and (max-width: 480px) {\n ${positionBaseResponsiveStyles};\n }\n`;\nexport const Dialog = styled.div `\n ${(props) => props.isChromeless\n ? null\n : `\n background-color: ${dialogBgColor(props)};\n border-radius: ${borderRadius()}px;\n box-shadow: ${boxShadow(props)};\n `}\n color: ${text};\n display: flex;\n flex-direction: column;\n height: ${(props) => dialogHeight({ heightValue: props.heightValue })};\n ${flexMaxHeightIEFix};\n outline: 0;\n pointer-events: auto;\n\n @media (min-width: 320px) and (max-width: 480px) {\n height: 100%;\n max-height: 100%;\n border-radius: 0;\n }\n`;\nPositionerAbsolute.displayName = 'PositionerAbsolute';\nDialog.displayName = 'Dialog';\nFillScreen.displayName = 'FillScreen';\nPositionerRelative.displayName = 'PositionerRelative';\nPositionerFixed.displayName = 'PositionerFixed';\n//# sourceMappingURL=Modal.js.map","import React from 'react';\nimport { Transition } from 'react-transition-group';\nconst duration = 500;\nconst easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nconst verticalOffset = 16;\nexport const Animation = ({ in: hasEntered, stackIndex = 0, onExited, onEntered, children, }) => (React.createElement(Transition, { in: hasEntered, timeout: { enter: 0, exit: duration }, onExited: onExited, onEntered: onEntered, appear: true }, (unadjustedStatus) => {\n // when we first render, we want to finish the 'entering' state render\n // then jump to the 'entered' state as quick as possible.\n const adjustedStatus = hasEntered && unadjustedStatus === 'exited'\n ? 'entering'\n : unadjustedStatus;\n // Fade styles\n const fadeBaseStyles = {\n transition: `opacity ${duration / 2}ms`,\n opacity: 1,\n };\n const fadeTransitionStyles = {\n entering: {\n opacity: 0,\n },\n entered: {},\n exiting: {\n opacity: 0,\n },\n exited: {},\n };\n // Slide styles\n const slideBaseStyles = {\n transition: `transform ${duration}ms ${easing}`,\n transform: `translate3d(0, ${verticalOffset * 2}px, 0)`,\n };\n const slideTransitionStyles = {\n entering: {},\n entered: {\n transform: stackIndex > 0\n ? `translate3d(0, ${stackIndex * (verticalOffset / 2)}px, 0)`\n : null,\n },\n exiting: {\n transform: `translate3d(0, -${verticalOffset * 2}px, 0)`,\n },\n exited: {},\n };\n return children({\n fade: { ...fadeBaseStyles, ...fadeTransitionStyles[adjustedStatus] },\n slide: { ...slideBaseStyles, ...slideTransitionStyles[adjustedStatus] },\n });\n}));\n//# sourceMappingURL=Animation.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 { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { DN30, N30, N800, R400, Y400 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { divide } from '@atlaskit/theme/math';\nimport { flexMaxHeightIEFix } from '../utils/flex-max-height-ie-fix';\n// Constants\n// ==============================\nconst modalPadding = gridSize() * 3;\nconst keylineColor = themed({ light: N30, dark: DN30 });\nexport const keylineHeight = 2;\n// Wrapper\n// ==============================\nexport const wrapperStyles = css `\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n ${flexMaxHeightIEFix};\n`;\nexport const Header = styled.header `\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n justify-content: space-between;\n transition: box-shadow 200ms;\n z-index: 1;\n padding: ${modalPadding}px ${modalPadding}px ${modalPadding - keylineHeight}px\n ${modalPadding}px;\n box-shadow: ${props => props.showKeyline\n ? `0 ${keylineHeight}px 0 0 ${keylineColor(props)}`\n : 'none'};\n`;\nexport const Title = styled.h4 `\n align-items: center;\n display: flex;\n font-size: 20px;\n font-style: inherit;\n font-weight: 500;\n letter-spacing: -0.008em;\n line-height: 1;\n margin: 0;\n min-width: 0;\n`;\nexport const TitleText = styled.span `\n flex: 1 1 auto;\n min-width: 0;\n word-wrap: break-word;\n width: 100%;\n ${props => !props.isHeadingMultiline &&\n `\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `};\n`;\nconst iconColor = {\n danger: R400,\n warning: Y400,\n};\nexport const titleIconWrapperStyles = (appearance) => css `\n color: ${iconColor[appearance]};\n margin-right: ${gridSize()}px;\n flex: 0 0 auto;\n`;\n// Body\n// ==============================\n/**\n Adding the padding here avoids cropping box shadow on first/last\n children. The combined vertical spacing is maintained by subtracting the\n keyline height from header and footer.\n*/\nexport const bodyStyles = (shouldScroll) => css `\n flex: 1 1 auto;\n ${shouldScroll\n ? `\n overflow-y: auto;\n overflow-x: hidden;\n padding: ${keylineHeight}px ${modalPadding}px;\n `\n : `\n padding: 0 ${modalPadding}px;\n `}\n\n @media (min-width: 320px) and (max-width: 480px) {\n overflow-y: auto;\n height: 100%;\n }\n &:focus {\n outline-offset: -1px;\n outline-style: dotted;\n outline-color: ${N800};\n outline-width: thin;\n }\n`;\nexport const Body = styled.div `\n ${props => bodyStyles(props.shouldScroll)}\n`;\nexport const Footer = styled.footer `\n align-items: center;\n display: flex;\n flex: 0 0 auto;\n justify-content: space-between;\n transition: box-shadow 200ms;\n z-index: 1;\n padding: ${modalPadding - keylineHeight}px ${modalPadding}px ${modalPadding}px\n ${modalPadding}px;\n box-shadow: ${props => props.showKeyline\n ? `0 -${keylineHeight}px 0 0 ${keylineColor(props)}`\n : 'none'};\n`;\nexport const Actions = styled.div `\n display: inline-flex;\n margin: 0 -${divide(gridSize, 2)}px;\n`;\nexport const ActionItem = styled.div `\n flex: 1 0 auto;\n margin: 0 ${divide(gridSize, 2)}px;\n`;\n//# sourceMappingURL=Content.js.map","import React from 'react';\nimport Button from '@atlaskit/button';\nimport { ActionItem, Actions, Footer } from '../styled/Content';\nconst JustifyShim = (props) => React.createElement(\"span\", Object.assign({}, props));\nexport default class ModalFooter extends React.Component {\n render() {\n const { actions, appearance, component, onClose, showKeyline } = this.props;\n const warning = 'You can provide `component` OR `actions`, not both.';\n if (!component && !actions)\n return null;\n if (component && actions) {\n console.warn(warning); // eslint-disable-line no-console\n return null;\n }\n if (component) {\n return React.createElement(component, {\n appearance,\n onClose,\n showKeyline,\n });\n }\n return (React.createElement(Footer, { showKeyline: showKeyline },\n React.createElement(JustifyShim, null),\n React.createElement(Actions, null, actions\n ? actions.map(({ text, ...rest }, index) => {\n const variant = index !== 0 ? 'subtle' : appearance || 'primary';\n return (\n // Index used as text can be a ReactNode\n React.createElement(ActionItem, { key: index },\n React.createElement(Button, Object.assign({ appearance: variant }, rest), text)));\n })\n : null)));\n }\n}\n//# sourceMappingURL=Footer.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport ErrorIcon from '@atlaskit/icon/glyph/error';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport { Header, Title, titleIconWrapperStyles, TitleText, } from '../styled/Content';\nconst TitleIcon = ({ appearance }) => {\n if (!appearance)\n return null;\n const Icon = appearance === 'danger' ? ErrorIcon : WarningIcon;\n return (jsx(\"span\", { css: titleIconWrapperStyles(appearance) },\n jsx(Icon, { label: `${appearance} icon` })));\n};\nexport default class ModalHeader extends React.Component {\n render() {\n const { id, appearance, component, heading, onClose, showKeyline, isHeadingMultiline, testId, } = this.props;\n const warning = 'You can provide `component` OR `heading`, not both.';\n if (!component && !heading)\n return null;\n if (component && heading) {\n console.warn(warning); // eslint-disable-line no-console\n return null;\n }\n if (component) {\n return React.createElement(component, {\n id,\n testId,\n appearance,\n onClose,\n showKeyline,\n isHeadingMultiline,\n });\n }\n return (jsx(Header, { showKeyline: showKeyline },\n jsx(Title, null,\n jsx(TitleIcon, { appearance: appearance }),\n jsx(TitleText, { isHeadingMultiline: isHeadingMultiline, id: id, \"data-testid\": testId && `${testId}-heading` }, heading))));\n }\n}\nModalHeader.defaultProps = {\n isHeadingMultiline: true,\n};\n//# sourceMappingURL=Header.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport rafSchedule from 'raf-schd';\nimport ScrollLock from 'react-scrolllock';\nimport { bodyStyles, Body as DefaultBody, keylineHeight, wrapperStyles, } from '../styled/Content';\nimport Footer from './Footer';\nimport Header from './Header';\nfunction getInitialState() {\n return {\n showFooterKeyline: false,\n showHeaderKeyline: false,\n showContentFocus: false,\n tabbableElements: [],\n };\n}\nexport default class Content extends React.Component {\n constructor() {\n super(...arguments);\n this.escapeIsHeldDown = false;\n this._isMounted = false;\n this.scrollContainer = null;\n this.state = getInitialState();\n this.determineKeylines = rafSchedule(() => {\n if (!this.scrollContainer)\n return;\n const { scrollTop, scrollHeight, clientHeight } = this.scrollContainer;\n const scrollableDistance = scrollHeight - clientHeight;\n const showHeaderKeyline = scrollTop > keylineHeight;\n const showFooterKeyline = scrollTop <= scrollableDistance - keylineHeight;\n const showContentFocus = scrollHeight > clientHeight;\n this.setState({\n showHeaderKeyline,\n showFooterKeyline,\n showContentFocus,\n });\n });\n this.getScrollContainer = (ref) => {\n if (!ref)\n return;\n this.scrollContainer = ref;\n };\n this.handleKeyUp = () => {\n this.escapeIsHeldDown = false;\n };\n this.handleKeyDown = (event) => {\n const { onClose, shouldCloseOnEscapePress, stackIndex = 0 } = this.props;\n // avoid consumers accidentally closing multiple modals if they hold escape.\n if (this.escapeIsHeldDown)\n return;\n if (event.key === 'Escape' || event.key === 'Esc')\n this.escapeIsHeldDown = true;\n // only the foremost modal should be interactive.\n if (!this._isMounted || stackIndex > 0)\n return;\n switch (event.key) {\n case 'Esc':\n case 'Escape':\n if (shouldCloseOnEscapePress)\n onClose(event);\n break;\n default:\n }\n };\n this.handleStackChange = (stackIndex) => {\n const { onStackChange } = this.props;\n if (onStackChange)\n onStackChange(stackIndex);\n };\n }\n componentDidMount() {\n this._isMounted = true;\n document.addEventListener('keydown', this.handleKeyDown, false);\n document.addEventListener('keyup', this.handleKeyUp, false);\n if (this.scrollContainer) {\n const capturedScrollContainer = this.scrollContainer;\n window.addEventListener('resize', this.determineKeylines, false);\n capturedScrollContainer.addEventListener('scroll', this.determineKeylines, false);\n this.determineKeylines();\n }\n /* eslint-disable no-console */\n // Check for deprecated props\n if (this.props.header)\n console.warn(\"@atlaskit/modal-dialog: Deprecation warning - Use of the header prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n if (this.props.footer)\n console.warn(\"@atlaskit/modal-dialog: Deprecation warning - Use of the footer prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n if (this.props.body)\n console.warn(\"@atlaskit/modal-dialog: Deprecation warning - Use of the body prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n // Check that custom body components have used ForwardRef to attach to a DOM element\n if (this.props.components.Body) {\n if (!(this.scrollContainer instanceof HTMLElement)) {\n console.warn('@atlaskit/modal-dialog: Warning - Ref must attach to a DOM element; check you are using forwardRef and attaching the ref to an appropriate element. Check the examples for more details.');\n }\n }\n /* eslint-enable no-console */\n }\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { stackIndex } = this.props;\n // update focus scope and let consumer know when stack index has changed\n if (nextProps.stackIndex && nextProps.stackIndex !== stackIndex) {\n this.handleStackChange(nextProps.stackIndex);\n }\n }\n componentWillUnmount() {\n this._isMounted = false;\n document.removeEventListener('keydown', this.handleKeyDown, false);\n document.removeEventListener('keyup', this.handleKeyUp, false);\n if (this.scrollContainer) {\n const capturedScrollContainer = this.scrollContainer;\n window.removeEventListener('resize', this.determineKeylines, false);\n capturedScrollContainer.removeEventListener('scroll', this.determineKeylines, false);\n }\n }\n render() {\n const { actions, appearance, body: DeprecatedBody, children, components, footer, header, heading, isChromeless, isHeadingMultiline, onClose, shouldScroll, testId, headingId, } = this.props;\n const { showFooterKeyline, showHeaderKeyline, showContentFocus, } = this.state;\n const { Container = 'div', Body: CustomBody } = components;\n const Body = CustomBody || DeprecatedBody || DefaultBody;\n return (jsx(Container, { css: wrapperStyles, \"data-testid\": testId },\n isChromeless ? (children) : (jsx(React.Fragment, null,\n jsx(Header, { id: headingId, appearance: appearance, component: components.Header ? components.Header : header, heading: heading, onClose: onClose, isHeadingMultiline: isHeadingMultiline, showKeyline: showHeaderKeyline, testId: testId }),\n jsx(Body, Object.assign({ tabIndex: showContentFocus ? 0 : undefined, css: bodyStyles(shouldScroll) }, (!Body.hasOwnProperty('styledComponentId')\n ? { ref: this.getScrollContainer }\n : { innerRef: this.getScrollContainer })), children),\n jsx(Footer, { actions: actions, appearance: appearance, component: components.Footer ? components.Footer : footer, onClose: onClose, showKeyline: showFooterKeyline }))),\n jsx(ScrollLock, null)));\n }\n}\nContent.defaultProps = {\n autoFocus: false,\n components: {},\n isChromeless: false,\n stackIndex: 0,\n isHeadingMultiline: true,\n};\n//# sourceMappingURL=Content.js.map","\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});","export var FOCUS_GROUP = 'data-focus-lock';\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\nexport var FOCUS_AUTO = 'data-autofocus-inside';","export var toArray = function toArray(a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\n\nexport var arrayFind = function arrayFind(array, search) {\n return array.filter(function (a) {\n return a === search;\n })[0];\n};\n\nexport var asArray = function asArray(a) {\n return Array.isArray(a) ? a : [a];\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n\nvar filterNested = function filterNested(nodes) {\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n var _loop = function _loop(j) {\n if (i !== j) {\n if (nodes[i].contains(nodes[j])) {\n return {\n v: filterNested(nodes.filter(function (x) {\n return x !== nodes[j];\n }))\n };\n }\n }\n };\n\n for (var j = 0; j < l; j += 1) {\n var _ret = _loop(j);\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n }\n return nodes;\n};\n\nvar getTopParent = function getTopParent(node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n\nvar getAllAffectedNodes = function getAllAffectedNodes(node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, group ? filterNested(toArray(getTopParent(currentNode).querySelectorAll('[' + FOCUS_GROUP + '=\"' + group + '\"]:not([' + FOCUS_DISABLED + '=\"disabled\"])'))) : [currentNode]);\n return acc;\n }, []);\n};\n\nexport default getAllAffectedNodes;","import getAllAffectedNodes from './utils/all-affected';\nimport { arrayFind, toArray } from './utils/array';\n\nvar focusInFrame = function focusInFrame(frame) {\n return frame === document.activeElement;\n};\n\nvar focusInsideIframe = function focusInsideIframe(topNode) {\n return !!arrayFind(toArray(topNode.querySelectorAll('iframe')), focusInFrame);\n};\n\nvar focusInside = function focusInside(topNode) {\n var activeElement = document && document.activeElement;\n\n if (!activeElement || activeElement.dataset && activeElement.dataset.focusGuard) {\n return false;\n }\n return getAllAffectedNodes(topNode).reduce(function (result, node) {\n return result || node.contains(activeElement) || focusInsideIframe(node);\n }, false);\n};\n\nexport default focusInside;","import { toArray } from './array';\n\nexport var tabSort = function tabSort(a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n\n if (tabDiff) {\n if (!a.tabIndex) return 1;\n if (!b.tabIndex) return -1;\n }\n\n return tabDiff || indexDiff;\n};\n\nexport var orderByTabIndex = function orderByTabIndex(nodes, filterNegative, keepGuards) {\n return toArray(nodes).map(function (node, index) {\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? (node.dataset || {}).focusGuard ? 0 : -1 : node.tabIndex\n };\n }).filter(function (data) {\n return !filterNegative || data.tabIndex >= 0;\n }).sort(tabSort);\n};","export default ['button:enabled:not([readonly])', 'select:enabled:not([readonly])', 'textarea:enabled:not([readonly])', 'input:enabled:not([readonly])', 'a[href]', 'area[href]', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]', '[autofocus]'];","import tabbables from './tabbables';\nimport { toArray } from './array';\nimport { FOCUS_AUTO } from '../constants';\n\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = queryTabbables + ', [data-focus-guard]';\n\nexport var getFocusables = function getFocusables(parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n return acc.concat(\n // add all tabbables inside\n toArray(parent.querySelectorAll(withGuards ? queryGuardTabbables : queryTabbables)),\n // add if node is tabble itself\n parent.parentNode ? toArray(parent.parentNode.querySelectorAll(tabbables.join(','))).filter(function (node) {\n return node === parent;\n }) : []);\n }, []);\n};\n\nexport var getParentAutofocusables = function getParentAutofocusables(parent) {\n var parentFocus = parent.querySelectorAll('[' + FOCUS_AUTO + ']');\n return toArray(parentFocus).map(function (node) {\n return getFocusables([node]);\n }).reduce(function (acc, nodes) {\n return acc.concat(nodes);\n }, []);\n};","import { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\nimport { toArray } from './array';\n\nvar isElementHidden = function isElementHidden(computedStyle) {\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden';\n};\n\nexport var isVisible = function isVisible(node) {\n return !node || node === document || node.nodeType === Node.DOCUMENT_NODE || !isElementHidden(window.getComputedStyle(node, null)) && isVisible(node.parentNode);\n};\n\nexport var notHiddenInput = function notHiddenInput(node) {\n return !((node.tagName === 'INPUT' || node.tagName === 'BUTTON') && (node.type === 'hidden' || node.disabled));\n};\n\nvar getParents = function getParents(node) {\n var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode, parents);\n }\n return parents;\n};\n\nexport var getCommonParent = function getCommonParent(nodea, nodeb) {\n var parentsA = getParents(nodea);\n var parentsB = getParents(nodeb);\n\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\n\nexport var filterFocusable = function filterFocusable(nodes) {\n return toArray(nodes).filter(function (node) {\n return isVisible(node);\n }).filter(function (node) {\n return notHiddenInput(node);\n });\n};\n\nexport var getTabbableNodes = function getTabbableNodes(topNodes, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards)), true, withGuards);\n};\n\nexport var getAllTabbableNodes = function getAllTabbableNodes(topNodes) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes)), false);\n};\n\nexport var parentAutofocusables = function parentAutofocusables(topNode) {\n return filterFocusable(getParentAutofocusables(topNode));\n};","var isRadio = function isRadio(node) {\n return node.tagName === 'INPUT' && node.type === 'radio';\n};\n\nvar findSelectedRadio = function findSelectedRadio(node, nodes) {\n return nodes.filter(isRadio).filter(function (el) {\n return el.name === node.name;\n }).filter(function (el) {\n return el.checked;\n })[0] || node;\n};\n\nvar pickFirstFocus = function pickFirstFocus(nodes) {\n if (nodes[0] && nodes.length > 1) {\n if (isRadio(nodes[0]) && nodes[0].name) {\n return findSelectedRadio(nodes[0], nodes);\n }\n }\n return nodes[0];\n};\n\nexport var pickFocusable = function pickFocusable(nodes, index) {\n if (nodes.length > 1) {\n if (isRadio(nodes[index]) && nodes[index].name) {\n return nodes.indexOf(findSelectedRadio(nodes[index], nodes));\n }\n }\n return index;\n};\n\nexport default pickFirstFocus;","import { getCommonParent, getTabbableNodes, getAllTabbableNodes, parentAutofocusables } from './utils/DOMutils';\nimport pickFirstFocus, { pickFocusable } from './utils/firstFocus';\nimport getAllAffectedNodes from './utils/all-affected';\nimport { asArray } from './utils/array';\n\nvar findAutoFocused = function findAutoFocused(autoFocusables) {\n return function (node) {\n return !!node.autofocus || node.dataset && !!node.dataset.autofocus || autoFocusables.indexOf(node) >= 0;\n };\n};\n\nvar isGuard = function isGuard(node) {\n return node && node.dataset && node.dataset.focusGuard;\n};\nvar notAGuard = function notAGuard(node) {\n return !isGuard(node);\n};\n\nexport var newFocus = function newFocus(innerNodes, outerNodes, activeElement, lastNode, autoFocused) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n\n // focus is inside\n if (innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n\n var activeIndex = outerNodes.indexOf(activeElement);\n var lastIndex = outerNodes.indexOf(lastNode || activeIndex);\n var lastNodeInside = innerNodes.indexOf(lastNode);\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return innerNodes.indexOf(autoFocused && autoFocused.length ? pickFirstFocus(autoFocused) : pickFirstFocus(innerNodes));\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n\nvar getTopCommonParent = function getTopCommonParent(baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = null;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || common.contains(topCommon)) {\n topCommon = common;\n } else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n return topCommon;\n};\n\nvar allParentAutofocusables = function allParentAutofocusables(entries) {\n return entries.reduce(function (acc, node) {\n return acc.concat(parentAutofocusables(node));\n }, []);\n};\n\nvar reorderNodes = function reorderNodes(srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) {\n return remap.set(entity.node, entity);\n });\n // remap to dstNodes\n return srcNodes.map(function (node) {\n return remap.get(node);\n }).filter(Boolean);\n};\n\nexport var getFocusabledIn = function getFocusabledIn(topNode) {\n var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var outerNodes = getTabbableNodes([commonParent], true);\n var innerElements = getTabbableNodes(entries).filter(function (_ref) {\n var node = _ref.node;\n return notAGuard(node);\n }).map(function (_ref2) {\n var node = _ref2.node;\n return node;\n });\n\n return outerNodes.map(function (_ref3) {\n var node = _ref3.node,\n index = _ref3.index;\n return {\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node)\n };\n });\n};\n\nvar getFocusMerge = function getFocusMerge(topNode, lastNode) {\n var activeElement = document && document.activeElement;\n var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n\n var innerElements = getTabbableNodes(entries).filter(function (_ref4) {\n var node = _ref4.node;\n return notAGuard(node);\n });\n\n if (!innerElements[0]) {\n innerElements = getAllTabbableNodes(entries).filter(function (_ref5) {\n var node = _ref5.node;\n return notAGuard(node);\n });\n if (!innerElements[0]) {\n return undefined;\n }\n }\n\n var outerNodes = getTabbableNodes([commonParent]).map(function (_ref6) {\n var node = _ref6.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_ref7) {\n var node = _ref7.node;\n return node;\n });\n\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode, innerNodes.filter(findAutoFocused(allParentAutofocusables(entries))));\n\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n\nexport default getFocusMerge;","import getFocusMerge from './focusMerge';\n\nexport var focusOn = function focusOn(target) {\n target.focus();\n if (target.contentWindow) {\n target.contentWindow.focus();\n }\n};\n\nvar guardCount = 0;\nvar lockDisabled = false;\n\nexport default (function (topNode, lastNode) {\n var focusable = getFocusMerge(topNode, lastNode);\n\n if (lockDisabled) {\n return;\n }\n\n if (focusable) {\n if (guardCount > 2) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' + 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node);\n guardCount--;\n }\n});","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var setImmediate = window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutsideWindow || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n activeElement.blur();\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus);\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedItem = allNodes.find(function (_ref) {\n var node = _ref.node;\n return node === newActiveElement;\n });\n\n if (focusedItem) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n var focusedIndex = allNodes.indexOf(focusedItem);\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nexport var onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\nexport var onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = true;\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap, true);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap, true);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n }).slice(-1)[0];\n}\n\nfunction handleStateChangeOnClient(trap) {\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.onActivation === lastTrap.onActivation;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation();\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n}\n\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { toArray } from './utils/array';\nimport { FOCUS_ALLOW } from './constants';\n\nvar focusIsHidden = function focusIsHidden() {\n return document && toArray(document.querySelectorAll('[' + FOCUS_ALLOW + ']')).some(function (node) {\n return node.contains(document.activeElement);\n });\n};\n\nexport default focusIsHidden;","import React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { constants } from 'focus-lock';\nimport FocusTrap, { onBlur, onFocus } from './Trap';\nimport { hiddenGuard } from './FocusGuard';\n\nvar RenderChildren = function RenderChildren(_ref) {\n var children = _ref.children;\n return React.createElement(\"div\", null, children);\n};\n\nRenderChildren.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\nvar Fragment = React.Fragment ? React.Fragment : RenderChildren;\nvar emptyArray = [];\n\nvar FocusLock =\n/*#__PURE__*/\nfunction (_Component) {\n _inheritsLoose(FocusLock, _Component);\n\n function FocusLock() {\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 = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n observed: undefined\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onActivation\", function () {\n _this.originalFocusedElement = _this.originalFocusedElement || document && document.activeElement;\n\n if (_this.state.observed && _this.props.onActivation) {\n _this.props.onActivation(_this.state.observed);\n }\n\n _this.isActive = true;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onDeactivation\", function () {\n _this.isActive = false;\n\n if (_this.props.returnFocus && _this.originalFocusedElement && _this.originalFocusedElement.focus) {\n _this.originalFocusedElement.focus();\n\n _this.originalFocusedElement = null;\n }\n\n if (_this.props.onDeactivation) {\n _this.props.onDeactivation(_this.state.observed);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onFocus\", function (event) {\n if (_this.isActive) {\n onFocus(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onBlur\", onBlur);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setObserveNode\", function (observed) {\n if (_this.state.observed !== observed) {\n _this.setState({\n observed: observed\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isActive\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"originalFocusedElement\", null);\n\n return _this;\n }\n\n var _proto = FocusLock.prototype;\n\n _proto.render = function render() {\n var _extends2;\n\n var _this$props = this.props,\n children = _this$props.children,\n disabled = _this$props.disabled,\n noFocusGuards = _this$props.noFocusGuards,\n persistentFocus = _this$props.persistentFocus,\n autoFocus = _this$props.autoFocus,\n allowTextSelection = _this$props.allowTextSelection,\n group = _this$props.group,\n className = _this$props.className,\n whiteList = _this$props.whiteList,\n _this$props$shards = _this$props.shards,\n shards = _this$props$shards === void 0 ? emptyArray : _this$props$shards,\n _this$props$as = _this$props.as,\n Container = _this$props$as === void 0 ? 'div' : _this$props$as,\n _this$props$lockProps = _this$props.lockProps,\n containerProps = _this$props$lockProps === void 0 ? {} : _this$props$lockProps;\n var observed = this.state.observed;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n return React.createElement(Fragment, null, hasLeadingGuards && [React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n })], React.createElement(Container, _extends({\n ref: this.setObserveNode\n }, lockProps, {\n className: className,\n onBlur: this.onBlur,\n onFocus: this.onFocus\n }), React.createElement(FocusTrap, {\n observed: observed,\n disabled: disabled,\n persistentFocus: persistentFocus,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: this.onActivation,\n onDeactivation: this.onDeactivation\n }), children), hasTailingGuards && React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n };\n\n return FocusLock;\n}(Component);\n\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n returnFocus: PropTypes.bool,\n noFocusGuards: PropTypes.bool,\n allowTextSelection: PropTypes.bool,\n autoFocus: PropTypes.bool,\n persistentFocus: PropTypes.bool,\n group: PropTypes.string,\n className: PropTypes.string,\n whiteList: PropTypes.func,\n shards: PropTypes.arrayOf(PropTypes.any),\n as: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object]),\n lockProps: PropTypes.object,\n onActivation: PropTypes.func,\n onDeactivation: PropTypes.func\n} : {};\nFocusLock.defaultProps = {\n disabled: false,\n returnFocus: false,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import FocusLock from './Lock';\nimport AutoFocusInside from './AutoFocusInside';\nimport MoveFocusInside from './MoveFocusInside';\nimport FreeFocusInside from './FreeFocusInside';\nimport InFocusGuard from './FocusGuard';\nexport { AutoFocusInside, MoveFocusInside, FreeFocusInside, InFocusGuard };\nexport default FocusLock;","import React from 'react';\nimport ReactFocusLock from 'react-focus-lock';\nimport invariant from 'tiny-invariant';\n// Thin wrapper over react-focus-lock. This wrapper only exists to ensure API compatibility.\n// This component should be deleted during https://ecosystem.atlassian.net/browse/AK-5658\nexport default class FocusLock extends React.Component {\n componentDidMount() {\n const { isEnabled, autoFocus } = this.props;\n if (process.env.NODE_ENV !== 'production') {\n invariant(typeof autoFocus === 'boolean', '@atlaskit/modal-dialog: Passing a function as autoFocus is deprecated. Instead call focus on the element ref or use the autofocus property.');\n }\n if (typeof autoFocus === 'function' && isEnabled) {\n const elem = autoFocus();\n if (elem && elem.focus) {\n elem.focus();\n }\n }\n }\n render() {\n const { isEnabled, autoFocus, shouldReturnFocus } = this.props;\n return (React.createElement(ReactFocusLock, { disabled: !isEnabled, autoFocus: !!autoFocus, returnFocus: shouldReturnFocus }, this.props.children));\n }\n}\nFocusLock.defaultProps = {\n autoFocus: true,\n isEnabled: true,\n shouldReturnFocus: true,\n};\n//# sourceMappingURL=FocusLock.js.map","import React from 'react';\nimport { PositionerAbsolute, PositionerFixed, PositionerRelative, } from '../styled/Modal';\nconst Positioner = function Positioner({ scrollBehavior, ...props }) {\n // default 'inside'\n let PositionComponent = PositionerAbsolute;\n if (scrollBehavior === 'outside') {\n PositionComponent = PositionerRelative;\n }\n else if (scrollBehavior === 'inside-wide') {\n PositionComponent = PositionerFixed;\n }\n return React.createElement(PositionComponent, Object.assign({}, props));\n};\nexport default Positioner;\n//# sourceMappingURL=Positioner.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport { UIDConsumer, UIDReset } from 'react-uid';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport Blanket from '@atlaskit/blanket';\nimport { WIDTH_ENUM } from '../shared-variables';\nimport { Dialog, FillScreen as StyledFillScreen } from '../styled/Modal';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport { Animation } from './Animation';\nimport Content from './Content';\nimport FocusLock from './FocusLock';\nimport Positioner from './Positioner';\nfunction getScrollDistance() {\n return (window.pageYOffset ||\n (document.documentElement && document.documentElement.scrollTop) ||\n (document.body && document.body.scrollTop) ||\n 0);\n}\nclass Modal extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n dialogNode: null,\n scrollDistance: canUseDOM ? getScrollDistance() : 0,\n isExiting: false,\n };\n /* Prevent window from being scrolled programatically so that the modal is positioned correctly\n * and to prevent scrollIntoView from scrolling the window.\n */\n this.handleWindowScroll = () => {\n if (getScrollDistance() !== this.state.scrollDistance) {\n window.scrollTo(window.pageXOffset, this.state.scrollDistance);\n }\n };\n this.handleOverlayClick = (e) => {\n if (this.props.shouldCloseOnOverlayClick) {\n this.props.onClose(e);\n }\n };\n }\n componentDidMount() {\n const scrollDistance = getScrollDistance();\n if (getScrollDistance() !== this.state.scrollDistance) {\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ scrollDistance });\n }\n window.addEventListener('scroll', this.handleWindowScroll);\n }\n componentWillUnmount() {\n window.removeEventListener('scroll', this.handleWindowScroll);\n }\n render() {\n const { actions, appearance, autoFocus, body, children, components, footer, header, height, isChromeless, isHeadingMultiline, isOpen, onClose, onCloseComplete, onOpenComplete, onStackChange, shouldCloseOnEscapePress, stackIndex, heading, width, scrollBehavior, testId, } = this.props;\n const { scrollDistance } = this.state;\n const isBackground = stackIndex != null && stackIndex > 0;\n // If a custom width (number or percentage) is supplied, set inline style\n // otherwise allow styled component to consume as named prop\n const widthName = width\n ? WIDTH_ENUM.values.indexOf(width.toString()) !== -1\n ? width\n : undefined\n : undefined;\n const widthValue = widthName ? undefined : width;\n return (React.createElement(Animation, { in: isOpen, onExited: onCloseComplete, onEntered: onOpenComplete, stackIndex: stackIndex }, ({ fade, slide }) => (React.createElement(StyledFillScreen, { style: fade, \"aria-hidden\": isBackground, scrollDistance: scrollDistance },\n React.createElement(FocusLock, { isEnabled: stackIndex === 0 && isOpen, autoFocus: autoFocus },\n React.createElement(Blanket, { isTinted: true, onBlanketClicked: this.handleOverlayClick }),\n React.createElement(Positioner, { style: slide, scrollBehavior: scrollBehavior, widthName: widthName, widthValue: widthValue },\n React.createElement(UIDReset, null,\n React.createElement(UIDConsumer, null, (id, _) => (React.createElement(Dialog, { heightValue: height, isChromeless: isChromeless, role: \"dialog\", \"aria-labelledby\": `dialog-heading-${id}`, \"data-testid\": testId, tabIndex: -1 },\n React.createElement(Content, { actions: actions, appearance: appearance, components: components, footer: footer, heading: heading, headingId: `dialog-heading-${id}`, testId: testId && `${testId}-dialog-content`, isHeadingMultiline: isHeadingMultiline, header: header, onClose: onClose, shouldScroll: scrollBehavior === 'inside' ||\n scrollBehavior === 'inside-wide', shouldCloseOnEscapePress: shouldCloseOnEscapePress, onStackChange: onStackChange, isChromeless: isChromeless, stackIndex: stackIndex, body: body }, children)))))))))));\n }\n}\nModal.defaultProps = {\n autoFocus: true,\n scrollBehavior: 'inside',\n shouldCloseOnEscapePress: true,\n shouldCloseOnOverlayClick: true,\n isChromeless: false,\n isOpen: true,\n stackIndex: 0,\n width: 'medium',\n isHeadingMultiline: true,\n onClose: () => { },\n};\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport const ModalDialogWithoutAnalytics = Modal;\nexport default withAnalyticsContext({\n componentName: 'modalDialog',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onClose: createAndFireEventOnAtlaskit({\n action: 'closed',\n actionSubject: 'modalDialog',\n attributes: {\n componentName: 'modalDialog',\n packageName,\n packageVersion,\n },\n }),\n})(Modal));\n//# sourceMappingURL=Modal.js.map","import React from 'react';\n// This is the source of truth for open modals\nlet stackConsumers = [];\n// This component provides the position of a modal dialog in the list of all open dialogs.\n// The key behaviours are:\n// - When a modal renders for the first time it takes the first stack position\n// - When a modal mounts, all other modals have to adjust their position\n// - When a modal unmounts, all other modals have to adjust their position\nclass StackConsumer extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n stackIndex: 0,\n };\n this.update = () => {\n const stackIndex = stackConsumers.indexOf(this.update);\n if (this.state.stackIndex !== stackIndex) {\n this.setState({ stackIndex });\n }\n };\n }\n componentDidMount() {\n stackConsumers.forEach(updateFn => updateFn());\n }\n componentWillUnmount() {\n // This check will pass if the pattern has not been\n // implemented correctly. In this case, will still need to make sure we remove ourselves\n // from the stack list.\n if (stackConsumers.indexOf(this.update) !== -1) {\n stackConsumers = stackConsumers.filter(stack => stack !== this.update);\n stackConsumers.forEach(updateFn => updateFn());\n }\n }\n componentDidUpdate(prevProps) {\n if (prevProps.isOpen && !this.props.isOpen) {\n stackConsumers = stackConsumers.filter(stack => stack !== this.update);\n stackConsumers.forEach(updateFn => updateFn());\n }\n }\n render() {\n if (stackConsumers.indexOf(this.update) === -1) {\n // add this instance to stack consumer list\n stackConsumers = [this.update, ...stackConsumers];\n }\n return this.props.children(this.state.stackIndex);\n }\n}\nexport default StackConsumer;\n//# sourceMappingURL=StackConsumer.js.map","import React from 'react';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport Modal from './Modal';\nimport { ModalTransitionConsumer } from './ModalTransition';\nimport StackConsumer from './StackConsumer';\nclass ModalWrapper extends React.Component {\n constructor() {\n super(...arguments);\n this.onModalClosed = (onExited) => (e) => {\n if (onExited) {\n onExited();\n }\n if (this.props.onCloseComplete) {\n this.props.onCloseComplete(e);\n }\n };\n }\n render() {\n return (React.createElement(ModalTransitionConsumer, null, ({ isOpen, onExited }) => (React.createElement(Portal, { zIndex: layers.modal() },\n React.createElement(StackConsumer, { isOpen: isOpen }, naturalStackIndex => (React.createElement(Modal, Object.assign({}, this.props, { isOpen: isOpen, stackIndex: this.props.stackIndex || naturalStackIndex, onCloseComplete: this.onModalClosed(onExited) }), this.props.children)))))));\n }\n}\nModalWrapper.defaultProps = {\n autoFocus: true,\n scrollBehavior: 'inside',\n shouldCloseOnEscapePress: true,\n shouldCloseOnOverlayClick: true,\n isChromeless: false,\n width: 'medium',\n isHeadingMultiline: true,\n onClose: () => { },\n};\nexport default ModalWrapper;\n//# sourceMappingURL=ModalWrapper.js.map","import React, { Component } from 'react';\nimport styled from 'styled-components';\n\nimport { messages } from './messages';\nimport { SiteSelectorView } from './site-selector-view';\n\nimport ModalDialog, { ModalTransition } from '@atlaskit/modal-dialog';\n\nexport type SiteSelectorModalProps = {\n readonly isOpen: boolean;\n\n readonly userName: string;\n readonly userEmail: string;\n readonly avatarSrc?: string;\n\n readonly sites: string[];\n\n readonly header?: React.ReactNode;\n\n readonly onNewSiteSelected: () => void;\n readonly onSiteSelected: (site: string) => void;\n readonly onSiteChanged?: () => void;\n readonly onSwitchAccountClick: () => void;\n readonly onModalClose?: () => void;\n};\n\nexport class SiteSelectorModal extends Component {\n static messages = messages;\n\n static defaultProps = {\n // Default onModalClose and onSiteChanged handler doesn't need to do anything\n // tslint:disable-next-line:no-empty\n onModalClose: () => {},\n // tslint:disable-next-line:no-empty\n onSiteChanged: () => {}\n };\n\n onClose = () => {\n this.props.onModalClose!();\n };\n\n render() {\n const {\n userName,\n userEmail,\n avatarSrc,\n isOpen,\n header,\n sites,\n onNewSiteSelected,\n onSiteSelected,\n onSwitchAccountClick,\n onSiteChanged\n } = this.props;\n\n return (\n \n {isOpen && (\n \n \n \n \n \n )}\n \n );\n }\n}\n\nconst Container = styled.div`\n margin: 22px 0px;\n`;\n","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\n\nconst svg = (iconGradientStart, iconGradientStop) => {\n const id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\nexport const JiraSoftwareLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Software',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\n\nconst svg = (iconGradientStart, iconGradientStop) => {\n const id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\nexport const JiraServiceManagementLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Service Management',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg,\n testId: testId,\n textColor: textColor\n });\n};","import React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\n\nconst svg = (iconGradientStart, iconGradientStop) => {\n const id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n`;\n};\n\nexport const JiraWorkManagementLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Work Management',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg,\n testId: testId,\n textColor: textColor\n });\n};","import {\n ConfluenceLogo,\n JiraServiceManagementLogo,\n JiraSoftwareLogo,\n JiraWorkManagementLogo,\n} from \"@atlaskit/logo\";\nimport { fontSize } from \"@atlaskit/theme\";\nimport { B200, B400, N700 } from \"@atlaskit/theme/colors\";\nimport {\n AvailableProductsResponse as AISAvailableProductsResponse,\n SitesType,\n} from \"@atlassiansox/asc-stargate/lib/commonjs/src/stargate-client.types\";\nimport {\n AsyncResult,\n ProductKey,\n useAISAvailableProducts,\n useMe,\n} from \"@atlassiansox/bxpkit-core\";\nimport { SiteSelectorModal } from \"@atlassiansox/bxpkit-site-selector-modal\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport styled from \"styled-components\";\nimport _ from \"underscore\";\nimport Environment from \"../../../common/environment\";\nimport storage from \"../../../utils/storage\";\nimport tracking from \"../../../utils/tracking\";\n\nconst Subheadline = styled.div`\n margin-top: 10px;\n font-size: ${fontSize.h400};\n`;\n\nconst SelectedTemplate = styled.span`\n font-weight: bold;\n`;\n\nconst logoHeader = (props) => {\n let logo;\n const logoProps = {\n size: \"medium\",\n textColor: N700,\n iconColor: B400,\n };\n const confluenceLogoProps = {\n size: \"medium\",\n textColor: N700,\n iconColor: N700,\n iconGradientStart: B400,\n iconGradientStop: B200,\n };\n switch (props.productKey) {\n case ProductKey.JIRA_SOFTWARE:\n logo = ;\n break;\n case ProductKey.JIRA_SERVICE_MANAGEMENT:\n logo = (\n \n );\n break;\n case ProductKey.JIRA_SERVICE_DESK:\n logo = (\n \n );\n break;\n case ProductKey.JIRA_CORE:\n logo = (\n \n );\n break;\n case ProductKey.CONFLUENCE:\n default:\n logo = (\n \n );\n break;\n }\n return (\n
    \n {logo}\n \n {props.selectedTemplate ? props.selectedTemplate : \"You selected\"}:{\" \"}\n {props.templateName}\n \n
    \n );\n};\n\ntype UserData = {\n aaid: string;\n displayName: string;\n avatar: string;\n email: string;\n userSites: SitesType[];\n isLoggedIn: boolean;\n};\n\ntype TemplateEventData = Event & {\n dataset?: {\n templateKey: string;\n templateId: string;\n bluePrintModule: string;\n templateName: string;\n productKey: string;\n };\n};\n\nexport default function ProductTemplateSiteSelectorContainer(props: {\n id: string;\n product: string;\n featureFlags?: object;\n labels: any;\n prefix: string;\n redirectToIdentity: string;\n internalLinkAfterIdentity: string;\n cloudSignupLink: string;\n}) {\n const [isLoading, setIsLoading] = useState(true);\n const [isOpen, setIsOpen] = useState(false);\n const [templateId, setTemplateId] = useState(\"\");\n const [learnMore, setLearnMore] = useState(false);\n const [bluePrintModule, setBluePrintModule] = useState(\"\");\n const [productKey, setProductKey] = useState(props.product);\n const [userData, setUserData] = useState(null);\n const templateName = useRef(\"\");\n const deferredEvent = useRef(null);\n const productSites = useRef([]);\n\n const meDataAsync = useMe();\n const aisAvailableProducts = useAISAvailableProducts({});\n\n const getEventName = (eventName: string): string => {\n return `${props.prefix}.${eventName}`;\n };\n\n const openModalFromQueryParams = () => {\n const urlParams = new URLSearchParams(window.location.search);\n const templateId = decodeURIComponent(urlParams.get(\"templateModal\"));\n if (templateId) {\n const modalLinks = [\n ...document.querySelectorAll(\n \".component--template-library__cta__action.link-arrow-out\"\n ),\n ];\n modalLinks.find((links) => {\n const dataSet = links.dataset;\n\n if (templateId === dataSet.templateId) {\n const event: TemplateEventData = document.createEvent(\"Event\");\n event.dataset = {\n templateKey: dataSet.templateId,\n templateId: dataSet.templateId,\n bluePrintModule: dataSet.templateId,\n templateName: dataSet.templateName,\n productKey: dataSet.productKey,\n };\n event.initEvent(\"productTemplateModal\", true, true);\n document.body.dispatchEvent(event);\n return true;\n }\n });\n }\n };\n\n const getProductSites = (sites: SitesType[], filterProductKey: string) => {\n return _.filter(sites, (site) =>\n site.products.includes(filterProductKey)\n ).map((site) => site.url);\n };\n\n const isJiraTemplate = (checkProduct: string): boolean => {\n return [\n ProductKey.JIRA_SOFTWARE,\n ProductKey.JIRA_SERVICE_MANAGEMENT,\n ProductKey.JIRA_SERVICE_DESK,\n ProductKey.JIRA_CORE,\n ].includes(checkProduct as ProductKey);\n };\n\n /*\n Backend needs product and templateId.\n templateId is actually blueprint module key but BE still expects the key to be templateId\n */\n const getCloudSignupUrl = (blueprintModuleKey: string) => {\n let url = `${props.cloudSignupLink}?product=${productKey}&templateId=${blueprintModuleKey}&edition=free`;\n if (isJiraTemplate(productKey)) {\n const urlParams = new URLSearchParams(window.location.search);\n if (!urlParams.has(\"p\")) {\n urlParams.append(\"templateModal\", blueprintModuleKey);\n }\n url += `&continue=${encodeURIComponent(\n `${window.location.href}?${urlParams.toString()}`\n )}`;\n } else if (productKey === ProductKey.CONFLUENCE) {\n const continueUrl = `${Environment.getWacIntegrationUrl()}${\n props.internalLinkAfterIdentity\n }?templateId=${\n blueprintModuleKey +\n encodeURIComponent(\n \"&templateName=\" + encodeURIComponent(templateName.current)\n )\n }`;\n url = `${url}&continue=${encodeURIComponent(continueUrl)}`;\n }\n return url;\n };\n\n const getIdentityUrl = (blueprintModuleKey: string, templateName: string) => {\n const loginUrl = `${Environment.getIdentityBaseUrl()}/login?`;\n const continueUrl = `${Environment.getWacIntegrationUrl()}${\n props.internalLinkAfterIdentity\n }?templateName=${encodeURIComponent(\n templateName\n )}&templateId=${blueprintModuleKey}`;\n return `${loginUrl}&continue=${encodeURIComponent(continueUrl)}`;\n };\n\n /*\n * For phase I of this feature, we are using the redirect option of the API, as there are CORS issues with doing AJAX calls\n * In phase II, we can alter stargate, so that we can do an AJAX call to confluence staging/production instances\n */\n const getCloudExistingUrl = (siteUrl: string, bluePrintModule: string) => {\n let referer = \"wacdirect\";\n if (learnMore) {\n referer = \"waclearnmore\";\n }\n let url = `${siteUrl}/wiki/login.action?os_destination=%2Frest%2Fcreate-dialog%2F1.0%2Fcontent%2Fblueprint%2FgetGlobalFabricBlueprintDraft%3Fredirect%3Dtrue%26blueprintModule%3D${bluePrintModule}%26referer%3D${referer}`;\n\n if (productKey !== ProductKey.CONFLUENCE) {\n url = `${siteUrl}/jira/create-project?templateId=${templateId}`;\n }\n\n return url;\n };\n\n const processUserFlow = () => {\n if (deferredEvent.current) {\n useTemplateClickHandler(deferredEvent.current);\n deferredEvent.current = null;\n }\n };\n\n const useTemplateClickHandler = (element) => {\n const templateId = element.dataset ? element.dataset.templateKey : \"\";\n const bluePrintModule = element.dataset\n ? element.dataset.bluePrintModule\n : \"\";\n templateName.current = element.dataset ? element.dataset.templateName : \"\";\n\n if (productSites.current && productSites.current.length) {\n setIsOpen(true);\n setTemplateId(templateId);\n setBluePrintModule(bluePrintModule);\n } else {\n if (props.redirectToIdentity && props.internalLinkAfterIdentity) {\n window.location.href = getIdentityUrl(\n bluePrintModule,\n templateName.current\n );\n } else {\n window.location.href = getCloudSignupUrl(bluePrintModule);\n }\n }\n };\n\n const onProductTemplateModalEvent = (event) => {\n if (!event.dataset) {\n return;\n }\n const sites = getProductSites(\n userData?.userSites || [],\n event.dataset.productKey\n );\n\n setProductKey(event.dataset.productKey);\n productSites.current = sites;\n\n if (sites.length > 0) {\n useTemplateClickHandler(event);\n } else {\n deferredEvent.current = event;\n }\n };\n\n const clickedUseTemplateEvent = (event) => {\n const element = event.target;\n const templateName = element.dataset ? element.dataset.templateName : \"\";\n const templateId = element.dataset ? element.dataset.templateKey : \"\";\n const anonymousId = storage.getCookie(\"ajs_anonymous_id\") || \"unknown\";\n const productKey =\n element.dataset && element.dataset.productKey\n ? element.dataset.productKey\n : ProductKey.CONFLUENCE;\n const event_class = element.classList.value || \"\";\n const label = element.innerText || \"\";\n const eventComponent = \"linkButton\";\n\n tracking.trackEvent(getEventName(\"clicked-use-template\"), {\n templateName,\n label,\n path: window.location.pathname,\n url: window.location.href,\n eventComponent,\n event_class,\n event_type: \"ui\",\n anonymousId,\n product: productKey,\n templateId,\n loginUserDetected: userData?.isLoggedIn,\n });\n };\n\n const onClick = (event: any) => {\n if (props.id && event.target.id !== props.id) {\n return;\n }\n\n if (\n event.target.classList.contains(\n \"component--template-library__cta__action\"\n )\n ) {\n const element = event.target;\n clickedUseTemplateEvent(event);\n useTemplateClickHandler(element);\n }\n // try now button click tracking\n if (\n event.target.classList.value.includes(\n \"doNotAutoTrack standalone-template-button button button--regular button--one button--primary\"\n )\n ) {\n clickedUseTemplateEvent(event);\n }\n };\n\n const onSiteSelected = (siteUrl: string) => {\n tracking.trackEvent(getEventName(\"submitted-existing-site\"), {\n site: siteUrl,\n bluePrintModule,\n eventName: \"project-created-(client)\",\n createdUsing: \"templateWac\",\n userId: userData?.aaid,\n product: productKey,\n learnMore,\n });\n\n if (userData) {\n window.open(getCloudExistingUrl(siteUrl, bluePrintModule), \"_blank\");\n setIsOpen(false);\n }\n };\n\n const onNewSiteSelected = (sameWindow?: boolean) => {\n tracking.trackEvent(getEventName(\"submitted-new-site\"), {\n bluePrintModule,\n learnMore,\n });\n\n setIsOpen(false);\n if (sameWindow) {\n window.location.href = getCloudSignupUrl(bluePrintModule);\n } else {\n window.open(getCloudSignupUrl(bluePrintModule), \"_blank\");\n }\n };\n\n const onSiteChanged = () => {\n tracking.trackEvent(getEventName(\"changed-selected-site\"), {});\n };\n\n const onSwitchAccountClick = () => {\n tracking.trackEvent(getEventName(\"clicked-switch-account\"), {});\n if (productKey === ProductKey.CONFLUENCE) {\n const continueUrl = `${Environment.getWacIntegrationUrl()}${\n props.internalLinkAfterIdentity\n }?templateId=${bluePrintModule}&templateName=${encodeURIComponent(\n templateName.current\n )}`;\n window.location.href = Environment.getSwitchAccountURL(continueUrl);\n } else {\n window.location.href = Environment.getSwitchAccountURL();\n }\n };\n\n const onClose = () => {\n tracking.trackEvent(getEventName(\"clicked-modal-closed\"), {});\n setIsOpen(false);\n window.history.pushState(\n null,\n \"\",\n window.location.search.replace(/&p=(.*?)+/g, \"\")\n );\n };\n\n useEffect(() => {\n const learnMoreNode = document.getElementById(\"useFullPageLayout\");\n if (learnMoreNode !== null) {\n setLearnMore(true);\n setBluePrintModule(learnMoreNode.innerText);\n tracking.trackEvent(getEventName(\"template-page-viewed\"), {\n learnMore,\n bluePrintModule,\n });\n } else {\n tracking.trackEvent(getEventName(\"template-page-viewed\"), {\n learnMore,\n });\n }\n }, []);\n\n useEffect(() => {\n if (\n AsyncResult.isPending(meDataAsync) ||\n AsyncResult.isPending(aisAvailableProducts)\n ) {\n return;\n }\n\n setIsLoading(false);\n\n const meData = meDataAsync.catch(() => {\n tracking.trackEvent(getEventName(\"user.getusererror\"), {});\n return null;\n }).value;\n const sitesData = aisAvailableProducts.catch(() => null).value;\n if (!meData || !sitesData) {\n return;\n }\n\n productSites.current = getProductSites(sitesData.sites, productKey);\n setUserData({\n aaid: meData.accountId,\n displayName: meData.name,\n avatar: meData.picture,\n email: meData.email || \"\",\n userSites: sitesData.sites,\n isLoggedIn: true,\n });\n\n tracking.trackEvent(getEventName(\"user.loggedin\"), {});\n openModalFromQueryParams();\n processUserFlow();\n }, [meDataAsync, aisAvailableProducts]);\n\n document.addEventListener(\"click\", onClick, false);\n document.addEventListener(\n \"productTemplateModal\",\n onProductTemplateModalEvent,\n false\n );\n\n return isOpen && !isLoading ? (\n \n \n \n ) : null;\n}\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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\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","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","i","first","second","_extends","assign","bind","target","source","key","hasOwnProperty","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","o","setPrototypeOf","__proto__","_typeof","obj","Symbol","iterator","constructor","_defineProperty","arg","input","hint","prim","toPrimitive","undefined","res","TypeError","String","defineProperty","enumerable","configurable","writable","ManagerReferenceNodeContext","setRef","node","fn","_len","Array","_key","safeInvoke","current","initialStyle","position","top","left","opacity","pointerEvents","initialArrowStyle","InnerPopper","_React$Component","concat","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","subClass","superClass","create","_proto","componentDidUpdate","prevProps","prevState","enableEventListeners","disableEventListeners","componentWillUnmount","isArray","setPopperNode","style","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","_ref","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","Consumer","referenceNode","FlipBehavior","auto","right","bottom","Popper","super","getModifiers","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","side","flip","behavior","split","boundariesElement","offset","preventOverflow","escapeWithReference","createContainer","zIndex","container","document","createElement","setAttribute","getBody","condition","message","Error","body","zIndexToName","acc","layerName","getLayerName","firePortalEvent","eventName","event","detail","layer","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","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","customPresenceNode","customStatusNode","enableTooltip","theme","enhancedProps","getProps","getStyledAvatar","AvatarNode","Provider","AvatarWithoutAnalytics","DecoratedComponent","MapProps","setComponent","mapped","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","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","__extends","__","__assign","t","s","n","__rest","getOwnPropertySymbols","propertyIsEnumerable","__values","m","__read","ar","push","__spread","__makeTemplateObject","cooked","raw","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","labelStyles","marginTop","marginBottom","getFieldsetLabelDynamicStyles","lightH200Styles","darkH200Styles","htmlFor","requiredIndicatorStyles","paddingLeft","RequiredAsterisk","fieldWrapperStyles","isFunction","FieldId","usePreviousRef","useRef","useEffect","Field","_getCurrentValue","registerField","getCurrentValue","defaultValue","latestPropsRef","isDefaultValueChanged","previousValue","currentValue","useState","fieldProps","onChange","valid","meta","dirty","dirtySinceLastSubmit","touched","validating","submitting","submitFailed","submitError","latestStateRef","fieldStateToMeta","unregister","fieldState","modifiedDirtySinceLastSubmit","modifiedSubmitFailed","modifiedError","validate","modifiedValid","change","eventOrValue","currentTarget","checked","getTransform","getValidator","formState","supplied","fieldId","useMemo","uid","extendedFieldProps","isInvalid","isRequired","getDescribedBy","elementAfterLabel","FormContext","IsDisabledContext","Form","formRef","onSubmitRef","onSubmit","form","finalForm","destroyOnUnregister","initialValues","mutators","setDefaultValue","values","querySelectorAll","unsubscribe","subscribe","subscriber","subscription","pauseValidation","resumeValidation","getState","FormContextValue","formProps","submit","ctrlKey","metaKey","submitButton","click","reset","getValues","setFieldValue","useTheme","headingSizes","h200","cache","serialized","isStringTag","registered","EmotionCacheContext","HTMLElement","func","forwardRef","typePropName","Insertion","inserted","insert","sheet","Emotion$1","cssProp","registeredStyles","classNames","rawClassName","newProps","argsLength","createElementArgArray","createEmotionProps","svg","iconGradientStart","iconGradientStop","ConfluenceLogo","iconColor","defaultLogoParams","sizes","CSS_VAR_COLOR","CSS_VAR_FILL","baseWrapperStyles","fill","visibility","stopColorStyles","stop","stopColor","sizeStyles","entries","val","userDefinedTestId","shouldApplyStopColor","dangerouslySetInnerHTML","__html","tslib_1","react_1","styled_components_1","uuid_1","colors_1","constants_1","getSize","span","primaryColor","secondaryColor","svgStr","Glyph","glyph","dangerouslySetGlyph","glyphProps","replace","sizeMap","_react","_interopRequireDefault","_Icon","ErrorIcon","_default","RadioIcon","ShortcutIcon","WarningIcon","reactPropsRegex","prop","charCodeAt","str","h","len","toString","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","orphans","tabSize","widows","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","toLowerCase","processStyleValue","match","p1","p2","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","anim","string","interpolated","createStringFromObject","previousCursor","cached","labelPattern","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","ownKeys","object","enumerableOnly","symbols","sym","Noop","createStyled","options","identifierName","shouldForwardProp","targetClassName","__emotion_forwardProp","propName","isReal","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","slice","Styled","withEmotionCache","finalTag","as","classInterpolations","stringMode","strings","lastIndex","exec","serializeStyles","finalShouldForwardProp","ele","possiblyStyleElement","Fragment","withComponent","nextTag","nextOptions","getOwnPropertyDescriptors","defineProperties","_objectSpread","_propTypes2","_gud2","_classCallCheck","instance","Constructor","_possibleConstructorReturn","_inherits","MAX_SIGNED_31_BIT_INT","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_Component","_temp","emitter","on","off","newValue","changedBits","componentWillReceiveProps","nextProps","oldValue","_Component2","_temp2","_this2","_len2","_key2","getValue","onUpdate","observedBits","module","_react2","_implementation2","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","isFocusableInput","wtf","getAllInputs","forms","accumulator","findInput","inputs","errors","find","noop","getInputs","findInput$$1","focusOnFirstError","firstInput","originalSubmit","nextState","submitErrors","afterSubmit","_state","charCodeOfDot","reEscapeChar","rePropName","RegExp","keysCache","keysRegex","toPath","endsWith","expression","quote","subString","trim","getIn","complexKey","path","_toPropertyKey","_toPrimitive","setInRecursor","index","destroyArrays","_extends2","_result2","_result","numKeys","map","numericKey","_result3","_array","array","splice","setIn","FORM_ERROR","ARRAY_ERROR","publishFieldState","field","lastSubmittedValues","submitSucceeded","modifiedSinceLastSubmit","visited","initial","pristine","invalid","fieldSubscriptionItems","shallowEqual","keysA","keysB","bHasOwnProperty","idx","subscriptionFilter","dest","previous","shallowEqualKeys","different","shallowEqualKeys$1","filterFieldState","previousState","force","formSubscriptionItems","filterFormState","memoize","some","isPromise","tripleEquals","hasAnyError","notifySubscriber","lastState","notification","notify","_ref2","entry","notified","createForm","debug","keepDirtyOnReinitialize","validateOnBlur","subscribers","fieldSubscribers","fields","asyncErrors","resetWhileSubmitting","lastFormState","inBatch","validationPaused","validationBlocked","preventNotificationWhileValidationPaused","nextAsyncValidationKey","asyncValidationPromises","changeValue","mutate","after","renameField","_extends3","api","lastFieldState","getMutatorApi","mutatableState","returnValue","resetFieldState","runValidation","notifyFieldListeners","notifyFormListeners","mutatorsApi","getValidators","validators","validator","fieldChanged","callback","safeFields","fieldKeys","limitedFieldLevelValidation","changedField","validateFields","recordLevelErrors","asyncRecordLevelErrors","fieldLevelErrors","promises","setErrors","errorsOrPromise","runRecordLevelValidation","wasAsync","setError","errorOrPromise","promise","runFieldLevelValidation","hasAsyncValidations","asyncValidationPromiseKey","all","processErrors","afterAsync","merged","forEachError","recordLevelError","errorFromParent","hasFieldLevelValidation","fieldLevelError","existing","copy","afterPromise","notifyField","fieldSubscriber","markAllFieldsTouched","calculateNextFormState","safeFieldKeys","foundDirty","dirtyFields","dirtyFieldsSinceLastSubmit","nonNullLastSubmittedValues","nextFormState","hasSubmitErrors","hasValidationErrors","convertToExternalFormState","_safeFieldKeys$reduce","notifying","scheduleNotification","resetModifiedAfterSubmit","batch","getFieldState","getRegisteredFields","initialize","savedDirtyValues","isValidationPaused","preventNotification","fieldConfig","beforeSubmit","haveValidator","silent","noValueInFormState","initialValue","validatorRemoved","hasFieldSubscribers","lastOne","restart","setConfig","asyncValidationPromisesKeys","resolvePromise","completeCalled","complete","memoized","onComplete","timeoutId","setTimeout","clearTimer","clearTimeout","factory","baseAssignValue","eq","objValue","assignValue","castPath","isIndex","isObject","toKey","customizer","nested","isKey","stringToPath","getNative","isSymbol","reIsDeepProp","reIsPlainProp","clear","memoizeCapped","number","MapCache","resolver","Cache","baseSet","isBrowser","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","called","scheduled","functionToCheck","getStyleComputedProperty","nodeType","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","_getStyleComputedProp","overflowX","overflowY","getReferenceNode","reference","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","axis","sideA","sideB","parseFloat","computedStyle","Math","max","parseInt","getWindowSizes","createClass","descriptor","protoProps","staticProps","getClientRect","rect","scrollTop","scrollLeft","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginLeft","subtract","modifier","includeScroll","isFixed","getFixedPositionOffsetParent","el","getBoundaries","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","refRect","rects","sortedAreas","area","sort","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","check","runModifiers","ends","findIndex","cur","isDestroyed","flipped","originalPlacement","isCreated","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","toCheck","removeAttribute","willChange","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","cancelAnimationFrame","isNumeric","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","Defaults","basePlacement","shiftvariation","_data$offsets","isVertical","shiftOffsets","useHeight","fragments","frag","divider","search","splitRegex","mergeWithPrevious","toValue","index2","parseOffset","transformProp","popperStyles","priority","secondary","min","keepTogether","floor","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","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","reducePropsToState","handleStateChangeOnClient","mountedInstances","emitChange","SideEffect","_PureComponent","peek","_createClass","_reactDom","NodeResolver","getPrototypeOf","findDOMNode","_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","scrollHeight","totalScroll","currentScroll","isTouchDevice","maxTouchPoints","camelToKebab","paddingRight","getWindowHeight","multiplier","getDocumentHeight","makeStyleTag","injectStyles","styleSheet","cssText","createTextNode","insertStyleTag","head","getElementsByTagName","pipeFns","fns","SheetProvider","addSheet","getStyles","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","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","_this$props","childProps","TransitionGroupContext","contextType","propTypes","createSource","getId","getPrefix","generateUID","WeakMap","messages","atlassianLogoLabel","defaultMessage","createPage","selectASite","startASite","switchAccount","focusBorderColor","textColors","subtleTextColors","themedBackgroundColor","truncateText","PrimaryText","SecondaryText","ThemeItem","AvatarItem","setNode","enableTextTruncate","StyledComponent","getStyledAvatarItem","AccountDetails","userName","userEmail","avatarSrc","Initials","part","atlassianLogoTextColor","getColorsFromAppearance","AtlassianLogo","DefaultHeader","formFooterWrapperStyles","justifyContentStyles","FormFooter","align","SiteSelectorFormFooter","canSubmit","onSwitchAccountClick","onCancelClick","fullScreenView","ActionsContainer","LeftActionsContainer","RightActionsContainer","PrimaryContainer","disabledColor","Label","focusBorder","invalidBorder","activeBorder","checkedBorder","isHovered","LabelText","isChecked","isFocused","RadioInputWrapper","HiddenInput","Radio","isMouseDown","ariaLabel","onInvalid","required","RadioGroup","getProp","buildOptions","optionProps","SiteSelectorRadioGroup","getRadioOptions","sites","fieldName","radioOptions","site","hostname","originalHostname","searchParams","URL","continueVal","onValueChange","onSiteChanged","newSiteSelected","getAttribute","selectedSite","SiteSelectorForm","handleFormSubmit","onNewSiteSelected","onSiteSelected","renderFormContents","SiteSelectorView","header","RootContainer","Header","AvatarContainer","SitesContainer","isOpen","hasChildren","child","currentChildren","static","previousChildren","ModalTransitionConsumer","prefixId","UID","quartz","idSource","UIDReset","valueSource","UIDConsumer","isTinted","canClickThrough","Blanket","onBlanketClicked","containerProps","WIDTH_ENUM","widths","newStyled","tagName","flexMaxHeightIEFix","dialogWidth","widthName","widthValue","FillScreen","scrollDistance","positionBaseStyles","positionBaseResponsiveStyles","PositionerAbsolute","PositionerRelative","PositionerFixed","Dialog","isChromeless","dialogBgColor","heightValue","dialogHeight","Animation","hasEntered","unadjustedStatus","adjustedStatus","fade","exited","slide","divide","divisor","modalPadding","keylineColor","wrapperStyles","showKeyline","Title","TitleText","isHeadingMultiline","titleIconWrapperStyles","bodyStyles","shouldScroll","Footer","Actions","ActionItem","JustifyShim","ModalFooter","actions","onClose","variant","TitleIcon","Icon","ModalHeader","frameId","wrapperFn","escapeIsHeldDown","_isMounted","scrollContainer","showFooterKeyline","showHeaderKeyline","showContentFocus","tabbableElements","determineKeylines","getScrollContainer","handleKeyUp","handleKeyDown","shouldCloseOnEscapePress","handleStackChange","onStackChange","capturedScrollContainer","footer","components","Body","UNSAFE_componentWillReceiveProps","DeprecatedBody","headingId","Container","CustomBody","FOCUS_GROUP","FOCUS_DISABLED","toArray","ret","asArray","filterNested","nodes","l","_loop","_ret","getTopParent","currentNode","group","focusInFrame","frame","activeElement","tabSort","tabDiff","indexDiff","orderByTabIndex","filterNegative","keepGuards","dataset","focusGuard","queryTabbables","tabbables","queryGuardTabbables","getFocusables","parents","withGuards","DOCUMENT_NODE","getPropertyValue","getParents","getCommonParent","nodea","nodeb","parentsA","parentsB","currentParent","filterFocusable","notHiddenInput","getTabbableNodes","topNodes","isRadio","findSelectedRadio","pickFocusable","isGuard","notAGuard","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","topNode","lastNode","commonParent","innerElements","_ref4","_ref5","srcNodes","dstNodes","remap","autoFocusables","outerNodes","_ref6","orderedInnerElements","Map","entity","innerNodes","_ref7","newId","autoFocused","cnt","firstFocus","lastFocus","isOnGuard","activeIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","returnFirstNode","returnLastNode","abs","newFocus","parentFocus","parentAutofocusables","allParentAutofocusables","autofocus","guardCount","lockDisabled","deferAction","setImmediate","isFreeFocus","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","activateTrap","_lastActiveTrap","observed","persistentFocus","shards","workingNode","portaledElement","workingArea","whiteList","focusWhitelisted","focusInsideIframe","contentWindow","newActiveElement","focusedItem","focusedIndex","onTrap","onWindowBlur","propsList","trap","lastTrap","sameTrap","onActivation","onDeactivation","hiddenGuard","InFocusGuard","RenderChildren","emptyArray","FocusLock","originalFocusedElement","returnFocus","observerNode","noFocusGuards","allowTextSelection","_this$props$shards","_this$props$as","_this$props$lockProps","lockProps","hasLeadingGuards","hasTailingGuards","setObserveNode","isEnabled","elem","shouldReturnFocus","scrollBehavior","PositionComponent","getScrollDistance","Modal","dialogNode","isExiting","pageXOffset","handleOverlayClick","shouldCloseOnOverlayClick","onCloseComplete","onOpenComplete","isBackground","stackConsumers","StackConsumer","updateFn","stack","ModalWrapper","onModalClosed","naturalStackIndex","SiteSelectorModal","onModalClose","ModalTransition","JiraSoftwareLogo","JiraServiceManagementLogo","JiraWorkManagementLogo","Subheadline","styled","_templateObject","_taggedTemplateLiteral","SelectedTemplate","_templateObject2","logoHeader","logo","logoProps","confluenceLogoProps","productKey","ProductKey","React","selectedTemplate","templateName","ProductTemplateSiteSelectorContainer","_useState2","_slicedToArray","setIsLoading","_useState4","setIsOpen","_useState6","templateId","setTemplateId","_useState8","learnMore","setLearnMore","_useState10","bluePrintModule","setBluePrintModule","_useState12","product","setProductKey","_useState14","userData","setUserData","deferredEvent","productSites","meDataAsync","useMe","aisAvailableProducts","useAISAvailableProducts","getEventName","getProductSites","filterProductKey","products","url","getCloudSignupUrl","blueprintModuleKey","checkProduct","cloudSignupLink","urlParams","URLSearchParams","location","append","encodeURIComponent","continueUrl","Environment","internalLinkAfterIdentity","useTemplateClickHandler","templateKey","redirectToIdentity","loginUrl","getIdentityUrl","clickedUseTemplateEvent","anonymousId","storage","event_class","classList","innerText","tracking","pathname","eventComponent","event_type","loginUserDetected","isLoggedIn","learnMoreNode","getElementById","AsyncResult","meData","sitesData","aaid","accountId","picture","email","userSites","decodeURIComponent","links","dataSet","initEvent","openModalFromQueryParams","IntlProvider","locale","lang","labels","siteUrl","createdUsing","userId","open","referer","getCloudExistingUrl","sameWindow","history","pushState"],"sourceRoot":""}