{"version":3,"file":"chunks/89ef11cf646810.js","mappings":"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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/ModernAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/blanket/dist/es2019/blanket.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/focus-ring/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/focus-ring/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/focus-ring/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/focus-ring/dist/es2019/focus-ring.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-transition.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-callback.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-state-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-modal-stack.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/util.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/index.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/merge-refs.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-document-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-prevent-programmatic-scroll.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/loading-spinner.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/custom-theme-button.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/footer.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/header.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/raf-schd/esm/index.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/positioner.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-window-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-on-motion-finish.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-wrapper.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-previous-value.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/styled/dist/styled.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/glyph/error.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/glyph/warning.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-force-render.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/exiting-persistence.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/timer-hooks.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/staggered-entrance.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/keyframes-motion.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-unique-id.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/fade-in.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/accessibility.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/curves.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/durations.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-dom-utils.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/components/internal-portal.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-is-subsequent-render.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-custom-event.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-portal-event.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/portal.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/popper/dist/es2019/Popper.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/styled.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/utils/analytics-payloads.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/Tooltip.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/glyph/check-circle.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/icon/glyph/cross.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/react-transition-group/Transition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/react-transition-group/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/react-transition-group/utils/PropTypes.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/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/flushable/dist/index.umd.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/react-clientside-effect/lib/index.es.js","webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.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/config.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/dist/es2019/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/hooks/use-free-bundles-data.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/model/index.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/icon/icon.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/components/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/components/getStyles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/components/Content.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/components/InnerWrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/components/IconWrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/components/LoadingSpinner.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/button/dist/esm/components/Button.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/styled.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/assets/team.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/primary-product-display/primary-product-display.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/secondary-product-select-button/secondary-product-select-button.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/secondary-product-display/secondary-product-display.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/secondary-product-display/secondary-product-display-modal.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/secondary-product-select-list/secondary-product-select-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/secondary-product-select-list/secondary-product-select-list-modal.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/modal-confirmation/product-added-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/modal-confirmation/site-ready-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/wac-free-bundles-modal.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-free-bundles/src/view/wac-free-bundles-view.tsx","webpack:///./resources/js/react/cms-components/wac-free-bundles/WacFreeBundlesContainer.tsx","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n  getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n  getAtlaskitAnalyticsContext: PropTypes.func\n};\nconst noop = () => [];\n\n// eslint-disable-next-line @repo/internal/react/no-class-components\nclass AnalyticsListener extends Component {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"getChildContext\", () => ({\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n    }));\n    _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n      const {\n        channel,\n        onEvent\n      } = this.props;\n      const {\n        getAtlaskitAnalyticsEventHandlers = noop\n      } = this.context;\n      const handler = (event, eventChannel) => {\n        if (channel === '*' || channel === eventChannel) {\n          onEvent(event, eventChannel);\n        }\n      };\n      return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n    });\n    _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n      const {\n        getAtlaskitAnalyticsContext = noop\n      } = this.context;\n      return getAtlaskitAnalyticsContext();\n    });\n    this.contextValue = {\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n    };\n  }\n  render() {\n    const {\n      children\n    } = this.props;\n    return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n      value: this.contextValue\n    }, children);\n  }\n}\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\nexport default AnalyticsListener;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\nconst AnalyticsListener = ({\n  children,\n  channel,\n  onEvent\n}) => {\n  const analyticsContext = useAnalyticsContext();\n  const onEventRef = useTrackedRef(onEvent);\n  const channelRef = useTrackedRef(channel);\n  const getAtlaskitAnalyticsEventHandlers = useCallback(() => {\n    const thisHandler = (event, eventChannel) => {\n      if (channelRef.current === '*' || channelRef.current === eventChannel) {\n        onEventRef.current(event, eventChannel);\n      }\n    };\n    return [...analyticsContext.getAtlaskitAnalyticsEventHandlers(), thisHandler];\n  }, [analyticsContext, channelRef, onEventRef]);\n  const value = useMemo(() => {\n    return {\n      getAtlaskitAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext\n    };\n  }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);\n  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n    value: value\n  }, children);\n};\nexport default AnalyticsListener;","import React from 'react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nconst ExportedAnalyticsListener = props => {\n  var _process$env;\n  const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);\n  return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);\n};\nexport default ExportedAnalyticsListener;","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  ref.current = value;\n  return ref;\n};","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n  if (!DEBUG_MODE) {\n    return;\n  }\n\n  // eslint-disable-next-line no-console\n  console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n  // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n  // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n  earlyResolvedFlags: new Map(),\n  booleanResolver: function (flagKey) {\n    if (process.env.NODE_ENV !== 'production') {\n      const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n      this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n    }\n    return false;\n  }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n  globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n  if (process.env.NODE_ENV !== 'production') {\n    var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n    if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n      debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n      globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n    }\n  }\n}\nexport function resolveBooleanFlag(flagKey) {\n  if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n    debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n    return true;\n  }\n  try {\n    var _globalVar$PFF_GLOBAL3;\n    const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n    if (typeof result !== 'boolean') {\n      // eslint-disable-next-line no-console\n      console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n      return false;\n    }\n    return result;\n  } catch (e) {\n    return false;\n  }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n  setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @deprecated Use {@link fg} function instead.\n * @param name\n */\nexport function getBooleanFF(name) {\n  return resolveBooleanFlag(name);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function fg(name) {\n  return resolveBooleanFlag(name);\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 <Global/>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 <ClassNames/> 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 _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\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      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, 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', '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, ${B200})`, 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: () => 9999\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}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\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', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\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<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' 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}","/** @jsx jsx */\nimport { forwardRef, memo, useCallback, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { DN90A, N100A } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { layers } from '@atlaskit/theme/constants';\nconst packageName = \"@atlaskit/blanket\";\nconst packageVersion = \"12.4.3\";\nconst analyticsAttributes = {\n  componentName: 'blanket',\n  packageName,\n  packageVersion\n};\nconst baseStyles = css({\n  position: 'fixed',\n  zIndex: layers.blanket(),\n  inset: 0,\n  overflowY: 'auto',\n  pointerEvents: 'initial'\n});\nconst shouldAllowClickThroughStyles = css({\n  pointerEvents: 'none'\n});\nconst invisibleStyles = css({\n  backgroundColor: 'transparent'\n});\nconst lightBgStyles = css({\n  backgroundColor: `var(--ds-blanket, ${N100A})`\n});\nconst darkBgStyles = css({\n  backgroundColor: `var(--ds-blanket, ${DN90A})`\n});\nconst backgroundStyle = {\n  light: lightBgStyles,\n  dark: darkBgStyles\n};\n\n/**\n * __Blanket__\n *\n * A Blanket provides the overlay layer for components such as a modal dialog or a tooltip\n *\n * - [Examples](https://atlaskit.atlassian.com/examples/design-system/blanket/basic-usage)\n */\nconst Blanket = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Blanket({\n  shouldAllowClickThrough = false,\n  isTinted = false,\n  onBlanketClicked = noop,\n  testId,\n  children,\n  analyticsContext\n}, ref) {\n  const {\n    mode\n  } = useGlobalTheme();\n  const mouseDownTarget = useRef(null);\n  const onBlanketClickedWithAnalytics = usePlatformLeafEventHandler({\n    fn: onBlanketClicked,\n    action: 'clicked',\n    analyticsData: analyticsContext,\n    ...analyticsAttributes\n  });\n  const blanketClickOutsideChildren = useCallback(e => e.currentTarget === e.target && mouseDownTarget.current === e.target ? onBlanketClickedWithAnalytics(e) : undefined, [onBlanketClickedWithAnalytics]);\n  const onClick = shouldAllowClickThrough ? undefined : blanketClickOutsideChildren;\n  const onMouseDown = useCallback(e => {\n    mouseDownTarget.current = e.target;\n  }, []);\n  return jsx(\"div\", {\n    role: \"presentation\",\n    css: [baseStyles, shouldAllowClickThrough && shouldAllowClickThroughStyles, backgroundStyle[mode], !isTinted && invisibleStyles],\n    onClick: onClick,\n    onMouseDown: onMouseDown,\n    \"data-testid\": testId,\n    ref: ref\n  }, children);\n}));\nBlanket.displayName = 'Blanket';\nexport default Blanket;","/**\n * An empty function which does nothing.\n */\n// eslint-disable-next-line @repo/internal/react/use-noop\nexport default function noop() {}","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 <Global/>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 <ClassNames/> 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","/** @jsx jsx */\nimport { Children, cloneElement, memo } from 'react';\nimport { ClassNames, css, jsx } from '@emotion/react';\nconst BORDER_WIDTH = 2;\nconst baseFocusOutsideStyles = css({\n  outline: `${BORDER_WIDTH}px solid ${\"var(--ds-border-focused, #4C9AFF)\"}`,\n  outlineOffset: BORDER_WIDTH\n});\nconst baseInsetStyles = css({\n  outlineColor: \"var(--ds-border-focused, #4C9AFF)\",\n  outlineOffset: -BORDER_WIDTH,\n  outlineStyle: 'solid',\n  outlineWidth: BORDER_WIDTH\n});\nconst focusRingStyles = css({\n  '&:focus-visible': baseFocusOutsideStyles,\n  '@supports not selector(*:focus-visible)': {\n    '&:focus': baseFocusOutsideStyles\n  },\n  '@media screen and (forced-colors: active), screen and (-ms-high-contrast: active)': {\n    '&:focus-visible': {\n      outline: '1px solid'\n    }\n  }\n});\nconst insetFocusRingStyles = css({\n  '&:focus-visible': baseInsetStyles,\n  '@supports not selector(*:focus-visible)': {\n    '&:focus': baseInsetStyles\n  },\n  '@media screen and (forced-colors: active), screen and (-ms-high-contrast: active)': {\n    '&:focus-visible': {\n      outline: '1px solid',\n      outlineOffset: '-1px'\n    }\n  }\n});\n\n/**\n * __Focus ring__\n *\n * A focus ring visually indicates the currently focused item.\n *\n * There are known accessibility issues with this component.\n * Do not use without assistance from the Design System accessibility team.\n *\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/focus-ring)\n *\n * @example\n * ```jsx\n * import FocusRing from '@atlaskit/focus-ring';\n *\n * const InteractiveComponent = () => (\n *   <FocusRing>\n *     <button type=\"button\">Hello</button>\n *   </FocusRing>\n * )\n * ```\n */\nconst FocusRing = /*#__PURE__*/memo(({\n  children,\n  isInset,\n  focus\n}) => {\n  const controlledStyles = isInset ? baseInsetStyles : baseFocusOutsideStyles;\n  const uncontrolledStyles = isInset ? insetFocusRingStyles : focusRingStyles;\n  const focusCls = typeof focus === 'undefined' ? uncontrolledStyles : focus === 'on' && controlledStyles;\n  return jsx(ClassNames, null, ({\n    css,\n    cx\n  }) => Children.only(\n  // This may look unwieldy but means we skip applying styles / cloning if no className is applicable\n  focusCls ?\n  /*#__PURE__*/\n  // eslint-disable-next-line @repo/internal/react/no-clone-element\n  cloneElement(children, {\n    className: cx([css(focusCls), children.props.className])\n  }) : children));\n});\nFocusRing.displayName = 'FocusRing';\nexport default FocusRing;","import React from 'react';\nimport ExitingPersistence from '@atlaskit/motion/exiting-persistence';\n\nconst ModalTransition = props => {\n  return /*#__PURE__*/React.createElement(ExitingPersistence, {\n    appear: true\n  }, props.children);\n};\n\nexport default ModalTransition;","/**\n * An empty function which does nothing.\n */\nexport default function noop() {}","import { useRef } from 'react';\nconst uniqueReferencedValue = {};\n/**\n * Executes the initializer function once and saves its result into a ref.\n *\n * ```js\n * const ref = useLazyRef(() => 10);\n * ```\n *\n * @param initializer\n */\n\nexport default function useLazyRef(initializer) {\n  const ref = useRef(uniqueReferencedValue);\n\n  if (ref.current === uniqueReferencedValue) {\n    ref.current = initializer();\n  }\n\n  return ref;\n}","import useLazyRef from './use-lazy-ref';\n/**\n * Saves the passed through `callback` to a ref to ensure stability between renders.\n * As a feature this callback will only be created **once**,\n * this means it will have a stale closure on subsequent render.\n *\n * If you need to access things in the parent scope make sure to do it with refs.\n *\n * ```js\n * const callback = useLazyCallback(() => 10);\n * ```\n *\n * @param callback\n */\n\nexport default function useLazyCallback(callback) {\n  const ref = useLazyRef(() => callback);\n  return ref.current;\n}","import { useRef, useState } from 'react';\n/**\n * Functions similarly to `useState` however the return value is a ref.\n *\n * ```js\n * const [valueRef, setValue] = useStateRef(0);\n * ```\n *\n * @param initialState\n */\n\nexport default function useStateRef(initialState) {\n  const [value, setValue] = useState(initialState);\n  const valueRef = useRef(value);\n  valueRef.current = value;\n  return [valueRef, setValue];\n}","import { useEffect } from 'react';\nimport useLazyCallback from '@atlaskit/ds-lib/use-lazy-callback';\nimport usePreviousValue from '@atlaskit/ds-lib/use-previous-value';\nimport useStateRef from '@atlaskit/ds-lib/use-state-ref';\nimport { useExitingPersistence } from '@atlaskit/motion/exiting-persistence';\n/**\n *  ________________________________________________\n * | MAJOR VERSIONS WILL NOT KNOW ABOUT EACH OTHER! |\n *  ------------------------------------------------\n *\n * An array which holds references to all currently open modal dialogs.\n * This will only work for modal dialogs of the same major version,\n * as the reference will be different between them.\n *\n * E.g. V11 won't know about any from V12.\n */\n\nconst modalStackRegister = [];\n\n/**\n * Returns the position of the calling modal dialog in the modal dialog stack.\n * Stack index of `0` is the highest position in the stack,\n * with every higher number being behind in the stack.\n */\nexport default function useModalStack({\n  onStackChange\n}) {\n  const {\n    isExiting\n  } = useExitingPersistence();\n  const [stackIndexRef, setStackIndex] = useStateRef(0);\n  const currentStackIndex = stackIndexRef.current;\n  const previousStackIndex = usePreviousValue(stackIndexRef.current); // We want to ensure this function **never changes** during the lifecycle of this component.\n  // This is why it's assigned to a ref and not in a useMemo/useCallback.\n\n  const updateStack = useLazyCallback(() => {\n    const newStackIndex = modalStackRegister.indexOf(updateStack); // We access the stack index ref instead of state because this closure will always only\n    // have the initial state and not any of the later values.\n\n    if (stackIndexRef.current !== newStackIndex) {\n      setStackIndex(newStackIndex);\n      stackIndexRef.current = newStackIndex;\n    }\n  });\n  useEffect(() => {\n    const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n    if (!isExiting && currentStackIndex === -1) {\n      // We are opening the modal dialog.\n      // Add ourselves to the modal stack register!\n      modalStackRegister.unshift(updateStack);\n    }\n\n    if (isExiting && currentStackIndex !== -1) {\n      // We are closing the modal dialog using a wrapping modal transition component.\n      // Remove ourselves from the modal stack register!\n      // NOTE: Modal dialogs that don't have a wrapping modal transition component won't flow through here!\n      // For that scenario we cleanup when the component unmounts.\n      modalStackRegister.splice(currentStackIndex, 1);\n    } // Fire all registered modal dialogs to update their position in the stack.\n\n\n    modalStackRegister.forEach(cb => cb());\n  }, [updateStack, isExiting]);\n  useEffect(() => () => {\n    // Final cleanup just in case this modal dialog did not have a wrapping modal transition.\n    const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n    if (currentStackIndex !== -1) {\n      modalStackRegister.splice(currentStackIndex, 1);\n      modalStackRegister.forEach(cb => cb());\n    }\n  }, [updateStack]);\n  useEffect(() => {\n    if (previousStackIndex === undefined) {\n      // Initial case that we don't need to notify about.\n      return;\n    }\n\n    if (previousStackIndex !== currentStackIndex) {\n      onStackChange(currentStackIndex);\n    }\n  }, [onStackChange, previousStackIndex, currentStackIndex]);\n  return currentStackIndex;\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 _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = { ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n\n    this.payload = props.payload;\n  }\n\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n\n    if (typeof updater === 'object') {\n      this.payload = { ...this.payload,\n        ...updater\n      };\n    }\n\n    return this;\n  }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n\n        return null;\n      }\n\n      const context = [...this.context];\n      const handlers = [...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\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n\n        return;\n      }\n\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n\n      return this;\n    }\n\n    return super.update(updater);\n  }\n\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents(); // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    }); // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context); // fire an event on the atlaskit channel\n\n    const clone = analyticsEvent.clone();\n\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n\n    fnRef.current(value, analyticsEvent);\n  }, [// These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion, // This function is memoized in the context\n  createAnalyticsEvent, // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","/**\n * Assigns the node to all the refs passed in the argument.\n *\n * @param refs: An array of refs (as function or ref object)\n */\nexport default function mergeRefs(refs) {\n  return value => {\n    refs.forEach(ref => {\n      if (typeof ref === 'function') {\n        ref(value);\n      } else if (ref !== null) {\n        ref.current = value;\n      }\n    });\n  };\n}","import { useEffect } from 'react';\n/**\n * Assigns an event listener to the document and cleans up after itself.\n * This event will not flow through the React event system,\n * which means it could add lots of event listeners affecting performance.\n * Use with caution.\n *\n * ```\n * useDocumentEvent('click', callback, true);\n * ```\n *\n * @param eventName\n * @param callback Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n * @param options Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n */\n\nexport default function useDocumentEvent(eventName, callback, options) {\n  useEffect(() => {\n    document.addEventListener(eventName, callback, options);\n    return () => {\n      document.removeEventListener(eventName, callback, options);\n    };\n  }, [eventName, callback, options]);\n}","import { useCallback, useLayoutEffect, useState } from 'react';\nimport useWindowEvent from '@atlaskit/ds-lib/use-window-event';\n/**\n * Returns how far the body is scrolled from the top of the viewport.\n *\n *   ____\n * ||____|| <-- overflow\n *  |    |  <-- viewport\n *  |____|\n *\n * Scroll distance is the height of overflow outside the viewport.\n */\n\nfunction getScrollDistance() {\n  var _document$documentEle, _document$body;\n\n  return window.pageYOffset || ((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.scrollTop) || ((_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.scrollTop) || 0;\n}\n/**\n * Prevents programatic scrolling of the viewport with `scrollIntoView`.\n * Should be used in conjunction with a scroll lock to prevent a user from scrolling.\n *\n * @returns scroll top offset of the viewport\n */\n\n\nexport default function usePreventProgrammaticScroll() {\n  const [scrollTopOffset, setScrollTopOffset] = useState(0);\n  useLayoutEffect(() => {\n    setScrollTopOffset(getScrollDistance());\n  }, []);\n  const onWindowScroll = useCallback(() => {\n    if (getScrollDistance() !== scrollTopOffset) {\n      window.scrollTo(window.pageXOffset, scrollTopOffset);\n    }\n  }, [scrollTopOffset]);\n  useWindowEvent('scroll', onWindowScroll);\n  return scrollTopOffset;\n}","import { css } from '@emotion/core';\nimport { prefersReducedMotion } from '@atlaskit/motion/accessibility';\nimport { easeInOut } from '@atlaskit/motion/curves';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { N0, N30A, N60A, text } from '@atlaskit/theme/colors';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nimport { gutter, verticalOffset, WIDTH_ENUM } from '../constants';\nconst maxWidthDimensions = `calc(100vw - ${gutter * 2}px)`;\nconst maxHeightDimensions = `calc(100vh - ${gutter * 2 - 1}px)`;\nexport const dialogWidth = width => {\n  if (!width) {\n    return 'auto';\n  }\n\n  const isWidthName = WIDTH_ENUM.values.indexOf(width.toString()) !== -1;\n  const widthName = isWidthName && width;\n\n  if (widthName) {\n    return `${WIDTH_ENUM.widths[widthName]}px`;\n  }\n\n  return typeof width === 'number' ? `${width}px` : width;\n};\nexport const dialogHeight = height => {\n  if (!height) {\n    return 'auto';\n  }\n\n  return typeof height === 'number' ? `${height}px` : height;\n};\nexport const getFillScreenStyles = scrollDistance => css`\n  height: 100vh;\n  width: 100vw;\n\n  // This instead of fixed so PopupSelect's\n  // children are properly positioned.\n  position: absolute;\n  top: ${scrollDistance}px;\n  left: 0;\n\n  z-index: ${layers.modal()};\n  overflow-y: auto; // Enables scroll outside.\n  -webkit-overflow-scrolling: touch;\n`;\n\nconst modalStackTransition = stackIndex => css`\n  // We only want to apply transform on modals shifting to the back of the stack.\n  transform: ${stackIndex > 0 ? `translateY(${stackIndex * (verticalOffset / 2)}px)` : 'none'};\n  transition-property: transform;\n  transition-duration: ${mediumDurationMs}ms;\n  transition-timing-function: ${easeInOut};\n  ${prefersReducedMotion()};\n`;\n\nconst positionerBaseStyles = css`\n  top: ${gutter}px;\n  left: 0;\n  right: 0;\n  margin-left: auto;\n  margin-right: auto;\n\n  max-width: ${maxWidthDimensions};\n  max-height: ${maxHeightDimensions};\n\n  pointer-events: none;\n  width: max-content;\n`;\nconst positionerResponsiveBaseStyles = css`\n  position: fixed;\n  left: 0;\n  top: 0;\n\n  height: 100%;\n  width: 100%;\n  max-width: 100%;\n\n  z-index: ${layers.modal()};\n`;\nexport const getPositionRelativeStyles = stackIndex => css`\n  ${positionerResponsiveBaseStyles};\n  ${modalStackTransition(stackIndex)};\n\n  margin: 0;\n\n  @media (min-width: 480px) {\n    position: relative;\n    margin: ${gutter}px auto;\n    width: max-content;\n  }\n`;\nexport const getPositionAbsoluteStyles = stackIndex => css`\n  ${positionerResponsiveBaseStyles};\n  ${modalStackTransition(stackIndex)};\n\n  @media (min-width: 480px) {\n    ${positionerBaseStyles};\n    position: absolute;\n  }\n`;\nexport const getPositionFixedStyles = stackIndex => css`\n  ${positionerResponsiveBaseStyles};\n  ${modalStackTransition(stackIndex)};\n\n  @media (min-width: 480px) {\n    ${positionerBaseStyles};\n    position: fixed;\n  }\n`;\nexport const getDialogStyles = ({\n  isChromeless,\n  height,\n  width\n}) => css`\n  color: ${text()};\n  display: flex;\n  flex-direction: column;\n\n  pointer-events: auto;\n\n  height: 100%;\n  width: 100%;\n  max-height: 100vh;\n  max-width: 100vw;\n\n  ${isChromeless !== true && css`\n    background-color: ${N0};\n  `}\n\n  @media (min-width: 480px) {\n    height: ${dialogHeight(height)};\n    width: ${dialogWidth(width)};\n    max-height: inherit;\n    max-width: inherit;\n\n    margin-left: inherit;\n    margin-right: inherit;\n\n    ${isChromeless !== true && css`\n      border-radius: ${borderRadius()}px;\n      box-shadow: 0 0 0 1px ${N30A}, 0 2px 1px ${N30A}, 0 0 20px -6px ${N60A};\n    `}\n  }\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<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' 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 { 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 _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\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      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","/**\n * An empty function which does nothing.\n */\n// eslint-disable-next-line @repo/internal/react/use-noop\nexport default function noop() {}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, 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', '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, ${B200})`, 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: () => 9999\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}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\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', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\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})`;","function abort(event) {\n  event.preventDefault();\n  event.stopPropagation();\n}\nconst tabKeyCode = 9;\nfunction onKey(event) {\n  // Allowing tab so that a user can move focus away\n  if (event.keyCode === tabKeyCode) {\n    return;\n  }\n  abort(event);\n}\nconst block = {\n  onMouseDownCapture: abort,\n  onMouseUpCapture: abort,\n  // because we have tabIndex = -1 when disabled,\n  // keyboard events can only occur when there is an overlay\n  onKeyDownCapture: onKey,\n  onKeyUpCapture: onKey,\n  onTouchStartCapture: abort,\n  onTouchEndCapture: abort,\n  onPointerDownCapture: abort,\n  onPointerUpCapture: abort,\n  onClickCapture: abort,\n  // Just smashing the existing onClick for good measure\n  onClick: abort\n};\nconst doNotBlock = {};\nexport default function blockEvents({\n  isInteractive\n}) {\n  return isInteractive ? doNotBlock : block;\n}","import * as colors from '@atlaskit/theme/colors';\n// Hard coding the active rgba color value rather than using a helper to convert it\n// With helper it would be: hex2rgba(colors.B75, 0.6)\nconst fadedB75 = 'rgba(179, 212, 255, 0.6)';\nconst values = {\n  // Default appearance\n  background: {\n    default: {\n      default: {\n        light: `var(--ds-background-neutral, ${colors.N20A})`,\n        dark: `var(--ds-background-neutral, ${colors.DN70})`\n      },\n      hover: {\n        light: `var(--ds-background-neutral-hovered, ${colors.N30A})`,\n        dark: `var(--ds-background-neutral-hovered, ${colors.DN60})`\n      },\n      active: {\n        light: `var(--ds-background-neutral-pressed, ${fadedB75})`,\n        dark: `var(--ds-background-neutral-pressed, ${colors.B75})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    primary: {\n      default: {\n        light: `var(--ds-background-brand-bold, ${colors.B400})`,\n        dark: `var(--ds-background-brand-bold, ${colors.B100})`\n      },\n      hover: {\n        light: `var(--ds-background-brand-bold-hovered, ${colors.B300})`,\n        dark: `var(--ds-background-brand-bold-hovered, ${colors.B75})`\n      },\n      active: {\n        light: `var(--ds-background-brand-bold-pressed, ${colors.B500})`,\n        dark: `var(--ds-background-brand-bold-pressed, ${colors.B200})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    warning: {\n      default: {\n        light: `var(--ds-background-warning-bold, ${colors.Y300})`,\n        dark: `var(--ds-background-warning-bold, ${colors.Y300})`\n      },\n      hover: {\n        light: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`,\n        dark: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`\n      },\n      active: {\n        light: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`,\n        dark: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.Y400})`,\n        dark: `var(--ds-background-selected, ${colors.Y400})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.Y400})`,\n        dark: `var(--ds-background-selected, ${colors.Y400})`\n      }\n    },\n    danger: {\n      default: {\n        light: `var(--ds-background-danger-bold, ${colors.R400})`,\n        dark: `var(--ds-background-danger-bold, ${colors.R400})`\n      },\n      hover: {\n        light: `var(--ds-background-danger-bold-hovered, ${colors.R300})`,\n        dark: `var(--ds-background-danger-bold-hovered, ${colors.R300})`\n      },\n      active: {\n        light: `var(--ds-background-danger-bold-pressed, ${colors.R500})`,\n        dark: `var(--ds-background-danger-bold-pressed, ${colors.R500})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.R500})`,\n        dark: `var(--ds-background-selected, ${colors.R500})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.R500})`,\n        dark: `var(--ds-background-selected, ${colors.R500})`\n      }\n    },\n    link: {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      }\n    },\n    subtle: {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      hover: {\n        light: `var(--ds-background-neutral-subtle-hovered, ${colors.N30A})`,\n        dark: `var(--ds-background-neutral-subtle-hovered, ${colors.DN60})`\n      },\n      active: {\n        light: `var(--ds-background-neutral-subtle-pressed, ${fadedB75})`,\n        dark: `var(--ds-background-neutral-subtle-pressed, ${colors.B75})`\n      },\n      disabled: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    'subtle-link': {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      }\n    }\n  },\n  color: {\n    default: {\n      default: {\n        light: `var(--ds-text, ${colors.N500})`,\n        dark: `var(--ds-text, ${colors.DN400})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.B400})`,\n        dark: `var(--ds-text, ${colors.B400})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    primary: {\n      default: {\n        light: `var(--ds-text-inverse, ${colors.N0})`,\n        dark: `var(--ds-text-inverse, ${colors.DN30})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    warning: {\n      default: {\n        light: `var(--ds-text-warning-inverse, ${colors.N800})`,\n        dark: `var(--ds-text-warning-inverse, ${colors.N800})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N800})`,\n        dark: `var(--ds-text-selected, ${colors.N800})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N800})`,\n        dark: `var(--ds-text-selected, ${colors.N800})`\n      }\n    },\n    danger: {\n      default: {\n        light: `var(--ds-text-inverse, ${colors.N0})`,\n        dark: `var(--ds-text-inverse, ${colors.N0})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N0})`,\n        dark: `var(--ds-text-selected, ${colors.N0})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N0})`,\n        dark: `var(--ds-text-selected, ${colors.N0})`\n      }\n    },\n    link: {\n      default: {\n        light: `var(--ds-link, ${colors.B400})`,\n        dark: `var(--ds-link, ${colors.B100})`\n      },\n      hover: {\n        light: `var(--ds-link, ${colors.B300})`,\n        dark: `var(--ds-link, ${colors.B75})`\n      },\n      active: {\n        light: `var(--ds-link-pressed, ${colors.B500})`,\n        dark: `var(--ds-link-pressed, ${colors.B200})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.N700})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.N700})`\n      }\n    },\n    subtle: {\n      default: {\n        light: `var(--ds-text, ${colors.N500})`,\n        dark: `var(--ds-text, ${colors.DN400})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.B400})`,\n        dark: `var(--ds-text, ${colors.B400})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    'subtle-link': {\n      default: {\n        light: `var(--ds-text-subtle, ${colors.N200})`,\n        dark: `var(--ds-text-subtle, ${colors.DN400})`\n      },\n      hover: {\n        light: `var(--ds-text-subtle, ${colors.N90})`,\n        dark: `var(--ds-text-subtle, ${colors.B50})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.N400})`,\n        dark: `var(--ds-text, ${colors.DN300})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    }\n  }\n};\nexport default values;","import { css } from '@emotion/react';\nimport { borderRadius as getBorderRadius, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize();\n\n// ## Button layout\n//\n// /------------------------------------------------------------------------------------------------------------------\\\n// |       →  |  ←      |          |      →  |  ←      |           |      →  |  ←      |         |      →  |  ←       |\n// |  10px →  |  ← 2px  |   icon   |  2px →  |  ← 2px  |           |  2px →  |  ← 2px  |  icon   |  2px →  |  ← 10px  |\n// |  padding |  margin |  before  |  margin |  margin |  content  |  margin |  margin |  after  |  margin |  padding |\n// |    (12px total)    |          |    (4px total)    |           |    (4px total)    |         |    (12px total)    |\n// |       →  |  ←      |          |      →  |  ←      |           |      →  |  ←      |         |      →  |  ←       |\n// \\------------------------------------------------------------------------------------------------------------------/\n//                                           ↑                               ↑\n//                                        Margins don't collapse with inline-flex\n//\nconst heights = {\n  default: `${gridSize * 4 / fontSize}em`,\n  // 32px\n  compact: `${gridSize * 3 / fontSize}em`,\n  none: 'auto'\n};\nconst lineHeights = {\n  default: heights.default,\n  compact: heights.compact,\n  none: 'inherit'\n};\nconst padding = {\n  // 10px gutter\n  default: `0 ${gridSize + gridSize / 4}px`,\n  compact: `0 ${gridSize + gridSize / 4}px`,\n  none: '0'\n};\nconst singleIconPadding = {\n  // 2px gutter\n  compact: `0 ${gridSize / 4}px`,\n  default: `0 ${gridSize / 4}px`,\n  none: '0'\n};\nconst verticalAlign = {\n  default: 'middle',\n  compact: 'middle',\n  none: 'baseline'\n};\nconst innerMargin = {\n  content: `0 ${gridSize / 4}px`,\n  icon: `0 ${gridSize / 4}px`\n};\nfunction getColor({\n  group,\n  key,\n  mode\n}) {\n  const rule = group[key] || group.default;\n  return rule[mode];\n}\nfunction getColors({\n  appearance,\n  key,\n  mode\n}) {\n  return {\n    background: getColor({\n      group: colors.background[appearance],\n      key,\n      mode\n    }),\n    // Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider\n    color: `${getColor({\n      group: colors.color[appearance],\n      key,\n      mode\n    })} !important`\n  };\n}\nexport function getCss({\n  appearance,\n  spacing,\n  mode,\n  isSelected,\n  shouldFitContainer,\n  isOnlySingleIcon\n}) {\n  const baseColors = getColors({\n    appearance,\n    key: isSelected ? 'selected' : 'default',\n    mode\n  });\n  return {\n    // 0px margin added to css-reset\n    alignItems: 'baseline',\n    borderWidth: 0,\n    borderRadius,\n    boxSizing: 'border-box',\n    display: 'inline-flex',\n    fontSize: 'inherit',\n    fontStyle: 'normal',\n    // Chrome recently changed button so that they use 'arial' as the font family\n    fontFamily: 'inherit',\n    fontWeight: 500,\n    // margin for button has been applied to css reset\n    maxWidth: '100%',\n    // Needed to position overlay\n    position: 'relative',\n    textAlign: 'center',\n    textDecoration: 'none',\n    transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',\n    whiteSpace: 'nowrap',\n    // dynamic styles\n    ...baseColors,\n    cursor: 'pointer',\n    height: heights[spacing],\n    lineHeight: lineHeights[spacing],\n    padding: isOnlySingleIcon ? singleIconPadding[spacing] : padding[spacing],\n    verticalAlign: verticalAlign[spacing],\n    width: shouldFitContainer ? '100%' : 'auto',\n    // justifyContent required for shouldFitContainer buttons with an icon inside\n    justifyContent: 'center',\n    // Note: we cannot disable pointer events when there is an overlay.\n    // That would be easy for styling, but it would start letting events through on disabled buttons\n\n    // Disabling visited styles (just using the base colors)\n    '&:visited': {\n      ...baseColors\n    },\n    '&:hover': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'hover',\n        mode\n      }),\n      textDecoration: !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? 'underline' : 'inherit',\n      // background, box-shadow\n      transitionDuration: '0s, 0.15s'\n    },\n    // giving active styles preference by listing them after focus\n    '&:active': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'active',\n        mode\n      }),\n      // background, box-shadow\n      transitionDuration: '0s, 0s'\n    },\n    // preventDefault prevents regular active styles from applying in Firefox\n    '&[data-firefox-is-active=\"true\"]': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'active',\n        mode\n      }),\n      // background, box-shadow\n      transitionDuration: '0s, 0s'\n    },\n    // Giving disabled styles preference over active by listing them after.\n    // Not using '&:disabled' because :disabled is not a valid state for all element types\n    // so we are targeting the attribute\n    // Attributes have the same specificity a pseudo classes so we are overriding :disabled here\n    '&[disabled]': {\n      // always using 'disabled' even when selected\n      ...getColors({\n        appearance,\n        key: 'disabled',\n        mode\n      }),\n      cursor: 'not-allowed',\n      textDecoration: 'none'\n    },\n    '&[data-has-overlay=\"true\"]': {\n      cursor: 'default',\n      textDecoration: 'none'\n    },\n    // disabling hover and active color changes when there is an overlay, but the button is not disabled\n    '&[data-has-overlay=\"true\"]:not([disabled]):hover, &[data-has-overlay=\"true\"]:not([disabled]):active': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'default',\n        mode\n      })\n    },\n    '&::-moz-focus-inner': {\n      border: 0,\n      margin: 0,\n      padding: 0\n    }\n  };\n}\n\n// inline-flex child\nexport function getIconStyle({\n  spacing\n}) {\n  return css({\n    display: 'flex',\n    // icon size cannot grow and shrink\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    margin: spacing === 'none' ? 0 : innerMargin.icon,\n    flexGrow: 0,\n    flexShrink: 0,\n    alignSelf: 'center',\n    fontSize: 0,\n    lineHeight: 0,\n    userSelect: 'none'\n  });\n}\n\n// inline-flex child\nexport function getContentStyle({\n  spacing\n}) {\n  return css({\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    margin: spacing === 'none' ? 0 : innerMargin.content,\n    // content can grow and shrink\n    flexGrow: 1,\n    flexShrink: 1,\n    // ellipsis for overflow text\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap'\n  });\n}\nexport function getFadingCss({\n  hasOverlay\n}) {\n  return css({\n    opacity: hasOverlay ? 0 : 1,\n    transition: 'opacity 0.3s'\n  });\n}\nexport const overlayCss = {\n  // stretching to full width / height of button\n  // this is important as we need it to still block\n  // event if clicking in the button's own padding\n  position: 'absolute',\n  left: 0,\n  top: 0,\n  right: 0,\n  bottom: 0,\n  // Putting all children in the center\n  display: 'flex',\n  justifyContent: 'center',\n  alignItems: 'center'\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\n// eslint-disable-next-line no-duplicate-imports\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { N500 } from '@atlaskit/theme/colors';\nimport blockEvents from './block-events';\nimport { getContentStyle, getFadingCss, getIconStyle, overlayCss } from './css';\n\n// Disabled buttons will still publish events for nested elements in webkit.\n// We are disabling pointer events on child elements so that\n// the button will always be the target of events\n// Note: firefox does not have this behaviour for child elements\nconst noPointerEventsOnChildrenCss = {\n  '> *': {\n    pointerEvents: 'none'\n  }\n};\nexport default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n  const {\n    appearance = 'default',\n    buttonCss,\n    spacing = 'default',\n    autoFocus = false,\n    isDisabled = false,\n    shouldFitContainer = false,\n    isSelected = false,\n    iconBefore,\n    iconAfter,\n    children,\n    className,\n    href,\n    overlay,\n    tabIndex = 0,\n    type = !href ? 'button' : undefined,\n    onMouseDown: providedOnMouseDown = noop,\n    onClick: providedOnClick = noop,\n    // use the provided component prop,\n    // else default to anchor if there is a href, and button if there is no href\n    component: Component = href ? 'a' : 'button',\n    testId,\n    interactionName,\n    // I don't think this should be in button, but for now it is\n    analyticsContext,\n    ...rest\n  } = props;\n  const ourRef = useRef();\n  const setRef = useCallback(node => {\n    ourRef.current = node;\n    if (ref == null) {\n      return;\n    }\n    if (typeof ref === 'function') {\n      ref(node);\n      return;\n    }\n\n    // @ts-ignore\n    ref.current = node;\n  }, [ourRef, ref]);\n\n  // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n  useAutoFocus(ourRef, autoFocus);\n  const interactionContext = useContext(InteractionContext);\n  const handleClick = useCallback((e, analyticsEvent) => {\n    interactionContext && interactionContext.tracePress(interactionName, e.timeStamp);\n    providedOnClick(e, analyticsEvent);\n  }, [providedOnClick, interactionContext, interactionName]);\n  const onClick = usePlatformLeafEventHandler({\n    fn: handleClick,\n    action: 'clicked',\n    componentName: 'button',\n    packageName: \"@atlaskit/button\",\n    packageVersion: \"16.7.5\",\n    analyticsData: analyticsContext\n  });\n\n  // Button currently calls preventDefault, which is not standard button behaviour\n  const onMouseDown = useCallback(event => {\n    event.preventDefault();\n    providedOnMouseDown(event);\n  }, [providedOnMouseDown]);\n\n  // Lose focus when becoming disabled (standard button behaviour)\n  useEffect(() => {\n    const el = ourRef.current;\n    if (isDisabled && el && el === document.activeElement) {\n      el.blur();\n    }\n  }, [isDisabled]);\n\n  // we are 'disabling' input with a button when there is an overlay\n  const hasOverlay = Boolean(overlay);\n  const fadeCss = css(getFadingCss({\n    hasOverlay\n  }));\n  const isInteractive = !isDisabled && !hasOverlay;\n\n  /**\n   * HACK: Spinner needs to have different colours in the \"new\" tokens design compared to the old design.\n   * For now, while we support both, these styles reach into Spinner when a theme is set, applies the right color.\n   * Ticket to remove: https://product-fabric.atlassian.net/browse/DSP-2067\n   */\n  var spinnerHackCss = {};\n  if (isSelected || isDisabled || appearance === 'warning') {\n    spinnerHackCss = {\n      '[data-theme] & circle': {\n        stroke: `${isSelected || isDisabled ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-warning-inverse, ${N500})`} !important`\n      }\n    };\n  }\n  return jsx(FocusRing, null, jsx(Component, _extends({}, rest, {\n    css: [buttonCss, isInteractive ? null : noPointerEventsOnChildrenCss],\n    className: className,\n    ref: setRef,\n    onClick: onClick,\n    onMouseDown: onMouseDown,\n    disabled: isDisabled,\n    href: isInteractive ? href : undefined\n    // using undefined so that the property doesn't exist when false\n    ,\n    \"data-has-overlay\": hasOverlay ? true : undefined,\n    \"data-testid\": testId,\n    type: type\n    // Adding a tab index so element is always focusable, even when not a <button> or <a>\n    // Disabling focus via keyboard navigation when disabled\n    // as this is standard button behaviour\n    ,\n    tabIndex: isDisabled ? -1 : tabIndex\n  }, blockEvents({\n    isInteractive\n  })), iconBefore ? jsx(\"span\", {\n    css: [fadeCss, getIconStyle({\n      spacing\n    })]\n  }, iconBefore) : null, children ? jsx(\"span\", {\n    css: [fadeCss, getContentStyle({\n      spacing\n    })]\n  }, children) : null, iconAfter ? jsx(\"span\", {\n    css: [fadeCss, getIconStyle({\n      spacing\n    })]\n  }, iconAfter) : null, overlay ? jsx(\"span\", {\n    css: [overlayCss, spinnerHackCss]\n  }, overlay) : null));\n});","import { useEffect, useRef } from 'react';\n\n/**\n * Focusing on the passed element ref after initial mount.\n * Will only focus on initial mount.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/autofocus\n *\n * ```tsx\n * import useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\n *\n * const elementRef = useRef();\n * useAutoFocus(elementRef, true);\n *\n * <button ref={elementRef} />;\n * ```\n *\n * @param ref\n * @param autoFocus\n */\nexport default function useAutoFocus(ref, autoFocus) {\n  const initialMount = useRef(true);\n  useEffect(() => {\n    if (ref && initialMount.current && autoFocus && ref.current) {\n      ref.current.focus();\n    }\n    initialMount.current = false;\n  }, [autoFocus, ref]);\n}","export default function getIsOnlySingleIcon({\n  children,\n  iconBefore,\n  iconAfter\n}) {\n  if (children) {\n    return false;\n  }\n  if (iconBefore && !iconAfter) {\n    return true;\n  }\n  if (!iconBefore && iconAfter) {\n    return true;\n  }\n  return false;\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, 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', '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, ${B200})`, 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: () => 9999\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}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\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', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\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<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","export const presetSizes = {\n  xsmall: 8,\n  small: 16,\n  medium: 24,\n  large: 48,\n  xlarge: 96\n};","/** @jsx jsx */\nimport React, { useContext, useEffect, useLayoutEffect as useRealLayoutEffect } from 'react';\nimport { css, jsx, keyframes } from '@emotion/react';\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\n/**\n * Returns the appropriate circle stroke color.\n */\nfunction getStrokeColor({\n  mode,\n  appearance\n}) {\n  if (mode === 'light') {\n    return appearance === 'inherit' ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-inverse, ${N0})`;\n  }\n  return appearance === 'inherit' ? `var(--ds-icon-subtle, ${DN900})` : `var(--ds-icon-inverse, ${DN500})`;\n}\nconst rotate = keyframes({\n  to: {\n    transform: 'rotate(360deg)'\n  }\n});\nconst rotateStyles = css({\n  animation: `${rotate} 0.86s infinite`,\n  animationTimingFunction: 'cubic-bezier(0.4, 0.15, 0.6, 0.85)',\n  transformOrigin: 'center'\n});\n\n/**\n * There are three parts to the load in animation:\n * 1. Fade in\n * 2. Accelerated spin\n * 3. Stretch the spinner line\n */\nconst loadIn = keyframes({\n  from: {\n    transform: 'rotate(50deg)',\n    opacity: 0,\n    strokeDashoffset: 60\n  },\n  to: {\n    transform: 'rotate(230deg)',\n    opacity: 1,\n    strokeDashoffset: 50\n  }\n});\nconst loadInStyles = css({\n  animation: `${loadIn} 1s ease-in-out`,\n  /**\n   * When the animation completes, stay at the last frame of the animation.\n   */\n  animationFillMode: 'forwards',\n  /**\n   * We are going to animate this in.\n   */\n  opacity: 0\n});\nconst wrapperStyles = css({\n  display: 'inline-flex',\n  /**\n   * Align better inline with text.\n   */\n  verticalAlign: 'middle'\n});\nconst circleStyles = css({\n  fill: 'none',\n  strokeDasharray: 60,\n  strokeDashoffset: 'inherit',\n  strokeLinecap: 'round',\n  strokeWidth: 1.5,\n  '@media screen and (forced-colors: active)': {\n    filter: 'grayscale(100%)',\n    stroke: 'CanvasText'\n  }\n});\n\n/**\n * `useLayoutEffect` is being used in SSR safe form. On the server, this work doesn’t need to run.\n * `useEffect` is used in-place, because `useEffect` is not run on the server and it matches types\n * which makes things simpler than doing an `isServer` check or a `null` check.\n *\n * @see https://hello.atlassian.net/wiki/spaces/DST/pages/2081696628/DSTDACI-010+-+Interaction+Tracing+hooks+in+DS+components\n */\nconst useLayoutEffect = typeof window === 'undefined' ? useEffect : useRealLayoutEffect;\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Spinner({\n  testId,\n  appearance = 'inherit',\n  delay = 0,\n  size: providedSize = 'medium',\n  interactionName\n}, ref) {\n  const size = typeof providedSize === 'number' ? providedSize : presetSizes[providedSize];\n  const animationDelay = `${delay}ms`;\n  const {\n    mode\n  } = useGlobalTheme();\n  const stroke = getStrokeColor({\n    mode,\n    appearance\n  });\n  const context = useContext(InteractionContext);\n  useLayoutEffect(() => {\n    if (context != null) {\n      return context.hold(interactionName);\n    }\n  }, [context, interactionName]);\n\n  /**\n   * The Spinner animation uses a combination of two\n   * css animations on two separate elements.\n   */\n  return jsx(\"span\", {\n    /**\n     * This span exists to off-load animations from the circle element,\n     * which were causing performance issues (style recalculations)\n     * on Safari and older versions of Chrome.\n     *\n     * This can be removed and styles placed back on the circle element once\n     * Safari fixes this bug and off-loads rendering to the GPU from the CPU.\n     */\n    css: [wrapperStyles, rotateStyles],\n    \"data-testid\": testId && `${testId}-wrapper`,\n    style: {\n      animationDelay,\n      width: size,\n      height: size\n    }\n  }, jsx(\"svg\", {\n    height: size,\n    width: size,\n    viewBox: \"0 0 16 16\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"data-testid\": testId,\n    ref: ref,\n    css: loadInStyles,\n    style: {\n      animationDelay\n    }\n  }, jsx(\"circle\", {\n    cx: \"8\",\n    cy: \"8\",\n    r: \"7\",\n    css: circleStyles,\n    style: {\n      stroke\n    }\n  })));\n}));","import React from 'react';\nimport Spinner from '@atlaskit/spinner';\nfunction getSpinnerAppearance({\n  appearance,\n  isDisabled,\n  isSelected\n}) {\n  if (isDisabled) {\n    return 'inherit';\n  }\n  if (isSelected) {\n    return 'invert';\n  }\n  if (appearance === 'primary' || appearance === 'danger') {\n    return 'invert';\n  }\n  return 'inherit';\n}\nexport default function LoadingSpinner({\n  spacing = 'default',\n  ...rest\n}) {\n  const size = spacing === 'default' ? 'medium' : 'small';\n  return /*#__PURE__*/React.createElement(Spinner, {\n    size: size,\n    appearance: getSpinnerAppearance(rest)\n  });\n}","import { createTheme } from '@atlaskit/theme/components';\nimport { getCss } from '../shared/css';\nconst stateToSelectorMap = {\n  focus: '&:focus',\n  focusSelected: '&:focus',\n  hover: '&:hover',\n  active: '&:active',\n  disabled: '&[disabled]'\n};\n\n// Mapping the new clean css back to the legacy theme format.\n// The legacy theme format has all styles at the top level (no nested selectors)\n// and uses `getSpecifiers()` to apply the style to all pseudo states\nexport function getCustomCss({\n  appearance = 'default',\n  spacing = 'default',\n  mode = 'light',\n  isSelected = false,\n  shouldFitContainer = false,\n  iconIsOnlyChild = false,\n  isLoading = false,\n  state\n}) {\n  let result = getCss({\n    appearance,\n    spacing,\n    mode,\n    isSelected,\n    shouldFitContainer,\n    isOnlySingleIcon: iconIsOnlyChild\n  });\n\n  // we need to disable the default browser focus styles always\n  // this is because we are not expressing that we can have two pseudo states at a time\n  result.outline = 'none';\n\n  // Pulling relevant styles up to the top level\n  const selector = stateToSelectorMap[state];\n  if (selector) {\n    result = {\n      ...result,\n      ...result[selector]\n    };\n  }\n  if (isLoading) {\n    result = {\n      ...result,\n      // Pull overlay styles up to the top\n      ...result['&[data-has-overlay=\"true\"]']\n    };\n  }\n\n  // Delete all selectors and just keep root styles\n  Object.keys(result).forEach(key => {\n    // want to keep this one\n    if (key === '&::-moz-focus-inner') {\n      return;\n    }\n\n    // Not using .startsWith for ie11\n    if (key.indexOf('&') === 0) {\n      delete result[key];\n    }\n  });\n  return result;\n}\n\n// This styling approach works by generating a 'style' and applying with maximum specificity\n// To do this we are overwriting all pseudo selectors\nexport function getSpecifiers(styles) {\n  return {\n    '&, &:hover, &:active, &:focus, &:focus-visible, &:visited, &:disabled, &[disabled]': styles\n  };\n}\nexport function defaultThemeFn(current, values) {\n  return current(values);\n}\nconst Theme = createTheme(themeProps => ({\n  buttonStyles: getCustomCss(themeProps),\n  // No styles being applied directly to spinner by default\n  // Keeping this for legacy compat. We could remove it, but given\n  // that we are changing theme soon there is no point\n  spinnerStyles: {}\n}));\n\n// eslint-disable-next-line @repo/internal/react/require-jsdoc\nexport default Theme;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useCallback, useState } from 'react';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport ButtonBase from '../shared/button-base';\nimport getIsOnlySingleIcon from '../shared/get-is-only-single-icon';\nimport LoadingSpinner from '../shared/loading-spinner';\nimport Theme, { defaultThemeFn, getSpecifiers } from './theme';\nfunction getInteractionState({\n  isDisabled = false,\n  isActive = false,\n  isFocus = false,\n  isHover = false,\n  isSelected = false,\n  isLoading = false\n}) {\n  if (isDisabled) {\n    return 'disabled';\n  }\n  if (isSelected && isFocus) {\n    return 'focusSelected';\n  }\n  if (isSelected) {\n    return 'selected';\n  }\n  // not allowing active or focus style changes while loading\n  if (!isLoading && isActive) {\n    return 'active';\n  }\n  if (!isLoading && isHover) {\n    return 'hover';\n  }\n  if (isFocus) {\n    return 'focus';\n  }\n  return 'default';\n}\nconst initial = {\n  isHover: false,\n  isActive: false,\n  isFocus: false\n};\n\n/**\n * __Custom theme button__\n *\n * A custom theme button. Avoid using this component. It exists for those already using custom theming, which is hard to use and has performance issues.\n *\n * - [Examples](https://atlassian.design/components/button/examples#custom-theme-button)\n */\nconst CustomThemeButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function CustomThemeButton({\n  // Calculate default props for use in custom themes\n  appearance = 'default',\n  autoFocus = false,\n  isDisabled = false,\n  isSelected = false,\n  shouldFitContainer = false,\n  spacing = 'default',\n  isLoading = false,\n  onMouseEnter: providedOnMouseEnter,\n  onMouseLeave: providedOnMouseLeave,\n  onMouseDown: providedOnMouseDown,\n  onMouseUp: providedOnMouseUp,\n  onFocus: providedOnFocus,\n  onBlur: providedOnBlur,\n  theme = defaultThemeFn,\n  ...rest\n}, ref) {\n  // TODO is there a nicer way to do this?\n  // Add default props back into object for spreading\n  const restProps = {\n    appearance,\n    autoFocus,\n    isDisabled,\n    isSelected,\n    shouldFitContainer,\n    spacing,\n    ...rest\n  };\n  const [state, setState] = useState(initial);\n  const onMouseEnter = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isHover: true\n    }));\n    if (providedOnMouseEnter) {\n      providedOnMouseEnter(event);\n    }\n  }, [providedOnMouseEnter]);\n  const onMouseLeave = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isHover: false,\n      isActive: false\n    }));\n    if (providedOnMouseLeave) {\n      providedOnMouseLeave(event);\n    }\n  }, [providedOnMouseLeave]);\n  const onMouseDown = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isActive: true\n    }));\n    if (providedOnMouseDown) {\n      providedOnMouseDown(event);\n    }\n  }, [providedOnMouseDown]);\n  const onMouseUp = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isActive: false\n    }));\n    if (providedOnMouseUp) {\n      providedOnMouseUp(event);\n    }\n  }, [providedOnMouseUp]);\n  const onFocus = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isFocus: true\n    }));\n    if (providedOnFocus) {\n      providedOnFocus(event);\n    }\n  }, [providedOnFocus]);\n  const onBlur = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isFocus: false\n    }));\n    if (providedOnBlur) {\n      providedOnBlur(event);\n    }\n  }, [providedOnBlur]);\n  return /*#__PURE__*/React.createElement(Theme.Provider, {\n    value: theme\n  }, /*#__PURE__*/React.createElement(GlobalTheme.Consumer, null, ({\n    mode\n  }) => /*#__PURE__*/React.createElement(Theme.Consumer, _extends({\n    mode: mode,\n    state: getInteractionState({\n      ...state,\n      isLoading,\n      isSelected: restProps.isSelected,\n      isDisabled: restProps.isDisabled\n    }),\n    iconIsOnlyChild: getIsOnlySingleIcon(restProps),\n    isLoading: isLoading\n  }, restProps), ({\n    buttonStyles\n  }) => /*#__PURE__*/React.createElement(ButtonBase, _extends({}, restProps, {\n    ref: ref,\n    overlay: isLoading ? /*#__PURE__*/React.createElement(LoadingSpinner, restProps) : null,\n    onMouseEnter: onMouseEnter,\n    onMouseLeave: onMouseLeave,\n    onMouseDown: onMouseDown,\n    onMouseUp: onMouseUp,\n    onFocus: onFocus,\n    onBlur: onBlur,\n    buttonCss: getSpecifiers(buttonStyles)\n  })))));\n}));\n\n// Tools including enzyme rely on components having a display name\nCustomThemeButton.displayName = 'CustomThemeButton';\nexport default CustomThemeButton;","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport Button from '@atlaskit/button/custom-theme-button';\nimport { internalFooterStyles } from '../styles/content';\nexport default function ModalFooter(props) {\n  const {\n    actions,\n    appearance,\n    component,\n    onClose,\n    testId\n  } = props;\n  const warning = 'You can provide `component` OR `actions`, not both.';\n\n  if (!component && !actions) {\n    return null;\n  }\n\n  if (component && actions) {\n    console.warn(warning); // eslint-disable-line no-console\n\n    return null;\n  }\n\n  if (component) {\n    return /*#__PURE__*/React.createElement(component, {\n      appearance,\n      onClose\n    });\n  }\n\n  return jsx(\"div\", {\n    css: internalFooterStyles,\n    \"data-testid\": testId && `${testId}--footer`\n  }, actions && actions.map(({\n    text,\n    ...rest\n  }, index) => jsx(Button, _extends({\n    key: index,\n    appearance: index !== 0 ? 'subtle' : appearance || 'primary',\n    \"data-ds--modal-dialog--action\": true,\n    testId: testId && `${testId}--action-${index}`\n  }, rest), text)));\n}","/** @jsx jsx */\nimport React, { useMemo } from 'react';\nimport { jsx } from '@emotion/core';\nimport ErrorIcon from '@atlaskit/icon/glyph/error';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport { getTitleIconStyles, getTitleTextStyles, headerStyles, titleStyles } from '../styles/content';\n\nconst TitleIcon = ({\n  appearance,\n  isHeadingMultiline\n}) => {\n  const titleIconStyles = useMemo(() => {\n    return getTitleIconStyles({\n      appearance,\n      isHeadingMultiline\n    });\n  }, [appearance, isHeadingMultiline]);\n  const Icon = appearance === 'danger' ? ErrorIcon : WarningIcon;\n  return jsx(\"span\", {\n    css: titleIconStyles\n  }, jsx(Icon, {\n    label: `${appearance} icon`\n  }));\n};\n\nexport default function ModalHeader(props) {\n  const {\n    id,\n    appearance,\n    component,\n    heading,\n    onClose,\n    testId,\n    isHeadingMultiline = true\n  } = props;\n  const warning = 'You can provide `component` OR `heading`, not both.';\n  const titleTextStyles = useMemo(() => {\n    return getTitleTextStyles(isHeadingMultiline);\n  }, [isHeadingMultiline]);\n\n  if (!component && !heading) {\n    return null;\n  }\n\n  if (component && heading) {\n    console.warn(warning); // eslint-disable-line no-console\n\n    return null;\n  }\n\n  if (component) {\n    return /*#__PURE__*/React.createElement(component, {\n      id,\n      testId,\n      appearance,\n      onClose,\n      isHeadingMultiline\n    });\n  }\n\n  return jsx(\"div\", {\n    css: headerStyles,\n    \"data-testid\": testId && `${testId}--header`\n  }, jsx(\"h1\", {\n    css: titleStyles\n  }, appearance && jsx(TitleIcon, {\n    appearance: appearance,\n    isHeadingMultiline: isHeadingMultiline\n  }), jsx(\"span\", {\n    id: id,\n    css: titleTextStyles,\n    \"data-testid\": testId && `${testId}-heading`\n  }, heading)));\n}","\n\nexport default (function (fn) {\n  var lastArgs = [];\n  var frameId = null;\n\n  var wrapperFn = function wrapperFn() {\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    lastArgs = args;\n\n    if (frameId) {\n      return frameId;\n    }\n\n    frameId = requestAnimationFrame(function () {\n      frameId = null;\n      fn.apply(undefined, lastArgs);\n    });\n\n    return frameId;\n  };\n\n  wrapperFn.cancel = function () {\n    if (!frameId) {\n      return;\n    }\n\n    cancelAnimationFrame(frameId);\n    frameId = null;\n  };\n\n  var resultFn = wrapperFn;\n\n  return resultFn;\n});","import { css } from '@emotion/core';\nimport { focusOutlineColor, keylineColor, keylineHeight } from '../constants';\nconst outline = css`\n  outline-offset: -1px;\n  outline-style: dotted;\n  outline-color: ${focusOutlineColor};\n  outline-width: thin;\n`;\n\nconst keyline = showKeyline => showKeyline ? `${keylineHeight}px solid ${keylineColor}` : 'unset';\n\nexport const scrollableStyles = ({\n  showTopKeyline,\n  showBottomKeyline,\n  shouldScroll\n}) => css`\n  overflow-y: auto;\n  overflow-x: ${shouldScroll ? 'hidden' : 'inherit'};\n\n  border-top: ${keyline(showTopKeyline)};\n  border-bottom: ${keyline(showBottomKeyline)};\n\n  /**\n  * We need to inherit flex styles from its parent here\n  * in case they're set because we're essentially being a proxy container\n  * between the original flex parent and its children (the modal body).\n  */\n  display: inherit;\n  flex: inherit;\n  flex-direction: inherit;\n\n  /**\n  * This margin is to match original behavior where we set extra\n  * padding on the modal body, depending on the scroll behavior,\n  * to offset the keylines.\n  *\n  * In this conversion, we always add the padding in the body, and\n  * remove the extra spacing here if scroll behavior is 'outside'.\n  *\n  * This logic needs to stay until we consolidate\n  * the scroll behaviors.\n  */\n  margin: -${shouldScroll ? 0 : keylineHeight}px 0px;\n\n  &:focus {\n    ${outline}\n  }\n\n  @supports selector(:focus-visible) {\n    &:focus {\n      outline: unset;\n    }\n\n    &:focus-visible {\n      ${outline}\n    }\n  }\n\n  @media (min-width: 480px) {\n    overflow-y: ${shouldScroll ? 'auto' : 'inherit'};\n    height: unset;\n  }\n`;","/** @jsx jsx */\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport { jsx } from '@emotion/core';\nimport rafSchedule from 'raf-schd';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport useLazyCallback from '@atlaskit/ds-lib/use-lazy-callback';\nimport useStateRef from '@atlaskit/ds-lib/use-state-ref';\nimport { keylineHeight } from '../constants';\nimport { scrollableStyles } from '../styles/scroll-container';\n\n/**\n * A container that shows top and bottom keylines when the\n * content overflows into the scrollable element.\n */\nconst ScrollContainer = /*#__PURE__*/forwardRef((props, ref) => {\n  const [hasSiblings, setSiblings] = useStateRef({\n    previous: false,\n    next: false\n  });\n  const [showContentFocus, setContentFocus] = useState(false);\n  const [showTopKeyline, setTopKeyline] = useState(false);\n  const [showBottomKeyline, setBottomKeyline] = useState(false);\n  const scrollableRef = useRef(null);\n  const setLazySiblings = useLazyCallback(setSiblings);\n  const setLazyContentFocus = useLazyCallback(rafSchedule(() => {\n    const target = scrollableRef.current;\n    target && setContentFocus(target.scrollHeight > target.clientHeight);\n  }));\n  const setLazyKeylines = useLazyCallback(rafSchedule(() => {\n    const target = scrollableRef.current;\n\n    if (target) {\n      const scrollableDistance = target.scrollHeight - target.clientHeight;\n\n      if (hasSiblings.current.previous) {\n        setTopKeyline(target.scrollTop > keylineHeight);\n      }\n\n      if (hasSiblings.current.next) {\n        setBottomKeyline(target.scrollTop <= scrollableDistance - keylineHeight);\n      }\n    }\n  }));\n  useEffect(() => {\n    const target = scrollableRef.current;\n    window.addEventListener('resize', setLazyKeylines, false);\n    target === null || target === void 0 ? void 0 : target.addEventListener('scroll', setLazyKeylines, false);\n    setLazyContentFocus();\n    setLazyKeylines();\n    setLazySiblings({\n      previous: Boolean(target === null || target === void 0 ? void 0 : target.previousElementSibling),\n      next: Boolean(target === null || target === void 0 ? void 0 : target.nextElementSibling)\n    });\n    return () => {\n      window.removeEventListener('resize', setLazyKeylines, false);\n      target === null || target === void 0 ? void 0 : target.removeEventListener('scroll', setLazyKeylines, false);\n    };\n  }, [setLazyContentFocus, setLazyKeylines, setLazySiblings]);\n  return jsx(\"div\", {\n    // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n    tabIndex: showContentFocus ? 0 : undefined,\n    \"data-testid\": props.testId && `${props.testId}--scrollable`,\n    ref: mergeRefs([ref, scrollableRef]),\n    css: scrollableStyles({\n      showTopKeyline,\n      showBottomKeyline,\n      shouldScroll: props.shouldScroll\n    })\n  }, props.children);\n});\nScrollContainer.displayName = 'ScrollContainer';\nexport default ScrollContainer;","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport ScrollLock from 'react-scrolllock';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { bodyStyles, wrapperStyles } from '../styles/content';\nimport Footer from './footer';\nimport Header from './header';\nimport ScrollContainer from './scroll-container';\nconst emptyObject = {};\nexport default function Content(props) {\n  const {\n    actions,\n    appearance,\n    body: DeprecatedBody,\n    children,\n    components = emptyObject,\n    footer,\n    header,\n    heading,\n    isChromeless,\n    isHeadingMultiline,\n    onClose,\n    shouldScroll,\n    testId,\n    headingId,\n    stackIndex\n  } = props;\n  const {\n    Container = 'div',\n    Body: CustomBody\n  } = components;\n  const Body = CustomBody || DeprecatedBody || 'div';\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (header) {\n      warnOnce(\"@atlaskit/modal-dialog: Deprecation warning - Use of the header prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n    }\n\n    if (footer) {\n      warnOnce(\"@atlaskit/modal-dialog: Deprecation warning - Use of the footer prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n    }\n\n    if (DeprecatedBody) {\n      warnOnce(\"@atlaskit/modal-dialog: Deprecation warning - Use of the body prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n    }\n  }\n\n  return jsx(Container, {\n    css: wrapperStyles,\n    \"data-modal-stack\": stackIndex,\n    \"data-testid\": testId\n  }, isChromeless ? children : jsx(React.Fragment, null, jsx(Header, {\n    id: headingId,\n    appearance: appearance,\n    component: components.Header ? components.Header : header,\n    heading: heading,\n    onClose: onClose,\n    isHeadingMultiline: isHeadingMultiline,\n    testId: testId\n  }), jsx(ScrollLock, null, jsx(ScrollContainer, {\n    shouldScroll: shouldScroll,\n    testId: testId\n  }, jsx(Body, {\n    css: bodyStyles,\n    \"data-testid\": testId && `${testId}--body`\n  }, children))), jsx(Footer, {\n    actions: actions,\n    appearance: appearance,\n    component: components.Footer ? components.Footer : footer,\n    onClose: onClose,\n    testId: testId\n  })));\n}","/** @jsx jsx */\nimport React, { useMemo } from 'react';\nimport { jsx } from '@emotion/core';\nimport { getPositionAbsoluteStyles, getPositionFixedStyles, getPositionRelativeStyles } from '../styles/modal';\n\nconst Positioner = function Positioner({\n  scrollBehavior,\n  stackIndex,\n  children,\n  testId\n}) {\n  const positionerStyles = useMemo(() => {\n    switch (scrollBehavior) {\n      case 'outside':\n        return getPositionRelativeStyles(stackIndex);\n\n      case 'inside-wide':\n        return getPositionFixedStyles(stackIndex);\n\n      default:\n        return getPositionAbsoluteStyles(stackIndex);\n    }\n  }, [scrollBehavior, stackIndex]);\n  return jsx(\"div\", {\n    css: positionerStyles,\n    \"data-testid\": testId && `${testId}--positioner`\n  }, children);\n};\n\nPositioner.displayName = 'Positioner';\nexport default Positioner;","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { useCallback, useMemo } from 'react';\nimport { jsx } from '@emotion/core';\nimport FocusLock from 'react-focus-lock';\nimport { useUID } from 'react-uid';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport Blanket from '@atlaskit/blanket';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport useCloseOnEscapePress from '@atlaskit/ds-lib/use-close-on-escape-press';\nimport FadeIn from '@atlaskit/motion/fade-in';\nimport useOnMotionFinish from '../hooks/use-on-motion-finish';\nimport usePreventProgrammaticScroll from '../hooks/use-prevent-programmatic-scroll';\nimport { getDialogStyles, getFillScreenStyles } from '../styles/modal';\nimport Content from './content';\nimport Positioner from './positioner';\n\nfunction ModalDialogInner(props) {\n  const {\n    actions,\n    appearance,\n    autoFocus,\n    body,\n    children,\n    components,\n    footer,\n    header,\n    height,\n    isBlanketHidden,\n    isChromeless,\n    isHeadingMultiline,\n    onClose,\n    onCloseComplete,\n    onOpenComplete,\n    shouldCloseOnEscapePress,\n    shouldCloseOnOverlayClick,\n    stackIndex,\n    heading,\n    width,\n    scrollBehavior,\n    testId\n  } = props;\n  const id = useUID();\n  const scrollDistance = usePreventProgrammaticScroll();\n  const isForeground = stackIndex === 0;\n  const onCloseHandler = usePlatformLeafEventHandler({\n    fn: onClose,\n    action: 'closed',\n    componentName: 'modalDialog',\n    packageName: \"@atlaskit/modal-dialog\",\n    packageVersion: \"11.7.4\"\n  });\n  useCloseOnEscapePress({\n    onClose: onCloseHandler,\n    isDisabled: !shouldCloseOnEscapePress || !isForeground\n  });\n  const [motionRef, onMotionFinish] = useOnMotionFinish({\n    onOpenComplete,\n    onCloseComplete\n  });\n  const onBlanketClicked = useCallback(e => {\n    if (shouldCloseOnOverlayClick) {\n      onCloseHandler(e);\n    }\n  }, [shouldCloseOnOverlayClick, onCloseHandler]);\n  useAutoFocus(typeof autoFocus === 'object' ? autoFocus : undefined, // When a user supplies  a ref to focus we enable this hook\n  typeof autoFocus === 'object');\n  const fillScreenStyles = useMemo(() => {\n    return getFillScreenStyles(scrollDistance);\n  }, [scrollDistance]);\n  const dialogStyles = useMemo(() => {\n    return getDialogStyles({\n      isChromeless,\n      height,\n      width\n    });\n  }, [isChromeless, height, width]);\n  return jsx(FadeIn, null, fadeInProps => jsx(\"div\", _extends({}, fadeInProps, {\n    css: fillScreenStyles,\n    \"aria-hidden\": !isForeground\n  }), jsx(FocusLock, {\n    autoFocus: // When a user supplies a ref to focus we skip focusing automatically\n    typeof autoFocus === 'boolean' ? autoFocus : false,\n    disabled: !isForeground,\n    returnFocus: true\n  }, jsx(Blanket, {\n    isTinted: !isBlanketHidden,\n    onBlanketClicked: onBlanketClicked,\n    testId: testId && `${testId}--blanket`\n  }), jsx(Positioner, {\n    scrollBehavior: scrollBehavior,\n    stackIndex: stackIndex,\n    testId: testId\n  }, jsx(FadeIn, {\n    entranceDirection: \"bottom\",\n    onFinish: onMotionFinish\n  }, bottomFadeInProps => jsx(\"section\", _extends({}, bottomFadeInProps, {\n    ref: mergeRefs([bottomFadeInProps.ref, motionRef]),\n    css: dialogStyles,\n    role: \"dialog\",\n    \"aria-labelledby\": `dialog-heading-${id}`,\n    \"data-testid\": testId,\n    tabIndex: -1,\n    \"aria-modal\": true\n  }), jsx(Content, {\n    actions: actions,\n    appearance: appearance,\n    components: components,\n    header: header,\n    body: body,\n    footer: footer,\n    heading: heading,\n    headingId: `dialog-heading-${id}`,\n    testId: testId && `${testId}-dialog-content`,\n    isChromeless: isChromeless,\n    isHeadingMultiline: isHeadingMultiline,\n    onClose: onCloseHandler,\n    stackIndex: stackIndex,\n    shouldScroll: scrollBehavior === 'inside' || scrollBehavior === 'inside-wide'\n  }, children)))))));\n}\n\nexport default ModalDialogInner;","import { useEffect } from 'react';\n/**\n * Assigns an event listener to the window and cleans up after itself.\n * This event will not flow through the React event system,\n * which means it could add lots of event listeners affecting performance.\n * Use with caution.\n *\n * ```\n * useWindowEvent('click', callback, true);\n * ```\n *\n * @param eventName\n * @param callback Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n * @param options Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n */\n\nexport default function useWindowEvent(eventName, callback, options) {\n  useEffect(() => {\n    window.addEventListener(eventName, callback, options);\n    return () => {\n      window.removeEventListener(eventName, callback, options);\n    };\n  }, [eventName, callback, options]);\n}","import { useCallback, useRef } from 'react';\nimport { ESCAPE } from '../utils/keycodes';\nimport useDocumentEvent from './use-document-event';\n\n/**\n * Calls back when the escape key is pressed.\n * To be used exclusively for closing layered components.\n * Use the `isDisabled` argument to ignore closing events.\n *\n * ```js\n * useCloseOnEscapePress({\n *   onClose: () => {},\n *   isDisabled: false,\n * });\n * ```\n */\nexport default function useCloseOnEscapePress({\n  onClose,\n  isDisabled\n}) {\n  const escapePressed = useRef(false);\n  const onKeyDown = useCallback(e => {\n    if (isDisabled || escapePressed.current || e.key !== ESCAPE) {\n      // We're either already handling the key down event or it's not escape.\n      // Bail early!\n      return;\n    }\n\n    escapePressed.current = true;\n    onClose(e);\n  }, [onClose, isDisabled]);\n  const onKeyUp = useCallback(() => {\n    escapePressed.current = false;\n  }, []);\n  useDocumentEvent('keydown', onKeyDown, false);\n  useDocumentEvent('keyup', onKeyUp, false);\n}","/**\n * Character key codes which can be used in keyboard events.\n */\nexport const KEY_UP = 'ArrowUp';\nexport const KEY_DOWN = 'ArrowDown';\nexport const KEY_HOME = 'Home';\nexport const KEY_END = 'End';\nexport const ESCAPE = 'Escape';","import { useCallback, useRef } from 'react';\nexport default function useOnMotionFinish({\n  onOpenComplete,\n  onCloseComplete\n}) {\n  const motionRef = useRef(null);\n  const onMotionFinish = useCallback(state => {\n    if (state === 'entering' && onOpenComplete) {\n      onOpenComplete(motionRef.current, true);\n    }\n\n    if (state === 'exiting' && onCloseComplete) {\n      onCloseComplete(motionRef.current);\n    }\n  }, [onOpenComplete, onCloseComplete]);\n  return [motionRef, onMotionFinish];\n}","import { useEffect, useRef } from 'react';\n/**\n * Focusing on the passed element ref after initial mount.\n * Will only focus on initial mount.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/autofocus\n *\n * ```tsx\n * import useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\n *\n * const elementRef = useRef();\n * useAutoFocus(elementRef, true);\n *\n * <button ref={elementRef} />;\n * ```\n *\n * @param ref\n * @param autoFocus\n */\n\nexport default function useAutoFocus(ref, autoFocus) {\n  const initialMount = useRef(true);\n  useEffect(() => {\n    if (ref && initialMount.current && autoFocus && ref.current) {\n      ref.current.focus();\n    }\n\n    initialMount.current = false;\n  }, [autoFocus, ref]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport useModalStack from '../hooks/use-modal-stack';\nimport Modal from './modal';\nexport default function ModalWrapper({\n  autoFocus = true,\n  scrollBehavior = 'inside',\n  shouldCloseOnEscapePress = true,\n  shouldCloseOnOverlayClick = true,\n  isChromeless = false,\n  width = 'medium',\n  isHeadingMultiline = true,\n  onClose = noop,\n  stackIndex: stackIndexOverride,\n  onStackChange = noop,\n  children,\n  ...props\n}) {\n  const stackIndex = useModalStack({\n    onStackChange\n  });\n  return /*#__PURE__*/React.createElement(Portal, {\n    zIndex: layers.modal()\n  }, /*#__PURE__*/React.createElement(Modal, _extends({}, props, {\n    autoFocus: autoFocus,\n    scrollBehavior: scrollBehavior,\n    shouldCloseOnEscapePress: shouldCloseOnEscapePress,\n    shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,\n    isChromeless: isChromeless,\n    width: width,\n    isHeadingMultiline: isHeadingMultiline,\n    onClose: onClose,\n    stackIndex: stackIndexOverride || stackIndex\n  }), children));\n}","import { useEffect, useRef } from 'react';\n/**\n * Returns the previous value in a given render cycle.\n *\n * ```js\n * const [currentValue] = useState(1);\n * const previousValue = usePreviousValue(currentValue);\n *\n * previousValue; // undefined\n * currentValue; // 1\n * ```\n *\n * @param value\n */\n\nexport default function usePreviousValue(value) {\n  const ref = useRef();\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref.current;\n}","import { N30, N800, R400, Y400 } from '@atlaskit/theme/colors';\nimport { gridSize } from '@atlaskit/theme/constants';\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;\nexport const verticalOffset = gridSize() * 2;\nexport const modalPadding = gridSize() * 3;\nexport const actionMargin = gridSize();\nexport const titleMargin = gridSize();\nexport const keylineHeight = 2;\nexport const keylineColor = N30;\nexport const focusOutlineColor = N800;\nexport const dangerColor = R400;\nexport const warningColor = Y400;","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","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { actionMargin, dangerColor, keylineHeight, modalPadding, titleMargin, warningColor } from '../constants';\n// Wrapper\n// ==============================\nexport const wrapperStyles = css`\n  display: flex;\n  flex-direction: column;\n\n  /**\n  * This ensures that the element fills the whole modal dialog space\n  * and its content does not overflow (since flex items don't\n  * shrink past its content size by default). */\n  flex: 1 1 auto;\n  min-height: 0;\n`; // Header\n// ==============================\n\nexport const headerStyles = css`\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n\n  position: relative;\n  padding: ${modalPadding}px;\n  padding-bottom: ${modalPadding - keylineHeight}px;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Header = styled.div`\n  ${headerStyles}\n`;\nexport const titleStyles = css`\n  display: flex;\n  align-items: center;\n\n  font-size: 20px;\n  font-style: inherit;\n  font-weight: 500;\n  letter-spacing: -0.008em;\n  line-height: 1;\n\n  min-width: 0;\n  margin: 0;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Title = styled.h1`\n  ${titleStyles};\n`;\n\n/** 20 = font size, 1.2 = adjusted line height.\n * When the heading is truncated (not multi-line), we adjust the\n * line height to avoid cropping the descenders. This removes\n * the extra spacing that we get from that adjustment.\n */\nconst lineHeightOffset = 20 - 20 * 1.2;\nexport const getTitleTextStyles = isHeadingMultiline => css`\n  word-wrap: break-word;\n\n  /**\n  * This ensures that the element fills the whole header space\n  * and its content does not overflow (since flex items don't\n  * shrink past its content size by default). */\n  flex: 1 1 auto;\n  min-width: 0;\n\n  ${isHeadingMultiline !== true && css`\n    line-height: 1.2;\n    margin-top: ${lineHeightOffset / 2}px;\n    margin-bottom: ${lineHeightOffset / 2}px;\n\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  `};\n`;\nconst iconColor = {\n  danger: dangerColor,\n  warning: warningColor\n};\nexport const getTitleIconStyles = ({\n  appearance,\n  isHeadingMultiline\n}) => css`\n  flex: 0 0 auto; // Keeps the size of the icon the same, in case the text element grows in width.\n  color: ${iconColor[appearance]};\n  margin-right: ${titleMargin}px;\n\n  ${isHeadingMultiline !== true && css`\n    line-height: 1.2;\n    margin-bottom: ${lineHeightOffset / 2}px;\n  `};\n`; // Body\n// ==============================\n\n/**\n * Adding the padding here avoids cropping the keyline on its sides.\n * The combined vertical spacing is maintained by subtracting the\n * keyline height from header and footer.\n */\nexport const bodyStyles = css`\n  flex: 1 1 auto; // Ensures the body fills the whole space between header and footer.\n  padding: ${keylineHeight}px ${modalPadding}px;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Body = styled.div`\n  ${bodyStyles};\n`; // Footer\n// ==============================\n\nconst baseFooterStyles = css`\n  display: flex;\n  align-items: center;\n\n  position: relative;\n  padding: ${modalPadding}px;\n  padding-top: ${modalPadding - keylineHeight}px;\n\n  & [data-ds--modal-dialog--action] {\n    margin-left: ${actionMargin}px;\n  }\n`;\n/** This is the styles we use in our public Footer component,\n *  used when users build their own custom footer. */\n\nconst externalFooterStyles = css`\n  ${baseFooterStyles}\n\n  /**\n   * Some of our users rely on this behavior\n   * to put actions on the left-hand side.\n   * e.g. https://atlaskit.atlassian.com/examples/editor/editor-core/full-page-with-x-extensions\n   * (Click '+' -> 'View more' to see the element browser in a modal).\n   */\n  justify-content: space-between;\n`;\n/** This is the styles we use in our internal Footer component,\n *  used when users opt into our default footer + actions API. */\n\nexport const internalFooterStyles = css`\n  ${baseFooterStyles}\n\n  /**\n  * When we're /not/ using a custom footer, we place\n  * all actions on the right-hand side by default.\n  */\n  justify-content: flex-end;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Footer = styled.div`\n  ${externalFooterStyles};\n`;","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<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' 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}","const themedBackground = {\n  light: \"var(--ds-surface, #FFFFFF)\",\n  dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n  small: '16px',\n  medium: '24px',\n  large: '32px',\n  xlarge: '48px'\n};\nexport const sizeMap = {\n  small: 'small',\n  medium: 'medium',\n  large: 'large',\n  xlarge: 'xlarge'\n};\nexport const dimensions = {\n  small: {\n    width: sizes.small,\n    height: sizes.small\n  },\n  medium: {\n    width: sizes.medium,\n    height: sizes.medium\n  },\n  large: {\n    width: sizes.large,\n    height: sizes.large\n  },\n  xlarge: {\n    width: sizes.xlarge,\n    height: sizes.xlarge\n  }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n  overflow: 'hidden',\n  pointerEvents: 'none',\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    stopColor: 'currentColor'\n  }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n  small: smallStyles,\n  medium: mediumStyles,\n  large: largeStyles,\n  xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n  width,\n  height,\n  size\n}) => {\n  if (width && height) {\n    return {\n      width,\n      height\n    };\n  }\n  if (size) {\n    return dimensions[size];\n  }\n  return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n  display: 'inline-block',\n  flexShrink: 0,\n  lineHeight: 1,\n  // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n  '> svg': {\n    ...commonSVGStyles,\n    maxWidth: '100%',\n    maxHeight: '100%',\n    color: 'var(--icon-primary-color)',\n    fill: 'var(--icon-secondary-color)',\n    verticalAlign: 'bottom'\n  }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      filter: 'grayscale(1)',\n      '--icon-primary-color': 'CanvasText',\n      // foreground\n      '--icon-secondary-color': 'Canvas' // background\n    }\n  }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      // if the primaryColor is the same as the secondaryColor we\n      // set the --icon-primary-color to Canvas\n      // this is usually to convey state i.e. Checkbox checked -> not checked\n      '--icon-primary-color': 'Canvas' // foreground\n    }\n  }\n});\n\nconst secondaryTransparentHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      '--icon-secondary-color': 'transparent' // background\n    }\n  }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n  const {\n    glyph: Glyph,\n    dangerouslySetGlyph,\n    primaryColor = 'currentColor',\n    secondaryColor,\n    size,\n    testId,\n    label,\n    width,\n    height\n  } = props;\n  const glyphProps = dangerouslySetGlyph ? {\n    dangerouslySetInnerHTML: {\n      __html: dangerouslySetGlyph\n    }\n  } : {\n    children: Glyph ? jsx(Glyph, {\n      role: \"presentation\"\n    }) : null\n  };\n  const dimensions = getIconSize({\n    width,\n    height,\n    size\n  });\n  const {\n    mode\n  } = useGlobalTheme();\n  return jsx(\"span\", _extends({\n    \"data-testid\": testId,\n    role: label ? 'img' : undefined,\n    \"aria-label\": label ? label : undefined,\n    \"aria-hidden\": label ? undefined : true,\n    style: {\n      '--icon-primary-color': primaryColor,\n      '--icon-secondary-color': secondaryColor || getBackground(mode)\n    }\n  }, glyphProps, {\n    css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n    // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n    // We could then simplify how common styles are dealt with simply by encapsualting them\n    // at their appropriate level and/or having a singular approach to css variables in the package\n    dimensions &&\n    // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n    css({\n      width: dimensions.width,\n      height: dimensions.height,\n      '> svg': dimensions\n    })]\n  }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst ErrorIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><path d=\"M13.416 4.417a2.002 2.002 0 00-2.832 0l-6.168 6.167a2.002 2.002 0 000 2.833l6.168 6.167a2.002 2.002 0 002.832 0l6.168-6.167a2.002 2.002 0 000-2.833l-6.168-6.167z\" fill=\"currentColor\"/><path d=\"M12 14a1 1 0 01-1-1V8a1 1 0 012 0v5a1 1 0 01-1 1m0 3a1 1 0 010-2 1 1 0 010 2\" fill=\"inherit\"/></g></svg>`\n}, props));\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 _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst WarningIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><path d=\"M12.938 4.967c-.518-.978-1.36-.974-1.876 0L3.938 18.425c-.518.978-.045 1.771 1.057 1.771h14.01c1.102 0 1.573-.797 1.057-1.771L12.938 4.967z\" fill=\"currentColor\"/><path d=\"M12 15a1 1 0 01-1-1V9a1 1 0 012 0v5a1 1 0 01-1 1m0 3a1 1 0 010-2 1 1 0 010 2\" fill=\"inherit\"/></g></svg>`\n}, props));\n\nWarningIcon.displayName = 'WarningIcon';\nvar _default = WarningIcon;\nexports.default = _default;","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark']; // Resolves the different types of theme objects in the current API\n\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    } // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  } // If format not supported (or no theme provided), return standard theme\n\n\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n\n      }\n    }\n\n    return '';\n  };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n\n      if (value) {\n        return value;\n      }\n    }\n\n    return '';\n  };\n}","import themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n  light: N0,\n  dark: DN30\n});\nexport const backgroundActive = themed({\n  light: B50,\n  dark: B75\n});\nexport const backgroundHover = themed({\n  light: N30,\n  dark: DN70\n});\nexport const backgroundOnLayer = themed({\n  light: N0,\n  dark: DN50\n});\nexport const text = themed({\n  light: N900,\n  dark: DN600\n});\nexport const textHover = themed({\n  light: N800,\n  dark: DN600\n});\nexport const textActive = themed({\n  light: B400,\n  dark: B400\n});\nexport const subtleText = themed({\n  light: N200,\n  dark: DN300\n});\nexport const placeholderText = themed({\n  light: N100,\n  dark: DN200\n});\nexport const heading = themed({\n  light: N800,\n  dark: DN600\n});\nexport const subtleHeading = themed({\n  light: N200,\n  dark: DN300\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\nexport const link = themed({\n  light: B400,\n  dark: B100\n});\nexport const linkHover = themed({\n  light: B300,\n  dark: B200\n});\nexport const linkActive = themed({\n  light: B500,\n  dark: B100\n});\nexport const linkOutline = themed({\n  light: B100,\n  dark: B200\n});\nexport const primary = themed({\n  light: B400,\n  dark: B100\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\nexport const skeleton = () => N20A;","import { token } from '@atlaskit/tokens';\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*/\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  navigation: () => 200,\n  dialog: () => 300,\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 */\n\nexport const assistive = visuallyHidden;\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor()),\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor())\n    },\n    to: {\n      backgroundColor: token('color.background.subtleNeutral.hover', N30A)\n    }\n  }\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 <Global/>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 <ClassNames/> 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 { useCallback, useState } from 'react';\nexport const useForceRender = () => {\n  const [, updateState] = useState({});\n  const forceRender = useCallback(() => updateState({}), []);\n  return forceRender;\n};","import React, { Children, createContext, memo, useContext, useMemo, useRef } from 'react';\nimport { isReducedMotion } from '../utils/accessibility';\nimport { useForceRender } from '../utils/use-force-render';\n\n/**\n * Internally we will be playing with an element that will always have a key defined.\n */\n\n/**\n * Internal data passed to child motions.\n */\n\n// We define empty context here so the object doesn't change.\nconst emptyContext = {\n  // Motions will always appear if not inside a exiting persistence component.\n  appear: true,\n  isExiting: false\n};\nconst ExitingContext = /*#__PURE__*/createContext(emptyContext);\nconst isAnyPreviousKeysMissingFromCurrent = (currentMap, previous) => {\n  for (let i = 0; i < previous.length; i++) {\n    const element = previous[i];\n    const key = element.key;\n    if (!currentMap[key]) {\n      return true;\n    }\n  }\n  return false;\n};\n\n/**\n * This method will wrap any React element with a context provider. We're using context (instead of\n * cloneElement) so we can communicate between multiple elements without the need of prop drilling\n * (results in a better API for consumers).\n */\nconst wrapChildWithContextProvider = (child, value = emptyContext) => {\n  return /*#__PURE__*/React.createElement(ExitingContext.Provider, {\n    key: `${child.key}-provider`,\n    value: value\n  }, child);\n};\nconst childrenToObj = children => {\n  return children.reduce((acc, child) => {\n    acc[child.key] = child;\n    return acc;\n  }, {});\n};\nconst spliceNewElementsIntoPrevious = (current, previous) => {\n  const splicedChildren = previous.concat([]);\n  const previousMap = childrenToObj(previous);\n  for (let i = 0; i < current.length; i++) {\n    const child = current[i];\n    const childIsNew = !previousMap[child.key];\n    if (childIsNew) {\n      // This will insert the new element after the previous element.\n      splicedChildren.splice(i + 1, 0, child);\n    }\n  }\n  return splicedChildren;\n};\n\n/**\n * This function will convert all children types to an array while also filtering out non-valid React elements.\n */\nconst childrenToArray = children => {\n  const childrenAsArray = [];\n\n  // We convert children to an array using this helper method as it will add keys to children that do not\n  // have them, such as when we have hardcoded children that are conditionally rendered.\n  Children.toArray(children).forEach(child => {\n    // We ignore any boolean children to make our code a little more simple later on,\n    // and also filter out any falsies (empty strings, nulls, and undefined).\n    if (typeof child !== 'boolean' && Boolean(child)) {\n      // Children WILL have a key after being forced into an array using the React.Children helper.\n      childrenAsArray.push(child);\n    }\n  });\n  return childrenAsArray;\n};\n\n/**\n * This handles the case when a render updates during an exit motion.\n * If any child is mounted again we removed them from the exiting children object and return true.\n */\nconst hasAnyExitingChildMountedAgain = (exitingChildren, children) => {\n  let exitingChildMountedAgain = false;\n  children.forEach(child => {\n    if (exitingChildren.current[child.key]) {\n      exitingChildMountedAgain = true;\n      delete exitingChildren.current[child.key];\n    }\n  });\n  return exitingChildMountedAgain;\n};\n\n/**\n * __ExitingPersistence__\n *\n * Useful for enabling elements to persist and animate away when they are removed from the DOM.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/motion/docs/entering-motions)\n */\nconst ExitingPersistence = /*#__PURE__*/memo(({\n  appear: appearFromProp = false,\n  children: childs,\n  exitThenEnter\n}) => {\n  const children = childrenToArray(childs);\n  const childrenObj = childrenToObj(children);\n  const previousChildren = useRef([]);\n  const persistedChildren = useRef([]);\n  const forceRender = useForceRender();\n  const exitingChildren = useRef({});\n  const appear = useRef(appearFromProp);\n  const defaultContextValue = useMemo(() => ({\n    appear: appear.current,\n    isExiting: false\n  }),\n  // React rules of hooks says this isn't needed because mutating appear won't cause a re-render.\n  // While technically true - it will trigger this to make a new object on the _next_ render which is what we want.\n  // Remove this or use appear instead of appear.current and you will notice a test breaks.\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [appear.current]);\n  if (isReducedMotion()) {\n    return children;\n  }\n  if (!appear.current) {\n    // We always want child motions to appear after the initial mount.\n    appear.current = true;\n  }\n\n  // This entire block can't be an effect because we need it to run synchronously during a render\n  // else when elements are being removed they will be remounted instead of being updated.\n  if (previousChildren.current.length && isAnyPreviousKeysMissingFromCurrent(childrenObj, previousChildren.current)) {\n    if (persistedChildren.current.length === 0 || hasAnyExitingChildMountedAgain(exitingChildren, children)) {\n      persistedChildren.current = previousChildren.current;\n    }\n\n    // We have persisted children now set from previous children.\n    // Let's update previous children so we have it available next render.\n    previousChildren.current = children;\n    return (exitThenEnter ? persistedChildren.current : spliceNewElementsIntoPrevious(children, persistedChildren.current)).map(child => {\n      // eslint-disable-next-line @repo/internal/react/no-children-properties-access\n      const currentChild = childrenObj[child.key];\n      if (!currentChild) {\n        // We've found an exiting child - mark it!\n        exitingChildren.current[child.key] = true;\n        return wrapChildWithContextProvider(child, {\n          isExiting: true,\n          appear: true,\n          onFinish: () => {\n            delete exitingChildren.current[child.key];\n\n            // We will only remove the exiting elements when any subsequent exiting elements have also finished.\n            // Think of removing many items from a todo list - when removing a few over a few clicks we don't\n            // want the list jumping around when they exit.\n            if (Object.keys(exitingChildren.current).length === 0) {\n              // Set previous children to nothing.\n              // This let's us skip the next render check as it's assumed children and previous will be the same.\n              previousChildren.current = [];\n              persistedChildren.current = [];\n\n              // Re-render after the element(s) have animated away which will end up rendering the latest children.\n              forceRender();\n            }\n          }\n        });\n      }\n\n      // This element isn't exiting.\n      // Wrap context and let's continue on our way.\n      return wrapChildWithContextProvider(currentChild, defaultContextValue);\n    });\n  } else {\n    previousChildren.current = children;\n  }\n  return children.map(child => wrapChildWithContextProvider(child, defaultContextValue));\n});\nexport const useExitingPersistence = () => {\n  return useContext(ExitingContext);\n};\nExitingPersistence.displayName = 'ExitingPersistence';\nexport default ExitingPersistence;","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","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 { 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 <Global/>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 <ClassNames/> 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 { useCallback, useEffect, useRef } from 'react';\nconst getHookDeps = opts => {\n  switch (opts.cleanup) {\n    case 'next-effect':\n      return undefined;\n    case 'unmount':\n    default:\n      return [];\n  }\n};\n\n/**\n * Will return request animation frame as a function which will clean itself up.\n */\nexport const useRequestAnimationFrame = (opts = {\n  cleanup: 'unmount'\n}) => {\n  const frames = useRef([]);\n  useEffect(() => {\n    return () => {\n      if (frames.current.length) {\n        frames.current.forEach(id => cancelAnimationFrame(id));\n        frames.current = [];\n      }\n    };\n    // We dynamically set this so we either clean up on the next effect - or on unmount.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, getHookDeps(opts));\n  return useCallback(handler => {\n    const id = requestAnimationFrame(time => {\n      frames.current = frames.current.filter(frameId => frameId !== id);\n      handler(time);\n    });\n    frames.current.push(id);\n  }, []);\n};\n\n/**\n * Will return set  timeout as a function which will clean itself up.\n */\nexport const useSetTimeout = (opts = {\n  cleanup: 'unmount'\n}) => {\n  const timeouts = useRef([]);\n  useEffect(() => {\n    return () => {\n      if (timeouts.current.length) {\n        timeouts.current.forEach(id => clearTimeout(id));\n        timeouts.current = [];\n      }\n    };\n    // We dynamically set this so we either clean up on the next effect - or on unmount.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, getHookDeps(opts));\n  return useCallback((handler, timeout, ...args) => {\n    const id = setTimeout(() => {\n      timeouts.current = timeouts.current.filter(timeoutId => timeoutId !== id);\n      handler();\n    }, timeout, ...args);\n    timeouts.current.push(id);\n  }, []);\n};","import React, { createContext, useContext, useRef, useState } from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { useLayoutEffect } from '../utils/use-layout-effect';\nimport { useUniqueId } from '../utils/use-unique-id';\nconst StaggeredEntranceContext = /*#__PURE__*/createContext(() => ({\n  isReady: true,\n  delay: 0,\n  ref: noop\n}));\nexport const useStaggeredEntrance = () => {\n  const indentifier = useUniqueId();\n  const context = useContext(StaggeredEntranceContext);\n  return context(indentifier);\n};\n\n/**\n * For a list of elements that need to animate in,\n * this should be used in conjunction with entering components.\n * This does not need Javascript to execute so it will run immediately for any SSR rendered React apps before the JS has executed.\n *\n * Will dynamically add delay to each child entering component.\n * Unfortunately all entering components _NEED_ to be a direct descendant.\n */\nconst StaggeredEntrance = ({\n  children,\n  column,\n  columns = 'responsive',\n  delayStep = 50\n}) => {\n  const elementRefs = useRef([]);\n  const indexes = [];\n  const [actualColumns, setActualColumns] = useState(() => {\n    if (typeof columns === 'number') {\n      // A hardcoded columns is set so bail out and set it to that!\n      return columns;\n    }\n    if (typeof column === 'number') {\n      // A hardcoded column is set so we will set actualColumns to be 1.\n      return 1;\n    }\n\n    // We are in \"responsive\" mode.\n    // So we will be calculating when the Javascript executes on the client how many columns there will be.\n    return 0;\n  });\n  useLayoutEffect(() => {\n    // We want to only run this code when we are in \"responsive\" mode.\n    // It is assumed we are in responsive mode if `columns` is \"responsive\",\n    // we have children element refs ready to be read (i.e. if there are no children this won't run as well)\n    // and finally that `actualColumns` is `0` - this is because for the first render cycle `actualColumns` will be `0` (set above)\n    // and then after this layout effect runs the value for `actualColumns` will then be calculated and set.\n    if (columns === 'responsive' && elementRefs.current.length && actualColumns === 0) {\n      let currentTop = 0;\n      let numberColumns = 0;\n      if (elementRefs.current.length <= 1) {\n        setActualColumns(1);\n        return;\n      }\n\n      // We set the current top to the first elements.\n      // We will be comparing this and incrementing the column count\n      // until we hit an element that has a different offset top (or we run out of elements).\n      currentTop = elementRefs.current[0] ? elementRefs.current[0].offsetTop : 0;\n      for (let i = 0; i < elementRefs.current.length; i++) {\n        const child = elementRefs.current[i];\n        if (!child) {\n          break;\n        }\n        if (currentTop === child.offsetTop) {\n          numberColumns += 1;\n          if (elementRefs.current.length - 1 === i) {\n            setActualColumns(numberColumns);\n          }\n          continue;\n        }\n        setActualColumns(numberColumns);\n        break;\n      }\n    }\n    // We only want this effect to run once - on initial mount.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  return /*#__PURE__*/React.createElement(StaggeredEntranceContext.Provider, {\n    value: id => {\n      if (!indexes.includes(id)) {\n        indexes.push(id);\n      }\n      const isReady = actualColumns > 0;\n      const index = indexes.indexOf(id);\n      const currentColumn = column || index % actualColumns;\n      const currentRow = Math.floor(index / actualColumns);\n      const distanceFromTopLeftElement = currentRow + currentColumn;\n      // We don't want loads of elements to have the same staggered delay as it ends up looking slow for users.\n      // To get around that we calculate the logarithm using `distanceFromTopLeftElement` which ends making\n      // elements appear faster the further away from the top left element.\n      const delay = Math.ceil(Math.log(distanceFromTopLeftElement + 1) * delayStep * 1.5) || 0;\n      return {\n        delay,\n        isReady,\n        ref: element => elementRefs.current[index] = element\n      };\n    }\n  }, children);\n};\nexport default StaggeredEntrance;","import React, { useEffect, useState } from 'react';\nimport { ClassNames, keyframes } from '@emotion/react';\nimport { prefersReducedMotion } from '../utils/accessibility';\nimport { largeDurationMs } from '../utils/durations';\nimport { useSetTimeout } from '../utils/timer-hooks';\nimport { useExitingPersistence } from './exiting-persistence';\nimport { useStaggeredEntrance } from './staggered-entrance';\n\n/**\n * These are props that motions should use as their external props for consumers.\n * See [FadeIn](packages/helpers/motion/src/entering/fade-in.tsx) for an example usage.\n */\n\n/**\n * Used to multiply the initial duration for exiting motions.\n */\nconst EXITING_MOTION_MULTIPLIER = 0.5;\n\n/**\n * This is the base INTERNAL component used for all other entering motions.\n * This does not need Javascript to execute on the client so it will run immediately\n * for any SSR rendered React apps before the JS has executed.\n */\nconst EnteringMotion = ({\n  children,\n  animationTimingFunction,\n  enteringAnimation,\n  exitingAnimation,\n  isPaused,\n  onFinish: onFinishMotion,\n  duration = largeDurationMs\n}) => {\n  const staggered = useStaggeredEntrance();\n  const {\n    isExiting,\n    onFinish: onExitFinished,\n    appear\n  } = useExitingPersistence();\n  const setTimeout = useSetTimeout();\n  const paused = isPaused || !staggered.isReady;\n  const delay = isExiting ? 0 : staggered.delay;\n  const state = isExiting ? 'exiting' : 'entering';\n  const [hasAnimationStyles, setHasAnimationStyles] = useState(appear);\n  useEffect(() => {\n    // Tracking this to prevent changing state on an unmounted component\n    let isCancelled = false;\n    if (paused) {\n      return;\n    }\n\n    // On initial mount if elements aren't set to animate on appear, we return early and callback\n    if (!appear) {\n      onFinishMotion && onFinishMotion(state);\n      return;\n    }\n\n    // Elements may need animation styles back after initial mount (they could animate out)\n    setHasAnimationStyles(true);\n    setTimeout(() => {\n      if (state === 'exiting') {\n        onExitFinished && onExitFinished();\n      }\n      if (!isCancelled) {\n        setHasAnimationStyles(false);\n      }\n      onFinishMotion && onFinishMotion(state);\n    }, isExiting ? duration * EXITING_MOTION_MULTIPLIER : duration + delay);\n    return () => {\n      isCancelled = true;\n    };\n    // We ignore this for onFinishMotion as consumers could potentially inline the function\n    // which would then trigger this effect every re-render.\n    // We want to make it easier for consumers so we go down this path unfortunately.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [onExitFinished, state, isExiting, duration, delay, paused, setTimeout]);\n  return /*#__PURE__*/React.createElement(ClassNames, null, ({\n    css\n  }) => children({\n    ref: staggered.ref,\n    className: hasAnimationStyles ? css({\n      ...prefersReducedMotion(),\n      animationDelay: `${delay}ms`,\n      animationDuration: `${isExiting ? duration * EXITING_MOTION_MULTIPLIER : duration}ms`,\n      animationFillMode: isExiting ? 'forwards' : 'backwards',\n      animationName: `${keyframes(isExiting ? exitingAnimation || enteringAnimation : enteringAnimation)}`,\n      animationPlayState: paused ? 'paused' : 'running',\n      animationTimingFunction: animationTimingFunction(state)\n    }) : ''\n  }, state));\n};\nexport default EnteringMotion;","/* eslint-disable @repo/internal/react/disallow-unstable-values */\nimport { useRef } from 'react';\n\n/**\n * Will return a unique id that does not change between renders.\n * Try not use this to render DOM markup (attributes or otherwise)\n * as you will probably not get the same result on the Server vs. Client.\n */\nexport function useUniqueId() {\n  const identifier = useRef('');\n  if (!identifier.current) {\n    identifier.current = '_' + (Number(String(Math.random()).slice(2)) + Date.now() + Math.round(performance.now())).toString(36);\n  }\n  return identifier.current;\n}","import React from 'react';\nimport { easeInOut } from '../utils/curves';\nimport { largeDurationMs } from '../utils/durations';\nimport KeyframesMotion from './keyframes-motion';\nconst directionMotions = {\n  proportional: {\n    bottom: 'translate3d(0, calc(5% + 4px), 0)',\n    left: 'translate3d(calc(-5% - 4px), 0, 0)',\n    right: 'translate3d(calc(5% + 4px), 0, 0)',\n    top: 'translate3d(0, calc(-5% - 4px), 0)'\n  },\n  constant: {\n    bottom: 'translate3d(0, 4px, 0)',\n    left: 'translate3d(-4px, 0, 0)',\n    right: 'translate3d(4px, 0, 0)',\n    top: 'translate3d(0, -4px, 0)'\n  }\n};\nconst invertedDirection = {\n  top: 'bottom',\n  bottom: 'top',\n  left: 'right',\n  right: 'left'\n};\nexport const fadeInAnimation = (direction, distance = 'proportional') => {\n  return {\n    from: {\n      opacity: 0,\n      ...(direction !== undefined && {\n        transform: directionMotions[distance][direction]\n      })\n    },\n    '50%': {\n      opacity: 1\n    },\n    to: {\n      transform: direction !== undefined ? 'none' : undefined\n    }\n  };\n};\nexport const fadeOutAnimation = (direction, distance = 'proportional') => ({\n  from: {\n    opacity: 1,\n    transform: direction !== undefined ? 'translate3d(0, 0, 0)' : undefined\n  },\n  to: {\n    opacity: 0,\n    ...(direction !== undefined && {\n      transform: directionMotions[distance][direction]\n    })\n  }\n});\n\n/**\n * Props for controlling the behavior of the FadeIn animation\n */\n\n/**\n * __FadeIn__\n *\n * Useful for fading in one or more elements.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/motion/docs/entering-motions)\n */\nconst FadeIn = ({\n  children,\n  duration = largeDurationMs,\n  entranceDirection,\n  exitDirection,\n  distance = 'proportional',\n  onFinish,\n  isPaused\n}) => {\n  const invertedEntranceDirection = entranceDirection && invertedDirection[entranceDirection];\n  return /*#__PURE__*/React.createElement(KeyframesMotion, {\n    duration: duration,\n    enteringAnimation: fadeInAnimation(entranceDirection, distance),\n    exitingAnimation: fadeOutAnimation(exitDirection || invertedEntranceDirection, distance),\n    animationTimingFunction: () => easeInOut,\n    onFinish: onFinish,\n    isPaused: isPaused\n  }, children);\n};\nexport default FadeIn;","import { useEffect, useState } from 'react';\nimport { bind } from 'bind-event-listener';\nconst isMatchMediaAvailable = () => typeof window !== 'undefined' && 'matchMedia' in window;\n\n/**\n * Use for any programatic motions needed at runtime.\n * Will return `true` if the current user prefers reduced motion.\n * This is generally set through OS preferences/settings.\n */\nexport const isReducedMotion = () => {\n  if (!isMatchMediaAvailable()) {\n    return false;\n  }\n  const {\n    matches\n  } = window.matchMedia('(prefers-reduced-motion: reduce)');\n  return matches;\n};\n\n/**\n * A React hook version of {@link isReducedMotion}.\n * Useful for React components that need to re-render if the user's motion\n * preference changes at runtime.\n */\nexport const useIsReducedMotion = () => {\n  const [prefersReducedMotion, setPrefersReducedMotion] = useState(isReducedMotion);\n  useEffect(() => {\n    if (!isMatchMediaAvailable()) {\n      return;\n    }\n    const mediaQueryList = window.matchMedia('(prefers-reduced-motion: reduce)');\n    const onChange = event => setPrefersReducedMotion(event.matches);\n    return bind(mediaQueryList, {\n      type: 'change',\n      listener: onChange\n    });\n  }, []);\n  return prefersReducedMotion;\n};\n\n/**\n * Use for any CSS based motion (animation or transition).\n * Always put at the end of your declaration for correct use of the cascade.\n * Reduced motion preference is generally set through OS preferences/settings.\n */\nexport const prefersReducedMotion = () => ({\n  '@media (prefers-reduced-motion: reduce)': {\n    animation: 'none',\n    transition: 'none'\n  }\n});","export const easeInOut = 'cubic-bezier(0.15,1,0.3,1)';\nexport const easeOut = 'cubic-bezier(0.2,0,0,1)';\nexport const easeIn = 'cubic-bezier(0.8,0,0,0.8)';","/**\n * Think of this as the motion equivalent of the @atlaskit/theme `grid()`.\n */\nexport const durationStep = 25;\nexport const smallDurationMs = durationStep * 4;\nexport const mediumDurationMs = durationStep * 14;\nexport const largeDurationMs = durationStep * 28;","export const portalParentClassName = 'atlaskit-portal-container';\nexport const portalParentSelector = 'body > .atlaskit-portal-container';\nexport const portalClassName = 'atlaskit-portal';","import { portalClassName, portalParentClassName, portalParentSelector } from '../constants';\n\n/**\n * Creates a new portal container element with provided z-index and class name 'atlaskit-portal',\n * it is not be attached to any DOM node at this stage.\n * @param {number | string} zIndex - the z-index value of the newly created portal container element\n * @return {number} - The newly created container element\n */\nexport const createContainer = zIndex => {\n  const container = document.createElement('div');\n  container.className = portalClassName;\n  container.style.zIndex = `${zIndex}`;\n  return container;\n};\n\n/**\n * Returns document body element\n * @return {number} - The document body element\n */\nconst getBody = () => {\n  return document.body;\n};\n\n/**\n * Returns portal parent container. If no container exists already then it creates a new container with class name 'atlaskit-portal-container'\n * @return {Element} - The portal parent container div element\n */\nconst getPortalParent = () => {\n  const parentElement = document.querySelector(portalParentSelector);\n  if (!parentElement) {\n    const parent = document.createElement('div');\n    parent.className = portalParentClassName;\n    // we are setting display to flex because we want each portal to create a new stacking context\n    // See https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n    parent.style.display = 'flex';\n    getBody().appendChild(parent);\n    return parent;\n  }\n  return parentElement;\n};\n\n/**\n * Removes portal container from portal parent container\n *  @param {HTMLDivElement | undefined} container - portal container to be removed from portal parent container\n */\nexport const removePortalContainer = container => {\n  getPortalParent().removeChild(container);\n};\n\n/**\n * Appends portal container to portal parent container if it hasn't already been done\n *  @param {HTMLDivElement | undefined} container - portal container to be added to portal parent container\n */\nexport const appendPortalContainerIfNotAppended = container => {\n  if (!container.parentElement) {\n    getPortalParent().appendChild(container);\n  }\n};","import { useEffect, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { appendPortalContainerIfNotAppended, createContainer, removePortalContainer } from '../utils/portal-dom-utils';\nexport default function InternalPortal(props) {\n  const {\n    zIndex,\n    children\n  } = props;\n  const container = useMemo(() => createContainer(zIndex), [zIndex]);\n\n  // This is in the render method instead of useEffect so that\n  // the portal will be added to the DOM before the children render.\n  // For any further changes, ensure that the container does not have a\n  // parent besides the portal parent.\n  appendPortalContainerIfNotAppended(container);\n  useEffect(() => {\n    return () => {\n      removePortalContainer(container);\n    };\n  }, [container]);\n  return /*#__PURE__*/createPortal(children, container);\n}","import { useEffect, useState } from 'react';\nconst useIsSubsequentRender = () => {\n  const [isSubsequentRender, setIsSubsequentRender] = useState(false);\n  useEffect(() => {\n    setIsSubsequentRender(true);\n  }, []);\n  return isSubsequentRender;\n};\nexport default useIsSubsequentRender;","const zIndexToName = {\n  100: 'card',\n  200: 'navigation',\n  300: 'dialog',\n  400: 'layer',\n  500: 'blanket',\n  510: 'modal',\n  600: 'flag',\n  700: 'spotlight',\n  800: 'tooltip'\n};\n\n/**\n * return layer name in Atlassian design system corresponding to given z-index\n * @param {number} zIndex - z-index value for which layer name is needed\n * @returns {LayerName | null} - The layer name for given z-index. If layer name is not found then null is returned\n */\nconst getLayerName = zIndex => {\n  return zIndexToName.hasOwnProperty(zIndex) ? zIndexToName[zIndex] : null;\n};\n\n/**\n * Creates a PortalEvent object with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n * @returns {PortalEvent} - The newly created PortalEvent object\n */\nconst getEvent = (eventName, zIndex) => {\n  const detail = {\n    layer: getLayerName(Number(zIndex)),\n    zIndex\n  };\n  return new CustomEvent(eventName, {\n    detail\n  });\n};\n\n/**\n * Dispatches a custom event on window with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n */\nexport default function firePortalEvent(eventName, zIndex) {\n  const event = getEvent(eventName, zIndex);\n  window.dispatchEvent(event);\n}","import { useEffect } from 'react';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../../constants';\nimport firePortalEvent from '../utils/portal-custom-event';\nconst useFirePortalEvent = zIndex => {\n  const zIndexNumber = Number(zIndex);\n  useEffect(() => {\n    firePortalEvent(PORTAL_MOUNT_EVENT, zIndexNumber);\n    return () => {\n      firePortalEvent(PORTAL_UNMOUNT_EVENT, zIndexNumber);\n    };\n  }, [zIndexNumber]);\n};\nexport default useFirePortalEvent;","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';","import React from 'react';\nimport InternalPortal from './internal/components/internal-portal';\nimport useIsSubsequentRender from './internal/hooks/use-is-subsequent-render';\nimport useFirePortalEvent from './internal/hooks/use-portal-event';\nexport default function Portal(props) {\n  const {\n    zIndex = 0,\n    children\n  } = props;\n  const isSubsequentRender = useIsSubsequentRender();\n  useFirePortalEvent(zIndex);\n  return isSubsequentRender ? /*#__PURE__*/React.createElement(InternalPortal, {\n    zIndex: zIndex\n  }, children) : null;\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","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsContext: PropTypes.func,\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n    __extends(AnalyticsContext, _super);\n    function AnalyticsContext(props) {\n        var _this = _super.call(this, props) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n        }); };\n        _this.getAnalyticsContext = function () {\n            var data = _this.props.data;\n            var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n            var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n                getAtlaskitAnalyticsContext()) ||\n                [];\n            return __spread(ancestorData, [data]);\n        };\n        _this.getAnalyticsEventHandlers = function () {\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            return ancestorHandlers;\n        };\n        _this.state = {\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        };\n        return _this;\n    }\n    AnalyticsContext.prototype.render = function () {\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n    };\n    AnalyticsContext.contextTypes = ContextTypes;\n    AnalyticsContext.childContextTypes = ContextTypes;\n    return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","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","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from 'create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(Manager, _React$Component);\n\n  function Manager() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n    _defineProperty(_assertThisInitialized(_this), \"referenceNode\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"setReferenceNode\", function (newReferenceNode) {\n      if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n        _this.referenceNode = newReferenceNode;\n\n        _this.forceUpdate();\n      }\n    });\n\n    return _this;\n  }\n\n  var _proto = Manager.prototype;\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.referenceNode = null;\n  };\n\n  _proto.render = function render() {\n    return React.createElement(ManagerReferenceNodeContext.Provider, {\n      value: this.referenceNode\n    }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n      value: this.setReferenceNode\n    }, this.props.children));\n  };\n\n  return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n  return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n  if (typeof fn === \"function\") {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return fn.apply(void 0, args);\n  }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n  var aKeys = Object.keys(objA);\n  var bKeys = Object.keys(objB);\n\n  if (bKeys.length !== aKeys.length) {\n    return false;\n  }\n\n  for (var i = 0; i < bKeys.length; i++) {\n    var key = aKeys[i];\n\n    if (objA[key] !== objB[key]) {\n      return false;\n    }\n  }\n\n  return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n  // if its a function call it\n  if (typeof ref === \"function\") {\n    return safeInvoke(ref, node);\n  } // otherwise we should treat it as a ref object\n  else if (ref != null) {\n      ref.current = node;\n    }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n  position: 'absolute',\n  top: 0,\n  left: 0,\n  opacity: 0,\n  pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(InnerPopper, _React$Component);\n\n  function InnerPopper() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      data: undefined,\n      placement: undefined\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"popperInstance\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"popperNode\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"arrowNode\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"setPopperNode\", function (popperNode) {\n      if (!popperNode || _this.popperNode === popperNode) return;\n      setRef(_this.props.innerRef, popperNode);\n      _this.popperNode = popperNode;\n\n      _this.updatePopperInstance();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"setArrowNode\", function (arrowNode) {\n      _this.arrowNode = arrowNode;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"updateStateModifier\", {\n      enabled: true,\n      order: 900,\n      fn: function fn(data) {\n        var placement = data.placement;\n\n        _this.setState({\n          data: data,\n          placement: placement\n        });\n\n        return data;\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getOptions\", function () {\n      return {\n        placement: _this.props.placement,\n        eventsEnabled: _this.props.eventsEnabled,\n        positionFixed: _this.props.positionFixed,\n        modifiers: _extends({}, _this.props.modifiers, {\n          arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n            enabled: !!_this.arrowNode,\n            element: _this.arrowNode\n          }),\n          applyStyle: {\n            enabled: false\n          },\n          updateStateModifier: _this.updateStateModifier\n        })\n      };\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getPopperStyle\", function () {\n      return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n        position: _this.state.data.offsets.popper.position\n      }, _this.state.data.styles);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getPopperPlacement\", function () {\n      return !_this.state.data ? undefined : _this.state.placement;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getArrowStyle\", function () {\n      return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getOutOfBoundariesState\", function () {\n      return _this.state.data ? _this.state.data.hide : undefined;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"destroyPopperInstance\", function () {\n      if (!_this.popperInstance) return;\n\n      _this.popperInstance.destroy();\n\n      _this.popperInstance = null;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"updatePopperInstance\", function () {\n      _this.destroyPopperInstance();\n\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          popperNode = _assertThisInitialize.popperNode;\n\n      var referenceElement = _this.props.referenceElement;\n      if (!referenceElement || !popperNode) return;\n      _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"scheduleUpdate\", function () {\n      if (_this.popperInstance) {\n        _this.popperInstance.scheduleUpdate();\n      }\n    });\n\n    return _this;\n  }\n\n  var _proto = InnerPopper.prototype;\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n    // If the Popper.js options have changed, update the instance (destroy + create)\n    if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || this.props.modifiers !== prevProps.modifiers) {\n      // develop only check that modifiers isn't being updated needlessly\n      if (process.env.NODE_ENV === \"development\") {\n        if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n          console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n        }\n      }\n\n      this.updatePopperInstance();\n    } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n      this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n    } // A placement difference in state means popper determined a new placement\n    // apart from the props value. By the time the popper element is rendered with\n    // the new position Popper has already measured it, if the place change triggers\n    // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n    if (prevState.placement !== this.state.placement) {\n      this.scheduleUpdate();\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    setRef(this.props.innerRef, null);\n    this.destroyPopperInstance();\n  };\n\n  _proto.render = function render() {\n    return unwrapArray(this.props.children)({\n      ref: this.setPopperNode,\n      style: this.getPopperStyle(),\n      placement: this.getPopperPlacement(),\n      outOfBoundaries: this.getOutOfBoundariesState(),\n      scheduleUpdate: this.scheduleUpdate,\n      arrowProps: {\n        ref: this.setArrowNode,\n        style: this.getArrowStyle()\n      }\n    });\n  };\n\n  return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n  placement: 'bottom',\n  eventsEnabled: true,\n  referenceElement: undefined,\n  positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n  var referenceElement = _ref.referenceElement,\n      props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n  return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n    return React.createElement(InnerPopper, _extends({\n      referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n    }, props));\n  });\n}","import React from 'react';\nimport memoizeOne from 'memoize-one';\nimport { Popper as ReactPopper, } from 'react-popper';\nexport { Manager, Reference } from 'react-popper';\nconst FlipBehavior = {\n    auto: [],\n    top: ['top', 'bottom', 'top'],\n    right: ['right', 'left', 'right'],\n    bottom: ['bottom', 'top', 'bottom'],\n    left: ['left', 'right', 'left'],\n};\nconst getFlipBehavior = (side) => FlipBehavior[side];\nexport class Popper extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.getModifiers = memoizeOne(placement => {\n            const flipBehavior = getFlipBehavior(placement.split('-')[0]);\n            const modifiers = {\n                flip: {\n                    enabled: true,\n                    behavior: flipBehavior,\n                    boundariesElement: 'viewport',\n                },\n                hide: {\n                    enabled: true,\n                },\n                offset: {\n                    enabled: true,\n                    offset: this.props.offset,\n                },\n                preventOverflow: {\n                    enabled: true,\n                    escapeWithReference: false,\n                    boundariesElement: 'window',\n                },\n            };\n            if (this.props.modifiers) {\n                return { ...modifiers, ...this.props.modifiers };\n            }\n            return modifiers;\n        });\n    }\n    render() {\n        const { placement, children, referenceElement } = this.props;\n        const modifiers = this.getModifiers(this.props.placement);\n        return (React.createElement(ReactPopper, Object.assign({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement } : {})), children));\n    }\n}\nPopper.defaultProps = {\n    children: () => null,\n    offset: '0, 8px',\n    placement: 'bottom-start',\n};\n//# sourceMappingURL=Popper.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport ReactDOM from 'react-dom';\nimport invariant from 'tiny-invariant';\nimport { layers } from '@atlaskit/theme';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../constants';\nconst createContainer = (zIndex) => {\n    const container = document.createElement('div');\n    container.setAttribute('class', 'atlaskit-portal');\n    container.setAttribute('style', `z-index: ${zIndex};`);\n    return container;\n};\nconst getBody = () => {\n    invariant(document && document.body, 'cannot find document.body');\n    return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nconst zIndexToName = Object.keys(layers).reduce((acc, name) => {\n    const layerName = name;\n    const value = layers[layerName]();\n    acc[value] = layerName;\n    return acc;\n}, {});\nconst getLayerName = (zIndex) => {\n    return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n        ? zIndexToName[zIndex]\n        : null;\n};\nconst getEvent = (eventName, zIndex) => {\n    const detail = {\n        layer: getLayerName(Number(zIndex)),\n        zIndex,\n    };\n    // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n    if (typeof CustomEvent === 'function') {\n        return new CustomEvent(eventName, {\n            detail,\n        });\n    }\n    // CustomEvent constructor API not supported (ie11)\n    // Using `new Event` or `new CustomEvent` does not work in ie11\n    const event = document.createEvent('CustomEvent');\n    const params = {\n        bubbles: true,\n        cancellable: true,\n        detail,\n    };\n    event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n    return event;\n};\nconst firePortalEvent = (eventName, zIndex) => {\n    const event = getEvent(eventName, zIndex);\n    window.dispatchEvent(event);\n};\nconst getPortalParent = () => {\n    const parentElement = document.querySelector('body > .atlaskit-portal-container');\n    if (!parentElement) {\n        const parent = document.createElement('div');\n        parent.setAttribute('class', 'atlaskit-portal-container');\n        parent.setAttribute('style', `display: flex;`);\n        getBody().appendChild(parent);\n        return parent;\n    }\n    return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nclass Portal extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.state = {\n            container: canUseDOM ? createContainer(this.props.zIndex) : undefined,\n            portalIsMounted: false,\n        };\n    }\n    componentDidUpdate(prevProps, prevState) {\n        const { container } = this.state;\n        const { zIndex } = this.props;\n        if (container && prevProps.zIndex !== zIndex) {\n            const newContainer = createContainer(zIndex);\n            getPortalParent().replaceChild(container, newContainer);\n            // eslint-disable-next-line react/no-did-update-set-state\n            this.setState({ container: newContainer });\n        }\n        else if (!prevState.container && container) {\n            // SSR path\n            getPortalParent().appendChild(container);\n        }\n    }\n    componentDidMount() {\n        const { container } = this.state;\n        const { zIndex } = this.props;\n        if (container) {\n            getPortalParent().appendChild(container);\n        }\n        else {\n            // SSR path\n            const newContainer = createContainer(zIndex);\n            // eslint-disable-next-line react/no-did-mount-set-state\n            this.setState({ container: newContainer });\n        }\n        // eslint-disable-next-line react/no-did-mount-set-state\n        this.setState({\n            portalIsMounted: true,\n        });\n        firePortalEvent(PORTAL_MOUNT_EVENT, Number(zIndex));\n    }\n    componentWillUnmount() {\n        const { container } = this.state;\n        const { zIndex } = this.props;\n        if (container) {\n            getPortalParent().removeChild(container);\n            // clean up parent element if there are no more portals\n            const portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n            if (!portals) {\n                getBody().removeChild(getPortalParent());\n            }\n        }\n        firePortalEvent(PORTAL_UNMOUNT_EVENT, Number(zIndex));\n    }\n    render() {\n        const { container, portalIsMounted } = this.state;\n        return container && portalIsMounted\n            ? ReactDOM.createPortal(this.props.children, container)\n            : null;\n    }\n}\nPortal.defaultProps = {\n    zIndex: 0,\n};\nexport default Portal;\n//# sourceMappingURL=Portal.js.map","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nvar index = (function (condition, message) {\n  if (condition) {\n    return;\n  }\n\n  if (isProduction) {\n    throw new Error(prefix);\n  }\n\n  throw new Error(prefix + ': ' + (message || ''));\n});\n\nexport default index;\n","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","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","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n    var consumerEvent = createAnalyticsEvent(payload);\n    var clonedEvent = consumerEvent.clone();\n    if (clonedEvent) {\n        clonedEvent.fire(channel);\n    }\n    return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n    var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n        var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n        var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n        return (React.createElement(AnalyticsContext, { data: analyticsData },\n            React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n    });\n    // @ts-ignore\n    WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import { 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<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' 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}","const themedBackground = {\n  light: \"var(--ds-surface, #FFFFFF)\",\n  dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n  small: '16px',\n  medium: '24px',\n  large: '32px',\n  xlarge: '48px'\n};\nexport const sizeMap = {\n  small: 'small',\n  medium: 'medium',\n  large: 'large',\n  xlarge: 'xlarge'\n};\nexport const dimensions = {\n  small: {\n    width: sizes.small,\n    height: sizes.small\n  },\n  medium: {\n    width: sizes.medium,\n    height: sizes.medium\n  },\n  large: {\n    width: sizes.large,\n    height: sizes.large\n  },\n  xlarge: {\n    width: sizes.xlarge,\n    height: sizes.xlarge\n  }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n  overflow: 'hidden',\n  pointerEvents: 'none',\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    stopColor: 'currentColor'\n  }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n  small: smallStyles,\n  medium: mediumStyles,\n  large: largeStyles,\n  xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n  width,\n  height,\n  size\n}) => {\n  if (width && height) {\n    return {\n      width,\n      height\n    };\n  }\n  if (size) {\n    return dimensions[size];\n  }\n  return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n  display: 'inline-block',\n  flexShrink: 0,\n  lineHeight: 1,\n  // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n  '> svg': {\n    ...commonSVGStyles,\n    maxWidth: '100%',\n    maxHeight: '100%',\n    color: 'var(--icon-primary-color)',\n    fill: 'var(--icon-secondary-color)',\n    verticalAlign: 'bottom'\n  }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      filter: 'grayscale(1)',\n      '--icon-primary-color': 'CanvasText',\n      // foreground\n      '--icon-secondary-color': 'Canvas' // background\n    }\n  }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      // if the primaryColor is the same as the secondaryColor we\n      // set the --icon-primary-color to Canvas\n      // this is usually to convey state i.e. Checkbox checked -> not checked\n      '--icon-primary-color': 'Canvas' // foreground\n    }\n  }\n});\n\nconst secondaryTransparentHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      '--icon-secondary-color': 'transparent' // background\n    }\n  }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n  const {\n    glyph: Glyph,\n    dangerouslySetGlyph,\n    primaryColor = 'currentColor',\n    secondaryColor,\n    size,\n    testId,\n    label,\n    width,\n    height\n  } = props;\n  const glyphProps = dangerouslySetGlyph ? {\n    dangerouslySetInnerHTML: {\n      __html: dangerouslySetGlyph\n    }\n  } : {\n    children: Glyph ? jsx(Glyph, {\n      role: \"presentation\"\n    }) : null\n  };\n  const dimensions = getIconSize({\n    width,\n    height,\n    size\n  });\n  const {\n    mode\n  } = useGlobalTheme();\n  return jsx(\"span\", _extends({\n    \"data-testid\": testId,\n    role: label ? 'img' : undefined,\n    \"aria-label\": label ? label : undefined,\n    \"aria-hidden\": label ? undefined : true,\n    style: {\n      '--icon-primary-color': primaryColor,\n      '--icon-secondary-color': secondaryColor || getBackground(mode)\n    }\n  }, glyphProps, {\n    css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n    // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n    // We could then simplify how common styles are dealt with simply by encapsualting them\n    // at their appropriate level and/or having a singular approach to css variables in the package\n    dimensions &&\n    // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n    css({\n      width: dimensions.width,\n      height: dimensions.height,\n      '> svg': dimensions\n    })]\n  }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CheckCircleIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><circle fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M9.707 11.293a1 1 0 10-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 10-1.414-1.414L11 12.586l-1.293-1.293z\" fill=\"inherit\"/></g></svg>`\n}, props));\n\nCheckCircleIcon.displayName = 'CheckCircleIcon';\nvar _default = CheckCircleIcon;\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 _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CrossIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><path d=\"M12 10.586L6.707 5.293a1 1 0 00-1.414 1.414L10.586 12l-5.293 5.293a1 1 0 001.414 1.414L12 13.414l5.293 5.293a1 1 0 001.414-1.414L13.414 12l5.293-5.293a1 1 0 10-1.414-1.414L12 10.586z\" fill=\"currentColor\"/></svg>`\n}, props));\n\nCrossIcon.displayName = 'CrossIcon';\nvar _default = CrossIcon;\nexports.default = _default;","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 <Global/>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 <ClassNames/> 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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n  if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n  if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n  return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n  if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\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\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _addClass.default)(node, c);\n  });\n};\n\nvar removeClass = function removeClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _removeClass.default)(node, c);\n  });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n *         <div>\n *           {\"I'll receive my-node-* classes\"}\n *         </div>\n *       </CSSTransition>\n *       <button type=\"button\" onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n *   opacity: 0;\n * }\n * .my-node-enter-active {\n *   opacity: 1;\n *   transition: opacity 200ms;\n * }\n * .my-node-exit {\n *   opacity: 1;\n * }\n * .my-node-exit-active {\n *   opacity: 0;\n *   transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(CSSTransition, _React$Component);\n\n  function CSSTransition() {\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    _this.onEnter = function (node, appearing) {\n      var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          className = _this$getClassNames.className;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, className);\n\n      if (_this.props.onEnter) {\n        _this.props.onEnter(node, appearing);\n      }\n    };\n\n    _this.onEntering = function (node, appearing) {\n      var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          activeClassName = _this$getClassNames2.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onEntering) {\n        _this.props.onEntering(node, appearing);\n      }\n    };\n\n    _this.onEntered = function (node, appearing) {\n      var appearClassName = _this.getClassNames('appear').doneClassName;\n\n      var enterClassName = _this.getClassNames('enter').doneClassName;\n\n      var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n      _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onEntered) {\n        _this.props.onEntered(node, appearing);\n      }\n    };\n\n    _this.onExit = function (node) {\n      var _this$getClassNames3 = _this.getClassNames('exit'),\n          className = _this$getClassNames3.className;\n\n      _this.removeClasses(node, 'appear');\n\n      _this.removeClasses(node, 'enter');\n\n      addClass(node, className);\n\n      if (_this.props.onExit) {\n        _this.props.onExit(node);\n      }\n    };\n\n    _this.onExiting = function (node) {\n      var _this$getClassNames4 = _this.getClassNames('exit'),\n          activeClassName = _this$getClassNames4.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onExiting) {\n        _this.props.onExiting(node);\n      }\n    };\n\n    _this.onExited = function (node) {\n      var _this$getClassNames5 = _this.getClassNames('exit'),\n          doneClassName = _this$getClassNames5.doneClassName;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onExited) {\n        _this.props.onExited(node);\n      }\n    };\n\n    _this.getClassNames = function (type) {\n      var classNames = _this.props.classNames;\n      var isStringClassNames = typeof classNames === 'string';\n      var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n      var className = isStringClassNames ? prefix + type : classNames[type];\n      var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n      var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n      return {\n        className: className,\n        activeClassName: activeClassName,\n        doneClassName: doneClassName\n      };\n    };\n\n    return _this;\n  }\n\n  var _proto = CSSTransition.prototype;\n\n  _proto.removeClasses = function removeClasses(node, type) {\n    var _this$getClassNames6 = this.getClassNames(type),\n        className = _this$getClassNames6.className,\n        activeClassName = _this$getClassNames6.activeClassName,\n        doneClassName = _this$getClassNames6.doneClassName;\n\n    className && removeClass(node, className);\n    activeClassName && removeClass(node, activeClassName);\n    doneClassName && removeClass(node, doneClassName);\n  };\n\n  _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n    // This is for to force a repaint,\n    // which is necessary in order to transition styles when adding a class name.\n    if (className) {\n      /* eslint-disable no-unused-expressions */\n      node && node.scrollTop;\n      /* eslint-enable no-unused-expressions */\n\n      addClass(node, className);\n    }\n  };\n\n  _proto.render = function render() {\n    var props = _extends({}, this.props);\n\n    delete props.classNames;\n    return _react.default.createElement(_Transition.default, _extends({}, props, {\n      onEnter: this.onEnter,\n      onEntered: this.onEntered,\n      onEntering: this.onEntering,\n      onExit: this.onExit,\n      onExiting: this.onExiting,\n      onExited: this.onExited\n    }));\n  };\n\n  return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n  classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n  /**\n   * The animation classNames applied to the component as it enters, exits or\n   * has finished the transition. A single name can be provided and it will be\n   * suffixed for each stage: e.g.\n   *\n   * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n   * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n   * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n   *\n   * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n   * This allows you to define different behavior for when appearing is done and\n   * when regular entering is done, using selectors like\n   * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n   * epic entrance animation when element first appears in the DOM using\n   * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n   * simply use `fade-enter-done` for defining both cases.\n   *\n   * Each individual classNames can also be specified independently like:\n   *\n   * ```js\n   * classNames={{\n   *  appear: 'my-appear',\n   *  appearActive: 'my-active-appear',\n   *  appearDone: 'my-done-appear',\n   *  enter: 'my-enter',\n   *  enterActive: 'my-active-enter',\n   *  enterDone: 'my-done-enter',\n   *  exit: 'my-exit',\n   *  exitActive: 'my-active-exit',\n   *  exitDone: 'my-done-exit',\n   * }}\n   * ```\n   *\n   * If you want to set these classes using CSS Modules:\n   *\n   * ```js\n   * import styles from './styles.css';\n   * ```\n   *\n   * you might want to use camelCase in your CSS file, that way could simply\n   * spread them instead of listing them one by one:\n   *\n   * ```js\n   * classNames={{ ...styles }}\n   * ```\n   *\n   * @type {string | {\n   *  appear?: string,\n   *  appearActive?: string,\n   *  appearDone?: string,\n   *  enter?: string,\n   *  enterActive?: string,\n   *  enterDone?: string,\n   *  exit?: string,\n   *  exitActive?: string,\n   *  exitDone?: string,\n   * }}\n   */\n  classNames: _PropTypes.classNamesShape,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter-active' or\n   * 'appear-active' class is applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or\n   * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' classes\n   * are **removed** and the `exit-done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `<ReplaceTransition>` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * <ReplaceTransition in>\n *   <Fade><div>I appear first</div></Fade>\n *   <Fade><div>I replace the above</div></Fade>\n * </ReplaceTransition>\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(ReplaceTransition, _React$Component);\n\n  function ReplaceTransition() {\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    _this.handleEnter = function () {\n      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      return _this.handleLifecycle('onEnter', 0, args);\n    };\n\n    _this.handleEntering = function () {\n      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n        args[_key3] = arguments[_key3];\n      }\n\n      return _this.handleLifecycle('onEntering', 0, args);\n    };\n\n    _this.handleEntered = function () {\n      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n        args[_key4] = arguments[_key4];\n      }\n\n      return _this.handleLifecycle('onEntered', 0, args);\n    };\n\n    _this.handleExit = function () {\n      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n        args[_key5] = arguments[_key5];\n      }\n\n      return _this.handleLifecycle('onExit', 1, args);\n    };\n\n    _this.handleExiting = function () {\n      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n        args[_key6] = arguments[_key6];\n      }\n\n      return _this.handleLifecycle('onExiting', 1, args);\n    };\n\n    _this.handleExited = function () {\n      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n        args[_key7] = arguments[_key7];\n      }\n\n      return _this.handleLifecycle('onExited', 1, args);\n    };\n\n    return _this;\n  }\n\n  var _proto = ReplaceTransition.prototype;\n\n  _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n    var _child$props;\n\n    var children = this.props.children;\n\n    var child = _react.default.Children.toArray(children)[idx];\n\n    if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n    if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        children = _this$props.children,\n        inProp = _this$props.in,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n    var _React$Children$toArr = _react.default.Children.toArray(children),\n        first = _React$Children$toArr[0],\n        second = _React$Children$toArr[1];\n\n    delete props.onEnter;\n    delete props.onEntering;\n    delete props.onEntered;\n    delete props.onExit;\n    delete props.onExiting;\n    delete props.onExited;\n    return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n      key: 'first',\n      onEnter: this.handleEnter,\n      onEntering: this.handleEntering,\n      onEntered: this.handleEntered\n    }) : _react.default.cloneElement(second, {\n      key: 'second',\n      onEnter: this.handleExit,\n      onEntering: this.handleExiting,\n      onEntered: this.handleExited\n    }));\n  };\n\n  return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  in: _propTypes.default.bool.isRequired,\n  children: function children(props, propName) {\n    if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n    return null;\n  }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar 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: 0 },\n *   entered:  { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\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 *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\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\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_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.transitionGroup; // 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  var _proto = Transition.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: null // allows for nested Transitions\n\n    };\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  _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      var node = _reactDom.default.findDOMNode(this);\n\n      if (nextStatus === ENTERING) {\n        this.performEnter(node, mounting);\n      } else {\n        this.performExit(node);\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(node, mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\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) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(node);\n      });\n      return;\n    }\n\n    this.props.onEnter(node, appearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(node, appearing);\n\n      _this2.onTransitionEnd(node, enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(node, appearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit(node) {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n    if (!exit) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(node);\n      });\n      return;\n    }\n\n    this.props.onExit(node);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(node);\n\n      _this3.onTransitionEnd(node, timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(node);\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(node, timeout, handler) {\n    this.setNextCallback(handler);\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      this.props.addEndListener(node, this.nextCallback);\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        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n    delete childProps.in;\n    delete childProps.mountOnEnter;\n    delete childProps.unmountOnExit;\n    delete childProps.appear;\n    delete childProps.enter;\n    delete childProps.exit;\n    delete childProps.timeout;\n    delete childProps.addEndListener;\n    delete childProps.onEnter;\n    delete childProps.onEntering;\n    delete childProps.onEntered;\n    delete childProps.onExit;\n    delete childProps.onExiting;\n    delete childProps.onExited;\n\n    if (typeof children === 'function') {\n      return children(status, childProps);\n    }\n\n    var child = _react.default.Children.only(children);\n\n    return _react.default.cloneElement(child, childProps);\n  };\n\n  return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n  transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n  transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\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'`, `'unmounted'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\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   * Normally a component is not transitioned if it is shown when the `<Transition>` component mounts.\n   * If you want to transition on the first mount set `appear` to `true`, and the\n   * component will transition in as soon as the `<Transition>` mounts.\n   *\n   * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\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 = _PropTypes.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. **Note:** Timeouts are still used as a fallback if provided.\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   * @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   * @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   * @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   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\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   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\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 = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n  return Object.keys(obj).map(function (k) {\n    return obj[k];\n  });\n};\n\nvar defaultProps = {\n  component: 'div',\n  childFactory: function childFactory(child) {\n    return child;\n  }\n  /**\n   * The `<TransitionGroup>` component manages a set of transition components\n   * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n   * components, `<TransitionGroup>` is a state machine for managing the mounting\n   * and unmounting of components over time.\n   *\n   * Consider the example below. As items are removed or added to the TodoList the\n   * `in` prop is toggled automatically by the `<TransitionGroup>`.\n   *\n   * Note that `<TransitionGroup>`  does not define any animation behavior!\n   * Exactly _how_ a list item animates is up to the individual transition\n   * component. This means you can mix and match animations across different list\n   * items.\n   */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(TransitionGroup, _React$Component);\n\n  function TransitionGroup(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n\n    var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n    _this.state = {\n      handleExited: handleExited,\n      firstRender: true\n    };\n    return _this;\n  }\n\n  var _proto = TransitionGroup.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: {\n        isMounting: !this.appeared\n      }\n    };\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.appeared = true;\n    this.mounted = true;\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.mounted = false;\n  };\n\n  TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n    var prevChildMapping = _ref.children,\n        handleExited = _ref.handleExited,\n        firstRender = _ref.firstRender;\n    return {\n      children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n      firstRender: false\n    };\n  };\n\n  _proto.handleExited = function handleExited(child, node) {\n    var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n    if (child.key in currentChildMapping) return;\n\n    if (child.props.onExited) {\n      child.props.onExited(node);\n    }\n\n    if (this.mounted) {\n      this.setState(function (state) {\n        var children = _extends({}, state.children);\n\n        delete children[child.key];\n        return {\n          children: children\n        };\n      });\n    }\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        Component = _this$props.component,\n        childFactory = _this$props.childFactory,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n    var children = values(this.state.children).map(childFactory);\n    delete props.appear;\n    delete props.enter;\n    delete props.exit;\n\n    if (Component === null) {\n      return children;\n    }\n\n    return _react.default.createElement(Component, props, children);\n  };\n\n  return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n  transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * `<TransitionGroup>` renders a `<div>` by default. You can change this\n   * behavior by providing a `component` prop.\n   * If you use React v16+ and would like to avoid a wrapping `<div>` element\n   * you can pass in `component={null}`. This is useful if the wrapping div\n   * borks your css styles.\n   */\n  component: _propTypes.default.any,\n\n  /**\n   * A set of `<Transition>` components, that are toggled `in` and out as they\n   * leave. the `<TransitionGroup>` will inject specific transition props, so\n   * remember to spread them through if you are wrapping the `<Transition>` as\n   * with our `<Fade>` example.\n   *\n   * While this component is meant for multiple `Transition` or `CSSTransition`\n   * children, sometimes you may want to have a single transition child with\n   * content that you want to be transitioned out and in when you change it\n   * (e.g. routes, images etc.) In that case you can change the `key` prop of\n   * the transition child as you change its content, this will cause\n   * `TransitionGroup` to transition the child out and back in.\n   */\n  children: _propTypes.default.node,\n\n  /**\n   * A convenience prop that enables or disables appear animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  appear: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables enter animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  enter: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables exit animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  exit: _propTypes.default.bool,\n\n  /**\n   * You may need to apply reactive updates to a child as it is exiting.\n   * This is generally done by using `cloneElement` however in the case of an exiting\n   * child the element has already been removed and not accessible to the consumer.\n   *\n   * If you do need to update a child as it leaves you can provide a `childFactory`\n   * to wrap every child, even the ones that are leaving.\n   *\n   * @type Function(child: ReactElement) -> ReactElement\n   */\n  childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n  Transition: _Transition.default,\n  TransitionGroup: _TransitionGroup.default,\n  ReplaceTransition: _ReplaceTransition.default,\n  CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n  var mapper = function mapper(child) {\n    return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n  };\n\n  var result = Object.create(null);\n  if (children) _react.Children.map(children, function (c) {\n    return c;\n  }).forEach(function (child) {\n    // run the map function here instead so that the key is the computed one\n    result[child.key] = mapper(child);\n  });\n  return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n  prev = prev || {};\n  next = next || {};\n\n  function getValueForKey(key) {\n    return key in next ? next[key] : prev[key];\n  } // For each key of `next`, the list of keys to insert before that key in\n  // the combined list\n\n\n  var nextKeysPending = Object.create(null);\n  var pendingKeys = [];\n\n  for (var prevKey in prev) {\n    if (prevKey in next) {\n      if (pendingKeys.length) {\n        nextKeysPending[prevKey] = pendingKeys;\n        pendingKeys = [];\n      }\n    } else {\n      pendingKeys.push(prevKey);\n    }\n  }\n\n  var i;\n  var childMapping = {};\n\n  for (var nextKey in next) {\n    if (nextKeysPending[nextKey]) {\n      for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n        var pendingNextKey = nextKeysPending[nextKey][i];\n        childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n      }\n    }\n\n    childMapping[nextKey] = getValueForKey(nextKey);\n  } // Finally, add the keys which didn't appear before any key in `next`\n\n\n  for (i = 0; i < pendingKeys.length; i++) {\n    childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n  }\n\n  return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n  return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n  return getChildMapping(props.children, function (child) {\n    return (0, _react.cloneElement)(child, {\n      onExited: onExited.bind(null, child),\n      in: true,\n      appear: getProp(child, 'appear', props),\n      enter: getProp(child, 'enter', props),\n      exit: getProp(child, 'exit', props)\n    });\n  });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n  var nextChildMapping = getChildMapping(nextProps.children);\n  var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n  Object.keys(children).forEach(function (key) {\n    var child = children[key];\n    if (!(0, _react.isValidElement)(child)) return;\n    var hasPrev = key in prevChildMapping;\n    var hasNext = key in nextChildMapping;\n    var prevChild = prevChildMapping[key];\n    var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n    if (hasNext && (!hasPrev || isLeaving)) {\n      // console.log('entering', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        onExited: onExited.bind(null, child),\n        in: true,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    } else if (!hasNext && hasPrev && !isLeaving) {\n      // item is old (exiting)\n      // console.log('leaving', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        in: false\n      });\n    } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n      // item hasn't changed transition states\n      // copy over the last transition props;\n      // console.log('unchanged', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        onExited: onExited.bind(null, child),\n        in: prevChild.props.in,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    }\n  });\n  return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n  enter: _propTypes.default.number,\n  exit: _propTypes.default.number,\n  appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  active: _propTypes.default.string\n}), _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  enterDone: _propTypes.default.string,\n  enterActive: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  exitDone: _propTypes.default.string,\n  exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","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","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","(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","/**!\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.<br />\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 <html> 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.<br />\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.<br />\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.<br />\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.<br />\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.<br />\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.<br />\n   * It will read the variation of the `placement` property.<br />\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.<br />\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.<br />\n   * The latter is a deprecated method because it leads to confusion and will be\n   * removed in v2.<br />\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.<br />\n   * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\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.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\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.<br />\n   * By default, it is set to no-op.<br />\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.<br />\n   * By default, it is set to no-op.<br />\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.<br />\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","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","/**\n * Copyright (c) 2013-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\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\nexport { polyfill };\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}","export default {\n  disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n  return node.scrollTop;\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 *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\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 *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\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   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\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   * > `<CSSTransition>` 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;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","import { __extends, __read, __spread } from \"tslib\";\nimport 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 { useContext, useRef } from 'react';\nimport { useCallbackOne } from 'use-memo-one';\nimport { AnalyticsReactContext, } from './AnalyticsReactContext';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\nvar noop = function () { return []; };\nexport function useAnalyticsEvents() {\n    var analyticsContext = useContext(AnalyticsReactContext);\n    var contextRef = useRef(analyticsContext);\n    contextRef.current.getAtlaskitAnalyticsEventHandlers =\n        analyticsContext.getAtlaskitAnalyticsEventHandlers;\n    contextRef.current.getAtlaskitAnalyticsContext =\n        analyticsContext.getAtlaskitAnalyticsContext;\n    var createAnalyticsEvent = useCallbackOne(function (payload) {\n        var getAtlaskitAnalyticsContext = contextRef.current.getAtlaskitAnalyticsContext || noop;\n        var getAtlaskitAnalyticsEventHandlers = contextRef.current.getAtlaskitAnalyticsEventHandlers || noop;\n        return new UIAnalyticsEvent({\n            context: getAtlaskitAnalyticsContext(),\n            handlers: getAtlaskitAnalyticsEventHandlers(),\n            payload: payload,\n        });\n    }, []);\n    return {\n        createAnalyticsEvent: createAnalyticsEvent,\n    };\n}\n//# sourceMappingURL=useAnalyticsEvents.js.map","/**\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 <Wrapper /> 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 { B200, 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', '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, ${B200})`, 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: () => 9999\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', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\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})`;","/* 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 _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 @atlaskit/design-system/no-nested-styles\n  '> svg': {\n    height: '100%',\n    fill: 'inherit'\n  }\n});\nconst stopColorStyles = css({\n  // eslint-disable-next-line @atlaskit/design-system/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  <svg viewBox=\"0 0 190 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"99.684716%\" y1=\"15.8138128%\" x2=\"39.8444399%\" y2=\"97.4388388%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill=\"${colors.atlassianLogoTextColor}\" >\n      <path fill=\"url(#${id})\" d=\"M6.90502605,15.6123193 C6.76436383,15.4302139 6.53773035,15.3340846 6.30742588,15.35884 C6.0771214,15.3835955 5.876643,15.525635 5.7787929,15.7333781 L0.0719979599,27.0218487 C-0.0337056449,27.2310259 -0.0224063827,27.4794358 0.101860917,27.6783741 C0.226128216,27.8773125 0.445645594,27.9984148 0.68202605,27.9984369 L8.62844459,27.9984369 C8.88847261,28.0044096 9.12761649,27.8581627 9.23847268,27.6253781 C10.9526159,24.1210252 9.91378448,18.7926722 6.90502605,15.6123193 Z\"></path>\n      <path fill=\"${colors.iconColor}\" d=\"M11.0859556,5.33713587 C8.19309829,9.74089822 7.85921851,15.3267488 10.2073011,20.0371359 L14.0383488,27.6176065 C14.1538739,27.8462194 14.3900332,27.9906411 14.6483769,27.9906653 L22.5933685,27.9906653 C22.829749,27.9906431 23.0492663,27.8695408 23.1735336,27.6706025 C23.2978009,27.4716641 23.3091002,27.2232543 23.2033966,27.014077 C23.2033966,27.014077 12.5147056,5.8619594 12.2460792,5.33290058 C12.1377032,5.11315026 11.9118188,4.97410225 11.6646746,4.97500451 C11.4175304,4.97590676 11.1926893,5.11660025 11.0859556,5.33713587 L11.0859556,5.33713587 Z\"></path>\n      <path d=\"M104.2774,14.3919316 C104.2774,17.1872257 105.588069,19.4065198 110.714802,20.3862846 C113.773504,21.0215787 114.414212,21.5100493 114.414212,22.5187551 C114.414212,23.4985198 113.772077,24.1327551 111.617715,24.1327551 C109.013896,24.0864379 106.462135,23.403307 104.189999,22.1442846 L104.189999,26.6972257 C105.733976,27.4465198 107.772754,28.2822846 111.559566,28.2822846 C116.919251,28.2822846 119.045788,25.9175787 119.045788,22.4033434 M119.045788,22.4033434 C119.045788,19.0892257 117.268858,17.5327551 112.25878,16.4668728 C109.491535,15.8615787 108.821574,15.2566375 108.821574,14.3919316 C108.821574,13.297814 109.811889,12.835814 111.646968,12.835814 C113.860906,12.835814 116.045591,13.4986375 118.113622,14.4208728 L118.113622,10.0691081 C116.130615,9.17615406 113.970906,8.73311319 111.792518,8.7724022 C106.840589,8.7724022 104.2774,10.9048728 104.2774,14.3919316\" fill=\"inherit\"></path>\n      <polygon fill=\"inherit\" points=\"173.129997 9.07000017 173.129997 28.0038825 177.20791 28.0038825 177.20791 13.5657649 178.926691 17.3983531 184.694132 28.0038825 189.820865 28.0038825 189.820865 9.07000017 185.742952 9.07000017 185.742952 21.2891766 184.198975 17.7442355 179.567399 9.07000017\"></polygon>\n      <rect fill=\"inherit\" x=\"142.740005\" y=\"9.07000017\" width=\"4.45677247\" height=\"18.9338824\"></rect>\n      <path d=\"M137.600792,22.4033434 C137.600792,19.0892257 135.823862,17.5327551 130.813784,16.4668728 C128.046539,15.8615787 127.376579,15.2566375 127.376579,14.3919316 C127.376579,13.297814 128.366893,12.835814 130.201972,12.835814 C132.41591,12.835814 134.600595,13.4986375 136.668626,14.4208728 L136.668626,10.0691081 C134.685619,9.17615406 132.52591,8.73311319 130.347522,8.7724022 C125.395593,8.7724022 122.832404,10.9048728 122.832404,14.3919316 C122.832404,17.1872257 124.143073,19.4065198 129.269806,20.3862846 C132.328508,21.0215787 132.969216,21.5100493 132.969216,22.5187551 C132.969216,23.4985198 132.327081,24.1327551 130.172719,24.1327551 C127.568901,24.0864379 125.017139,23.403307 122.745003,22.1442846 L122.745003,26.6972257 C124.28898,27.4465198 126.327758,28.2822846 130.11457,28.2822846 C135.474256,28.2822846 137.600792,25.9175787 137.600792,22.4033434\" fill=\"inherit\"></path>\n      <polygon fill=\"inherit\" points=\"69.6599979 9.07000017 69.6599979 28.0038825 78.8204081 28.0038825 80.2627142 23.9115296 74.1456665 23.9115296 74.1456665 9.07000017\"></polygon>\n      <polygon fill=\"inherit\" points=\"51.5549984 9.07000017 51.5549984 13.1620002 56.5069282 13.1620002 56.5069282 28.0038825 60.9925967 28.0038825 60.9925967 13.1620002 66.2941332 13.1620002 66.2941332 9.07000017\"></polygon>\n      <path d=\"M45.0573091,9.07000017 L39.1785647,9.07000017 L32.5050001,28.0038825 L37.6014102,28.0038825 L38.5474889,24.815059 C40.877531,25.4919503 43.3551322,25.4919503 45.6851743,24.815059 L46.6312529,28.0038825 L51.7287333,28.0038825 L45.0573091,9.07000017 Z M42.1177585,21.4007061 C41.287584,21.4006584 40.4616854,21.2831148 39.6651602,21.0516472 L42.1177585,12.7889413 L44.5703569,21.0544708 C43.7736914,21.2849831 42.9477956,21.4015755 42.1177585,21.4007061 L42.1177585,21.4007061 Z\" fill=\"inherit\"></path>\n      <path d=\"M94.6019534,9.07000017 L88.7235658,9.07000017 L82.0500011,28.0038825 L87.1474815,28.0038825 L88.0935601,24.815059 C90.4236023,25.4919503 92.9012034,25.4919503 95.2312455,24.815059 L96.1773242,28.0038825 L101.274805,28.0038825 L94.6019534,9.07000017 Z M91.6627596,21.4007061 C90.8325851,21.4006584 90.0066865,21.2831148 89.2101613,21.0516472 L91.6627596,12.7889413 L94.1153579,21.0544708 C93.3186924,21.2849831 92.4927966,21.4015755 91.6627596,21.4007061 L91.6627596,21.4007061 Z\" fill=\"inherit\"></path>\n      <path d=\"M163.256954,9.07000017 L157.378566,9.07000017 L150.705002,28.0038825 L155.802482,28.0038825 L156.748561,24.815059 C159.078603,25.4919503 161.556204,25.4919503 163.886246,24.815059 L164.832325,28.0038825 L169.930162,28.0038825 L163.256954,9.07000017 Z M160.315977,21.4007061 C159.485802,21.4006584 158.659903,21.2831148 157.863378,21.0516472 L160.315977,12.7889413 L162.768575,21.0544708 C161.971909,21.2849831 161.146014,21.4015755 160.315977,21.4007061 L160.315977,21.4007061 Z\" fill=\"inherit\"></path>\n    </g>\n  </svg>`;\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};","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import React, { createContext, PropsWithChildren, useContext } from 'react';\n\nimport { ProductData } from '../model';\n\nexport type FreeBundlesData = {\n  readonly productData?: { [index: string]: ProductData };\n};\n\nexport function useFreeBundlesData() {\n  return useContext(FreeBundlesDataContext);\n}\n\nconst FreeBundlesDataContext = createContext<FreeBundlesData>({\n  productData: {}\n});\n\nexport type FreeBundlesDataProviderProps = FreeBundlesData;\n\nexport function FreeBundlesDataProvider({\n  productData,\n  children\n}: PropsWithChildren<FreeBundlesDataProviderProps>) {\n  return (\n    <FreeBundlesDataContext.Provider\n      value={{\n        productData\n      }}\n    >\n      {children}\n    </FreeBundlesDataContext.Provider>\n  );\n}\n","import { Dispatch, SetStateAction } from 'react';\n\nexport const FREE_PRODUCT_KEYS = {\n  CONFLUENCE: 'confluence.ondemand',\n  JIRA_SOFTWARE: 'jira-software.ondemand',\n  JIRA_CORE: 'jira-core.ondemand',\n  JIRA_SERVICE_DESK: 'jira-servicedesk.ondemand'\n};\n\nexport type IconState =\n  | 'PRIMARY_PRODUCT'\n  | 'SECONDARY_PRODUCT'\n  | 'MODAL_PRODUCT'\n  | 'PRODUCT_ADDED';\n\nexport const ICON_STATES: { [index: string]: IconState } = {\n  PRIMARY_PRODUCT: 'PRIMARY_PRODUCT',\n  SECONDARY_PRODUCT: 'SECONDARY_PRODUCT',\n  MODAL_PRODUCT: 'MODAL_PRODUCT',\n  PRODUCT_ADDED: 'PRODUCT_ADDED'\n};\n\nexport type ProductData = {\n  readonly productKey: string;\n  readonly productName: string;\n  readonly productLogoUrl?: string;\n  readonly productIconUrl?: string;\n};\ntype BundleProvisioningStatusType =\n  | 'waiting'\n  | 'payload-ready'\n  | 'provisioning'\n  | 'success'\n  | 'no-payload';\n\nexport type WacFreeBundlesPropsType = {\n  readonly primaryProductKey: string;\n  readonly secondaryProductKeys: string[];\n  readonly signUpPath: string;\n  readonly bundleMap: BundleMapType;\n  readonly comparePlansUrl: string;\n  readonly productData?: { [index: string]: ProductData };\n  readonly featureFlags: featureFlags;\n  readonly bundleProvisioningStatus?: BundleProvisioningStatusType;\n  readonly setBundleProvisioningStatus?: Dispatch<\n    SetStateAction<BundleProvisioningStatusType>\n  >;\n  readonly isModalOpen?: boolean;\n  readonly setIsModalOpen?: Dispatch<SetStateAction<boolean>>;\n  readonly cloudIdentifier?: string;\n};\n\nexport type WacFreeBundlesModalPropsType = {\n  readonly isModalOpen: boolean;\n  readonly setIsModalOpen: Dispatch<SetStateAction<boolean>>;\n  readonly primaryProductKey: string;\n  readonly secondaryProductKeys: string[];\n  readonly selectedSecondaryProductKey: string;\n  readonly setSelectedSecondaryProductKey: Dispatch<SetStateAction<string>>;\n  readonly bundleProvisioningStatus?: BundleProvisioningStatusType;\n  readonly setBundleProvisioningStatus: Dispatch<\n    SetStateAction<BundleProvisioningStatusType>\n  >;\n  readonly isSecondaryProductActivating?: boolean;\n  readonly handleAgreeAndSignup: () => Promise<void>;\n};\n\nexport type featureFlags = {\n  readonly enableBundlesAfterSignup?: boolean;\n  readonly enableBundlesPostSignupConfluence?: boolean;\n};\n\nexport type PrimaryProductDisplayPropsType = {\n  readonly productKey: string;\n};\n\nexport type SecondaryProductSelectListPropsType = {\n  readonly secondaryProductKeys: string[];\n  readonly selectedSecondaryProductKey: string;\n  readonly setSelectedSecondaryProductKey: Dispatch<SetStateAction<string>>;\n};\n\nexport type SecondaryProductDisplayPropsType = {\n  readonly productKey: string;\n  readonly selected: boolean;\n  readonly onSelect: () => void;\n  readonly btnId: number;\n};\n\nexport type SecondaryProductSelectButtonPropsType = {\n  readonly isSelected: boolean;\n  readonly handleClick: () => void;\n  readonly btnId: number;\n};\n\nexport type ProductIconPropsType = {\n  readonly productKey: string;\n  readonly iconState: IconState;\n};\n\nexport type SecondaryProductSelectionContainerPropsType = {\n  readonly selected: boolean;\n};\n\nexport type BundleMapType = { [index: string]: string };\n\nexport type SiteReadyPropsType = {\n  readonly productKey: string;\n  readonly goToProduct: () => void;\n  readonly takeMeBack: () => void;\n};\n\nexport type ProductAddedPropsType = {\n  readonly secondaryProductKey: string;\n};\n","import { defineMessages } from 'react-intl';\nimport { FREE_PRODUCT_KEYS } from '../model';\n\nconst ID_PREFIX = 'WacFreeBundles.';\nexport const messages = defineMessages({\n  freeBundlesMainHeader: {\n    id: `${ID_PREFIX}freeBundlesMainHeader`,\n    defaultMessage: 'Our cloud products work even better together'\n  },\n  freeBundlesSubHeader: {\n    id: `${ID_PREFIX}freeBundlesSubHeader`,\n    defaultMessage: 'Get another one for free'\n  },\n  featureListHeader: {\n    id: `${ID_PREFIX}featureListHeader`,\n    defaultMessage: 'Each product on a free plan:'\n  },\n  primaryProductSelectedHeader: {\n    id: `${ID_PREFIX}primaryProductSelectedHeader`,\n    defaultMessage: 'You selected'\n  },\n  secondaryProductSelectionListHeader: {\n    id: `${ID_PREFIX}secondaryProductSelectionListHeader`,\n    defaultMessage: 'Select a second product'\n  },\n  jiraSoftwareProductName: {\n    id: `${ID_PREFIX}jiraSoftwareProductName`,\n    defaultMessage: 'Jira Software'\n  },\n  jiraSoftwareProductSubHeading: {\n    id: `${ID_PREFIX}jiraSoftwareProductSubHeading`,\n    defaultMessage: 'Project and issue tracking'\n  },\n  jiraSoftwareProductDescription: {\n    id: `${ID_PREFIX}jiraSoftwareProductDescription`,\n    defaultMessage:\n      \"The world's most popular project management tool and the easiest way to bring ideas in Confluence to life.\"\n  },\n  confluenceProductName: {\n    id: `${ID_PREFIX}confluenceProductName`,\n    defaultMessage: 'Confluence'\n  },\n  confluenceProductSubHeading: {\n    id: `${ID_PREFIX}confluenceProductSubHeading`,\n    defaultMessage: 'Document collaboration'\n  },\n  confluenceProductDescription: {\n    id: `${ID_PREFIX}confluenceProductDescription`,\n    defaultMessage:\n      'Add context to your projects with a single source of truth for product requirements, release notes, and documentation.'\n  },\n  jiraServiceDeskProductName: {\n    id: `${ID_PREFIX}jiraServiceDeskProductName`,\n    defaultMessage: 'Jira Service Management'\n  },\n  jiraServiceDeskProductSubHeading: {\n    id: `${ID_PREFIX}jiraServiceDeskProductSubHeading`,\n    defaultMessage: 'High-velocity ITSM'\n  },\n  jiraServiceDeskProductDescription: {\n    id: `${ID_PREFIX}jiraServiceDeskProductDescription`,\n    defaultMessage:\n      'Empower Dev and Ops teams to collaborate at high-velocity, so they can respond to business changes and deliver service experiences fast.'\n  },\n  jiraCoreProductName: {\n    id: `${ID_PREFIX}jiraCoreProductName`,\n    defaultMessage: 'Jira Work Management'\n  },\n  jiraCoreProductSubHeading: {\n    id: `${ID_PREFIX}jiraCoreProductSubHeading`,\n    defaultMessage: 'Project management for business teams'\n  },\n  jiraCoreProductDescription: {\n    id: `${ID_PREFIX}jiraCoreProductDescription`,\n    defaultMessage: 'Organize business projects and redefine teamwork.'\n  },\n  supportDescription: {\n    id: `${ID_PREFIX}supportDescription`,\n    defaultMessage: 'Supports up to 10 users or 3 agents'\n  },\n  storageDescription: {\n    id: `${ID_PREFIX}storageDescription`,\n    defaultMessage: 'Includes 2 GB of storage'\n  },\n  communitySupportDescription: {\n    id: `${ID_PREFIX}communitySupportDescription`,\n    defaultMessage: 'Offers Community support'\n  },\n  noCreditCardDescription: {\n    id: `${ID_PREFIX}noCreditCardDescription`,\n    defaultMessage: 'Is always free, no credit card needed'\n  },\n  largerTeamLabel: {\n    id: `${ID_PREFIX}largerTeamLabel`,\n    defaultMessage: 'Larger team?'\n  },\n  largerTeamHoverText: {\n    id: `${ID_PREFIX}largerTeamHoverText`,\n    defaultMessage:\n      'Standard and Premium plans support up to 5,000 users or agents and include at lease 250 GB of storage'\n  },\n  comparePlansLabel: {\n    id: `${ID_PREFIX}comparePlansLabel`,\n    defaultMessage: 'Compare plans'\n  },\n  selectButtonLabel: {\n    id: `${ID_PREFIX}selectButtonLabel`,\n    defaultMessage: 'Select'\n  },\n  removeButtonLabel: {\n    id: `${ID_PREFIX}removeButtonLabel`,\n    defaultMessage: 'Remove'\n  },\n  nextButtonLabel: {\n    id: `${ID_PREFIX}nextButtonLabel`,\n    defaultMessage: 'Next'\n  },\n  skipButtonLabel: {\n    id: `${ID_PREFIX}skipButtonLabel`,\n    defaultMessage: 'Skip'\n  },\n  noCreditCardLabel: {\n    id: `${ID_PREFIX}noCreditCardLabel`,\n    defaultMessage: 'No credit card required'\n  },\n  termsAndConditionsLabel: {\n    id: `${ID_PREFIX}termsAndConditionsLabel`,\n    defaultMessage:\n      \"<p>By signing up, you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy.</a></p>\"\n  },\n  agreeAndContinue: {\n    id: `${ID_PREFIX}agreeAndContinue`,\n    defaultMessage: 'Agree and continue'\n  },\n  freeBundlesModalHeader: {\n    id: `${ID_PREFIX}freeBundlesModalHeader`,\n    defaultMessage:\n      'While we wait, do you want to try a second product with {PRODUCT_NAME} for free?'\n  },\n  freeBundlesModalSubHeader: {\n    id: `${ID_PREFIX}freeBundlesModalSubHeader`,\n    defaultMessage:\n      'This is <b>optional</b> and will not impact your site creation time.<br/>Select one and add to confirm.'\n  },\n  siteIsReadyModalHeader: {\n    id: `${ID_PREFIX}siteIsReadyModalHeader`,\n    defaultMessage: 'Your {PRODUCT_NAME} Cloud site is ready.'\n  },\n  siteIsReadyModalSubHeader: {\n    id: `${ID_PREFIX}siteIsReadyModalSubHeader`,\n    defaultMessage: 'Do you need more time to select another product?'\n  },\n  youHaveAddedSubHeader: {\n    id: `${ID_PREFIX}youHaveAddedSubHeader`,\n    defaultMessage: \"You've added\"\n  },\n  termsAndConditionsModalLabel: {\n    id: `${ID_PREFIX}termsAndConditionsModalLabel`,\n    defaultMessage:\n      \"<p>By clicking \\\"Agree\\\" you consent to the Atlassian <a target='_blank' href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a target='_blank' href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy.</a></p>\"\n  },\n  agreeAndAdd: {\n    id: `${ID_PREFIX}agreeAndAdd`,\n    defaultMessage: 'Agree and add'\n  },\n  noThanks: {\n    id: `${ID_PREFIX}noThanks`,\n    defaultMessage: 'No thanks'\n  },\n  takeMeBack: {\n    id: `${ID_PREFIX}takeMeBack`,\n    defaultMessage: 'Yes, take me back'\n  },\n  goToProduct: {\n    id: `${ID_PREFIX}goToProduct`,\n    defaultMessage: 'Go to my {PRODUCT_NAME}'\n  },\n  modalJiraSoftwareProductDescription: {\n    id: `${ID_PREFIX}modalJiraSoftwareProductDescription`,\n    defaultMessage:\n      'Pair with Confluence to organize and manage agile projects.'\n  },\n  modalConfluenceProductDescription: {\n    id: `${ID_PREFIX}modalConfluenceProductDescription`,\n    defaultMessage: 'Pair with Jira for a single source of truth.'\n  },\n  modalJiraCoreProductDescription: {\n    id: `${ID_PREFIX}modalJiraCoreProductDescription`,\n    defaultMessage:\n      'Pair with Confluence to organize business projects and redefine teamwork.'\n  },\n  modalJiraServiceDeskProductDescription: {\n    id: `${ID_PREFIX}modalJiraServiceDeskProductDescription`,\n    defaultMessage: 'Pair with Confluence to streamline IT service management.'\n  }\n});\n\nexport const messagesByProductKey = {\n  [FREE_PRODUCT_KEYS.JIRA_SOFTWARE]: {\n    name: messages.jiraSoftwareProductName,\n    subHeading: messages.jiraSoftwareProductSubHeading,\n    description: messages.jiraSoftwareProductDescription\n  },\n  [FREE_PRODUCT_KEYS.CONFLUENCE]: {\n    name: messages.confluenceProductName,\n    subHeading: messages.confluenceProductSubHeading,\n    description: messages.confluenceProductDescription\n  },\n  [FREE_PRODUCT_KEYS.JIRA_CORE]: {\n    name: messages.jiraCoreProductName,\n    subHeading: messages.jiraCoreProductSubHeading,\n    description: messages.jiraCoreProductDescription\n  },\n  [FREE_PRODUCT_KEYS.JIRA_SERVICE_DESK]: {\n    name: messages.jiraServiceDeskProductName,\n    subHeading: messages.jiraServiceDeskProductSubHeading,\n    description: messages.jiraServiceDeskProductDescription\n  }\n};\n\nexport const modalMessagesByProductKey = {\n  [FREE_PRODUCT_KEYS.JIRA_SOFTWARE]: {\n    name: messages.jiraSoftwareProductName,\n    subHeading: messages.jiraSoftwareProductSubHeading,\n    description: messages.modalJiraSoftwareProductDescription\n  },\n  [FREE_PRODUCT_KEYS.CONFLUENCE]: {\n    name: messages.confluenceProductName,\n    subHeading: messages.confluenceProductSubHeading,\n    description: messages.modalConfluenceProductDescription\n  },\n  [FREE_PRODUCT_KEYS.JIRA_CORE]: {\n    name: messages.jiraCoreProductName,\n    subHeading: messages.jiraCoreProductSubHeading,\n    description: messages.modalJiraCoreProductDescription\n  },\n  [FREE_PRODUCT_KEYS.JIRA_SERVICE_DESK]: {\n    name: messages.jiraServiceDeskProductName,\n    subHeading: messages.jiraServiceDeskProductSubHeading,\n    description: messages.modalJiraServiceDeskProductDescription\n  }\n};\n","/* 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}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\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  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"108.695%\" x2=\"12.439%\" y1=\"-14.936%\" y2=\"45.215%\" id=\"${id}-1\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient x1=\"0%\" x2=\"91.029%\" y1=\"118.55%\" y2=\"63.971%\" id=\"${id}-2\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.iconColor}\" d=\"M15.9669691 29.3616152C17.2195568 28.1097726 17.9233158 26.4114623 17.9233158 24.6405626 17.9233158 22.8696629 17.2195568 21.1713527 15.9669691 19.91951L7.26805808 11.2489111 3.31143376 15.2055354C2.89743442 15.6200502 2.89743442 16.291565 3.31143376 16.7060799L15.9669691 29.3616152zM28.6225045 15.2055354L15.9669691 2.55 15.9280399 2.58892922C13.3485687 5.19994003 13.3612164 9.40374108 15.9563521 11.9991833L24.6623412 20.6662432 28.6225045 16.7060799C29.0365039 16.291565 29.0365039 15.6200502 28.6225045 15.2055354z\" />\n      <path fill=\"url(#${id}-1\" d=\"M15.9669691,11.9921053 C13.3718335,9.39666304 13.3591857,5.19286199 15.938657,2.58185118 L6.91061706,11.6063521 L11.6316697,16.3274047 L15.9669691,11.9921053 Z\" />\n      <path fill=\"url(#${id}-2\" d=\"M20.2951906,15.5912886 L15.9669691,19.91951 C17.2195568,21.1713527 17.9233158,22.8696629 17.9233158,24.6405626 C17.9233158,26.4114623 17.2195568,28.1097726 15.9669691,29.3616152 L25.0162432,20.3123412 L20.2951906,15.5912886 Z\" />\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira software icon__\n *\n * The Jira Software icon without an accompanying wordmark.\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 JiraSoftwareIcon = ({\n  appearance,\n  label = 'Jira Software',\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    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","import React from 'react';\nimport { JiraSoftwareIcon } from '@atlaskit/logo';\nimport { B200, B400, N900 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\nimport { ProductIconPropsType, ICON_STATES } from '../../model';\nimport { useFreeBundlesData } from '../../hooks';\n\nexport function ProductIcon({ productKey, iconState }: ProductIconPropsType) {\n  const { productData } = useFreeBundlesData();\n  if (\n    !productData ||\n    !productData[productKey] ||\n    !productData[productKey].productIconUrl\n  ) {\n    switch (iconState) {\n      case ICON_STATES.PRIMARY_PRODUCT:\n        return (\n          <StyledPrimaryProductJiraSoftwareIcon\n            size={'xlarge'}\n            iconColor={B200}\n            textColor={N900}\n            iconGradientStart={B400}\n            iconGradientStop={B200}\n          />\n        );\n      case ICON_STATES.SECONDARY_PRODUCT:\n        return (\n          <StyledSecondaryProductJiraSoftwareIcon\n            size={'xlarge'}\n            iconColor={B200}\n            textColor={N900}\n            iconGradientStart={B400}\n            iconGradientStop={B200}\n          />\n        );\n      case ICON_STATES.MODAL_PRODUCT:\n        return (\n          <StyledSecondaryProductJiraSoftwareIcon\n            size={'medium'}\n            iconColor={B200}\n            textColor={N900}\n            iconGradientStart={B400}\n            iconGradientStop={B200}\n          />\n        );\n      case ICON_STATES.PRODUCT_ADDED:\n        return (\n          <StyledSecondaryProductJiraSoftwareIcon\n            size={'large'}\n            iconColor={B200}\n            textColor={N900}\n            iconGradientStart={B400}\n            iconGradientStop={B200}\n          />\n        );\n    }\n  } else {\n    switch (iconState) {\n      case ICON_STATES.PRIMARY_PRODUCT:\n        return (\n          <PrimaryProductIcon src={productData[productKey].productIconUrl} />\n        );\n      case ICON_STATES.SECONDARY_PRODUCT:\n        return (\n          <SecondaryProductIcon src={productData[productKey].productIconUrl} />\n        );\n      case ICON_STATES.MODAL_PRODUCT:\n        return (\n          <ModalProductIcon src={productData[productKey].productIconUrl} />\n        );\n      case ICON_STATES.MODAL_PRODUCT:\n        return (\n          <ProductAddedIcon src={productData[productKey].productIconUrl} />\n        );\n    }\n  }\n  return (\n    <StyledPrimaryProductJiraSoftwareIcon\n      size={'xlarge'}\n      iconColor={B200}\n      textColor={N900}\n      iconGradientStart={B400}\n      iconGradientStop={B200}\n    />\n  );\n}\n\nconst PrimaryProductIcon = styled.img`\n  width: 100px;\n  margin: 0 8px;\n\n  @media (max-width: 1130px) {\n    width: 60px;\n  }\n\n  @media (max-width: 510px) {\n    width: 48px;\n  }\n`;\n\nconst SecondaryProductIcon = styled.img`\n  width: 48px;\n  margin: 0px 4px 0px 0px;\n`;\n\nconst ModalProductIcon = styled.img`\n  width: 24px;\n  margin: 0 4px 0 0;\n`;\n\nconst ProductAddedIcon = styled.img`\n  width: 32px;\n  margin: 0 4px 0 0;\n`;\n\nexport const StyledSecondaryProductJiraSoftwareIcon = styled(JiraSoftwareIcon)`\n  margin: 0 4px 0 0;\n`;\n\nexport const StyledPrimaryProductJiraSoftwareIcon = styled(JiraSoftwareIcon)`\n  width: 100px;\n  height: 100px;\n  margin: 0 8px;\n\n  & > svg {\n    width: 100px;\n    height: 100px;\n  }\n`;\n","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","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, __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 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<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' 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","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n    mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { __rest } from \"tslib\";\nexport var mapAttributesToState = function (_a) {\n    var _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = _a.isActive, isActive = _c === void 0 ? false : _c, _d = _a.isFocus, isFocus = _d === void 0 ? false : _d, _e = _a.isHover, isHover = _e === void 0 ? false : _e, _f = _a.isSelected, isSelected = _f === void 0 ? false : _f;\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 var filterProps = function (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n_a, type) {\n    var createAnalyticsEvent = _a.createAnalyticsEvent, props = __rest(_a, \n    // @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n    [\"createAnalyticsEvent\"]);\n    if (type === 'span') {\n        var target = props.target, href = props.href, rest = __rest(props, [\"target\", \"href\"]);\n        return rest;\n    }\n    return props;\n};\nexport var getLoadingStyle = function (isLoading) { return ({\n    transition: 'opacity 0.3s',\n    opacity: isLoading ? 0 : 1,\n}); };\nexport var composeRefs = function () {\n    var refs = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        refs[_i] = arguments[_i];\n    }\n    return function (x) {\n        refs\n            .filter(function (r) { return !!r; })\n            .forEach(function (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) {\n    if (alpha === void 0) { alpha = 1; }\n    if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n        var 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        var color = \"0x\" + colorArr.join('');\n        // FIXME: `>>` operand can validly take a string value\n        var r = (color >> 16) & 255;\n        var g = (color >> 8) & 255;\n        var 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 { __assign } from \"tslib\";\nimport { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { applyPropertyStyle, baseTheme } from '../theme';\nvar compactButtonHeight = (gridSize() * 3) / fontSize() + \"em\";\nvar buttonHeight = (gridSize() * 4) / fontSize() + \"em\";\n/** Background */\nvar getBackground = function (props) {\n    return applyPropertyStyle('background', props, baseTheme);\n};\n/** Box Shadow */\nvar getBoxShadow = function (props) {\n    var boxShadowColor = applyPropertyStyle('boxShadowColor', props, baseTheme);\n    return \"0 0 0 2px \" + boxShadowColor;\n};\n/** Color */\nvar getColor = function (props) {\n    return applyPropertyStyle('color', props, baseTheme);\n};\n/** Cursor */\nvar getCursor = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'hover' || state === 'active' || state === 'selected'\n        ? 'pointer'\n        : state === 'disabled'\n            ? 'not-allowed'\n            : 'default';\n};\n/** Height */\nvar getHeight = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'compact'\n        ? compactButtonHeight\n        : spacing === 'none'\n            ? 'auto'\n            : buttonHeight;\n};\n/** Line Height */\nvar getLineHeight = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'compact'\n        ? compactButtonHeight\n        : spacing === 'none'\n            ? 'inherit'\n            : buttonHeight;\n};\n/** Padding */\nvar getPadding = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'none' ? 0 : \"0 \" + gridSize() + \"px\";\n};\n/** Text Decoration */\nvar getTextDecoration = function (_a) {\n    var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c;\n    return state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n        ? 'underline'\n        : 'inherit';\n};\n/** Transition */\nvar getTransition = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return 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};\n/** Transition Duration */\nvar getTransitionDuration = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n};\n/** Vertical Align */\nvar getVerticalAlign = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'none' ? 'baseline' : 'middle';\n};\n/** Width */\nvar getWidth = function (_a) {\n    var shouldFitContainer = _a.shouldFitContainer;\n    return shouldFitContainer ? '100%' : 'auto';\n};\n/** Base styles */\nvar staticStyles = {\n    alignItems: 'baseline',\n    borderWidth: 0,\n    boxSizing: 'border-box',\n    display: 'inline-flex',\n    fontSize: 'inherit',\n    fontStyle: 'normal',\n    fontWeight: 'normal',\n    maxWidth: '100%',\n    outline: 'none !important',\n    textAlign: 'center',\n    textDecoration: 'none',\n    whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexport var getButtonStyles = function (props) { return (__assign(__assign(__assign({}, staticStyles), { background: getBackground(props), borderRadius: borderRadius() + \"px\", boxShadow: getBoxShadow(props), color: getColor(props) + \" !important\", cursor: getCursor(props), height: getHeight(props), lineHeight: getLineHeight(props), padding: getPadding(props), transition: getTransition(props), transitionDuration: getTransitionDuration(props), verticalAlign: getVerticalAlign(props), width: getWidth(props), '&::-moz-focus-inner': {\n        border: 0,\n        margin: 0,\n        padding: 0,\n    }, '&:hover': {\n        textDecoration: getTextDecoration(props),\n    } }), (props.isLoading && { pointerEvents: 'none' }))); };\n/**\n * SPINNER STYLES\n */\nexport var getSpinnerStyles = function () { return ({\n    display: 'flex',\n    position: 'absolute',\n    left: '50%',\n    top: '50%',\n    transform: 'translate(-50%, -50%)',\n}); };\n//# sourceMappingURL=getStyles.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 { createTheme } from '@atlaskit/theme/components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { hex2rgba } from './components/utils';\nimport { getButtonStyles, getSpinnerStyles } from './components/getStyles';\nexport var 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 var 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: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n        primary: {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\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: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n        subtle: {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\n                dark: colors.B75,\n            },\n        },\n        'subtle-link': {\n            focus: { light: hex2rgba(colors.B200, 0.6), dark: colors.B75 },\n            focusSelected: {\n                light: hex2rgba(colors.B200, 0.6),\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, _a, theme) {\n    var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c, _d = _a.mode, mode = _d === void 0 ? 'light' : _d;\n    var 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    var appearanceStyles = propertyStyles[appearance];\n    var stateStyles = appearanceStyles[state];\n    if (!stateStyles) {\n        return 'inherit';\n    }\n    return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexport var Theme = createTheme(function (themeProps) { return ({\n    buttonStyles: getButtonStyles(themeProps),\n    spinnerStyles: getSpinnerStyles(),\n}); });\n//# sourceMappingURL=theme.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default (function (_a) {\n    var children = _a.children, followsIcon = _a.followsIcon, spacing = _a.spacing, isLoading = _a.isLoading, rest = __rest(_a, [\"children\", \"followsIcon\", \"spacing\", \"isLoading\"]);\n    return (jsx(\"span\", __assign({ css: __assign({ alignItems: followsIcon ? 'baseline' : 'center', alignSelf: followsIcon ? 'baseline' : 'center', flex: '1 1 auto', margin: spacing === 'none' ? 0 : \"0 \" + gridSize() / 2 + \"px\", maxWidth: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, getLoadingStyle(isLoading)) }, rest), children));\n});\n//# sourceMappingURL=Content.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nexport default (function (_a) {\n    var fit = _a.fit, children = _a.children, rest = __rest(_a, [\"fit\", \"children\"]);\n    return (jsx(\"span\", __assign({ css: __assign(__assign({ alignSelf: 'center', display: 'inline-flex', flexWrap: 'nowrap', maxWidth: '100%', position: 'relative' }, (fit && { width: '100%' })), (fit && { justifyContent: 'center' })) }, rest), children));\n});\n//# sourceMappingURL=InnerWrapper.js.map","import { __assign, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { getLoadingStyle } from './utils';\nimport { gridSize } from '@atlaskit/theme/constants';\nexport default (function (_a) {\n    var spacing = _a.spacing, icon = _a.icon, isOnlyChild = _a.isOnlyChild, isLoading = _a.isLoading, rest = __rest(_a, [\"spacing\", \"icon\", \"isOnlyChild\", \"isLoading\"]);\n    return (jsx(\"span\", __assign({ css: __assign({ alignSelf: 'center', display: 'flex', flexShrink: 0, lineHeight: 0, fontSize: 0, userSelect: 'none', margin: spacing === 'none'\n                ? 0\n                : isOnlyChild\n                    ? \"0 -\" + gridSize() / 4 + \"px\"\n                    : \"0 \" + gridSize() / 2 + \"px\" }, getLoadingStyle(isLoading)) }, rest), icon));\n});\n//# sourceMappingURL=IconWrapper.js.map","export var SIZES_MAP = {\n    xsmall: 8,\n    small: 16,\n    medium: 24,\n    large: 48,\n    xlarge: 96,\n};\nexport var DEFAULT_SIZE = SIZES_MAP.small;\n//# sourceMappingURL=constants.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled, { keyframes, css } from 'styled-components';\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to use dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n    noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"]))),\n    enterRotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n    from { transform: rotate(50deg); }\\n    to { transform: rotate(230deg); }\\n  \"], [\"\\n    from { transform: rotate(50deg); }\\n    to { transform: rotate(230deg); }\\n  \"]))),\n    leaveRotate: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n    from { transform: rotate(230deg); }\\n    to { transform: rotate(510deg); }\\n  \"], [\"\\n    from { transform: rotate(230deg); }\\n    to { transform: rotate(510deg); }\\n  \"]))),\n    leaveOpacity: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n    from { opacity: 1; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 1; }\\n    to { opacity: 0; }\\n  \"]))),\n};\nexport var getContainerAnimation = function (_a) {\n    var delay = _a.delay, phase = _a.phase;\n    if (phase === 'DELAY') {\n        /* This hides the spinner and allows us to use animationend events to move to the next phase in\n         * the same way we do with the other lifecycle stages */\n        return css(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n      animation: \", \"s \", \";\\n    \"], [\"\\n      animation: \", \"s \", \";\\n    \"])), delay, keyframeNames.noop);\n    }\n    if (phase === 'ENTER' || phase === 'IDLE') {\n        return css(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n      animation: 1s ease-in-out forwards \", \";\\n    \"], [\"\\n      animation: 1s ease-in-out forwards \", \";\\n    \"])), keyframeNames.enterRotate);\n    }\n    if (phase === 'LEAVE') {\n        return css(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n      animation: 0.53s ease-in-out forwards \", \",\\n        0.2s ease-in-out 0.33s \", \";\\n    \"], [\"\\n      animation: 0.53s ease-in-out forwards \", \",\\n        0.2s ease-in-out 0.33s \", \";\\n    \"])), keyframeNames.leaveRotate, keyframeNames.leaveOpacity);\n    }\n    return '';\n};\nvar getSize = function (_a) {\n    var size = _a.size;\n    return size + \"px\";\n};\nvar Container = styled.span(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n  \", \"\\n  display: flex;\\n  height: \", \";\\n  width: \", \";\\n\\n  /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n   * they complete their exit animations. This rules hides the spinner if another one has been\\n   * added. */\\n  div + & {\\n    display: none;\\n  }\\n\"], [\"\\n  \", \"\\n  display: flex;\\n  height: \", \";\\n  width: \", \";\\n\\n  /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n   * they complete their exit animations. This rules hides the spinner if another one has been\\n   * added. */\\n  div + & {\\n    display: none;\\n  }\\n\"])), getContainerAnimation, getSize, getSize);\nContainer.displayName = 'SpinnerContainer';\nexport default Container;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n//# sourceMappingURL=styledContainer.js.map","import { __makeTemplateObject, __rest } from \"tslib\";\nimport styled, { css, keyframes } from 'styled-components';\nimport { themed } from '@atlaskit/theme/components';\nimport { N500, N0 } from '@atlaskit/theme/colors';\nimport { SIZES_MAP } from './constants';\nvar getStrokeWidth = function (size) { return Math.round(size / 10); };\nvar getStrokeCircumference = function (size) {\n    var strokeWidth = getStrokeWidth(size);\n    var strokeRadius = size / 2 - strokeWidth / 2;\n    return Math.PI * strokeRadius * 2;\n};\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n    noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"]))),\n    rotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n    to { transform: rotate(360deg); }\\n  \"], [\"\\n    to { transform: rotate(360deg); }\\n  \"]))),\n    enterOpacity: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 1; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 1; }\\n  \"]))),\n    smallEnterStroke: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.small), getStrokeCircumference(SIZES_MAP.small) *\n        0.8),\n    mediumEnterStroke: keyframes(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.medium), getStrokeCircumference(SIZES_MAP.medium) *\n        0.8),\n    largeEnterStroke: keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.large), getStrokeCircumference(SIZES_MAP.large) *\n        0.8),\n    xlargeEnterStroke: keyframes(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.xlarge), getStrokeCircumference(SIZES_MAP.xlarge) *\n        0.8),\n};\n/* If a standard size is used, we can use one of our statically defined keyframes, otherwise\n * we're forced to dynamically create the keyframe and incur a performance cost.\n */\nvar getEnterStrokeKeyframe = function (size) {\n    var standardSizeName = Object.keys(SIZES_MAP).find(function (sizeName) { return size === SIZES_MAP[sizeName]; });\n    if (standardSizeName) {\n        return keyframeNames[standardSizeName + \"EnterStroke\"];\n    }\n    var circumference = getStrokeCircumference(size);\n    return keyframes(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"])), circumference, circumference * 0.8);\n};\nvar spinnerColor = themed({ light: N500, dark: N0 });\nvar spinnerColorInverted = themed({ light: N0, dark: N0 });\nexport var getStrokeColor = function (_a) {\n    var invertColor = _a.invertColor, props = __rest(_a, [\"invertColor\"]);\n    return invertColor ? spinnerColorInverted(props) : spinnerColor(props);\n};\nexport var svgStyles = css(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n  \", \";\\n\"], [\"\\n  \",\n    \";\\n\"])), function (props) {\n    var circumference = getStrokeCircumference(props.size);\n    var animation = function (animProps) {\n        var baseAnimation = '0.86s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite';\n        if (animProps.phase === 'ENTER') {\n            return css(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n          animation: \", \" \", \",\\n            0.8s ease-in-out \", \",\\n            0.2s ease-in-out \", \";\\n        \"], [\"\\n          animation: \", \" \", \",\\n            0.8s ease-in-out \", \",\\n            0.2s ease-in-out \", \";\\n        \"])), baseAnimation, keyframeNames.rotate, getEnterStrokeKeyframe(animProps.size), keyframeNames.enterOpacity);\n        }\n        return css(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n        animation: \", \" \", \";\\n      \"], [\"\\n        animation: \", \" \", \";\\n      \"])), baseAnimation, keyframeNames.rotate);\n    };\n    return css(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n      \", \"\\n      fill: none;\\n      stroke: \", \";\\n      stroke-dasharray: \", \"px;\\n      stroke-dashoffset: \", \"px;\\n      stroke-linecap: round;\\n      stroke-width: \", \"px;\\n      transform-origin: center;\\n    \"], [\"\\n      \", \"\\n      fill: none;\\n      stroke: \", \";\\n      stroke-dasharray: \", \"px;\\n      stroke-dashoffset: \", \"px;\\n      stroke-linecap: round;\\n      stroke-width: \", \"px;\\n      transform-origin: center;\\n    \"])), animation, getStrokeColor, circumference, circumference * 0.8, getStrokeWidth(props.size));\n});\nvar Svg = styled.svg(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n  \", \";\\n\"], [\"\\n  \", \";\\n\"])), svgStyles);\nSvg.displayName = 'SpinnerSvg';\nexport default Svg;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;\n//# sourceMappingURL=styledSvg.js.map","import { __extends, __makeTemplateObject } from \"tslib\";\nimport React, { Component } from 'react';\nimport { Transition } from 'react-transition-group';\nimport styled from 'styled-components';\nimport { SIZES_MAP, DEFAULT_SIZE } from './constants';\nimport Container from './styledContainer';\nimport Svg from './styledSvg';\nvar Outer = styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n  display: inline-block;\\n  vertical-align: middle;\\n\"], [\"\\n  display: inline-block;\\n  vertical-align: middle;\\n\"])));\nOuter.displayName = 'Outer';\nvar Spinner = /** @class */ (function (_super) {\n    __extends(Spinner, _super);\n    function Spinner(props) {\n        var _this = _super.call(this, props) || this;\n        _this.transitionNode = null;\n        _this.enter = function () {\n            var delay = _this.props.delay;\n            if (delay) {\n                _this.setState({ phase: 'DELAY' });\n            }\n            else {\n                _this.setState({ phase: 'ENTER' });\n            }\n        };\n        _this.idle = function () {\n            _this.setState({ phase: 'IDLE' });\n        };\n        _this.exit = function () {\n            _this.setState({ phase: 'LEAVE' });\n        };\n        _this.endListener = function (node, done) {\n            var executeCallback = function (event) {\n                // ignore animation events on the glyph\n                if (event.target.tagName === 'svg') {\n                    return;\n                }\n                if (_this.state.phase === 'DELAY') {\n                    _this.setState({ phase: 'ENTER' });\n                    _this.endListener(node, done);\n                }\n                else {\n                    done();\n                }\n                return node && node.removeEventListener('animationend', executeCallback);\n            };\n            // FIX - jest-emotion doesn't recognise the DOM node so it can't add\n            // the eventListener in the @atlaskit/button tests.\n            // Should be fixed when we move to emotion@10\n            if (node && node.addEventListener) {\n                return node.addEventListener('animationend', executeCallback);\n            }\n            return done();\n        };\n        _this.validateSize = function () {\n            var size = _this.props.size;\n            var spinnerSize = SIZES_MAP[size] || size;\n            return typeof spinnerSize === 'number' ? spinnerSize : DEFAULT_SIZE;\n        };\n        _this.state = {\n            phase: '',\n        };\n        return _this;\n    }\n    Spinner.prototype.render = function () {\n        var _this = this;\n        var phase = this.state.phase;\n        var _a = this.props, delay = _a.delay, invertColor = _a.invertColor, isCompleting = _a.isCompleting, testId = _a.testId;\n        var size = this.validateSize();\n        var strokeWidth = Math.round(size / 10);\n        var strokeRadius = size / 2 - strokeWidth / 2;\n        return (React.createElement(Outer, null,\n            React.createElement(Transition, { addEndListener: this.endListener, appear: true, in: !isCompleting, mountOnEnter: true, unmountOnExit: true, onEnter: this.enter, onEntered: this.idle, onExit: this.exit, onExited: function () { return _this.props.onComplete(); }, timeout: 0, ref: function (node) {\n                    _this.transitionNode = node;\n                } },\n                React.createElement(Container, { delay: delay / 1000, phase: phase, size: size, \"data-testid\": testId },\n                    React.createElement(Svg, { focusable: \"false\", height: size, invertColor: invertColor, phase: phase, size: size, viewBox: \"0 0 \" + size + \" \" + size, width: size, xmlns: \"http://www.w3.org/2000/svg\" },\n                        React.createElement(\"circle\", { cx: size / 2, cy: size / 2, r: strokeRadius }))))));\n    };\n    Spinner.defaultProps = {\n        delay: 100,\n        isCompleting: false,\n        invertColor: false,\n        onComplete: function () { },\n        size: 'medium',\n    };\n    return Spinner;\n}(Component));\nexport default Spinner;\nvar templateObject_1;\n//# sourceMappingURL=index.js.map","import { __extends } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport Spinner from '@atlaskit/spinner';\nvar appearances = ['primary', 'danger'];\nvar LoadingSpinner = /** @class */ (function (_super) {\n    __extends(LoadingSpinner, _super);\n    function LoadingSpinner() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.invertSpinner = function () {\n            var _a = _this.props, appearance = _a.appearance, isSelected = _a.isSelected, isDisabled = _a.isDisabled;\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        return _this;\n    }\n    LoadingSpinner.prototype.render = function () {\n        var _a = this.props, spacing = _a.spacing, styles = _a.styles;\n        var spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n        return (jsx(\"div\", { css: styles },\n            jsx(Spinner, { size: spinnerSize, invertColor: this.invertSpinner() })));\n    };\n    return LoadingSpinner;\n}(React.Component));\nexport default LoadingSpinner;\n//# sourceMappingURL=LoadingSpinner.js.map","import { __assign, __extends, __rest } from \"tslib\";\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport React from 'react';\nimport memoize from 'memoize-one';\nimport { withAnalyticsEvents, withAnalyticsContext, createAndFireEvent, } from '@atlaskit/analytics-next';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nimport { mapAttributesToState, filterProps, composeRefs } from './utils';\nimport Content from './Content';\nimport InnerWrapper from './InnerWrapper';\nimport IconWrapper from './IconWrapper';\nimport LoadingSpinner from './LoadingSpinner';\nvar Button = /** @class */ (function (_super) {\n    __extends(Button, _super);\n    function Button() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\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 = function () { return !_this.props.isDisabled && !_this.props.isLoading; };\n        _this.onMouseEnter = function (e) {\n            _this.setState({ isHover: true });\n            if (_this.props.onMouseEnter) {\n                _this.props.onMouseEnter(e);\n            }\n        };\n        _this.onMouseLeave = function (e) {\n            _this.setState({ isHover: false, isActive: false });\n            if (_this.props.onMouseLeave) {\n                _this.props.onMouseLeave(e);\n            }\n        };\n        _this.onMouseDown = function (e) {\n            e.preventDefault();\n            _this.setState({ isActive: true });\n            if (_this.props.onMouseDown) {\n                _this.props.onMouseDown(e);\n            }\n        };\n        _this.onMouseUp = function (e) {\n            _this.setState({ isActive: false });\n            if (_this.props.onMouseUp) {\n                _this.props.onMouseUp(e);\n            }\n        };\n        _this.onFocus = function (event) {\n            _this.setState({ isFocus: true });\n            if (_this.props.onFocus) {\n                _this.props.onFocus(event);\n            }\n        };\n        _this.onBlur = function (event) {\n            _this.setState({ isFocus: false });\n            if (_this.props.onBlur) {\n                _this.props.onBlur(event);\n            }\n        };\n        _this.getElement = function () {\n            var _a = _this.props, href = _a.href, isDisabled = _a.isDisabled;\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 = function (e) {\n            if (!_this.isInteractive()) {\n                e.stopPropagation();\n            }\n            return true;\n        };\n        return _this;\n    }\n    Button.prototype.componentDidMount = function () {\n        if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n            this.button.focus();\n        }\n    };\n    Button.prototype.render = function () {\n        var _this = this;\n        var _a = this.props, _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, children = _a.children, className = _a.className, CustomComponent = _a.component, consumerRef = _a.consumerRef, iconAfter = _a.iconAfter, iconBefore = _a.iconBefore, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.isSelected, isSelected = _e === void 0 ? false : _e, _f = _a.shouldFitContainer, shouldFitContainer = _f === void 0 ? false : _f, _g = _a.spacing, spacing = _g === void 0 ? 'default' : _g, _h = _a.theme, theme = _h === void 0 ? function (current, props) { return current(props); } : _h, testId = _a.testId, rest = __rest(_a, [\"appearance\", \"children\", \"className\", \"component\", \"consumerRef\", \"iconAfter\", \"iconBefore\", \"isDisabled\", \"isLoading\", \"isSelected\", \"shouldFitContainer\", \"spacing\", \"theme\", \"testId\"]);\n        var attributes = __assign(__assign({}, this.state), { isSelected: isSelected, isDisabled: isDisabled });\n        var StyledButton = CustomComponent || this.getElement();\n        var iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n            (iconAfter && !iconBefore && !children));\n        var specifiers = function (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, function (_a) {\n                var mode = _a.mode;\n                return (jsx(Theme.Consumer, __assign({ mode: mode, state: mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, _this.props), function (_a) {\n                    var buttonStyles = _a.buttonStyles, spinnerStyles = _a.spinnerStyles;\n                    return (jsx(StyledButton, __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            })));\n    };\n    Button.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    };\n    return Button;\n}(React.Component));\nexport { Button };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nvar ButtonWithRef = React.forwardRef(function (props, ref) { return jsx(Button, __assign({}, props, { consumerRef: ref })); });\nButtonWithRef.displayName = 'Button';\nexport default withAnalyticsContext({\n    componentName: 'button',\n    packageName: packageName,\n    packageVersion: packageVersion,\n})(withAnalyticsEvents({\n    onClick: createAndFireEventOnAtlaskit({\n        action: 'clicked',\n        actionSubject: 'button',\n        attributes: {\n            componentName: 'button',\n            packageName: packageName,\n            packageVersion: packageVersion,\n        },\n    }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.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 } 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 Button from '@atlaskit/button';\nimport { B400, N0, N300, N500, N700, N800, N900 } from '@atlaskit/theme/colors';\nimport styled from 'styled-components';\nimport { teamBase64 } from './assets/team';\n\nconst preMobileBreakpoint = '778px';\n\nexport const Root = styled.section`\n  display: flex;\n  flex-direction: row;\n  max-width: 1306px;\n  min-height: 300px;\n  margin: 20px auto;\n  padding: 10px 16px 24px;\n  box-shadow: 1px 1px 3px 4px rgba(0, 0, 0, 0.11);\n  color: ${N500};\n\n  font-weight: 500;\n  font-style: normal;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n\n  @media (max-width: 806px) {\n    box-shadow: none;\n    padding: 0px 0px 24px;\n  }\n\n  @media (max-width: 768px) {\n    width: 83.33333%;\n  }\n\n  @media (max-width: ${preMobileBreakpoint}) {\n    width: 100%;\n    flex-direction: column;\n  }\n\n  @media (max-width: 510px) {\n    padding-top: 0px;\n    margin-top: 10px;\n  }\n`;\n\nexport const CharlieDisplayFontStack =\n  \"'Charlie Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif;\";\n\nexport const CharlieTextFontStack =\n  \"'Charlie Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif;\";\n\nexport const Column = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-start;\n  align-items: start;\n  width: 100%;\n`;\n\nexport const LeftColumn = styled(Column)`\n  padding: 10px 20px 10px 46px;\n  width: 50%;\n\n  @media (max-width: 924px) {\n    padding: 10px 20px 10px 20px;\n  }\n\n  @media (max-width: 868px) {\n    padding: 10px 10px 10px 0px;\n  }\n\n  @media (max-width: ${preMobileBreakpoint}) {\n    width: 100%;\n    padding: 16px 0;\n  }\n\n  @media (max-width: 510px) {\n    padding: 0;\n  }\n`;\n\nexport const RightColumn = styled(Column)`\n  padding: 10px 46px 10px 20px;\n  width: 50%;\n\n  @media (max-width: 924px) {\n    padding: 10px 20px 10px 20px;\n  }\n\n  @media (max-width: 868px) {\n    padding: 10px 0px 10px 10px;\n  }\n\n  @media (max-width: ${preMobileBreakpoint}) {\n    width: 100%;\n    padding: 16px 0;\n  }\n`;\n\nexport const MainHeading = styled.h1`\n  font-family: ${CharlieDisplayFontStack};\n  margin-bottom: 12px;\n  font-size: 52px;\n  font-weight: 500;\n  color: ${N800};\n  letter-spacing: 0;\n  margin-top: 16px;\n  line-height: 62px;\n\n  @media (max-width: ${preMobileBreakpoint}) {\n    font-weight: 500;\n    font-size: 48px;\n    line-height: 56px;\n    max-width: 600px;\n    margin: 0;\n  }\n\n  @media (max-width: 510px) {\n    font-size: 36px;\n    line-height: 44px;\n  }\n`;\n\nexport const SubHeading = styled.h2`\n  font-family: ${CharlieDisplayFontStack};\n  margin-bottom: 32px;\n  margin-top: 27px;\n  font-size: 32px;\n  font-weight: 500;\n  color: ${N700};\n  letter-spacing: 0;\n  line-height: 36px;\n\n  @media (max-width: ${preMobileBreakpoint}) {\n    display: none;\n  }\n`;\n\nexport const HeaderLevel3 = styled.h3`\n  margin-top: 39px;\n  padding-bottom: 8px;\n  font-weight: 500;\n  font-size: 18px;\n  color: ${N300};\n  letter-spacing: 0.22px;\n  line-height: 12px;\n  text-transform: uppercase;\n\n  @media (max-width: ${preMobileBreakpoint}) {\n    font-size: 16px;\n    margin-top: 11px;\n  }\n\n  @media (max-width: 510px) {\n    padding-bottom: 0px;\n    margin-bottom: 18px;\n  }\n`;\n\nexport const HeaderLevel4 = styled.h4`\n  margin-top: 11px;\n  margin-bottom: 24px;\n  font-weight: 500;\n  font-size: 24px;\n  color: ${N300};\n  letter-spacing: 0.22px;\n  line-height: 28px;\n  text-transform: uppercase;\n\n  @media (max-width: ${preMobileBreakpoint}) {\n    display: none;\n  }\n`;\n\nexport const FeatureListContainer = styled.div`\n  @media (max-width: ${preMobileBreakpoint}) {\n    display: none;\n  }\n\n  ul {\n    list-style-type: none;\n    padding: 6px 0 82px 20px;\n\n    li {\n      position: relative;\n      font-weight: 400;\n      margin-bottom: 16px;\n      font-size: 20px;\n      color: ${N500};\n      letter-spacing: 0.3px;\n      line-height: 28px;\n      padding-left: 15px;\n      font-family: ${CharlieDisplayFontStack};\n\n      &::before {\n        background-image: url(\"data:image/svg+xml,%3Csvg width='35px' height='35px' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%230049B0' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n        content: '';\n        display: inline-block;\n        position: absolute;\n        left: -20px;\n        top: 2px;\n        height: 30px;\n        width: 30px;\n      }\n    }\n  }\n`;\n\nexport const LargerTeamCTAContainer = styled.div`\n  display: flex;\n  flex-direction: row;\n\n  &:before {\n    background-image: url(${teamBase64});\n    background-size: contain;\n    background-repeat: no-repeat\n    display: flex;\n    content: ' ';\n    height: 45px;\n    width: 45px;\n    margin: -9px 10px 0 0;\n    align-self: center;\n  }\n\n  &.mobile {\n    display: none;\n    align-self: center;\n    margin-top: 42px;\n\n    @media (max-width: ${preMobileBreakpoint}) {\n      display: flex;\n\n      &:before {\n        width: 55px;\n        height: 55px;\n      }\n    }\n  }\n\n  &.desktop {\n    @media (max-width: ${preMobileBreakpoint}) {\n      display: none;\n    }\n  }\n`;\n\nexport const LargerTeamCTACopyContainer = styled.div`\n  flex-direction: column;\n  line-height: 1;\n\n  h5 {\n    color: ${N900};\n    font-size: 16px;\n    font-weight: 500;\n    margin: 0;\n    text-transform: none;\n  }\n\n  a {\n    font-weight: 600;\n    font-size: 12px;\n    color: ${B400};\n    letter-spacing: 0.26px;\n    text-decoration: none;\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n\n  .mobile & {\n    h5 {\n      line-height: 24px;\n    }\n\n    a {\n      font-size: 16px;\n    }\n  }\n`;\n\nexport const NextButton = styled(Button)`\n  font-family: ${CharlieDisplayFontStack};\n  font-style: normal;\n  background-color: ${B400} !important;\n  border: 1px solid ${B400} !important;\n  color: white !important;\n  width: 145px !important;\n  margin-bottom: 28px !important;\n  font-weight: 300;\n  height: 40px;\n  white-space: nowrap;\n  line-height: 38px;\n  padding: 0 16px;\n  border-radius: 3px;\n  transition: all 250ms;\n  justify-content: center;\n  vertical-align: baseline !important;\n  font-size: 100%;\n  box-sizing: inherit;\n  margin-left: auto;\n  order: 2;\n\n  @media (max-width: 440px) {\n    width: 100% !important;\n  }\n`;\nexport const AgreeButton = styled(Button)`\n  font-family: ${CharlieDisplayFontStack};\n  font-style: normal;\n  color: white !important;\n  width: 288px !important;\n  margin-bottom: 28px !important;\n  font-weight: 300;\n  height: 40px;\n  white-space: nowrap;\n  line-height: 38px;\n  padding: 0 16px;\n  border-radius: 3px;\n  transition: all 250ms;\n  justify-content: center;\n  vertical-align: baseline !important;\n  font-size: 100%;\n  box-sizing: inherit;\n  margin-left: 10px;\n  order: 2;\n\n  @media (max-width: 440px) {\n    width: 100% !important;\n  }\n`;\nexport const SkipButton = styled(Button)`\n  font-family: ${CharlieDisplayFontStack};\n  font-style: normal;\n  color: white !important;\n  width: 70px !important;\n  margin-bottom: 28px !important;\n  font-weight: 300;\n  height: 40px;\n  white-space: nowrap;\n  line-height: 38px;\n  padding: 0 16px;\n  border-radius: 3px;\n  transition: all 250ms;\n  justify-content: center;\n  vertical-align: baseline !important;\n  font-size: 100%;\n  box-sizing: inherit;\n  margin-left: auto;\n  order: 2;\n\n  @media (max-width: 440px) {\n    width: 100% !important;\n  }\n`;\nexport const NextAndSkipButtonContainer = styled.div`\n  display: flex;\n  width: 100%;\n  padding-top: 64px;\n\n  &.expand {\n    padding-top: 16px;\n  }\n\n  @media (max-width: 440px) {\n    flex-direction: column;\n  }\n`;\n\nexport const NextButtonContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  padding-top: 64px;\n\n  &.expand {\n    padding-top: 16px;\n  }\n`;\n\nexport const NoCreditCardRequiredText = styled.h4`\n  font-weight: 500;\n  font-size: 18px;\n  color: ${N300} !important;\n  letter-spacing: 0.22px;\n  line-height: 12px;\n  float: right;\n  margin-bottom: 24px;\n  text-transform: uppercase;\n  margin-top: 2px;\n  margin-left: auto;\n  order: 2;\n\n  @media (max-width: 440px) {\n    float: none;\n    margin: 0 auto 18px;\n  }\n`;\nexport const TermsAndConditionsText = styled.h5`\n  font-family: ${CharlieTextFontStack}\n  color: ${N300} !important;\n  letter-spacing: 0.22px;\n  float: right;\n  margin-bottom: 24px;\n  text-transform: uppercase;\n  margin-top: 2px;\n  margin-left: auto;\n  order: 2;\n  font-style: normal;\n  font-weight: 400;\n  font-size: 12px;\n  line-height: 17px;\n\n  @media (max-width: 440px) {\n    float: none;\n    margin: 0 auto 18px;\n  }\n`;\n\nexport const HoverDialog = styled.div`\n  font-family: ${CharlieDisplayFontStack}\n  display: inline-block;\n  width: 200px;\n  background-color: ${N800};\n  color: ${N0};\n  text-align: left;\n  border-radius: 6px;\n  padding: 5px 5px;\n  font-size: 14px;\n  position: absolute;\n  z-index: 1;\n`;\nexport const Wrapper = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding-top: 25px;\n  align-items: center;\n  font-family: ${CharlieDisplayFontStack};\n  font-weight: 400;\n  font-size: 16px;\n  line-height: 24px;\n  color: ${N900};\n  letter-spacing: 0.05em;\n\n  a {\n    text-decoration: none !important;\n  }\n\n  a:hover {\n    text-decoration: underline !important;\n  }\n\n  svg {\n    margin-bottom: 0 !important;\n\n    @media (max-width: 510px) {\n      max-width: 150px;\n      left: 50% !important;\n      transform: translateX(-50%);\n    }\n  }\n\n  @media (max-width: 510px) {\n    padding-top: 0px;\n  }\n`;\n\nexport const ModalButton = styled(Button)`\n  font-family: ${CharlieTextFontStack};\n  height: 40px !important;\n  white-space: nowrap;\n  padding: 0 12px !important;\n  border-radius: 4px !important;\n  transition: all 250ms;\n  vertical-align: baseline !important;\n  font-size: 100%;\n  box-sizing: inherit;\n\n  @media (max-width: 440px) {\n    width: 100% !important;\n  }\n`;\n\nexport const ModalButtonContainer = styled.div<{\n  justify?: 'start' | 'center' | 'end';\n}>`\n  display: flex;\n  width: 100%;\n  align-items: center;\n  justify-content: ${(props) => props.justify ?? 'end'};\n  gap: 16px;\n\n  p {\n    margin: 0;\n  }\n\n  @media (max-width: 440px) {\n    flex-direction: column;\n  }\n`;\n\nexport const ModalTermsAndConditionsText = styled.div`\n  margin: 0 0 0 auto;\n  text-align: right;\n  max-width: 280px;\n  font-size: 12px !important;\n  line-height: 18px !important;\n  \n  span, p {\n    font-family: ${CharlieTextFontStack}\n    color: ${N300} !important;\n    letter-spacing: 0;\n    font-style: normal;\n    font-weight: 400;\n    font-size: 12px;\n    line-height: 18px;\n  }\n    \n  @media (max-width: 440px) {\n    float: none;\n    margin: 0 auto 18px;\n  }\n`;\n\nexport const ModalWrapper = styled(Wrapper)`\n  padding: 0;\n  //margin: 0 92px 94px;\n  margin: 0 68px 92px;\n  overflow-y: hidden;\n  height: 424px;\n`;\n\nexport const ModalProductSelectWrapper = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  height: 231px;\n`;\n\nexport const ModalAnimate = styled.div<{ activeIndex: number }>`\n  transition: transform 0.6s;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  padding: 0 2px;\n  transform: ${(props) =>\n    `translateY(${(props.activeIndex === 0 ? 0 : 1) * -424}px)`};\n`;\n\nexport const ModalSection = styled.div<{ current: number; index: number }>`\n  height: 424px;\n  transition: visibility 0.5s, opacity 0.5s;\n  visibility: ${(props) =>\n    props.current === props.index ? 'visible' : 'hidden'};\n  opacity: ${(props) => (props.current === props.index ? 1 : 0)};\n  order: ${(props) =>\n    props.index === 0 ? 1 : props.current === props.index ? 2 : 3};\n`;\n\nexport const ModalHeading = styled.h2`\n  text-align: center;\n  margin: 0;\n  font-size: 36px !important;\n  line-height: 44px !important;\n\n  span {\n    font-family: ${CharlieDisplayFontStack};\n    font-size: 36px;\n    font-weight: 400;\n    color: ${N800};\n    letter-spacing: 0;\n    line-height: 44px;\n  }\n`;\n\nexport const ModalSubHeading = styled.h3`\n  text-align: center;\n  margin-bottom: 40px;\n  margin-top: 16px;\n  font-size: 16px !important;\n  line-height: 24px !important;\n\n  span {\n    font-family: ${CharlieTextFontStack};\n    font-size: 16px;\n    font-weight: 400;\n    color: ${N800};\n    letter-spacing: 0;\n    line-height: 24px;\n  }\n`;\n\nexport const ModalReadySubHeading = styled(ModalSubHeading)`\n  margin-bottom: 28px;\n  margin-top: 64px;\n`;\n\nexport const ModalAddedSoftwareSubHeading = styled(ModalSubHeading)`\n  margin-bottom: 8px;\n  margin-top: 10px;\n`;\n","export const teamBase64 =\n  'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTQiIGhlaWdodD0iNTQiIHZpZXdCb3g9IjAgMCA1NCA1NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggb3BhY2l0eT0iMC41IiBkPSJNMjAuMDA2IDQ2Ljk2NjNIMS40NjM4NkMwLjY1NTM5MSA0Ni45NjYzIDAgNDYuMzEwOSAwIDQ1LjUwMjVWMzkuOTMxN0MwIDM1LjI4MyAzLjc2ODUgMzEuNTE0NSA4LjQxNzE3IDMxLjUxNDVIMTMuMDUyN0MxNy43MDE0IDMxLjUxNDUgMjEuNDY5OSAzNS4yODMgMjEuNDY5OSAzOS45MzE3VjQ1LjUwMjVDMjEuNDY5OSA0Ni4zMTA5IDIwLjgxNDUgNDYuOTY2MyAyMC4wMDYgNDYuOTY2M1oiIGZpbGw9IiMwOTFFNDIiLz4KPHBhdGggb3BhY2l0eT0iMC41IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQuNTU0MiAyMy40MjI3QzQuNTU0MiAyMC4wMDkxIDcuMzIxNCAxNy4yNDE5IDEwLjczNDkgMTcuMjQxOUMxNC4xNDg0IDE3LjI0MTkgMTYuOTE1NiAyMC4wMDkxIDE2LjkxNTYgMjMuNDIyN0MxNi45MTU2IDI2LjgzNjIgMTQuMTQ4NCAyOS42MDM0IDEwLjczNDkgMjkuNjAzNEM3LjMyMTQgMjkuNjAzNCA0LjU1NDIgMjYuODM2MiA0LjU1NDIgMjMuNDIyN1oiIGZpbGw9IiMwOTFFNDIiLz4KPHBhdGggb3BhY2l0eT0iMC41IiBkPSJNNTIuNTM2MSA0Ni45NjYzSDMzLjk5MzlDMzMuMTg1NCA0Ni45NjYzIDMyLjUzIDQ2LjMxMDkgMzIuNTMgNDUuNTAyNVYzOS45MzE3QzMyLjUzIDM1LjI4MyAzNi4yOTg1IDMxLjUxNDUgNDAuOTQ3MiAzMS41MTQ1SDQ1LjU4MjdDNTAuMjMxNCAzMS41MTQ1IDUzLjk5OTkgMzUuMjgzIDUzLjk5OTkgMzkuOTMxN1Y0NS41MDI1QzUzLjk5OTkgNDYuMzEwOSA1My4zNDQ1IDQ2Ljk2NjMgNTIuNTM2MSA0Ni45NjYzWiIgZmlsbD0iIzA5MUU0MiIvPgo8cGF0aCBvcGFjaXR5PSIwLjUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzcuMDg0MiAyMy40MjI3QzM3LjA4NDIgMjAuMDA5MSAzOS44NTE0IDE3LjI0MTkgNDMuMjY1IDE3LjI0MTlDNDYuNjc4NSAxNy4yNDE5IDQ5LjQ0NTcgMjAuMDA5MSA0OS40NDU3IDIzLjQyMjdDNDkuNDQ1NyAyNi44MzYyIDQ2LjY3ODUgMjkuNjAzNCA0My4yNjUgMjkuNjAzNEMzOS44NTE0IDI5LjYwMzQgMzcuMDg0MiAyNi44MzYyIDM3LjA4NDIgMjMuNDIyN1oiIGZpbGw9IiMwOTFFNDIiLz4KPHBhdGggb3BhY2l0eT0iMC41IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIwLjQxMjggMTYuNzUxNEMyMC40MTI4IDE1LjEzNDUgMjEuNzIzNiAxMy44MjM3IDIzLjM0MDYgMTMuODIzN0MyNC45NTc1IDEzLjgyMzcgMjYuMjY4MyAxNS4xMzQ1IDI2LjI2ODMgMTYuNzUxNEMyNi4yNjgzIDE2LjkzNTIgMjYuMjUxMyAxNy4xMTUgMjYuMjE5IDE3LjI4OTNDMjYuNDc0NyAxNy4yNTY2IDI2LjczNTUgMTcuMjM5OCAyNy4wMDAxIDE3LjIzOThDMzAuMzY4NyAxNy4yMzk4IDMzLjA5OTUgMTkuOTcwNiAzMy4wOTk1IDIzLjMzOTJDMzMuMDk5NSAyNi43MDc4IDMwLjM2ODcgMjkuNDM4NiAyNy4wMDAxIDI5LjQzODZDMjMuNjMxNSAyOS40Mzg2IDIwLjkwMDcgMjYuNzA3OCAyMC45MDA3IDIzLjMzOTJDMjAuOTAwNyAyMS44NzQ5IDIxLjQxNjcgMjAuNTMxMiAyMi4yNzY3IDE5LjQ3OTlDMjEuMTg1OCAxOS4wNTQyIDIwLjQxMjggMTcuOTkzMSAyMC40MTI4IDE2Ljc1MTRaIiBmaWxsPSIjMDkxRTQyIi8+CjxwYXRoIGQ9Ik0zNi4yNzEyIDQ2Ljk2MzFIMTcuNzI5QzE2LjkyMDUgNDYuOTYzMSAxNi4yNjUxIDQ2LjMwNzcgMTYuMjY1MSA0NS40OTkzVjM5LjkyODVDMTYuMjY1MSAzNS4yNzk4IDIwLjAzMzYgMzEuNTExMyAyNC42ODIzIDMxLjUxMTNIMjkuMzE3OUMzMy45NjY1IDMxLjUxMTMgMzcuNzM1IDM1LjI3OTggMzcuNzM1IDM5LjkyODVWNDUuNDk5M0MzNy43MzUgNDYuMzA3NyAzNy4wNzk2IDQ2Ljk2MzEgMzYuMjcxMiA0Ni45NjMxWiIgZmlsbD0iIzA5MUU0MiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIwLjkwMTIgMjMuNDIxMUMyMC45NDQ1IDI2Ljc1MjUgMjMuNjU4NSAyOS40Mzk4IDI3LjAwMDEgMjkuNDM5OEMzMC4zNDE4IDI5LjQzOTggMzMuMDU1OCAyNi43NTI1IDMzLjA5OSAyMy40MjExSDMxLjcxNzhDMzEuNDEwMSAyMy40MjExIDMxLjEyMDUgMjMuMjc2MyAzMC45MzU5IDIzLjAzMDFMMjkuNTM3OSAyMS4xNjYyQzI5LjQwNzYgMjAuOTkyNCAyOS4xNDcgMjAuOTkyNCAyOS4wMTY2IDIxLjE2NjJMMjcuNjE4NyAyMy4wMzAxQzI3LjQzNDEgMjMuMjc2MyAyNy4xNDQ0IDIzLjQyMTEgMjYuODM2OCAyMy40MjExSDIwLjkwMTJaIiBmaWxsPSIjMDkxRTQyIi8+Cjwvc3ZnPgo=';\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { N500, N700 } from '@atlaskit/theme/colors';\nimport { ICON_STATES, PrimaryProductDisplayPropsType } from '../../model/index';\nimport { ProductIcon } from '../icon';\nimport { messagesByProductKey } from '../messages';\nimport { CharlieDisplayFontStack } from '../styled';\n\nexport function PrimaryProductDisplayView({\n  productKey\n}: PrimaryProductDisplayPropsType) {\n  return (\n    <PrimaryProductContainer>\n      <ProductIcon\n        productKey={productKey}\n        iconState={ICON_STATES.PRIMARY_PRODUCT}\n      />\n\n      <PrimaryProductTextContentContainer>\n        <PrimaryProductHeading>\n          <FormattedMessage {...messagesByProductKey[productKey].name} />\n        </PrimaryProductHeading>\n        <PrimaryProductSubheading productKey={productKey}>\n          <FormattedMessage {...messagesByProductKey[productKey].subHeading} />\n        </PrimaryProductSubheading>\n      </PrimaryProductTextContentContainer>\n    </PrimaryProductContainer>\n  );\n}\n\nexport const PrimaryProductContainer = styled.div`\n  display: flex;\n  flex-direction: row;\n  margin-bottom: 20px;\n  align-items: center;\n\n  @media (max-width: 778px) {\n    margin-bottom: 36px;\n  }\n\n  @media (max-width: 510px) {\n    margin-bottom: 16px;\n    margin-top: -6px;\n  }\n`;\n\nexport const PrimaryProductTextContentContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n`;\n\nexport const PrimaryProductHeading = styled.h2`\n  font-family: ${CharlieDisplayFontStack};\n  margin: 0;\n  font-size: 32px;\n  font-weight: 400;\n  color: ${N700};\n  letter-spacing: 0;\n  line-height: 44px;\n\n  @media (max-width: 1130px) {\n    line-height: 34px;\n  }\n\n  @media (max-width: 1050px) {\n    font-size: 26px;\n  }\n\n  @media (max-width: 510px) {\n    font-size: 20px;\n    line-height: 22px;\n  }\n`;\n\nexport const PrimaryProductSubheading = styled.h3<{ productKey: string }>`\n  font-family: ${CharlieDisplayFontStack};\n  font-weight: 300;\n  margin: 0;\n  font-size: 20px;\n  color: ${N500};\n  letter-spacing: 0px !important;\n  line-height: 28px;\n\n  @media (max-width: 1050px) {\n    font-size: 18px;\n    line-height: 22px;\n    font-size: ${({ productKey }: { productKey: string }) =>\n      productKey === 'jira-core.ondemand' ? '16px' : '18px'};\n  }\n\n  @media (max-width: 510px) {\n    font-size: 12px;\n    line-height: 20px;\n  }\n`;\n","import { B400 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { SecondaryProductSelectButtonPropsType } from '../../model';\nimport { messages } from '../messages';\nimport { CharlieDisplayFontStack } from '../styled';\n\nexport function SecondaryProductSelectButton({\n  isSelected,\n  handleClick,\n  btnId\n}: SecondaryProductSelectButtonPropsType) {\n  const buttonText = isSelected\n    ? messages.removeButtonLabel\n    : messages.selectButtonLabel;\n  return (\n    <SecondaryProductButton\n      data-testid={`select-btn-${btnId}`}\n      onClick={() => handleClick()}\n    >\n      <FormattedMessage {...buttonText} />\n    </SecondaryProductButton>\n  );\n}\n\nexport const SecondaryProductButton = styled.button`\n  font-family: ${CharlieDisplayFontStack};\n  font-style: normal;\n  display: flex;\n  align-item: center;\n  justify-content: center;\n  background-color: white !important;\n  color: ${B400} !important;\n  border: 1px solid ${B400} !important;\n  margin-bottom: 0;\n  font-weight: 500;\n  min-height: 40px;\n  padding: 0 16px;\n  border-radius: 3px;\n  transition: all 250ms;\n  width: 100% !important;\n  font-size: 100%;\n  line-height: 38px;\n\n  &:hover {\n    background-color: ${B400} !important;\n    color: white !important;\n    cursor: pointer;\n  }\n`;\n","import { B400, N500, N700 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport {\n  ICON_STATES,\n  SecondaryProductDisplayPropsType,\n  SecondaryProductSelectionContainerPropsType\n} from '../../model';\nimport { ProductIcon } from '../icon';\nimport { messagesByProductKey } from '../messages';\nimport { SecondaryProductSelectButton } from '../secondary-product-select-button';\nimport { CharlieDisplayFontStack } from '../styled';\n\nexport function SecondaryProductDisplayView({\n  productKey,\n  selected = false,\n  onSelect = () => undefined,\n  btnId\n}: SecondaryProductDisplayPropsType) {\n  return (\n    <SecondaryProductSelectionContainer selected={selected}>\n      <SecondaryProductSelectionColumnLeft>\n        <SecondaryProductContainer>\n          <ProductIcon\n            productKey={productKey}\n            iconState={ICON_STATES.SECONDARY_PRODUCT}\n          />\n          <SecondaryProductTextContentContainer>\n            <SecondaryProductHeading>\n              <FormattedMessage {...messagesByProductKey[productKey].name} />\n            </SecondaryProductHeading>\n            <SecondaryProductSubheading productKey={productKey}>\n              <FormattedMessage\n                {...messagesByProductKey[productKey].subHeading}\n              />\n            </SecondaryProductSubheading>\n          </SecondaryProductTextContentContainer>\n        </SecondaryProductContainer>\n        <SecondaryProductDescription>\n          <FormattedMessage {...messagesByProductKey[productKey].description} />\n        </SecondaryProductDescription>\n      </SecondaryProductSelectionColumnLeft>\n      <SecondaryProductSelectionColumnRight>\n        <SecondaryProductSelectButton\n          isSelected={selected}\n          handleClick={onSelect}\n          btnId={btnId}\n        />\n      </SecondaryProductSelectionColumnRight>\n    </SecondaryProductSelectionContainer>\n  );\n}\n\nconst SecondaryProductSelectionContainer = styled.div<SecondaryProductSelectionContainerPropsType>`\n  display: flex;\n  flex-direction: row;\n  max-width: 100%;\n  width: 100%;\n  min-height: 130px;\n  margin: 0 0 22px 0;\n  padding: 20px 16px;\n  border: ${({ selected }: SecondaryProductSelectionContainerPropsType) =>\n    selected ? `1px solid ${B400} !important` : '1px solid #cdd1d8'};\n  box-sizing: border-box;\n  background-color: ${({\n    selected\n  }: SecondaryProductSelectionContainerPropsType) =>\n    selected ? '#F4F8FF !important' : ''};\n\n  @media (max-width: 1160px) {\n    flex-direction: column;\n    align-items: flex-end;\n  }\n\n  @media (max-width: 400px) {\n    padding: 18px 12px;\n  }\n`;\n\nconst SecondaryProductSelectionColumn = styled.div`\n  display: flex;\n  flex-direction: column;\n`;\n\nconst SecondaryProductSelectionColumnLeft = styled(\n  SecondaryProductSelectionColumn\n)`\n  width: 75%;\n  justify-content: space-between;\n\n  @media (max-width: 1160px) {\n    width: 100%;\n  }\n`;\n\nconst SecondaryProductSelectionColumnRight = styled(\n  SecondaryProductSelectionColumn\n)`\n  width: 25%;\n\n  @media (max-width: 1160px) {\n    width: 142px;\n    margin-top: 14px;\n  }\n\n  @media (max-width: 778px) {\n    width: 110px;\n  }\n`;\n\nconst SecondaryProductContainer = styled.div`\n  display: flex;\n  flex-direction: row;\n  align-items: start;\n  margin-left: -5px;\n  margin-bottom: 10px;\n`;\n\nconst SecondaryProductTextContentContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: start;\n  line-height: 1.2;\n`;\n\nconst SecondaryProductHeading = styled.h2`\n  font-family: ${CharlieDisplayFontStack};\n  margin: 0;\n  font-size: 24px;\n  font-weight: 400;\n  color: ${N700};\n  letter-spacing: 0px;\n  line-height: 28px;\n\n  @media (max-width: 400px) {\n    font-size: 18px;\n  }\n`;\n\nconst SecondaryProductSubheading = styled.h3<{ productKey: string }>`\n  font-family: ${CharlieDisplayFontStack};\n  font-weight: 300;\n  margin: 0;\n  font-size: 14px;\n  color: ${N500};\n  letter-spacing: 0.3px;\n\n  @media (max-width: 400px) {\n    font-size: ${({ productKey }: { productKey: string }) =>\n      productKey === 'jira-core.ondemand' ? '11px' : '12px'};\n  }\n`;\n\nconst SecondaryProductDescription = styled.p`\n  font-size: 14px;\n  color: ${N500};\n  font-weight: 400;\n  letter-spacing: 0.21px;\n  line-height: 18px;\n  margin: 0;\n  font-family: ${CharlieDisplayFontStack};\n`;\n","import { B300, N500, N700 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport {\n  ICON_STATES,\n  SecondaryProductDisplayPropsType,\n  SecondaryProductSelectionContainerPropsType\n} from '../../model';\nimport { ProductIcon } from '../icon';\nimport { modalMessagesByProductKey } from '../messages';\nimport { CharlieDisplayFontStack, CharlieTextFontStack } from '../styled';\n\nexport function SecondaryProductDisplayModalView({\n  productKey,\n  selected = false,\n  onSelect = () => undefined,\n  btnId\n}: SecondaryProductDisplayPropsType) {\n  return (\n    <SecondaryProductSelectionContainer\n      selected={selected}\n      onClick={() => onSelect()}\n      aria-selected={selected}\n      data-testid={`select-btn-${btnId}`}\n    >\n      <SecondaryProductSelectionColumn>\n        <SecondaryProductContainer>\n          <ProductIcon\n            productKey={productKey}\n            iconState={ICON_STATES.MODAL_PRODUCT}\n          />\n          <SecondaryProductHeading>\n            <FormattedMessage {...modalMessagesByProductKey[productKey].name} />\n          </SecondaryProductHeading>\n        </SecondaryProductContainer>\n        <SecondaryProductDescription>\n          <FormattedMessage\n            {...modalMessagesByProductKey[productKey].description}\n          />\n        </SecondaryProductDescription>\n      </SecondaryProductSelectionColumn>\n    </SecondaryProductSelectionContainer>\n  );\n}\n\nconst SecondaryProductSelectionContainer = styled.button<SecondaryProductSelectionContainerPropsType>`\n  display: flex;\n  flex-direction: row;\n  max-width: 50%;\n  width: 100%;\n  min-height: 130px;\n  padding: ${({ selected }: SecondaryProductSelectionContainerPropsType) =>\n    selected ? `30px` : '31px'};\n  border: ${({ selected }: SecondaryProductSelectionContainerPropsType) =>\n    selected ? `2px solid ${B300} !important` : '1px solid #cdd1d8'};\n  border-radius: 10px;\n  box-sizing: border-box;\n  background-color: transparent;\n  text-align: left;\n\n  @media (max-width: 1160px) {\n    flex-direction: column;\n    align-items: flex-end;\n  }\n\n  @media (max-width: 400px) {\n    padding: 18px 12px;\n  }\n\n  &:hover,\n  &:focus,\n  &:focus-visible {\n    padding: 30px;\n    border: 2px solid ${B300} !important;\n  }\n`;\n\nconst SecondaryProductSelectionColumn = styled.div`\n  display: flex;\n  flex-direction: column;\n`;\n\nconst SecondaryProductContainer = styled.div`\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  margin-left: -5px;\n  margin-bottom: 14px;\n`;\n\nconst SecondaryProductHeading = styled.h2`\n  margin: 0 0 0 5px;\n  font-size: 24px !important;\n  line-height: 24px !important;\n\n  span {\n    font-family: ${CharlieDisplayFontStack};\n    font-size: 24px;\n    line-height: 24px;\n    font-weight: 400;\n    color: ${N700};\n    letter-spacing: 0;\n  }\n`;\n\nconst SecondaryProductDescription = styled.p`\n  margin: 0;\n  font-size: 14px !important;\n  line-height: 18px !important;\n\n  span {\n    font-family: ${CharlieTextFontStack};\n    font-size: 14px;\n    color: ${N500};\n    font-weight: 400;\n    letter-spacing: 0;\n    line-height: 18px;\n  }\n`;\n","import React from 'react';\nimport styled from 'styled-components';\nimport { SecondaryProductSelectListPropsType } from '../../model/index';\nimport { SecondaryProductDisplayView } from '../secondary-product-display';\n\nexport function SecondaryProductSelectList({\n  secondaryProductKeys,\n  selectedSecondaryProductKey,\n  setSelectedSecondaryProductKey\n}: SecondaryProductSelectListPropsType) {\n  return (\n    <SecondaryProductSelectionListContainer>\n      {secondaryProductKeys.length > 0 &&\n        secondaryProductKeys.map((productKey: string, index) => (\n          <SecondaryProductDisplayView\n            btnId={index}\n            key={productKey}\n            productKey={productKey}\n            selected={selectedSecondaryProductKey === productKey}\n            onSelect={() => {\n              if (selectedSecondaryProductKey === productKey) {\n                setSelectedSecondaryProductKey('');\n              } else {\n                setSelectedSecondaryProductKey(productKey);\n              }\n            }}\n          />\n        ))}\n    </SecondaryProductSelectionListContainer>\n  );\n}\n\nexport const SecondaryProductSelectionListContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n`;\n","import React from 'react';\nimport styled from 'styled-components';\nimport { SecondaryProductSelectListPropsType } from '../../model';\nimport { SecondaryProductDisplayModalView } from '../secondary-product-display';\n\nexport function SecondaryProductSelectListModal({\n  secondaryProductKeys,\n  selectedSecondaryProductKey,\n  setSelectedSecondaryProductKey\n}: SecondaryProductSelectListPropsType) {\n  return (\n    <SecondaryProductSelectionListModalContainer>\n      {secondaryProductKeys.length > 0 &&\n        secondaryProductKeys.map((productKey: string, index) => (\n          <SecondaryProductDisplayModalView\n            btnId={index}\n            key={productKey}\n            productKey={productKey}\n            selected={selectedSecondaryProductKey === productKey}\n            onSelect={() => {\n              if (selectedSecondaryProductKey === productKey) {\n                setSelectedSecondaryProductKey('');\n              } else {\n                setSelectedSecondaryProductKey(productKey);\n              }\n            }}\n          />\n        ))}\n    </SecondaryProductSelectionListModalContainer>\n  );\n}\n\nexport const SecondaryProductSelectionListModalContainer = styled.div`\n  display: flex;\n  flex-direction: row;\n  gap: 32px;\n  justify-content: center;\n`;\n","import CheckCircleIcon from '@atlaskit/icon/glyph/check-circle';\nimport { N700 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { ICON_STATES, ProductAddedPropsType } from '../../model';\nimport { ProductIcon } from '../icon';\nimport { messages, messagesByProductKey } from '../messages';\nimport {\n  CharlieDisplayFontStack,\n  ModalAddedSoftwareSubHeading\n} from '../styled';\n\nexport function ProductAddedView({\n  secondaryProductKey\n}: ProductAddedPropsType) {\n  return (\n    <ProductAdded>\n      <CheckCircleIcon\n        {...{ height: '76px', width: '76px' }}\n        label=\"\"\n        primaryColor=\"#00875a\"\n      />\n      <ModalAddedSoftwareSubHeading>\n        <FormattedMessage {...messages.youHaveAddedSubHeader} />\n      </ModalAddedSoftwareSubHeading>\n      <ProductWrapper>\n        <ProductIcon\n          productKey={secondaryProductKey}\n          iconState={ICON_STATES.PRODUCT_ADDED}\n        ></ProductIcon>\n        <ProductHeading>\n          <FormattedMessage\n            {...messagesByProductKey[secondaryProductKey].name}\n          />\n        </ProductHeading>\n      </ProductWrapper>\n    </ProductAdded>\n  );\n}\n\nconst ProductAdded = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n`;\n\nexport const ProductWrapper = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n`;\n\nexport const ProductHeading = styled.h2`\n  margin: 0 0 0 8px;\n  font-size: 32px !important;\n  line-height: 32px !important;\n\n  span {\n    font-family: ${CharlieDisplayFontStack};\n    font-size: 32px;\n    line-height: 32px;\n    font-weight: 400;\n    color: ${N700};\n    letter-spacing: 0;\n  }\n`;\n","import { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { SiteReadyPropsType } from '../../model';\nimport { messages, modalMessagesByProductKey } from '../messages';\nimport {\n  ModalButton,\n  ModalButtonContainer,\n  ModalHeading,\n  ModalReadySubHeading\n} from '../styled';\n\nexport function SiteReadyView({\n  productKey,\n  goToProduct,\n  takeMeBack\n}: SiteReadyPropsType) {\n  return (\n    <div>\n      <ModalHeading>\n        <FormattedMessage\n          {...messages.siteIsReadyModalHeader}\n          values={{\n            PRODUCT_NAME: (\n              <FormattedMessage\n                {...modalMessagesByProductKey[productKey].name}\n              />\n            )\n          }}\n        />\n      </ModalHeading>\n      <ModalReadySubHeading>\n        <SanitizedFormattedHtmlMessage\n          {...messages.siteIsReadyModalSubHeader}\n        />\n      </ModalReadySubHeading>\n      <ModalButtonContainer justify=\"center\" style={{ paddingTop: '48px' }}>\n        <ModalButton\n          data-testid={'take-me-back-btn'}\n          appearance=\"link\"\n          onClick={takeMeBack}\n        >\n          <FormattedMessage {...messages.takeMeBack} />\n        </ModalButton>\n        <ModalButton\n          data-testid={'go-to-product-btn'}\n          appearance=\"primary\"\n          onClick={goToProduct}\n        >\n          <FormattedMessage\n            {...messages.goToProduct}\n            values={{\n              PRODUCT_NAME: (\n                <FormattedMessage\n                  {...modalMessagesByProductKey[productKey].name}\n                />\n              )\n            }}\n          />\n        </ModalButton>\n      </ModalButtonContainer>\n    </div>\n  );\n}\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport CrossIcon from '@atlaskit/icon/glyph/cross';\nimport Modal, {\n  ModalHeader,\n  ModalTitle,\n  ModalTransition\n} from '@atlaskit/modal-dialog';\nimport { N500 } from '@atlaskit/theme/colors';\n\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { WacFreeBundlesModalPropsType } from '../model';\nimport { messages, modalMessagesByProductKey } from './messages';\nimport { ProductAddedView, SiteReadyView } from './modal-confirmation';\nimport { SecondaryProductSelectListModal } from './secondary-product-select-list';\nimport {\n  ModalAnimate,\n  ModalButton,\n  ModalButtonContainer,\n  ModalHeading,\n  ModalProductSelectWrapper,\n  ModalSection,\n  ModalSubHeading,\n  ModalTermsAndConditionsText,\n  ModalWrapper\n} from './styled';\n\nexport function WacFreeBundlesModal({\n  isModalOpen,\n  setIsModalOpen,\n  primaryProductKey,\n  secondaryProductKeys,\n  selectedSecondaryProductKey,\n  setSelectedSecondaryProductKey,\n  bundleProvisioningStatus,\n  setBundleProvisioningStatus,\n  isSecondaryProductActivating,\n  handleAgreeAndSignup\n}: WacFreeBundlesModalPropsType) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  const [currentView, setCurrentView] = useState(0); // Views 0 - Bundles, 1 - Site Ready, 2 - Product Added\n\n  const closeModal = useCallback((sendEvent = true, setStatus = true) => {\n    // Prevent manual closing when timeout scheduled\n    if (currentView === 2) {\n      return;\n    }\n\n    if (sendEvent) {\n      createAnalyticsEvent({\n        eventName: 'bundleModalClose',\n        eventComponent: 'button',\n        event: 'clicked',\n        modalView:\n          currentView === 0\n            ? 'modalBundles'\n            : currentView === 1\n            ? 'modalReady'\n            : 'modalProductAdded'\n      }).fire();\n    }\n\n    setIsModalOpen(false);\n\n    if (setStatus) {\n      // Update status to success, which means use is done interacting with modal\n      setBundleProvisioningStatus('success');\n    }\n  }, []);\n\n  // Handle the provisioning status changes when primary is ready or secondary is submitted\n  useEffect(() => {\n    // prevent view changes when showing secondary product added\n    if (currentView === 2) {\n      return;\n    }\n\n    switch (bundleProvisioningStatus) {\n      case 'provisioning': // Primary product provisioned\n        setCurrentView(1);\n        return;\n      case 'payload-ready': // Secondary product provisioning started\n        setCurrentView(2);\n        // Auto-close the modal after 2 seconds\n        setTimeout(() => {\n          closeModal(false, false);\n        }, 2000);\n    }\n  }, [bundleProvisioningStatus]);\n\n  // if isModalOpen changes to open reset to 0\n  useEffect(() => {\n    if (isModalOpen) {\n      // Set bundle status to waiting to indicate user is still using the modal\n      setBundleProvisioningStatus('waiting');\n      setCurrentView(0);\n    }\n  }, [isModalOpen]);\n\n  const takeMeBack = () => {\n    createAnalyticsEvent({\n      eventName: 'bundleModalTakeMeBack',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n    setCurrentView(0);\n  };\n\n  const noThanks = () => {\n    createAnalyticsEvent({\n      eventName: 'bundleModalNoThanks',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n    closeModal(false);\n  };\n\n  const goToProduct = () => {\n    createAnalyticsEvent({\n      eventName: 'bundleModalGoToProduct',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n    closeModal(false);\n  };\n\n  const AddButtonGroup = () => {\n    return (\n      <ModalButtonContainer>\n        {selectedSecondaryProductKey && (\n          <>\n            <ModalTermsAndConditionsText>\n              <SanitizedFormattedHtmlMessage\n                {...messages.termsAndConditionsModalLabel}\n              />\n            </ModalTermsAndConditionsText>\n\n            <ModalButton\n              data-testid={'agree-btn'}\n              appearance=\"primary\"\n              onClick={handleAgreeAndSignup}\n              isLoading={isSecondaryProductActivating}\n            >\n              <FormattedMessage {...messages.agreeAndAdd} />\n            </ModalButton>\n          </>\n        )}\n        {!selectedSecondaryProductKey && (\n          <ModalButton\n            data-testid={'no-thanks-btn'}\n            appearance=\"link\"\n            onClick={noThanks}\n          >\n            <FormattedMessage {...messages.noThanks} />\n          </ModalButton>\n        )}\n      </ModalButtonContainer>\n    );\n  };\n\n  const BundlesHeading = () => {\n    return (\n      <>\n        <ModalHeading>\n          <FormattedMessage\n            {...messages.freeBundlesModalHeader}\n            values={{\n              PRODUCT_NAME: (\n                <FormattedMessage\n                  {...modalMessagesByProductKey[primaryProductKey].name}\n                />\n              )\n            }}\n          />\n        </ModalHeading>\n        <ModalSubHeading>\n          <SanitizedFormattedHtmlMessage\n            {...messages.freeBundlesModalSubHeader}\n          />\n        </ModalSubHeading>\n        <ModalProductSelectWrapper>\n          <SecondaryProductSelectListModal\n            secondaryProductKeys={secondaryProductKeys}\n            selectedSecondaryProductKey={selectedSecondaryProductKey}\n            setSelectedSecondaryProductKey={setSelectedSecondaryProductKey}\n          />\n          <AddButtonGroup />\n        </ModalProductSelectWrapper>\n      </>\n    );\n  };\n\n  return (\n    <ModalTransition>\n      {isModalOpen && (\n        <Modal\n          width={'970px'}\n          height={'607px'}\n          shouldCloseOnOverlayClick={true}\n          shouldCloseOnEscapePress={true}\n          autoFocus={false}\n          onClose={closeModal}\n        >\n          <ModalHeader style={{ padding: '26px 0 24px' }}>\n            <ModalTitle></ModalTitle>\n            <Button appearance=\"link\" onClick={closeModal}>\n              <CrossIcon label=\"Close Modal\" primaryColor={N500} />\n            </Button>\n          </ModalHeader>\n          <ModalWrapper tabIndex={-1}>\n            <ModalAnimate activeIndex={currentView}>\n              <ModalSection current={currentView} index={0}>\n                <BundlesHeading />\n              </ModalSection>\n              <ModalSection current={currentView} index={1}>\n                <SiteReadyView\n                  productKey={primaryProductKey}\n                  goToProduct={goToProduct}\n                  takeMeBack={takeMeBack}\n                ></SiteReadyView>\n              </ModalSection>\n              <ModalSection current={currentView} index={2}>\n                {selectedSecondaryProductKey && (\n                  <ProductAddedView\n                    secondaryProductKey={selectedSecondaryProductKey}\n                  ></ProductAddedView>\n                )}\n              </ModalSection>\n            </ModalAnimate>\n          </ModalWrapper>\n        </Modal>\n      )}\n    </ModalTransition>\n  );\n}\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport { B200, B400 } from '@atlaskit/theme/colors';\nimport Tooltip from '@atlaskit/tooltip';\nimport {\n  COFSProductActivateResponse,\n  GetLicenseInformationProduct,\n  ProductActivateResponse\n} from '@atlassiansox/asc-stargate';\nimport {\n  Environment,\n  OfferingCatalog,\n  ProductKey as Productkeys,\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { FreeBundlesDataProvider } from '../hooks';\nimport { WacFreeBundlesPropsType } from '../model';\nimport { messages } from './messages';\nimport { PrimaryProductDisplayView } from './primary-product-display';\nimport { SecondaryProductSelectList } from './secondary-product-select-list';\nimport {\n  AgreeButton,\n  FeatureListContainer,\n  HeaderLevel3,\n  HeaderLevel4,\n  HoverDialog,\n  LargerTeamCTAContainer,\n  LargerTeamCTACopyContainer,\n  LeftColumn,\n  MainHeading,\n  NextAndSkipButtonContainer,\n  NextButton,\n  NextButtonContainer,\n  NoCreditCardRequiredText,\n  RightColumn,\n  Root,\n  SkipButton,\n  SubHeading,\n  TermsAndConditionsText,\n  Wrapper\n} from './styled';\nimport { WacFreeBundlesModal } from './wac-free-bundles-modal';\n\ntype BundlePostSignupSecondaryProductOverrideType = {\n  readonly productKeys: string[];\n  readonly primaryProductKey: string;\n};\n\nconst offeringCatalog = new OfferingCatalog(Environment.getEnvironment());\n\nexport function BundlePostSignupSecondaryProductOverride({\n  productKeys,\n  primaryProductKey\n}: BundlePostSignupSecondaryProductOverrideType): string[] {\n  const isJSM = primaryProductKey === Productkeys.JIRA_SERVICE_MANAGEMENT;\n  const isJSW = primaryProductKey === Productkeys.JIRA_SOFTWARE;\n  // JSM bundles\n  if (isJSM && !productKeys.includes(Productkeys.JIRA_SOFTWARE)) {\n    return [Productkeys.JIRA_SOFTWARE];\n  } else if (isJSM && productKeys.includes(Productkeys.JIRA_SOFTWARE)) {\n    return [];\n  }\n\n  // JSW bundles\n  if (\n    isJSW &&\n    productKeys.includes(Productkeys.JIRA_SERVICE_MANAGEMENT) &&\n    productKeys.includes(Productkeys.CONFLUENCE)\n  ) {\n    return [];\n  }\n  if (isJSW && productKeys.includes(Productkeys.CONFLUENCE)) {\n    return [Productkeys.JIRA_SERVICE_MANAGEMENT];\n  }\n  if (isJSW && productKeys.includes(Productkeys.JIRA_SERVICE_MANAGEMENT)) {\n    return [Productkeys.CONFLUENCE];\n  }\n  if (\n    isJSW &&\n    !(\n      productKeys.includes(Productkeys.JIRA_SERVICE_MANAGEMENT) ||\n      productKeys.includes(Productkeys.CONFLUENCE)\n    )\n  ) {\n    return [Productkeys.CONFLUENCE, Productkeys.JIRA_SERVICE_MANAGEMENT];\n  }\n  return [];\n}\n\nexport function WacFreeBundlesView({\n  primaryProductKey,\n  secondaryProductKeys,\n  signUpPath,\n  bundleMap,\n  comparePlansUrl,\n  productData,\n  featureFlags,\n  bundleProvisioningStatus,\n  setBundleProvisioningStatus,\n  isModalOpen,\n  setIsModalOpen,\n  cloudIdentifier\n}: WacFreeBundlesPropsType) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  useEffect(() => {\n    createAnalyticsEvent({\n      actionSubject: 'bundles component',\n      action: 'loaded',\n      eventName: 'bundlesComponentLoaded',\n      eventComponent: 'bxpkit-wac-free-bundles',\n      event: 'load',\n      eventType: 'UI'\n    }).fire();\n  }, []);\n\n  return (\n    <WacFreeBundlesRoot\n      primaryProductKey={primaryProductKey}\n      secondaryProductKeys={secondaryProductKeys}\n      signUpPath={signUpPath}\n      bundleMap={bundleMap}\n      comparePlansUrl={comparePlansUrl}\n      productData={productData}\n      featureFlags={featureFlags}\n      bundleProvisioningStatus={bundleProvisioningStatus}\n      setBundleProvisioningStatus={setBundleProvisioningStatus}\n      isModalOpen={isModalOpen}\n      setIsModalOpen={setIsModalOpen}\n      cloudIdentifier={cloudIdentifier}\n    />\n  );\n}\n\nfunction WacFreeBundlesRoot({\n  primaryProductKey,\n  secondaryProductKeys,\n  signUpPath,\n  bundleMap,\n  comparePlansUrl,\n  productData,\n  featureFlags,\n  bundleProvisioningStatus,\n  setBundleProvisioningStatus,\n  isModalOpen,\n  setIsModalOpen,\n  cloudIdentifier\n}: WacFreeBundlesPropsType) {\n  const [updateConfirmationPage, setUpdateConfirmationPage] = useState('');\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const [selectedSecondaryProductKey, setSelectedSecondaryProductKey] =\n    useState('');\n  const [secondaryProductKeysOverride] = useState(secondaryProductKeys);\n  const queryParameters = new URLSearchParams(window.location.search) || {};\n  const { enableBundlesAfterSignup, enableBundlesPostSignupConfluence } =\n    featureFlags;\n  const continueUrl = queryParameters.get('continue');\n  const [cloudId] = useState(queryParameters.get('cloudId') ?? cloudIdentifier);\n  const teamType = queryParameters.get('team_type');\n  const stargateClient = useStargateClient();\n  const onExperimentPage = enableBundlesAfterSignup && cloudId;\n  const [isSecondaryProductActivating, setSecondaryProductActivating] =\n    useState(false);\n\n  /**\n   * bundles after signup experiment\n   * */\n  const provisionProduct = async () => {\n    setSecondaryProductActivating(true);\n    const licenseInfo = !!cloudId\n      ? await stargateClient.getLicenceInformationStatus({\n          cloudId,\n          webPlatform: 'magnolia'\n        })\n      : null;\n    const ccpProducts = offeringCatalog.mapProductKeyAndEditionToCcpProduct({\n      productKey: selectedSecondaryProductKey as Productkeys,\n      edition: 'free' as string\n    });\n\n    const existingProd = Object.values(licenseInfo?.products ?? {}).find(\n      (prod) => !!prod.ccpTransactionAccountId && !!prod.ccpEntitlementId\n    );\n\n    let productActivationPromise: Promise<\n      COFSProductActivateResponse | ProductActivateResponse\n    >;\n\n    const postCOFSProductActivate = () =>\n      stargateClient.postCOFSProductActivate({\n        cloudId: cloudId || '',\n        productKey: selectedSecondaryProductKey,\n        edition: 'free',\n        webPlatform: 'magnolia'\n      });\n\n    const postCCPProductActivate = (\n      licenseInfo: GetLicenseInformationProduct\n    ) =>\n      stargateClient.postProductActivate({\n        offerings: [ccpProducts],\n        transactionAccountId: licenseInfo.ccpTransactionAccountId,\n        entitlementId: licenseInfo.ccpEntitlementId || '',\n        cloudId: cloudId || '',\n        webPlatform: 'magnolia'\n      });\n\n    productActivationPromise = existingProd\n      ? postCCPProductActivate(existingProd)\n      : postCOFSProductActivate();\n\n    return productActivationPromise\n      .catch(() => undefined)\n      .finally(() => setSecondaryProductActivating(false));\n  };\n\n  useEffect(() => {\n    async function checkProvisioning() {\n      switch (bundleProvisioningStatus) {\n        case 'provisioning':\n          if (selectedSecondaryProductKey !== '') {\n            // Specific to confluence don't provision until the user has actually agreed\n            if (\n              enableBundlesPostSignupConfluence &&\n              updateConfirmationPage !== 'agree'\n            ) {\n              return;\n            }\n\n            const product = await provisionProduct();\n            if (product && setBundleProvisioningStatus) {\n              setBundleProvisioningStatus('success');\n            }\n          }\n          return;\n        case 'success':\n          return;\n      }\n    }\n\n    checkProvisioning();\n  }, [bundleProvisioningStatus]);\n\n  useEffect(() => {\n    if (updateConfirmationPage === 'agree' && setBundleProvisioningStatus) {\n      setBundleProvisioningStatus('payload-ready');\n    }\n    if (\n      updateConfirmationPage === 'skip' &&\n      setBundleProvisioningStatus &&\n      !enableBundlesPostSignupConfluence\n    ) {\n      setBundleProvisioningStatus('success');\n    }\n  }, [updateConfirmationPage]);\n  /*\n    bundleMap structure is going to be as below\n    {\n    'jira-software.ondemand': 'jira-software',\n    'jira-software.ondemand,confluence.ondemand': 'jira-software-confluence',\n    'jira-software.ondemand,jira-servicedesk.ondemand':'jira-software-jira-service-management',\n    'jira-servicedesk.ondemand': 'jira-service-management',\n    'jira-servicedesk.ondemand,confluence.ondemand':'jira-service-management-confluence',\n    'jira-core.ondemand': 'jira-core',\n    'jira-core.ondemand,confluence.ondemand': 'jira-core-confluence',\n    'confluence.ondemand': 'confluence',\n    'confluence.ondemand,jira-servicedesk.ondemand':'confluence-jira-service-management',\n  };\n   */\n  const handleAgreeAndSignup = async () => {\n    /*\n     * bundles post signup\n     * **/\n    // consume continue URL and fire analytics event and provision\n    if (selectedSecondaryProductKey !== '') {\n      createAnalyticsEvent({\n        eventName: 'bundleAfterSignupAgreeProductsSelected',\n        eventComponent: 'button',\n        event: 'clicked',\n        cloudId,\n        continueUrl,\n        selectedSecondaryProductKey\n      }).fire();\n    } else {\n      createAnalyticsEvent({\n        eventName: 'bundleAfterSignupAgreeNoProductSelected',\n        eventComponent: 'button',\n        event: 'clicked',\n        cloudId,\n        continueUrl\n      }).fire();\n    }\n\n    if (\n      enableBundlesPostSignupConfluence &&\n      selectedSecondaryProductKey !== '' &&\n      setBundleProvisioningStatus\n    ) {\n      setUpdateConfirmationPage('agree');\n      return;\n    }\n\n    if (\n      bundleProvisioningStatus === 'waiting' &&\n      selectedSecondaryProductKey !== ''\n    ) {\n      setUpdateConfirmationPage('agree');\n      return;\n    }\n    if (\n      bundleProvisioningStatus === 'waiting' &&\n      selectedSecondaryProductKey === ''\n    ) {\n      setUpdateConfirmationPage('skip');\n      return;\n    }\n    if (\n      bundleProvisioningStatus === undefined &&\n      selectedSecondaryProductKey === ''\n    ) {\n      if (continueUrl && !isModalOpen) {\n        window.location.href = continueUrl;\n        return;\n      }\n    } else if (bundleProvisioningStatus === undefined) {\n      const product = await provisionProduct();\n      if (product && continueUrl && !isModalOpen) {\n        window.location.href = continueUrl;\n      }\n      return;\n    }\n\n    // end post sign up logic\n  };\n\n  const handleNext = () => {\n    createAnalyticsEvent({\n      eventName: 'bundleBeforeSignupNext',\n      eventComponent: 'button',\n      event: 'clicked',\n      cloudId\n    }).fire();\n\n    let bundleName = '';\n    let createdBundleKey = primaryProductKey;\n    if (selectedSecondaryProductKey) {\n      createdBundleKey = primaryProductKey + ',' + selectedSecondaryProductKey;\n    }\n    if (createdBundleKey in bundleMap) {\n      bundleName = bundleMap[createdBundleKey];\n    }\n\n    window.location.href = teamType\n      ? `${Environment.getWacIntegrationUrl()}${signUpPath}?bundle=${bundleName}&edition=free&team_type=${teamType}`\n      : `${Environment.getWacIntegrationUrl()}${signUpPath}?bundle=${bundleName}&edition=free`;\n  };\n\n  const handleSkip = () => {\n    createAnalyticsEvent({\n      eventName: 'bundleAfterSignupSkip',\n      eventComponent: 'button',\n      event: 'clicked',\n      cloudId\n    }).fire();\n\n    if (bundleProvisioningStatus === 'waiting' && setBundleProvisioningStatus) {\n      setUpdateConfirmationPage('skip');\n      return;\n    }\n    if (continueUrl) {\n      window.location.href = continueUrl;\n    }\n  };\n\n  const handleComparePlans = (event: React.MouseEvent<HTMLElement>) => {\n    event.preventDefault();\n\n    createAnalyticsEvent({\n      eventName: 'bundleComparePlans',\n      eventComponent: 'button',\n      event: 'clicked',\n      cloudId\n    }).fire();\n\n    window.location.href = comparePlansUrl;\n  };\n\n  const ButtonGroup = () => {\n    if (onExperimentPage) {\n      return (\n        <>\n          <NextAndSkipButtonContainer\n            className={secondaryProductKeysOverride.length > 1 ? 'expand' : ''}\n          >\n            <SkipButton\n              data-testid={'skip-btn'}\n              appearance=\"subtle\"\n              onClick={handleSkip}\n            >\n              <FormattedMessage {...messages.skipButtonLabel} />\n            </SkipButton>\n            <AgreeButton\n              data-testid={'agree-btn'}\n              appearance=\"primary\"\n              onClick={handleAgreeAndSignup}\n              isLoading={isSecondaryProductActivating}\n            >\n              <FormattedMessage {...messages.agreeAndContinue} />\n            </AgreeButton>\n          </NextAndSkipButtonContainer>\n          <TermsAndConditionsText>\n            <SanitizedFormattedHtmlMessage\n              {...messages.termsAndConditionsLabel}\n            />\n          </TermsAndConditionsText>\n        </>\n      );\n    } else {\n      return (\n        <NextButtonContainer\n          className={secondaryProductKeysOverride.length > 1 ? 'expand' : ''}\n        >\n          <NextButton\n            data-testid={'next-btn'}\n            appearance=\"primary\"\n            onClick={handleNext}\n          >\n            <FormattedMessage {...messages.nextButtonLabel} />\n          </NextButton>\n          <NoCreditCardRequiredText>\n            <FormattedMessage {...messages.noCreditCardLabel} />\n          </NoCreditCardRequiredText>\n        </NextButtonContainer>\n      );\n    }\n  };\n\n  if (\n    enableBundlesPostSignupConfluence &&\n    setIsModalOpen &&\n    setBundleProvisioningStatus &&\n    isModalOpen !== undefined\n  ) {\n    return (\n      <FreeBundlesDataProvider productData={productData}>\n        <WacFreeBundlesModal\n          isModalOpen={isModalOpen}\n          setIsModalOpen={setIsModalOpen}\n          primaryProductKey={primaryProductKey}\n          secondaryProductKeys={secondaryProductKeysOverride}\n          bundleProvisioningStatus={bundleProvisioningStatus}\n          setBundleProvisioningStatus={setBundleProvisioningStatus}\n          selectedSecondaryProductKey={selectedSecondaryProductKey}\n          setSelectedSecondaryProductKey={setSelectedSecondaryProductKey}\n          isSecondaryProductActivating={isSecondaryProductActivating}\n          handleAgreeAndSignup={handleAgreeAndSignup}\n        ></WacFreeBundlesModal>\n      </FreeBundlesDataProvider>\n    );\n  }\n\n  return (\n    <FreeBundlesDataProvider productData={productData}>\n      <Wrapper>\n        <AtlassianLogo\n          size=\"large\"\n          iconColor={B200}\n          textColor={B400}\n          iconGradientStart={B400}\n          iconGradientStop={B200}\n        />\n        <Root>\n          <LeftColumn>\n            <MainHeading>\n              <FormattedMessage {...messages.freeBundlesMainHeader} />\n            </MainHeading>\n            <SubHeading>\n              <FormattedMessage {...messages.freeBundlesSubHeader} />\n            </SubHeading>\n            <FeatureListContainer>\n              <HeaderLevel4>\n                <FormattedMessage {...messages.featureListHeader} />\n              </HeaderLevel4>\n              <ul>\n                <li>\n                  <FormattedMessage {...messages.supportDescription} />\n                </li>\n                <li>\n                  <FormattedMessage {...messages.storageDescription} />\n                </li>\n                <li>\n                  <FormattedMessage {...messages.communitySupportDescription} />\n                </li>\n                <li>\n                  <FormattedMessage {...messages.noCreditCardDescription} />\n                </li>\n              </ul>\n            </FeatureListContainer>\n            {!onExperimentPage && (\n              <LargerTeamCTAContainer className=\"desktop\">\n                <LargerTeamCTACopyContainer>\n                  <Tooltip\n                    component={HoverDialog}\n                    content={\n                      <FormattedMessage {...messages.largerTeamHoverText} />\n                    }\n                    position={'right'}\n                  >\n                    <h5>\n                      <FormattedMessage {...messages.largerTeamLabel} />\n                    </h5>\n                  </Tooltip>\n                  <a href=\"#\" onClick={handleComparePlans}>\n                    <FormattedMessage {...messages.comparePlansLabel} />\n                  </a>\n                </LargerTeamCTACopyContainer>\n              </LargerTeamCTAContainer>\n            )}\n          </LeftColumn>\n          <RightColumn>\n            <HeaderLevel3>\n              <FormattedMessage {...messages.primaryProductSelectedHeader} />\n            </HeaderLevel3>\n            <PrimaryProductDisplayView productKey={primaryProductKey} />\n            <HeaderLevel3>\n              <FormattedMessage\n                {...messages.secondaryProductSelectionListHeader}\n              />\n            </HeaderLevel3>\n            <SecondaryProductSelectList\n              secondaryProductKeys={secondaryProductKeysOverride}\n              selectedSecondaryProductKey={selectedSecondaryProductKey}\n              setSelectedSecondaryProductKey={setSelectedSecondaryProductKey}\n            />\n            <ButtonGroup />\n            {!onExperimentPage && (\n              <LargerTeamCTAContainer className=\"mobile\">\n                <LargerTeamCTACopyContainer>\n                  <Tooltip\n                    component={HoverDialog}\n                    content={\n                      <FormattedMessage {...messages.largerTeamHoverText} />\n                    }\n                    position=\"right\"\n                  >\n                    <h5>\n                      <FormattedMessage {...messages.largerTeamLabel} />\n                    </h5>\n                  </Tooltip>\n                  <a href=\"#\" onClick={handleComparePlans}>\n                    <FormattedMessage {...messages.comparePlansLabel} />\n                  </a>\n                </LargerTeamCTACopyContainer>\n              </LargerTeamCTAContainer>\n            )}\n          </RightColumn>\n        </Root>\n      </Wrapper>\n    </FreeBundlesDataProvider>\n  );\n}\n","import { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport { WacFreeBundlesView } from \"@atlassiansox/bxpkit-wac-free-bundles\";\nimport React from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport Environment from \"../../../common/environment\";\nimport tracking from '../../../utils/tracking';\n\nconst sendAnalytics = analytic => {\n  const eventName =\n    analytic.payload && analytic.payload.name\n      ? analytic.payload.name\n      : \"wac-free-bundles-track-event\";\n\n  let eventPayload = analytic.payload;\n  if (analytic.context[0]) {\n    eventPayload = Object.assign(analytic.context[0], analytic.payload);\n  }\n\n  if (eventPayload.name !== undefined) {\n    delete eventPayload.name;\n  }\n\n  try {\n    tracking.trackEvent(eventName, eventPayload);\n  } catch (e) {\n    console.log(eventName, \"AnalyticsListener did not find tracker\");\n  }\n};\n\nconst FREE_PRODUCT_KEYS = {\n  CONFLUENCE: 'confluence.ondemand',\n  JIRA_SOFTWARE: 'jira-software.ondemand',\n  JIRA_CORE: 'jira-core.ondemand',\n  JIRA_SERVICE_DESK: 'jira-servicedesk.ondemand',\n};\n\nconst getPrimaryProductKey = (productKey: string) => {\n  switch (productKey) {\n    case \"jira-software\":\n      return FREE_PRODUCT_KEYS.JIRA_SOFTWARE;\n    case \"confluence\":\n      return FREE_PRODUCT_KEYS.CONFLUENCE;\n    case \"jira-service-management\":\n      return FREE_PRODUCT_KEYS.JIRA_SERVICE_DESK;\n    case \"jira-work-management\":\n      return FREE_PRODUCT_KEYS.JIRA_CORE;\n    default:\n      return \"\";\n  }\n};\n/* Any combination of productKey & bundleRank that doesn't match\nwe are returning default static free bundle products  as that's expected behaviour */\n\nconst getSecondaryProductKeys = (\n  productKey: string,\n  freeBundleRank: string\n): string[] => {\n  switch (productKey + \"&\" + freeBundleRank) {\n    case \"jira-software&2\":\n      return [FREE_PRODUCT_KEYS.CONFLUENCE];\n    case \"jira-software&4\":\n      return [FREE_PRODUCT_KEYS.JIRA_SERVICE_DESK];\n    case \"confluence&2\":\n      return [FREE_PRODUCT_KEYS.JIRA_SOFTWARE];\n    case \"confluence&3\":\n      return [FREE_PRODUCT_KEYS.JIRA_SERVICE_DESK];\n    case \"jira-service-management&3\":\n      return [FREE_PRODUCT_KEYS.JIRA_SOFTWARE];\n    case \"jira-service-management&4\":\n      return [FREE_PRODUCT_KEYS.JIRA_SOFTWARE];\n    default:\n      return getDefaultSecondaryProducts(productKey);\n  }\n};\n\nconst getDefaultSecondaryProducts = (\n  productKey: string\n): string[] => {\n  switch (productKey) {\n    case \"jira-software\":\n      return [FREE_PRODUCT_KEYS.CONFLUENCE, FREE_PRODUCT_KEYS.JIRA_SERVICE_DESK];\n    case \"confluence\":\n      return [FREE_PRODUCT_KEYS.JIRA_SOFTWARE, FREE_PRODUCT_KEYS.JIRA_SERVICE_DESK];\n    case \"jira-service-management\":\n      return [FREE_PRODUCT_KEYS.JIRA_SOFTWARE];\n    case \"jira-work-management\":\n      return [FREE_PRODUCT_KEYS.CONFLUENCE];\n    default:\n      return [];\n  }\n};\n\nexport type BundleMapType = { [index: string]: string };\n\nexport type ProductData = {\n  readonly productKey: string;\n  readonly productName: string;\n  readonly productLogoUrl?: string;\n  readonly productIconUrl?: string;\n};\n\nexport type WacFreeBundlesContainerProps = {\n  readonly primaryProductKey: string;\n  readonly secondaryProductKeys: string[];\n  readonly signUpPath: string;\n  readonly bundleMap: BundleMapType;\n  readonly comparePlansUrl: string;\n  readonly productData?: { [index: string]: ProductData };\n  readonly labels: any;\n  readonly freeBundleRank: string;\n  readonly primaryProductNode: string;\n  readonly isExpressCheckout: boolean;\n  readonly featureFlags: featureFlags;\n};\nexport type featureFlags = {\n  readonly enableBundlesAfterSignup: boolean;\n};\n\nexport type WacFreeBundlesRenderProps = {\n  readonly signUpPath: string;\n  readonly bundleMap: BundleMapType;\n  readonly comparePlansUrl: string;\n  readonly productData?: { [index: string]: ProductData };\n  readonly labels: any;\n  readonly freeBundleRank: string;\n  readonly primaryProductNode: string;\n  readonly featureFlags: featureFlags;\n};\n\n\nconst WacFreeBundlesContainer = ({\n  isExpressCheckout,\n  signUpPath,\n  primaryProductNode,\n  freeBundleRank,\n  bundleMap,\n  comparePlansUrl,\n  labels,\n  productData,\n  featureFlags\n}: WacFreeBundlesContainerProps) => {\n  /* we are changing to 'jira-service-management' as this will be used as a parameter in signup URL*/\n  if (primaryProductNode === 'jira-service-desk') {\n    primaryProductNode = 'jira-service-management';\n  }\n\n  if (primaryProductNode === 'jira-core') {\n    primaryProductNode = 'jira-work-management';\n  }\n\n  if (isExpressCheckout) {\n    window.location.href = `${Environment.getWacIntegrationUrl()}${signUpPath}?bundle=${primaryProductNode}&edition=free&express=true`;\n    return;\n  } else {\n    return WacFreeBundlesRender({\n      primaryProductNode,\n      freeBundleRank,\n      signUpPath,\n      bundleMap,\n      comparePlansUrl,\n      labels,\n      productData,\n      featureFlags\n    });\n  }\n};\n\nconst WacFreeBundlesRender = ({\n  primaryProductNode,\n  freeBundleRank,\n  signUpPath,\n  bundleMap,\n  comparePlansUrl,\n  labels,\n  productData,\n  featureFlags\n}: WacFreeBundlesRenderProps) => {\n  const primaryProductKey = getPrimaryProductKey(primaryProductNode);\n  const secondaryProductKeys = getSecondaryProductKeys(\n    primaryProductNode,\n    freeBundleRank\n  );\n\n  return (\n    <div>\n      <AnalyticsListener onEvent={sendAnalytics}>\n        <IntlProvider\n          locale={document.documentElement.lang}\n          messages={labels}\n        >\n          <WacFreeBundlesView\n            primaryProductKey={primaryProductKey}\n            secondaryProductKeys={secondaryProductKeys}\n            signUpPath={signUpPath}\n            bundleMap={bundleMap}\n            comparePlansUrl={comparePlansUrl}\n            productData={productData}\n            featureFlags={featureFlags}\n          />\n        </IntlProvider>\n      </AnalyticsListener>\n    </div>\n  );\n};\n\nexport default WacFreeBundlesContainer;\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","function _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    \"default\": obj\n  };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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":["ContextTypes","getAtlaskitAnalyticsEventHandlers","getAtlaskitAnalyticsContext","noop","AnalyticsListener","Component","constructor","props","super","this","getAnalyticsEventHandlers","channel","onEvent","context","event","eventChannel","contextValue","render","children","value","analyticsContext","useAnalyticsContext","onEventRef","useTrackedRef","channelRef","useCallback","current","useMemo","_process$env","ModernAnalyticsListener","LegacyAnalyticsListener","useContext","ref","useRef","_ref","_process","_process2","_process2$env","DEBUG_MODE","undefined","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","debug","args","console","pkgName","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","Map","booleanResolver","flagKey","globalVar","window","getBooleanFF","name","_globalVar$PFF_GLOBAL3","result","warn","e","cache","serialized","isStringTag","className","key","registered","styles","hasOwnProperty","EmotionCacheContext","HTMLElement","Provider","func","forwardRef","typePropName","Insertion","inserted","insert","sheet","next","Emotion$1","cssProp","css","WrappedComponent","registeredStyles","classNames","rawClassName","split","forEach","push","newProps","call","jsx","type","arguments","argsLength","length","createElementArgArray","Array","createEmotionProps","i","_len","_key","AnalyticsEvent","payload","update","updater","UIAnalyticsEvent","hasFired","handlers","JSON","parse","stringify","handler","useEffect","usePlatformLeafEventHandler","fn","action","componentName","actionSubject","packageName","packageVersion","analyticsData","createAnalyticsEvent","useAnalyticsEvents","dataRef","fnRef","analyticsEvent","attributes","clone","fire","CHANNEL","DEFAULT_THEME_MODE","THEME_MODES","theme","includes","mode","themed","modesOrVariant","variantModes","variantProp","variants","modes","R300","Y300","G300","B100","B400","N0","N200","N800","DN600","DN300","DN50","light","dark","Consumer","useTheme","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","createContext","themeProps","tokens","themeFn","valueFn","mixedFn","createTheme","analyticsAttributes","baseStyles","position","zIndex","inset","overflowY","pointerEvents","shouldAllowClickThroughStyles","invisibleStyles","backgroundColor","backgroundStyle","Blanket","memo","shouldAllowClickThrough","isTinted","onBlanketClicked","testId","mouseDownTarget","onBlanketClickedWithAnalytics","blanketClickOutsideChildren","currentTarget","target","onClick","onMouseDown","role","displayName","getRegisteredStyles","registerStyles","classnames","len","cls","arg","toAdd","isArray","k","serializedArr","ClassNames","content","cx","_len2","_key2","merge","ele","baseFocusOutsideStyles","outline","outlineOffset","baseInsetStyles","outlineColor","outlineStyle","outlineWidth","focusRingStyles","insetFocusRingStyles","FocusRing","isInset","focus","focusCls","Children","cloneElement","appear","uniqueReferencedValue","useLazyCallback","callback","initializer","useLazyRef","useStateRef","initialState","setValue","useState","valueRef","modalStackRegister","FOCUS_GROUP","FOCUS_DISABLED","toArray","a","ret","asArray","_typeof","Symbol","iterator","obj","prototype","filterNested","nodes","l","_loop","j","contains","v","filter","x","_ret","getTopParent","node","parentNode","Boolean","reduce","acc","currentNode","group","getAttribute","apply","querySelectorAll","focusInFrame","frame","document","activeElement","tabSort","b","tabDiff","tabIndex","indexDiff","index","orderByTabIndex","filterNegative","keepGuards","map","dataset","focusGuard","data","sort","queryTabbables","tabbables","join","queryGuardTabbables","getFocusables","parents","withGuards","parent","concat","isVisible","nodeType","Node","DOCUMENT_NODE","computedStyle","getComputedStyle","getPropertyValue","getParents","getCommonParent","nodea","nodeb","parentsA","parentsB","currentParent","indexOf","filterFocusable","tagName","disabled","notHiddenInput","getTabbableNodes","topNodes","isRadio","findSelectedRadio","el","checked","pickFocusable","isGuard","notAGuard","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","entry","subEntry","common","topNode","lastNode","entries","commonParent","innerElements","_ref4","_ref5","srcNodes","dstNodes","remap","autoFocusables","outerNodes","_ref6","orderedInnerElements","entity","set","get","innerNodes","_ref7","newId","autoFocused","cnt","firstFocus","lastFocus","isOnGuard","activeIndex","lastIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","returnFirstNode","returnLastNode","Math","abs","newFocus","parentFocus","parentAutofocusables","allParentAutofocusables","autofocus","guardCount","lockDisabled","deferAction","setImmediate","setTimeout","isFreeFocus","body","some","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","end","step","allNodes","lastGuard","item","guard","focusAutoGuard","lockItem","extractRef","activateTrap","element","_lastActiveTrap","observed","persistentFocus","autoFocus","shards","workingNode","portaledElement","workingArea","whiteList","focusWhitelisted","array","search","focusInsideIframe","blur","focusable","error","contentWindow","newActiveElement","_ref2","_ref3","focusedItem","find","removeAttribute","focusedIndex","onTrap","stopPropagation","preventDefault","onBlur","onWindowBlur","propsList","slice","trap","addEventListener","lastTrap","sameTrap","onActivation","onDeactivation","removeEventListener","hiddenGuard","width","height","padding","overflow","top","left","InFocusGuard","style","propTypes","defaultProps","RenderChildren","Fragment","emptyArray","FocusLock","_Component","_this","originalFocusedElement","state","isActive","returnFocus","source","observerNode","onFocus","setState","_extends2","_this$props","noFocusGuards","allowTextSelection","_this$props$shards","_this$props$as","as","Container","_this$props$lockProps","lockProps","containerProps","hasLeadingGuards","hasTailingGuards","setObserveNode","mergeRefs","refs","useDocumentEvent","eventName","options","getScrollDistance","_document$documentEle","_document$body","pageYOffset","documentElement","scrollTop","maxWidthDimensions","maxHeightDimensions","modalStackTransition","stackIndex","positionerBaseStyles","positionerResponsiveBaseStyles","getTheme","R400","R500","Y200","Y400","B50","B75","B300","B500","N20","N70","N500","N700","N20A","DN400","DN100","DN70","DN60","DN30","DN0","abort","onKey","keyCode","block","onMouseDownCapture","onMouseUpCapture","onKeyDownCapture","onKeyUpCapture","onTouchStartCapture","onTouchEndCapture","onPointerDownCapture","onPointerUpCapture","onClickCapture","doNotBlock","fadedB75","background","default","hover","active","selected","focusSelected","primary","warning","danger","link","subtle","color","heights","compact","none","lineHeights","singleIconPadding","verticalAlign","innerMargin","getColor","getColors","appearance","getIconStyle","spacing","display","margin","flexGrow","flexShrink","alignSelf","fontSize","lineHeight","userSelect","getContentStyle","textOverflow","whiteSpace","overlayCss","right","bottom","justifyContent","alignItems","noPointerEventsOnChildrenCss","buttonCss","isDisabled","shouldFitContainer","isSelected","iconBefore","iconAfter","href","overlay","providedOnMouseDown","providedOnClick","component","interactionName","rest","ourRef","setRef","initialMount","interactionContext","tracePress","timeStamp","hasOverlay","fadeCss","opacity","transition","getFadingCss","isInteractive","spinnerHackCss","stroke","blockEvents","getIsOnlySingleIcon","presetSizes","xsmall","small","medium","large","xlarge","rotate","to","transform","rotateStyles","animation","animationTimingFunction","transformOrigin","loadIn","from","strokeDashoffset","loadInStyles","animationFillMode","wrapperStyles","circleStyles","fill","strokeDasharray","strokeLinecap","strokeWidth","useLayoutEffect","delay","size","providedSize","animationDelay","getStrokeColor","hold","viewBox","xmlns","cy","r","getSpinnerAppearance","LoadingSpinner","stateToSelectorMap","getCustomCss","iconIsOnlyChild","isLoading","isOnlySingleIcon","baseColors","borderWidth","borderRadius","boxSizing","fontStyle","fontFamily","fontWeight","maxWidth","textAlign","textDecoration","cursor","transitionDuration","border","getCss","selector","Object","keys","defaultThemeFn","values","buttonStyles","spinnerStyles","getInteractionState","isFocus","isHover","initial","CustomThemeButton","onMouseEnter","providedOnMouseEnter","onMouseLeave","providedOnMouseLeave","onMouseUp","providedOnMouseUp","providedOnFocus","providedOnBlur","restProps","ModalFooter","actions","onClose","text","TitleIcon","isHeadingMultiline","titleIconStyles","Icon","label","ModalHeader","id","heading","titleTextStyles","lastArgs","frameId","wrapperFn","requestAnimationFrame","cancel","cancelAnimationFrame","keyline","showKeyline","scrollableStyles","showTopKeyline","showBottomKeyline","shouldScroll","ScrollContainer","hasSiblings","setSiblings","previous","showContentFocus","setContentFocus","setTopKeyline","setBottomKeyline","scrollableRef","setLazySiblings","setLazyContentFocus","scrollHeight","clientHeight","setLazyKeylines","scrollableDistance","previousElementSibling","nextElementSibling","emptyObject","Content","DeprecatedBody","components","footer","header","isChromeless","headingId","Body","CustomBody","Header","Footer","Positioner","scrollBehavior","positionerStyles","getPositionRelativeStyles","getPositionFixedStyles","getPositionAbsoluteStyles","isBlanketHidden","onCloseComplete","onOpenComplete","shouldCloseOnEscapePress","shouldCloseOnOverlayClick","scrollDistance","scrollTopOffset","setScrollTopOffset","onWindowScroll","scrollTo","pageXOffset","usePreventProgrammaticScroll","isForeground","onCloseHandler","escapePressed","onKeyDown","onKeyUp","useCloseOnEscapePress","motionRef","onMotionFinish","useOnMotionFinish","useAutoFocus","fillScreenStyles","getFillScreenStyles","dialogStyles","dialogHeight","widthName","toString","dialogWidth","getDialogStyles","fadeInProps","entranceDirection","onFinish","bottomFadeInProps","ModalWrapper","stackIndexOverride","onStackChange","isExiting","stackIndexRef","setStackIndex","currentStackIndex","previousStackIndex","usePreviousValue","updateStack","newStackIndex","unshift","splice","cb","useModalStack","WIDTH_ENUM","widths","defaultValue","gutter","verticalOffset","modalPadding","actionMargin","titleMargin","keylineHeight","keylineColor","focusOutlineColor","dangerColor","warningColor","newStyled","headerStyles","titleStyles","Title","getTitleTextStyles","lineHeightOffset","iconColor","getTitleIconStyles","bodyStyles","baseFooterStyles","externalFooterStyles","internalFooterStyles","themedBackground","getBackground","sizes","dimensions","getIconSize","iconStyles","stop","stopColor","maxHeight","baseHcmStyles","primaryEqualsSecondaryHcmStyles","secondaryTransparentHcmStyles","glyph","Glyph","dangerouslySetGlyph","primaryColor","secondaryColor","glyphProps","dangerouslySetInnerHTML","__html","exports","_react","__esModule","_base","ErrorIcon","createElement","assign","_default","WarningIcon","__ATLASKIT_THEME__","B200","N30","N30A","N60A","gridSize","layers","card","navigation","dialog","layer","blanket","modal","flag","spotlight","tooltip","keyframes","insertable","anim","emptyContext","ExitingContext","wrapChildWithContextProvider","child","childrenToObj","ExitingPersistence","appearFromProp","childs","exitThenEnter","childrenAsArray","childrenToArray","childrenObj","previousChildren","persistedChildren","forceRender","updateState","useForceRender","exitingChildren","defaultContextValue","currentMap","isAnyPreviousKeysMissingFromCurrent","exitingChildMountedAgain","hasAnyExitingChildMountedAgain","splicedChildren","previousMap","spliceNewElementsIntoPrevious","currentChild","useExitingPersistence","useSetTimeout","opts","cleanup","timeouts","clearTimeout","getHookDeps","timeout","timeoutId","StaggeredEntranceContext","isReady","enteringAnimation","exitingAnimation","isPaused","onFinishMotion","duration","staggered","indentifier","identifier","Number","String","random","Date","now","round","performance","useUniqueId","useStaggeredEntrance","onExitFinished","paused","hasAnimationStyles","setHasAnimationStyles","isCancelled","animationDuration","animationName","animationPlayState","directionMotions","proportional","constant","invertedDirection","fadeInAnimation","direction","distance","fadeOutAnimation","exitDirection","invertedEntranceDirection","isReducedMotion","matches","matchMedia","prefersReducedMotion","easeInOut","mediumDurationMs","durationStep","largeDurationMs","createContainer","container","getPortalParent","parentElement","querySelector","appendChild","removePortalContainer","removeChild","appendPortalContainerIfNotAppended","InternalPortal","createPortal","isSubsequentRender","setIsSubsequentRender","zIndexToName","getLayerName","firePortalEvent","detail","CustomEvent","getEvent","dispatchEvent","zIndexNumber","Portal","extendStatics","d","setPrototypeOf","__proto__","p","__extends","__","create","__assign","t","s","n","__read","o","m","ar","done","__spread","_super","AnalyticsContext","getChildContext","getAnalyticsContext","contextTypes","childContextTypes","AnalyticsContextConsumer","originalEventProps","patchedEventProps","updatePatchedEventProps","changedPropCallbacks","createEventMap","mapCreateEventsToProps","changedPropNames","modified","propCallbackName","_a","eventCreator","providedCallback","_i","wrappedComponentProps","safeIsNaN","isNaN","areInputsEqual","newInputs","lastInputs","first","second","ManagerReferenceNodeContext","safeInvoke","initialStyle","initialArrowStyle","InnerPopper","_React$Component","placement","popperNode","innerRef","updatePopperInstance","arrowNode","enabled","order","eventsEnabled","positionFixed","modifiers","arrow","applyStyle","updateStateModifier","offsets","popper","arrowStyles","hide","popperInstance","destroy","destroyPopperInstance","referenceElement","getOptions","scheduleUpdate","_proto","componentDidUpdate","prevProps","prevState","enableEventListeners","disableEventListeners","componentWillUnmount","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","referenceNode","FlipBehavior","auto","Popper","getModifiers","resultFn","isEqual","lastThis","lastResult","calledOnce","newArgs","side","flip","behavior","boundariesElement","offset","preventOverflow","escapeWithReference","setAttribute","getBody","condition","message","Error","layerName","createEvent","params","bubbles","cancellable","initCustomEvent","canUseDOM","portalIsMounted","newContainer","replaceChild","componentDidMount","textColor","TooltipPrimitive","Tooltip","truncate","defaultStyle","enter","transitionStyle","entering","entered","exiting","immediatelyHide","immediatelyShow","onExited","in","inProp","exit","Transition","unmountOnExit","getStyle","hoveredPayload","unhoveredPayload","SCROLL_OPTIONS","capture","passive","getMousePosition","mouseCoordinates","safeMouse","getBoundingClientRect","clientWidth","pendingHide","wrapperRef","targetRef","cancelPendingSetState","userInteraction","renderTooltip","handleWindowScroll","handleMouseClick","hideTooltipOnClick","handleMouseDown","hideTooltipOnMouseDown","handleMouseOver","fakeMouseElement","clientX","clientY","handleShowTooltip","handleFocus","defaultDelay","isHidePending","pending","flush","showTooltip","handleHideTooltip","flushed","handleMouseMove","removeScrollListener","_prevProps","onShow","onHide","shouldPositionTooltipNearMouse","mousePosition","TooltipContainer","tag","TargetContainer","tooltipPosition","onMouseOver","onMouseOut","onMouseMove","getAnimationStyles","createAndFireEventOnAtlaskit","consumerEvent","clonedEvent","defaultData","WithAnalyticsContext","getOwnPropertySymbols","propertyIsEnumerable","__rest","WithAnalyticsEvents","CheckCircleIcon","CrossIcon","_interopRequireDefault","classList","add","_hasClass","baseVal","module","replaceClassName","origClass","classToRemove","replace","RegExp","remove","newObj","desc","defineProperty","getOwnPropertyDescriptor","_interopRequireWildcard","_addClass","_removeClass","_Transition","_extends","addClass","classes","c","removeClass","CSSTransition","subClass","superClass","onEnter","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExit","onExiting","isStringClassNames","_this$getClassNames6","_reactDom","_TransitionGroup","ReplaceTransition","_args","handleEnter","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","idx","originalArgs","_child$props","findDOMNode","excluded","sourceKeys","_objectWithoutPropertiesLoose","_React$Children$toArr","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","PropTypes","_reactLifecyclesCompat","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","mountOnEnter","status","nextCallback","getDerivedStateFromProps","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","_this2","enterTimeout","safeSetState","onTransitionEnd","_this3","nextState","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","childProps","only","object","polyfill","_propTypes","_ChildMapping","_assertThisInitialized","self","ReferenceError","TransitionGroup","bind","firstRender","appeared","mounted","nextProps","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","isRequired","_CSSTransition","_ReplaceTransition","mergeChildMappings","getProp","nextChildMapping","isValidElement","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","prev","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","prop","classNamesShape","timeoutsShape","reactPropsRegex","test","charCodeAt","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","orphans","tabSize","widows","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","hyphenateRegex","animationRegex","isCustomProperty","property","isProcessableValue","processStyleName","styleName","toLowerCase","processStyleValue","match","p1","p2","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","string","interpolated","createStringFromObject","previousCursor","cached","labelPattern","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","ownKeys","enumerableOnly","symbols","sym","enumerable","Noop","createStyled","identifierName","shouldForwardProp","targetClassName","__emotion_forwardProp","propName","isReal","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","raw","Styled","withEmotionCache","finalTag","classInterpolations","stringMode","strings","exec","serializeStyles","finalShouldForwardProp","possiblyStyleElement","withComponent","nextTag","nextOptions","getOwnPropertyDescriptors","defineProperties","_objectSpread","_propTypes2","_gud2","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","_inherits","writable","configurable","MAX_SIGNED_31_BIT_INT","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_temp","emitter","on","off","h","newValue","changedBits","componentWillReceiveProps","oldValue","y","_Component2","_temp2","getValue","onUpdate","observedBits","_react2","_implementation2","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","onComplete","clearTimer","factory","g","isBrowser","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","called","resolve","then","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","defaultView","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflowX","getReferenceNode","reference","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","noOffsetParent","offsetParent","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","start","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","axis","sideA","sideB","parseFloat","getSize","max","parseInt","getWindowSizes","createClass","descriptor","protoProps","staticProps","getClientRect","rect","scrollLeft","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","isFixed","getFixedPositionOffsetParent","getBoundaries","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","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","prefix","toCheck","willChange","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","isNumeric","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","Defaults","shift","basePlacement","shiftvariation","_data$offsets","isVertical","shiftOffsets","useHeight","fragments","frag","trim","divider","splitRegex","ops","op","mergeWithPrevious","str","toValue","index2","parseOffset","transformProp","popperStyles","priority","secondary","min","keepTogether","floor","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","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","jquery","Utils","PopperUtils","reducePropsToState","handleStateChangeOnClient","mountedInstances","emitChange","SideEffect","_PureComponent","peek","PureComponent","getDisplayName","componentWillMount","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","_createClass","NodeResolver","getPrototypeOf","_NodeResolver","_exenv","_TouchScrollable","_withLockSheet2","_withTouchListeners2","_utils","ScrollLock","initialHeight","TouchScrollable","SheetLock","pipe","compose","LockToggle","accountForScrollbars","getScrollableArea","scrollableArea","preventInertiaScroll","listenerOptions","allowTouchMove","_props","_objectWithoutProperties","_ScrollLock","preventTouchMove","totalScroll","currentScroll","isTouchDevice","maxTouchPoints","camelToKebab","val","getPadding","paddingRight","getWindowHeight","multiplier","getDocumentHeight","makeStyleTag","injectStyles","styleSheet","cssText","createTextNode","insertStyleTag","head","getElementsByTagName","pipeFns","fns","SheetProvider","addSheet","getStyles","removeSheet","TouchProvider","nodeRef","forceReflow","maybeNode","maybeAppearing","maybeNextCallback","TransitionGroupContext","contextType","__makeTemplateObject","cooked","contextRef","defaultLogoParams","N100","N400","getColorsFromAppearance","iconGradientStart","iconGradientStop","atlassianLogoTextColor","CSS_VAR_COLOR","CSS_VAR_FILL","baseWrapperStyles","stopColorStyles","sizeStyles","svg","userDefinedTestId","shouldApplyStopColor","colors","uid","AtlassianLogo","FreeBundlesDataContext","productData","FreeBundlesDataProvider","FREE_PRODUCT_KEYS","ICON_STATES","PRIMARY_PRODUCT","SECONDARY_PRODUCT","MODAL_PRODUCT","PRODUCT_ADDED","ID_PREFIX","messages","freeBundlesMainHeader","defaultMessage","freeBundlesSubHeader","featureListHeader","primaryProductSelectedHeader","secondaryProductSelectionListHeader","jiraSoftwareProductName","jiraSoftwareProductSubHeading","jiraSoftwareProductDescription","confluenceProductName","confluenceProductSubHeading","confluenceProductDescription","jiraServiceDeskProductName","jiraServiceDeskProductSubHeading","jiraServiceDeskProductDescription","jiraCoreProductName","jiraCoreProductSubHeading","jiraCoreProductDescription","supportDescription","storageDescription","communitySupportDescription","noCreditCardDescription","largerTeamLabel","largerTeamHoverText","comparePlansLabel","selectButtonLabel","removeButtonLabel","nextButtonLabel","skipButtonLabel","noCreditCardLabel","termsAndConditionsLabel","agreeAndContinue","freeBundlesModalHeader","freeBundlesModalSubHeader","siteIsReadyModalHeader","siteIsReadyModalSubHeader","youHaveAddedSubHeader","termsAndConditionsModalLabel","agreeAndAdd","noThanks","takeMeBack","goToProduct","modalJiraSoftwareProductDescription","modalConfluenceProductDescription","modalJiraCoreProductDescription","modalJiraServiceDeskProductDescription","messagesByProductKey","subHeading","description","modalMessagesByProductKey","JiraSoftwareIcon","ProductIcon","productKey","iconState","productIconUrl","PrimaryProductIcon","src","SecondaryProductIcon","ModalProductIcon","ProductAddedIcon","StyledPrimaryProductJiraSoftwareIcon","StyledSecondaryProductJiraSoftwareIcon","mapAttributesToState","_b","_c","_d","_e","_f","getLoadingStyle","composeRefs","hex2rgba","hex","alpha","colorArr","substring","compactButtonHeight","buttonHeight","applyPropertyStyle","baseTheme","getBoxShadow","getHeight","getLineHeight","getTextDecoration","getTransition","getTransitionDuration","getVerticalAlign","getWidth","staticStyles","fallbacks","boxShadowColor","propertyStyles","appearanceStyles","stateStyles","boxShadow","followsIcon","fit","flexWrap","icon","isOnlyChild","SIZES_MAP","DEFAULT_SIZE","keyframeNames","templateObject_1","enterRotate","templateObject_2","leaveRotate","templateObject_3","leaveOpacity","templateObject_4","templateObject_8","phase","templateObject_5","templateObject_6","templateObject_7","getStrokeWidth","getStrokeCircumference","strokeRadius","PI","enterOpacity","smallEnterStroke","mediumEnterStroke","largeEnterStroke","xlargeEnterStroke","spinnerColor","spinnerColorInverted","invertColor","svgStyles","templateObject_12","circumference","templateObject_11","animProps","baseAnimation","templateObject_9","standardSizeName","sizeName","getEnterStrokeKeyframe","templateObject_10","Svg","templateObject_13","Outer","Spinner","transitionNode","idle","endListener","executeCallback","validateSize","spinnerSize","isCompleting","appearances","invertSpinner","Button","button","getComposedRefs","getElement","onInnerClick","HTMLButtonElement","CustomComponent","consumerRef","_g","_h","StyledButton","filterProps","InnerWrapper","IconWrapper","ButtonWithRef","preMobileBreakpoint","Root","CharlieDisplayFontStack","CharlieTextFontStack","Column","LeftColumn","RightColumn","MainHeading","SubHeading","HeaderLevel3","HeaderLevel4","FeatureListContainer","LargerTeamCTAContainer","LargerTeamCTACopyContainer","NextButton","AgreeButton","SkipButton","NextAndSkipButtonContainer","NextButtonContainer","NoCreditCardRequiredText","TermsAndConditionsText","HoverDialog","ModalButton","ModalButtonContainer","justify","ModalTermsAndConditionsText","ModalProductSelectWrapper","ModalAnimate","ModalSection","ModalHeading","ModalSubHeading","ModalReadySubHeading","ModalAddedSoftwareSubHeading","PrimaryProductDisplayView","PrimaryProductContainer","PrimaryProductTextContentContainer","PrimaryProductHeading","PrimaryProductSubheading","SecondaryProductSelectButton","handleClick","btnId","buttonText","SecondaryProductButton","SecondaryProductDisplayView","onSelect","SecondaryProductSelectionContainer","SecondaryProductSelectionColumnLeft","SecondaryProductContainer","SecondaryProductTextContentContainer","SecondaryProductHeading","SecondaryProductSubheading","SecondaryProductDescription","SecondaryProductSelectionColumnRight","SecondaryProductSelectionColumn","SecondaryProductDisplayModalView","SecondaryProductSelectList","secondaryProductKeys","selectedSecondaryProductKey","setSelectedSecondaryProductKey","SecondaryProductSelectionListContainer","SecondaryProductSelectListModal","SecondaryProductSelectionListModalContainer","ProductAddedView","secondaryProductKey","ProductAdded","ProductWrapper","ProductHeading","SiteReadyView","PRODUCT_NAME","paddingTop","WacFreeBundlesModal","isModalOpen","setIsModalOpen","primaryProductKey","bundleProvisioningStatus","setBundleProvisioningStatus","isSecondaryProductActivating","handleAgreeAndSignup","currentView","setCurrentView","closeModal","sendEvent","setStatus","eventComponent","modalView","AddButtonGroup","offeringCatalog","WacFreeBundlesView","signUpPath","bundleMap","comparePlansUrl","featureFlags","cloudIdentifier","eventType","WacFreeBundlesRoot","updateConfirmationPage","setUpdateConfirmationPage","secondaryProductKeysOverride","queryParameters","URLSearchParams","location","enableBundlesAfterSignup","enableBundlesPostSignupConfluence","continueUrl","cloudId","teamType","stargateClient","onExperimentPage","setSecondaryProductActivating","provisionProduct","licenseInfo","getLicenceInformationStatus","webPlatform","ccpProducts","mapProductKeyAndEditionToCcpProduct","edition","existingProd","products","prod","ccpTransactionAccountId","ccpEntitlementId","productActivationPromise","postProductActivate","offerings","transactionAccountId","entitlementId","postCCPProductActivate","postCOFSProductActivate","catch","finally","checkProvisioning","handleNext","bundleName","createdBundleKey","handleSkip","handleComparePlans","sendAnalytics","analytic","eventPayload","tracking","log","WacFreeBundlesRender","primaryProductNode","freeBundleRank","labels","getPrimaryProductKey","getDefaultSecondaryProducts","getSecondaryProductKeys","React","IntlProvider","locale","lang","isExpressCheckout","Environment"],"sourceRoot":""}