{"version":3,"file":"chunks/b76095cb6f3737.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/index.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/react/dist/emotion-element-6a883da9.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/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/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/ds-explorations/dist/es2019/components/box.partial.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/components/surface-provider.js","webpack:///./node_modules/tiny-invariant/dist/esm/tiny-invariant.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/internal/color-map.js","webpack:///./node_modules/@atlaskit/ds-explorations/dist/es2019/components/text.partial.js","webpack:///./node_modules/@atlaskit/ds-explorations/node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","webpack:///./node_modules/@atlaskit/ds-explorations/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-ref.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-callback.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-previous-value.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-state-ref.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/utils/merge-refs.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/focus-ring/node_modules/@emotion/react/dist/emotion-element-6a883da9.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/interaction-context/dist/es2019/index.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-6a883da9.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/react-popper/lib/esm/usePopper.js","webpack:///./node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/popper/dist/es2019/popper.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/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafSyntheticEventHandler.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/shared-schedule.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/tooltip-manager.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.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/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/TooltipContainer.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/utilities.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/Tooltip.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/use-unique-id.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/TooltipPrimitive.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/glyph/check.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/icon/glyph/question-circle.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-responsive/dist/react-responsive.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///./node_modules/bind-event-listener/dist/bind-all.js","webpack:///./node_modules/bind-event-listener/dist/bind.js","webpack:///./node_modules/bind-event-listener/dist/index.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/react-clientside-effect/lib/index.es.js","webpack:///./node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/react-popper/node_modules/react-fast-compare/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-uid/dist/es2015/context.js","webpack:///./node_modules/react-uid/dist/es2015/hooks.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/injectIntl.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/utils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/useIntl.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/message.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-desktop-media-query.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-fit-text.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/models/pricing-calculation.ts","webpack:///./node_modules/@atlassiansox/bxp-react-core/src/hooks/use-async.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/amounts-format.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/ccp-to-hams-pricing-plan-converter.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/extract-pricing-tiers-from-entry.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/get-local-unit-price.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/calculations/fixed-cost.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/calculations/marginal-per-unit.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/price-calculation.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/utils/get-free-price-calc.ts","webpack:///./node_modules/@atlassiansox/bxp-use-pricing/src/use-pricing.ts","webpack:///./node_modules/react-sweet-state/lib/esm/utils/hash.js","webpack:///./node_modules/react-sweet-state/lib/esm/defaults.js","webpack:///./node_modules/react-sweet-state/lib/esm/store/bind-actions.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/shallow-equal.js","webpack:///./node_modules/react-sweet-state/lib/esm/middlewares/update.js","webpack:///./node_modules/react-sweet-state/lib/esm/enhancers/devtools.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/supported-features.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/batched-updates.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/schedule.js","webpack:///./node_modules/react-sweet-state/lib/esm/store/create-state.js","webpack:///./node_modules/react-sweet-state/lib/esm/middlewares/index.js","webpack:///./node_modules/react-sweet-state/lib/esm/store/registry.js","webpack:///./node_modules/react-sweet-state/lib/esm/context.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/memoize.js","webpack:///./node_modules/react-sweet-state/lib/esm/utils/create-selector.js","webpack:///./node_modules/react-sweet-state/lib/esm/components/hook.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/store/actions.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/store/index.ts","webpack:///./node_modules/react-sweet-state/lib/esm/store/create.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/utils/constants.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/button.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/see-pricing-button.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/radio/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/radio/dist/es2019/radio.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/billing-period-selector.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/dist/es2019/component-tokens.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/textfield/dist/es2019/text-field.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/unit-count.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/lozenge/dist/es2019/Lozenge/index.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/user-tier.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-intl/lib/src/components/provider.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-intl-provider.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/icons/pricing-example-icon.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example-header.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example-annual.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example-monthly.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-states/pricing-example.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-mobile.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-default.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-no-selector.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/pricing-example/pricing-example-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/feature-message.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/cta-button.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/modal-transition.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-focus-lock/dist/es2015/medium.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/is.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/getActiveElement.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/solver.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/utils/auto-focus.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/index.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-focus-lock/dist/es2015/util.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/focusables.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-focus-lock/dist/es2015/Combination.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/react-focus-lock/dist/es2015/index.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/context.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/utils.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/positioner.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-dialog.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-on-motion-finish.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-modal-stack.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-prevent-programmatic-scroll.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/node_modules/@atlaskit/modal-dialog/dist/es2019/modal-wrapper.js","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/modal-redirect-confirm.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/center-justified-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/price-display.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/incentive.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-body.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-cards-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/annual.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/mobile-vertically-padded-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-contact.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-monthly.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-no-jpy.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/enterprise/enterprise-unmet-min.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/free.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/plan-card/plan-card-states/monthly.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/icons/sand-timer-icon.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/icons/coins-icon.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/components/promo-card/promo-cards-container.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/price-finder.tsx","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-price-finder-data.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/hooks/use-bounding-client-rect-ref.ts","webpack:///./node_modules/@atlassiansox/bxp-price-finder/src/utils/get-recommended-plan-name.ts","webpack:///./resources/js/react/cms-components/pricing-calculator/PriceFinderContainer.tsx","webpack:///./resources/js/react/cms-components/pricing-calculator/use-geo-currency.ts","webpack:///./node_modules/use-callback-ref/dist/es2019/useMergeRef.js","webpack:///./node_modules/use-callback-ref/dist/es2019/useRef.js","webpack:///./node_modules/use-callback-ref/dist/es2019/assignRef.js","webpack:///./node_modules/use-sidecar/dist/es2019/medium.js","webpack:///./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack:///./node_modules/use-sync-external-store/shim/index.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};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsListener extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n channel,\n onEvent\n } = this.props;\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n\n const handler = (event, eventChannel) => {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n\n return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n });\n\n _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return getAtlaskitAnalyticsContext();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\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}\n\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsListener;","import LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nlet ExportedAnalyticsListener;\n\nif (typeof process !== 'undefined' && process.env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsListener = ModernAnalyticsListener;\n} else {\n ExportedAnalyticsListener = LegacyAnalyticsListener;\n}\n\nexport default ExportedAnalyticsListener;","import { createContext, useContext, forwardRef, createElement, Fragment } 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 hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */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\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return 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 = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/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 = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/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 var rules = 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, 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__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.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-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.5\",\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\"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\"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\"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\"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\": \"./macro.js\"\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.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\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.10.5\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.18.5\",\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.5\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.5\",\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\": \"./macro.js\"\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 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 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, useContext(ThemeContext));\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 = useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = 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: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/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\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 deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n}; // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const assistive = visuallyHidden;\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\n\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n } // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n } // If format not supported (or no theme provided), return standard theme\n\n\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './get-theme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n\n if (value) {\n return value;\n } // TS believes value can be undefined\n\n }\n }\n\n return '';\n };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n\n if (value) {\n return value;\n }\n }\n\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme'; // Create default global light theme\n\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/**\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 * 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\n\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\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\n\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props; // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n\n const tokens = useTheme(themeProps); // 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\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\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\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\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","/** @jsx jsx */\nimport { forwardRef, memo, useCallback } 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.3.4\";\nconst analyticsAttributes = {\n componentName: 'blanket',\n packageName,\n packageVersion\n};\nconst baseStyles = css({\n position: 'fixed',\n zIndex: layers.blanket(),\n top: 0,\n right: 0,\n bottom: 0,\n left: 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 * __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 */\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 onBlanketClickedWithAnalytics = usePlatformLeafEventHandler({\n fn: onBlanketClicked,\n action: 'clicked',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const blanketClickOutsideChildren = useCallback(e => e.currentTarget === e.target ? onBlanketClickedWithAnalytics(e) : undefined, [onBlanketClickedWithAnalytics]);\n const onClick = shouldAllowClickThrough ? undefined : blanketClickOutsideChildren;\n return jsx(\"div\", {\n role: \"presentation\",\n css: [baseStyles, shouldAllowClickThrough && shouldAllowClickThroughStyles, backgroundStyle[mode], !isTinted && invisibleStyles],\n onClick: onClick,\n \"data-testid\": testId,\n ref: ref\n }, children);\n}));\nBlanket.displayName = 'Blanket';\nexport default Blanket;","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}","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { LAYERS } from '../constants';\nimport { SurfaceContext } from './surface-provider';\n\n/**\n * __Box__\n *\n * Box is a primitive component that has the design decisions of the Atlassian Design System baked in.\n * Renders a `div` by default.\n *\n * @internal\n */\nexport const Box = /*#__PURE__*/forwardRef(({\n children,\n as,\n className,\n display = 'flex',\n flexDirection,\n alignItems,\n justifyContent,\n backgroundColor,\n borderColor,\n borderStyle,\n borderWidth,\n borderRadius,\n shadow,\n layer,\n padding,\n paddingBlock,\n paddingInline,\n position = 'relative',\n height,\n overflow,\n width,\n UNSAFE_style,\n testId,\n ...htmlAttributes\n}, ref) => {\n const Component = as || 'div';\n const node = jsx(Component, _extends({\n style: UNSAFE_style,\n ref: ref // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n\n }, htmlAttributes, {\n className: className,\n css: [baseStyles, display && displayMap[display], padding && paddingMap[padding], position && positionMap[position], paddingBlock && paddingBlockMap[paddingBlock], paddingInline && paddingInlineMap[paddingInline], alignItems && flexAlignItemsMap[alignItems], justifyContent && flexJustifyContentMap[justifyContent], backgroundColor && backgroundColorMap[backgroundColor], borderColor && borderColorMap[borderColor], borderStyle && borderStyleMap[borderStyle], borderWidth && borderWidthMap[borderWidth], borderRadius && borderRadiusMap[borderRadius], shadow && shadowMap[shadow], layer && layerMap[layer], flexDirection && flexDirectionMap[flexDirection], overflow && overflowMap[overflow], width && widthMap[width], height && heightMap[height]],\n \"data-testid\": testId\n }), children);\n return backgroundColor ? jsx(SurfaceContext.Provider, {\n value: backgroundColor\n }, node) : node;\n});\nBox.displayName = 'Box';\nexport default Box; // <<< STYLES GO HERE >>>\n\nconst borderStyleMap = {\n none: css({\n borderStyle: 'none'\n }),\n solid: css({\n borderStyle: 'solid'\n }),\n dashed: css({\n borderStyle: 'dashed'\n }),\n dotted: css({\n borderStyle: 'dotted'\n })\n};\nconst borderWidthMap = {\n '0px': css({\n borderWidth: '0px'\n }),\n '1px': css({\n borderWidth: '1px'\n }),\n '2px': css({\n borderWidth: '2px'\n }),\n '3px': css({\n borderWidth: '3px'\n })\n};\nconst borderRadiusMap = {\n normal: css({\n borderRadius: '3px'\n }),\n rounded: css({\n borderRadius: '50%'\n }),\n badge: css({\n borderRadius: '8px'\n })\n};\n/**\n * @experimental - this is likely to be removed\n */\n\nconst flexDirectionMap = {\n column: css({\n flexDirection: 'column'\n }),\n row: css({\n flexDirection: 'row'\n })\n};\n/**\n * @experimental - this is likely to be removed\n */\n\nconst flexAlignItemsMap = {\n center: css({\n alignItems: 'center'\n }),\n baseline: css({\n alignItems: 'baseline'\n }),\n flexStart: css({\n alignItems: 'flex-start'\n }),\n flexEnd: css({\n alignItems: 'flex-end'\n }),\n start: css({\n alignItems: 'start'\n }),\n end: css({\n alignItems: 'end'\n })\n};\n/**\n * @experimental - this is likely to be removed\n */\n\nconst flexJustifyContentMap = {\n center: css({\n justifyContent: 'center'\n }),\n flexStart: css({\n justifyContent: 'flex-start'\n }),\n flexEnd: css({\n justifyContent: 'flex-end'\n }),\n start: css({\n alignItems: 'start'\n }),\n end: css({\n alignItems: 'end'\n })\n};\nconst displayMap = {\n block: css({\n display: 'block'\n }),\n inline: css({\n display: 'inline'\n }),\n flex: css({\n display: 'flex'\n }),\n inlineFlex: css({\n display: 'inline-flex'\n }),\n inlineBlock: css({\n display: 'inline-block'\n })\n};\nconst positionMap = {\n absolute: css({\n position: 'absolute'\n }),\n fixed: css({\n position: 'fixed'\n }),\n relative: css({\n position: 'relative'\n }),\n static: css({\n position: 'static'\n })\n};\nconst overflowMap = {\n auto: css({\n overflow: 'auto'\n }),\n hidden: css({\n overflow: 'hidden'\n })\n};\nconst baseStyles = css({\n boxSizing: 'border-box',\n appearance: 'none',\n border: 'none'\n});\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId dimensions\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"width\", \"height\"]\n */\n\nconst widthMap = {\n '100%': css({\n width: '100%'\n }),\n 'size.100': css({\n width: '16px'\n }),\n 'size.1000': css({\n width: '192px'\n }),\n 'size.200': css({\n width: '24px'\n }),\n 'size.300': css({\n width: '32px'\n }),\n 'size.400': css({\n width: '40px'\n }),\n 'size.500': css({\n width: '48px'\n }),\n 'size.600': css({\n width: '96px'\n })\n};\nconst heightMap = {\n '100%': css({\n height: '100%'\n }),\n 'size.100': css({\n height: '16px'\n }),\n 'size.1000': css({\n height: '192px'\n }),\n 'size.200': css({\n height: '24px'\n }),\n 'size.300': css({\n height: '32px'\n }),\n 'size.400': css({\n height: '40px'\n }),\n 'size.500': css({\n height: '48px'\n }),\n 'size.600': css({\n height: '96px'\n })\n};\n\n/**\n * @codegenEnd\n */\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId spacing\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"padding\", \"paddingBlock\", \"paddingInline\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-spacing.tsx <>\n */\nconst paddingMap = {\n 'space.0': css({\n padding: \"var(--ds-space-0, 0px)\"\n }),\n 'space.025': css({\n padding: \"var(--ds-space-025, 2px)\"\n }),\n 'space.050': css({\n padding: \"var(--ds-space-050, 4px)\"\n }),\n 'space.075': css({\n padding: \"var(--ds-space-075, 6px)\"\n }),\n 'space.100': css({\n padding: \"var(--ds-space-100, 8px)\"\n }),\n 'space.1000': css({\n padding: \"var(--ds-space-1000, 80px)\"\n }),\n 'space.150': css({\n padding: \"var(--ds-space-150, 12px)\"\n }),\n 'space.200': css({\n padding: \"var(--ds-space-200, 16px)\"\n }),\n 'space.250': css({\n padding: \"var(--ds-space-250, 20px)\"\n }),\n 'space.300': css({\n padding: \"var(--ds-space-300, 24px)\"\n }),\n 'space.400': css({\n padding: \"var(--ds-space-400, 32px)\"\n }),\n 'space.500': css({\n padding: \"var(--ds-space-500, 40px)\"\n }),\n 'space.600': css({\n padding: \"var(--ds-space-600, 48px)\"\n }),\n 'space.800': css({\n padding: \"var(--ds-space-800, 64px)\"\n })\n};\nconst paddingBlockMap = {\n 'space.0': css({\n paddingBlock: \"var(--ds-space-0, 0px)\"\n }),\n 'space.025': css({\n paddingBlock: \"var(--ds-space-025, 2px)\"\n }),\n 'space.050': css({\n paddingBlock: \"var(--ds-space-050, 4px)\"\n }),\n 'space.075': css({\n paddingBlock: \"var(--ds-space-075, 6px)\"\n }),\n 'space.100': css({\n paddingBlock: \"var(--ds-space-100, 8px)\"\n }),\n 'space.1000': css({\n paddingBlock: \"var(--ds-space-1000, 80px)\"\n }),\n 'space.150': css({\n paddingBlock: \"var(--ds-space-150, 12px)\"\n }),\n 'space.200': css({\n paddingBlock: \"var(--ds-space-200, 16px)\"\n }),\n 'space.250': css({\n paddingBlock: \"var(--ds-space-250, 20px)\"\n }),\n 'space.300': css({\n paddingBlock: \"var(--ds-space-300, 24px)\"\n }),\n 'space.400': css({\n paddingBlock: \"var(--ds-space-400, 32px)\"\n }),\n 'space.500': css({\n paddingBlock: \"var(--ds-space-500, 40px)\"\n }),\n 'space.600': css({\n paddingBlock: \"var(--ds-space-600, 48px)\"\n }),\n 'space.800': css({\n paddingBlock: \"var(--ds-space-800, 64px)\"\n })\n};\nconst paddingInlineMap = {\n 'space.0': css({\n paddingInline: \"var(--ds-space-0, 0px)\"\n }),\n 'space.025': css({\n paddingInline: \"var(--ds-space-025, 2px)\"\n }),\n 'space.050': css({\n paddingInline: \"var(--ds-space-050, 4px)\"\n }),\n 'space.075': css({\n paddingInline: \"var(--ds-space-075, 6px)\"\n }),\n 'space.100': css({\n paddingInline: \"var(--ds-space-100, 8px)\"\n }),\n 'space.1000': css({\n paddingInline: \"var(--ds-space-1000, 80px)\"\n }),\n 'space.150': css({\n paddingInline: \"var(--ds-space-150, 12px)\"\n }),\n 'space.200': css({\n paddingInline: \"var(--ds-space-200, 16px)\"\n }),\n 'space.250': css({\n paddingInline: \"var(--ds-space-250, 20px)\"\n }),\n 'space.300': css({\n paddingInline: \"var(--ds-space-300, 24px)\"\n }),\n 'space.400': css({\n paddingInline: \"var(--ds-space-400, 32px)\"\n }),\n 'space.500': css({\n paddingInline: \"var(--ds-space-500, 40px)\"\n }),\n 'space.600': css({\n paddingInline: \"var(--ds-space-600, 48px)\"\n }),\n 'space.800': css({\n paddingInline: \"var(--ds-space-800, 64px)\"\n })\n};\n\n/**\n * @codegenEnd\n */\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"border\", \"background\", \"shadow\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nconst borderColorMap = {\n 'color.border': css({\n borderColor: \"var(--ds-border, #091e4221)\"\n }),\n disabled: css({\n borderColor: \"var(--ds-border-disabled, #FAFBFC)\"\n }),\n focused: css({\n borderColor: \"var(--ds-border-focused, #4C9AFF)\"\n }),\n input: css({\n borderColor: \"var(--ds-border-input, #FAFBFC)\"\n }),\n inverse: css({\n borderColor: \"var(--ds-border-inverse, #FFFFFF)\"\n }),\n selected: css({\n borderColor: \"var(--ds-border-selected, #0052CC)\"\n }),\n brand: css({\n borderColor: \"var(--ds-border-brand, #0052CC)\"\n }),\n danger: css({\n borderColor: \"var(--ds-border-danger, #FF5630)\"\n }),\n warning: css({\n borderColor: \"var(--ds-border-warning, #FFC400)\"\n }),\n success: css({\n borderColor: \"var(--ds-border-success, #00875A)\"\n }),\n discovery: css({\n borderColor: \"var(--ds-border-discovery, #998DD9)\"\n }),\n information: css({\n borderColor: \"var(--ds-border-information, #0065FF)\"\n }),\n bold: css({\n borderColor: \"var(--ds-border-bold, #344563)\"\n })\n};\nconst backgroundColorMap = {\n disabled: css({\n backgroundColor: \"var(--ds-background-disabled, #091e4289)\"\n }),\n input: css({\n backgroundColor: \"var(--ds-background-input, #FAFBFC)\"\n }),\n 'inverse.subtle': css({\n backgroundColor: \"var(--ds-background-inverse-subtle, #00000029)\"\n }),\n neutral: css({\n backgroundColor: \"var(--ds-background-neutral, #DFE1E6)\"\n }),\n 'neutral.subtle': css({\n backgroundColor: \"var(--ds-background-neutral-subtle, transparent)\"\n }),\n 'neutral.bold': css({\n backgroundColor: \"var(--ds-background-neutral-bold, #42526E)\"\n }),\n selected: css({\n backgroundColor: \"var(--ds-background-selected, #DEEBFF)\"\n }),\n 'selected.bold': css({\n backgroundColor: \"var(--ds-background-selected-bold, #0052CC)\"\n }),\n 'brand.bold': css({\n backgroundColor: \"var(--ds-background-brand-bold, #0052CC)\"\n }),\n danger: css({\n backgroundColor: \"var(--ds-background-danger, #FFEBE6)\"\n }),\n 'danger.bold': css({\n backgroundColor: \"var(--ds-background-danger-bold, #DE350B)\"\n }),\n warning: css({\n backgroundColor: \"var(--ds-background-warning, #FFFAE6)\"\n }),\n 'warning.bold': css({\n backgroundColor: \"var(--ds-background-warning-bold, #FFAB00)\"\n }),\n success: css({\n backgroundColor: \"var(--ds-background-success, #E3FCEF)\"\n }),\n 'success.bold': css({\n backgroundColor: \"var(--ds-background-success-bold, #00875A)\"\n }),\n discovery: css({\n backgroundColor: \"var(--ds-background-discovery, #EAE6FF)\"\n }),\n 'discovery.bold': css({\n backgroundColor: \"var(--ds-background-discovery-bold, #5243AA)\"\n }),\n information: css({\n backgroundColor: \"var(--ds-background-information, #DEEBFF)\"\n }),\n 'information.bold': css({\n backgroundColor: \"var(--ds-background-information-bold, #0052CC)\"\n }),\n 'color.blanket': css({\n backgroundColor: \"var(--ds-blanket, #091e4289)\"\n }),\n 'color.blanket.selected': css({\n backgroundColor: \"var(--ds-blanket-selected, #388BFF14)\"\n }),\n 'color.blanket.danger': css({\n backgroundColor: \"var(--ds-blanket-danger, #EF5C4814)\"\n }),\n 'elevation.surface': css({\n backgroundColor: \"var(--ds-surface, #FFFFFF)\"\n }),\n 'elevation.surface.overlay': css({\n backgroundColor: \"var(--ds-surface-overlay, #FFFFFF)\"\n }),\n 'elevation.surface.raised': css({\n backgroundColor: \"var(--ds-surface-raised, #FFFFFF)\"\n }),\n 'elevation.surface.sunken': css({\n backgroundColor: \"var(--ds-surface-sunken, #F4F5F7)\"\n })\n};\nconst shadowMap = {\n overflow: css({\n boxShadow: \"var(--ds-shadow-overflow, 0px 0px 8px #091e423f, 0px 0px 1px #091e424f)\"\n }),\n 'overflow.perimeter': css({\n boxShadow: \"var(--ds-shadow-overflow-perimeter, #091e421f)\"\n }),\n 'overflow.spread': css({\n boxShadow: \"var(--ds-shadow-overflow-spread, #091e4229)\"\n }),\n overlay: css({\n boxShadow: \"var(--ds-shadow-overlay, 0px 8px 12px #091e423f, 0px 0px 1px #091e424f)\"\n }),\n raised: css({\n boxShadow: \"var(--ds-shadow-raised, 0px 1px 1px #091e423f, 0px 0px 1px #091e4221)\"\n })\n};\n\n/**\n * @codegenEnd\n */\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId misc\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"layer\"]\n */\nconst layerMap = {\n card: css({\n zIndex: LAYERS['card']\n }),\n navigation: css({\n zIndex: LAYERS['navigation']\n }),\n dialog: css({\n zIndex: LAYERS['dialog']\n }),\n layer: css({\n zIndex: LAYERS['layer']\n }),\n blanket: css({\n zIndex: LAYERS['blanket']\n }),\n modal: css({\n zIndex: LAYERS['modal']\n }),\n flag: css({\n zIndex: LAYERS['flag']\n }),\n spotlight: css({\n zIndex: LAYERS['spotlight']\n }),\n tooltip: css({\n zIndex: LAYERS['tooltip']\n })\n};\n/**\n * @codegenEnd\n */","export 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};","import { createContext, useContext } from 'react';\n\n/**\n * __Surface context__\n *\n * A surface context provides context information on the current background (if set).\n */\nexport const SurfaceContext = /*#__PURE__*/createContext('elevation.surface');\n/**\n * __useSurface__\n *\n * Return the current surface. If no parent sets a surface color it falls back to the default surface.\n *\n * @see SurfaceContext\n */\n\nexport const useSurface = () => {\n return useContext(SurfaceContext);\n};\nSurfaceContext.displayName = 'SurfaceProvider';","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","/**\n * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n *\n * The color map is used to map a background color token to a matching text color that will meet contrast.\n *\n * @codegen <>\n * @codegenCommand yarn codegen-styles\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nexport default {\n 'neutral.bold': 'inverse',\n 'neutral.bold.hovered': 'inverse',\n 'neutral.bold.pressed': 'inverse',\n 'selected.bold': 'inverse',\n 'selected.bold.hovered': 'inverse',\n 'selected.bold.pressed': 'inverse',\n 'brand.bold': 'inverse',\n 'brand.bold.hovered': 'inverse',\n 'brand.bold.pressed': 'inverse',\n 'danger.bold': 'inverse',\n 'danger.bold.hovered': 'inverse',\n 'danger.bold.pressed': 'inverse',\n 'warning.bold': 'warning.inverse',\n 'warning.bold.hovered': 'warning.inverse',\n 'warning.bold.pressed': 'warning.inverse',\n 'success.bold': 'inverse',\n 'success.bold.hovered': 'inverse',\n 'success.bold.pressed': 'inverse',\n 'discovery.bold': 'inverse',\n 'discovery.bold.hovered': 'inverse',\n 'discovery.bold.pressed': 'inverse',\n 'information.bold': 'inverse',\n 'information.bold.hovered': 'inverse',\n 'information.bold.pressed': 'inverse'\n};","/** @jsx jsx */\nimport { createContext, Fragment, useContext } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport invariant from 'tiny-invariant';\nimport surfaceColorMap from '../internal/color-map';\nimport { useSurface } from './surface-provider';\nconst asAllowlist = ['span', 'div', 'p', 'strong'];\nconst textAlignMap = {\n center: css({\n textAlign: 'center'\n }),\n end: css({\n textAlign: 'end'\n }),\n start: css({\n textAlign: 'start'\n })\n};\nconst textTransformMap = {\n none: css({\n textTransform: 'none'\n }),\n lowercase: css({\n textTransform: 'lowercase'\n }),\n uppercase: css({\n textTransform: 'uppercase'\n })\n};\nconst verticalAlignMap = {\n top: css({\n verticalAlign: 'top'\n }),\n middle: css({\n verticalAlign: 'middle'\n }),\n bottom: css({\n verticalAlign: 'bottom'\n })\n};\nconst baseStyles = css({\n boxSizing: 'border-box',\n margin: \"var(--ds-space-0, 0px)\",\n padding: \"var(--ds-space-0, 0px)\"\n});\nconst truncateStyles = css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n});\n/**\n * Custom hook designed to abstract the parsing of the color props and make it clearer in the future how color is reconciled between themes and tokens.\n */\n\nconst useColor = colorProp => {\n const surface = useSurface();\n const inverseTextColor = surfaceColorMap[surface];\n /**\n * Where the color of the surface is inverted we override the user choice\n * as there is no valid choice that is not covered by the override.\n */\n\n const color = inverseTextColor !== null && inverseTextColor !== void 0 ? inverseTextColor : colorProp;\n return color;\n};\n\nconst HasTextAncestorContext = /*#__PURE__*/createContext(false);\n\nconst useHasTextAncestor = () => useContext(HasTextAncestorContext);\n/**\n * __Text__\n *\n * Text is a primitive component that has the Atlassian Design System's design guidelines baked in.\n * This includes considerations for text attributes such as color, font size, font weight, and line height.\n * It renders a `span` by default.\n *\n * @internal\n */\n\n\nconst Text = ({\n children,\n ...props\n}) => {\n const {\n as: Component = 'span',\n color: colorProp,\n fontSize,\n fontWeight,\n lineHeight,\n shouldTruncate = false,\n textAlign,\n textTransform,\n verticalAlign,\n testId,\n UNSAFE_style,\n id\n } = props;\n invariant(asAllowlist.includes(Component), `@atlaskit/ds-explorations: Text received an invalid \"as\" value of \"${Component}\"`);\n const color = useColor(colorProp);\n const isWrapped = useHasTextAncestor();\n /**\n * If the text is already wrapped and applies no props we can just\n * render the children directly as a fragment.\n */\n\n if (isWrapped && Object.keys(props).length === 0) {\n return jsx(Fragment, null, children);\n }\n\n const component = jsx(Component, {\n style: UNSAFE_style,\n css: [baseStyles, fontFamilyMap.sans, color && textColorMap[color], fontSize && fontSizeMap[fontSize], fontWeight && fontWeightMap[fontWeight], lineHeight && lineHeightMap[lineHeight], shouldTruncate && truncateStyles, textAlign && textAlignMap[textAlign], textTransform && textTransformMap[textTransform], verticalAlign && verticalAlignMap[verticalAlign]],\n \"data-testid\": testId,\n id: id\n }, children);\n return isWrapped ? // no need to re-apply context if the text is already wrapped\n component : jsx(HasTextAncestorContext.Provider, {\n value: true\n }, component);\n};\n\nexport default Text;\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId typography\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"fontSize\", \"fontWeight\", \"fontFamily\", \"lineHeight\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-typography.tsx <>\n */\n\nconst fontSizeMap = {\n 'size.050': css({\n fontSize: \"var(--ds-font-size-050, 11px)\"\n }),\n 'size.075': css({\n fontSize: \"var(--ds-font-size-075, 12px)\"\n }),\n 'size.100': css({\n fontSize: \"var(--ds-font-size-100, 14px)\"\n }),\n 'size.200': css({\n fontSize: \"var(--ds-font-size-200, 16px)\"\n }),\n 'size.300': css({\n fontSize: \"var(--ds-font-size-300, 20px)\"\n }),\n 'size.400': css({\n fontSize: \"var(--ds-font-size-400, 24px)\"\n }),\n 'size.500': css({\n fontSize: \"var(--ds-font-size-500, 29px)\"\n }),\n 'size.600': css({\n fontSize: \"var(--ds-font-size-600, 35px)\"\n })\n};\nconst fontWeightMap = {\n bold: css({\n fontWeight: \"var(--ds-font-weight-bold, 700)\"\n }),\n medium: css({\n fontWeight: \"var(--ds-font-weight-medium, 500)\"\n }),\n regular: css({\n fontWeight: \"var(--ds-font-weight-regular, 400)\"\n }),\n semibold: css({\n fontWeight: \"var(--ds-font-weight-semibold, 600)\"\n })\n};\nconst fontFamilyMap = {\n monospace: css({\n fontFamily: \"var(--ds-font-family-monospace, \\\"SFMono-Medium\\\", \\\"SF Mono\\\", \\\"Segoe UI Mono\\\", \\\"Roboto Mono\\\", \\\"Ubuntu Mono\\\", Menlo, Consolas, Courier, monospace)\"\n }),\n sans: css({\n fontFamily: \"var(--ds-font-family-sans, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\", \\\"Ubuntu\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\", sans-serif)\"\n })\n};\nconst lineHeightMap = {\n 'lineHeight.100': css({\n lineHeight: \"var(--ds-font-lineHeight-100, 16px)\"\n }),\n 'lineHeight.200': css({\n lineHeight: \"var(--ds-font-lineHeight-200, 20px)\"\n }),\n 'lineHeight.300': css({\n lineHeight: \"var(--ds-font-lineHeight-300, 24px)\"\n }),\n 'lineHeight.400': css({\n lineHeight: \"var(--ds-font-lineHeight-400, 28px)\"\n }),\n 'lineHeight.500': css({\n lineHeight: \"var(--ds-font-lineHeight-500, 32px)\"\n }),\n 'lineHeight.600': css({\n lineHeight: \"var(--ds-font-lineHeight-600, 40px)\"\n })\n};\n\n/**\n * @codegenEnd\n */\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"text\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <>\n */\nconst textColorMap = {\n 'color.text': css({\n color: \"var(--ds-text, #172B4D)\"\n }),\n disabled: css({\n color: \"var(--ds-text-disabled, #A5ADBA)\"\n }),\n inverse: css({\n color: \"var(--ds-text-inverse, #FFFFFF)\"\n }),\n selected: css({\n color: \"var(--ds-text-selected, #0052CC)\"\n }),\n brand: css({\n color: \"var(--ds-text-brand, #0065FF)\"\n }),\n danger: css({\n color: \"var(--ds-text-danger, #DE350B)\"\n }),\n warning: css({\n color: \"var(--ds-text-warning, #974F0C)\"\n }),\n 'warning.inverse': css({\n color: \"var(--ds-text-warning-inverse, #172B4D)\"\n }),\n success: css({\n color: \"var(--ds-text-success, #006644)\"\n }),\n discovery: css({\n color: \"var(--ds-text-discovery, #403294)\"\n }),\n information: css({\n color: \"var(--ds-text-information, #0052CC)\"\n }),\n subtlest: css({\n color: \"var(--ds-text-subtlest, #7A869A)\"\n }),\n subtle: css({\n color: \"var(--ds-text-subtle, #42526E)\"\n })\n};\n/**\n * @codegenEnd\n */","import { createContext, useContext, forwardRef, createElement, Fragment } 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 hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */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\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return 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 = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/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 = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/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 var rules = 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, 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__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.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-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.5\",\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\"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\"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\"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\"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\": \"./macro.js\"\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.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\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.10.5\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.18.5\",\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.5\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.5\",\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\": \"./macro.js\"\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 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 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, useContext(ThemeContext));\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 = useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = 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: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/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 { 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 * \n * \n * )\n * ```\n */\n\nconst FocusRing = ({\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( // 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};\n\nexport default FocusRing;","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext(null);","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 * Internally we will be playing with an element that will always have a key defined.\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);\n\nconst isAnyPreviousKeysMissingFromCurrent = (currentMap, previous) => {\n for (let i = 0; i < previous.length; i++) {\n const element = previous[i];\n const key = element.key;\n\n if (!currentMap[key]) {\n return true;\n }\n }\n\n return false;\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 */\n\n\nconst wrapChildWithContextProvider = (child, value = emptyContext) => {\n return /*#__PURE__*/React.createElement(ExitingContext.Provider, {\n key: `${child.key}-provider`,\n value: value\n }, child);\n};\n\nconst childrenToObj = children => {\n return children.reduce((acc, child) => {\n acc[child.key] = child;\n return acc;\n }, {});\n};\n\nconst spliceNewElementsIntoPrevious = (current, previous) => {\n const splicedChildren = previous.concat([]);\n const previousMap = childrenToObj(previous);\n\n for (let i = 0; i < current.length; i++) {\n const child = current[i];\n const childIsNew = !previousMap[child.key];\n\n if (childIsNew) {\n // This will insert the new element after the previous element.\n splicedChildren.splice(i + 1, 0, child);\n }\n }\n\n return splicedChildren;\n};\n/**\n * This function will convert all children types to an array while also filtering out non-valid React elements.\n */\n\n\nconst childrenToArray = children => {\n const childrenAsArray = []; // 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\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 * 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 */\n\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 * __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 */\n\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 }), // 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\n if (isReducedMotion()) {\n return children;\n }\n\n if (!appear.current) {\n // We always want child motions to appear after the initial mount.\n appear.current = true;\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\n\n if (previousChildren.current.length && isAnyPreviousKeysMissingFromCurrent(childrenObj, previousChildren.current)) {\n if (persistedChildren.current.length === 0 || hasAnyExitingChildMountedAgain(exitingChildren, children)) {\n persistedChildren.current = previousChildren.current;\n } // We have persisted children now set from previous children.\n // Let's update previous children so we have it available next render.\n\n\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\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]; // 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\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 = []; // Re-render after the element(s) have animated away which will end up rendering the latest children.\n\n forceRender();\n }\n }\n });\n } // This element isn't exiting.\n // Wrap context and let's continue on our way.\n\n\n return wrapChildWithContextProvider(currentChild, defaultContextValue);\n });\n } else {\n previousChildren.current = children;\n }\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 { createContext, useContext, forwardRef, createElement, Fragment } 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 hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */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\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return 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 = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/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 = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/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 var rules = 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, 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__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.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-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.5\",\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\"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\"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\"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\"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\": \"./macro.js\"\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.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\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.10.5\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.18.5\",\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.5\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.5\",\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\": \"./macro.js\"\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 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 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, useContext(ThemeContext));\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 = useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = 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: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/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';\n\nconst getHookDeps = opts => {\n switch (opts.cleanup) {\n case 'next-effect':\n return undefined;\n\n case 'unmount':\n default:\n return [];\n }\n};\n/**\n * Will return request animation frame as a function which will clean itself up.\n */\n\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 }; // 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 * Will return set timeout as a function which will clean itself up.\n */\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 }; // 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 * 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 */\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\n if (typeof column === 'number') {\n // A hardcoded column is set so we will set actualColumns to be 1.\n return 1;\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\n\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\n if (elementRefs.current.length <= 1) {\n setActualColumns(1);\n return;\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\n\n currentTop = elementRefs.current[0] ? elementRefs.current[0].offsetTop : 0;\n\n for (let i = 0; i < elementRefs.current.length; i++) {\n const child = elementRefs.current[i];\n\n if (!child) {\n break;\n }\n\n if (currentTop === child.offsetTop) {\n numberColumns += 1;\n\n if (elementRefs.current.length - 1 === i) {\n setActualColumns(numberColumns);\n }\n\n continue;\n }\n\n setActualColumns(numberColumns);\n break;\n }\n } // We only want this effect to run once - on initial mount.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n return /*#__PURE__*/React.createElement(StaggeredEntranceContext.Provider, {\n value: id => {\n if (!indexes.includes(id)) {\n indexes.push(id);\n }\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; // 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\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};\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 * Used to multiply the initial duration for exiting motions.\n */\nconst EXITING_MOTION_MULTIPLIER = 0.5;\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 */\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\n if (paused) {\n return;\n } // On initial mount if elements aren't set to animate on appear, we return early and callback\n\n\n if (!appear) {\n onFinishMotion && onFinishMotion(state);\n return;\n } // Elements may need animation styles back after initial mount (they could animate out)\n\n\n setHasAnimationStyles(true);\n setTimeout(() => {\n if (state === 'exiting') {\n onExitFinished && onExitFinished();\n }\n\n if (!isCancelled) {\n setHasAnimationStyles(false);\n }\n\n onFinishMotion && onFinishMotion(state);\n }, isExiting ? duration * EXITING_MOTION_MULTIPLIER : duration + delay);\n return () => {\n isCancelled = true;\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({ ...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};\n\nexport default EnteringMotion;","/* eslint-disable @repo/internal/react/disallow-unstable-values */\nimport { useRef } from 'react';\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 */\n\nexport function useUniqueId() {\n const identifier = useRef('');\n\n if (!identifier.current) {\n identifier.current = '_' + (Number(String(Math.random()).slice(2)) + Date.now() + Math.round(performance.now())).toString(36);\n }\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 * 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};\n\nexport default FadeIn;","import { useEffect, useState } from 'react';\nimport { bind } from 'bind-event-listener';\n\nconst isMatchMediaAvailable = () => typeof window !== 'undefined' && 'matchMedia' in window;\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 */\n\n\nexport const isReducedMotion = () => {\n if (!isMatchMediaAvailable()) {\n return false;\n }\n\n const {\n matches\n } = window.matchMedia('(prefers-reduced-motion: reduce)');\n return matches;\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 */\n\nexport const useIsReducedMotion = () => {\n const [prefersReducedMotion, setPrefersReducedMotion] = useState(isReducedMotion);\n useEffect(() => {\n if (!isMatchMediaAvailable()) {\n return;\n }\n\n const mediaQueryList = window.matchMedia('(prefers-reduced-motion: reduce)');\n\n const onChange = event => setPrefersReducedMotion(event.matches);\n\n return bind(mediaQueryList, {\n type: 'change',\n listener: onChange\n });\n }, []);\n return prefersReducedMotion;\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 */\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;","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef } from './utils';\nimport { usePopper } from './usePopper';\n\nvar NOOP = function NOOP() {\n return void 0;\n};\n\nvar NOOP_PROMISE = function NOOP_PROMISE() {\n return Promise.resolve(null);\n};\n\nvar EMPTY_MODIFIERS = [];\nexport function Popper(_ref) {\n var _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,\n _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? EMPTY_MODIFIERS : _ref$modifiers,\n referenceElement = _ref.referenceElement,\n onFirstUpdate = _ref.onFirstUpdate,\n innerRef = _ref.innerRef,\n children = _ref.children;\n var referenceNode = React.useContext(ManagerReferenceNodeContext);\n\n var _React$useState = React.useState(null),\n popperElement = _React$useState[0],\n setPopperElement = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowElement = _React$useState2[0],\n setArrowElement = _React$useState2[1];\n\n React.useEffect(function () {\n setRef(innerRef, popperElement);\n }, [innerRef, popperElement]);\n var options = React.useMemo(function () {\n return {\n placement: placement,\n strategy: strategy,\n onFirstUpdate: onFirstUpdate,\n modifiers: [].concat(modifiers, [{\n name: 'arrow',\n enabled: arrowElement != null,\n options: {\n element: arrowElement\n }\n }])\n };\n }, [placement, strategy, onFirstUpdate, modifiers, arrowElement]);\n\n var _usePopper = usePopper(referenceElement || referenceNode, popperElement, options),\n state = _usePopper.state,\n styles = _usePopper.styles,\n forceUpdate = _usePopper.forceUpdate,\n update = _usePopper.update;\n\n var childrenProps = React.useMemo(function () {\n return {\n ref: setPopperElement,\n style: styles.popper,\n placement: state ? state.placement : placement,\n hasPopperEscaped: state && state.modifiersData.hide ? state.modifiersData.hide.hasPopperEscaped : null,\n isReferenceHidden: state && state.modifiersData.hide ? state.modifiersData.hide.isReferenceHidden : null,\n arrowProps: {\n style: styles.arrow,\n ref: setArrowElement\n },\n forceUpdate: forceUpdate || NOOP,\n update: update || NOOP_PROMISE\n };\n }, [setPopperElement, setArrowElement, placement, state, styles, update, forceUpdate]);\n return unwrapArray(children)(childrenProps);\n}","import React, { useMemo } from 'react';\nimport { Popper as ReactPopper } from 'react-popper';\nexport { placements } from '@popperjs/core'; // Export types from PopperJS / React Popper\n\nconst constantModifiers = [{\n name: 'flip',\n options: {\n flipVariations: false,\n padding: 5,\n boundary: 'clippingParents',\n rootBoundary: 'viewport'\n }\n}, {\n name: 'preventOverflow',\n options: {\n padding: 5,\n rootBoundary: 'document'\n }\n}];\n\nfunction defaultChildrenFn() {\n return null;\n}\n\nconst defaultOffset = [0, 8];\nexport function Popper({\n children = defaultChildrenFn,\n offset = defaultOffset,\n placement = 'bottom-start',\n referenceElement = undefined,\n modifiers,\n strategy = 'fixed'\n}) {\n const [offsetX, offsetY] = offset;\n // Merge a new offset modifier only if new offset values passed in\n const internalModifiers = useMemo(() => {\n const offsetModifier = {\n name: 'offset',\n options: {\n offset: [offsetX, offsetY]\n }\n };\n return [...constantModifiers, offsetModifier];\n }, [offsetX, offsetY]); // Merge custom props and memoize\n\n const mergedModifiers = useMemo(() => {\n if (modifiers == null) {\n return internalModifiers;\n }\n\n return [...internalModifiers, ...modifiers];\n }, [internalModifiers, modifiers]);\n return /*#__PURE__*/React.createElement(ReactPopper, {\n modifiers: mergedModifiers,\n placement: placement,\n strategy: strategy,\n referenceElement: referenceElement\n }, children);\n}","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 * 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 */\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 * Returns document body element\n * @return {number} - The document body element\n */\n\nconst getBody = () => {\n return document.body;\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 */\n\n\nconst getPortalParent = () => {\n const parentElement = document.querySelector(portalParentSelector);\n\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.className = portalParentClassName; // 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\n parent.style.display = 'flex';\n getBody().appendChild(parent);\n return parent;\n }\n\n return parentElement;\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 */\n\n\nexport const removePortalContainer = container => {\n getPortalParent().removeChild(container);\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 */\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]); // 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\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';\n\nconst useIsSubsequentRender = () => {\n const [isSubsequentRender, setIsSubsequentRender] = useState(false);\n useEffect(() => {\n setIsSubsequentRender(true);\n }, []);\n return isSubsequentRender;\n};\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 * 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 */\n\nconst getLayerName = zIndex => {\n return zIndexToName.hasOwnProperty(zIndex) ? zIndexToName[zIndex] : null;\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 */\n\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 * 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 */\n\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';\n\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};\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}","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 usePlatformLeafSyntheticEventHandler({\n fn,\n action,\n componentName,\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(() => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n 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(analyticsEvent);\n }, [// These are strings and won't change\n action, componentName, 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}","let delayId = null;\nexport function clearScheduled() {\n if (delayId != null) {\n window.clearTimeout(delayId);\n delayId = null;\n }\n}\nexport function scheduleTimeout(fn, delay) {\n clearScheduled();\n delayId = window.setTimeout(() => {\n delayId = null;\n fn();\n }, delay);\n}","import { clearScheduled, scheduleTimeout } from './shared-schedule'; // This file is a singleton for managing tooltips\n\nlet active = null;\nexport function show(entry) {\n let phase = 'waiting-to-show';\n\n function isActive() {\n return Boolean(active && active.entry === entry);\n }\n\n function cleanup() {\n if (isActive()) {\n clearScheduled();\n active = null;\n }\n }\n\n function done() {\n if (isActive()) {\n entry.done();\n }\n\n phase = 'done';\n cleanup();\n }\n\n function immediatelyHideAndDone() {\n if (isActive()) {\n entry.hide({\n isImmediate: true\n });\n }\n\n done();\n }\n\n function keep() {\n if (!isActive()) {\n return;\n } // aborting a wait to hide\n\n\n if (phase === 'waiting-to-hide') {\n phase = 'shown';\n clearScheduled();\n return;\n } // aborting hide animation\n\n\n if (phase === 'hide-animating') {\n phase = 'shown';\n clearScheduled();\n entry.show({\n isImmediate: false\n });\n return;\n }\n }\n\n function requestHide({\n isImmediate\n }) {\n if (!isActive()) {\n return;\n } // If we were not showing yet anyway; finish straight away\n\n\n if (phase === 'waiting-to-show') {\n immediatelyHideAndDone();\n return;\n } // already waiting to hide\n\n\n if (phase === 'waiting-to-hide') {\n return;\n }\n\n if (isImmediate) {\n immediatelyHideAndDone();\n return;\n }\n\n phase = 'waiting-to-hide';\n scheduleTimeout(() => {\n phase = 'hide-animating';\n entry.hide({\n isImmediate: false\n });\n }, entry.delay);\n }\n\n function finishHideAnimation() {\n if (isActive() && phase === 'hide-animating') {\n done();\n }\n }\n\n function isVisible() {\n return phase === 'shown' || phase === 'waiting-to-hide' || phase === 'hide-animating';\n }\n\n function getInitialMouse() {\n if (entry.source.type === 'mouse') {\n return entry.source.mouse;\n }\n\n return null;\n }\n\n function start() {\n const showImmediately = Boolean(active && active.isVisible()); // If there was an active tooltip; we tell it to remove itself at once!\n\n if (active) {\n clearScheduled();\n active.entry.hide({\n isImmediate: true\n });\n active.entry.done();\n active = null;\n } // this tooltip is now the active tooltip\n\n\n active = {\n entry,\n isVisible\n };\n\n function show() {\n phase = 'shown';\n entry.show({\n isImmediate: showImmediately\n });\n }\n\n if (showImmediately) {\n show();\n return;\n }\n\n phase = 'waiting-to-show';\n scheduleTimeout(show, entry.delay);\n } // let's get started!\n\n\n start();\n const result = {\n keep,\n abort: cleanup,\n isActive,\n requestHide,\n finishHideAnimation,\n mousePosition: getInitialMouse()\n };\n return result;\n}","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n } // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n } // If format not supported (or no theme provided), return standard theme\n\n\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './get-theme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n\n if (value) {\n return value;\n } // TS believes value can be undefined\n\n }\n }\n\n return '';\n };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n\n if (value) {\n return value;\n }\n }\n\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme'; // Create default global light theme\n\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/**\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 * 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\n\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\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\n\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props; // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n\n const tokens = useTheme(themeProps); // 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\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\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\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\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { borderRadius } from '@atlaskit/theme/constants';\nimport TooltipPrimitive from './TooltipPrimitive';\nconst baseStyles = css({\n boxSizing: 'border-box',\n maxWidth: '240px',\n padding: `${\"var(--ds-scale-025, 2px)\"} ${\"var(--ds-scale-075, 6px)\"}`,\n top: 0,\n left: 0,\n borderRadius: `${borderRadius()}px`,\n fontSize: '12px',\n lineHeight: 1.3,\n overflowWrap: 'break-word',\n wordWrap: 'break-word'\n});\nconst truncateStyles = css({\n maxWidth: '420px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n});\nconst lightStyles = css({\n backgroundColor: `var(--ds-background-neutral-bold, ${N800})`,\n color: `var(--ds-text-inverse, ${N0})`\n});\nconst darkStyles = css({\n backgroundColor: `var(--ds-background-neutral-bold, ${DN0})`,\n color: `var(--ds-text-inverse, ${DN600})`\n});\nconst TooltipContainer = /*#__PURE__*/forwardRef(function TooltipContainer({\n style,\n className,\n children,\n truncate,\n placement,\n testId,\n onMouseOut,\n onMouseOver,\n id\n}, ref) {\n return jsx(GlobalTheme.Consumer, null, ({\n mode\n }) => // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n jsx(TooltipPrimitive, {\n ref: ref,\n style: style,\n className: className,\n placement: placement,\n testId: testId,\n id: id,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOver,\n css: [baseStyles, truncate ? truncateStyles : null, mode === 'light' ? lightStyles : darkStyles]\n }, children));\n});\nTooltipContainer.displayName = 'TooltipContainer';\nexport default TooltipContainer;","export function getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || {\n top: 0,\n left: 0\n };\n\n const getBoundingClientRect = () => ({\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}","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { jsx } from '@emotion/react';\nimport { bind } from 'bind-event-listener';\nimport { usePlatformLeafSyntheticEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useCloseOnEscapePress from '@atlaskit/ds-lib/use-close-on-escape-press';\nimport { ExitingPersistence, FadeIn } from '@atlaskit/motion';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { show } from './internal/tooltip-manager';\nimport useUniqueId from './internal/use-unique-id';\nimport TooltipContainer from './TooltipContainer';\nimport { getMousePosition } from './utilities';\nconst tooltipZIndex = layers.tooltip();\nconst analyticsAttributes = {\n componentName: 'tooltip',\n packageName: \"@atlaskit/tooltip\",\n packageVersion: \"17.6.5\"\n}; // Inverts motion direction\n\nconst invertedDirection = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\n/**\n * Converts a Popper placement to it's general direction.\n *\n * @param position - Popper Placement value, e.g. 'top-start'\n * @returns Popper Direction, e.g. 'top'\n */\n\nconst getDirectionFromPlacement = placement => placement.split('-')[0];\n\nfunction Tooltip({\n children,\n position = 'bottom',\n mousePosition = 'bottom',\n content,\n truncate = false,\n component: Container = TooltipContainer,\n tag: TargetContainer = 'div',\n testId,\n delay = 300,\n onShow = noop,\n onHide = noop,\n hideTooltipOnClick = false,\n hideTooltipOnMouseDown = false,\n analyticsContext,\n strategy = 'fixed'\n}) {\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n const onShowHandler = usePlatformLeafSyntheticEventHandler({\n fn: onShow,\n action: 'displayed',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const onHideHandler = usePlatformLeafSyntheticEventHandler({\n fn: onHide,\n action: 'hidden',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const apiRef = useRef(null);\n const [state, setState] = useState('hide');\n const targetRef = useRef(null);\n const containerRef = useRef(null);\n const setRef = useCallback(node => {\n if (!node) {\n return;\n }\n\n if (typeof children === 'function') {\n // @ts-ignore - React Ref typing is too strict for this use case\n targetRef.current = node;\n } else {\n // @ts-ignore - React Ref typing is too strict for this use case\n containerRef.current = node; // @ts-ignore - React Ref typing is too strict for this use case\n\n targetRef.current = node.firstChild;\n }\n }, [children]); // Putting a few things into refs so that we don't have to break memoization\n\n const lastState = useRef(state);\n const lastDelay = useRef(delay);\n const lastHandlers = useRef({\n onShowHandler,\n onHideHandler\n });\n const hasCalledShowHandler = useRef(false);\n useEffect(() => {\n lastState.current = state;\n lastDelay.current = delay;\n lastHandlers.current = {\n onShowHandler,\n onHideHandler\n };\n }, [delay, onHideHandler, onShowHandler, state]);\n const start = useCallback(api => {\n // @ts-ignore\n apiRef.current = api;\n hasCalledShowHandler.current = false;\n }, []);\n const done = useCallback(() => {\n if (!apiRef.current) {\n return;\n } // Only call onHideHandler if we have called onShowHandler\n\n\n if (hasCalledShowHandler.current) {\n lastHandlers.current.onHideHandler();\n } // @ts-ignore\n\n\n apiRef.current = null; // @ts-ignore\n\n hasCalledShowHandler.current = false; // just in case\n\n setState('hide');\n }, []);\n const abort = useCallback(() => {\n if (!apiRef.current) {\n return;\n }\n\n apiRef.current.abort(); // Only call onHideHandler if we have called onShowHandler\n\n if (hasCalledShowHandler.current) {\n lastHandlers.current.onHideHandler();\n } // @ts-ignore\n\n\n apiRef.current = null;\n }, []);\n useEffect(function mount() {\n return function unmount() {\n if (apiRef.current) {\n abort();\n }\n };\n }, [abort]);\n const showTooltip = useCallback(source => {\n if (apiRef.current && !apiRef.current.isActive()) {\n abort();\n } // Tell the tooltip to keep showing\n\n\n if (apiRef.current && apiRef.current.isActive()) {\n apiRef.current.keep();\n return;\n }\n\n const entry = {\n source,\n delay: lastDelay.current,\n show: ({\n isImmediate\n }) => {\n // Call the onShow handler if it hasn't been called yet\n if (!hasCalledShowHandler.current) {\n hasCalledShowHandler.current = true;\n lastHandlers.current.onShowHandler();\n }\n\n setState(isImmediate ? 'show-immediate' : 'fade-in');\n },\n hide: ({\n isImmediate\n }) => {\n if (isImmediate) {\n setState('hide');\n } else {\n setState('before-fade-out');\n }\n },\n done: done\n };\n const api = show(entry);\n start(api);\n }, [abort, done, start]);\n const hideTooltipOnEsc = useCallback(() => {\n var _apiRef$current;\n\n (_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.requestHide({\n isImmediate: true\n });\n }, [apiRef]);\n useCloseOnEscapePress({\n onClose: hideTooltipOnEsc,\n isDisabled: state === 'hide' || state === 'fade-out'\n });\n useEffect(() => {\n if (state === 'hide') {\n return noop;\n }\n\n if (state === 'before-fade-out') {\n setState('fade-out');\n }\n\n const unbind = bind(window, {\n type: 'scroll',\n listener: () => {\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n },\n options: {\n capture: true,\n passive: true,\n once: true\n }\n });\n return unbind;\n }, [state]);\n const onMouseDown = useCallback(() => {\n if (hideTooltipOnMouseDown && apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n }, [hideTooltipOnMouseDown]);\n const onClick = useCallback(() => {\n if (hideTooltipOnClick && apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n }, [hideTooltipOnClick]); // Ideally we would be using onMouseEnter here, but\n // because we are binding the event to the target parent\n // we need to listen for the mouseover of all sub elements\n // This means when moving along a tooltip we are quickly toggling\n // between api.requestHide and api.keep. This it not ideal\n\n const onMouseOver = useCallback(event => {\n // Ignoring events from the container ref\n if (containerRef.current && event.target === containerRef.current) {\n return;\n } // Using prevent default as a signal that parent tooltips\n\n\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n const source = position === 'mouse' ? {\n type: 'mouse',\n // TODO: ideally not recalculating this object each time\n mouse: getMousePosition({\n left: event.clientX,\n top: event.clientY\n })\n } : {\n type: 'keyboard'\n };\n showTooltip(source);\n }, [position, showTooltip]); // Ideally we would be using onMouseEnter here, but\n // because we are binding the event to the target parent\n // we need to listen for the mouseout of all sub elements\n // This means when moving along a tooltip we are quickly toggling\n // between api.requestHide and api.keep. This it not ideal\n\n const onMouseOut = useCallback(event => {\n // Ignoring events from the container ref\n if (containerRef.current && event.target === containerRef.current) {\n return;\n } // Using prevent default as a signal that parent tooltips\n\n\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: false\n });\n }\n }, []);\n const onMouseMove = position === 'mouse' ? event => {\n var _apiRef$current2;\n\n if ((_apiRef$current2 = apiRef.current) !== null && _apiRef$current2 !== void 0 && _apiRef$current2.isActive()) {\n apiRef.current.mousePosition = getMousePosition({\n left: event.clientX,\n top: event.clientY\n });\n }\n } : undefined;\n const onMouseOverTooltip = useCallback(() => {\n if (apiRef.current && apiRef.current.isActive()) {\n apiRef.current.keep();\n return;\n }\n }, []);\n const onFocus = useCallback(() => {\n showTooltip({\n type: 'keyboard'\n });\n }, [showTooltip]);\n const onBlur = useCallback(() => {\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: false\n });\n }\n }, []);\n const onAnimationFinished = useCallback(transition => {\n // Using lastState here because motion is not picking up the latest value\n if (transition === 'exiting' && lastState.current === 'fade-out' && apiRef.current) {\n // @ts-ignore: refs are writeable\n apiRef.current.finishHideAnimation();\n }\n }, []); // Doing a cast because typescript is struggling to narrow the type\n\n const CastTargetContainer = TargetContainer;\n const shouldRenderTooltipContainer = state !== 'hide' && Boolean(content);\n const shouldRenderTooltipChildren = state !== 'hide' && state !== 'fade-out';\n\n const getReferenceElement = () => {\n var _apiRef$current3;\n\n if (position === 'mouse' && (_apiRef$current3 = apiRef.current) !== null && _apiRef$current3 !== void 0 && _apiRef$current3.mousePosition) {\n var _apiRef$current4;\n\n return (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 ? void 0 : _apiRef$current4.mousePosition;\n }\n\n return targetRef.current || undefined;\n };\n\n const tooltipId = useUniqueId('tooltip', shouldRenderTooltipContainer);\n const tooltipTriggerProps = {\n onMouseOver,\n onMouseOut,\n onMouseMove,\n onMouseDown,\n onClick,\n onFocus,\n onBlur,\n ref: setRef,\n 'aria-describedby': tooltipId\n }; // Don't set `data-testid` unless it's defined, as it's not in the interface.\n\n if (testId) {\n // @ts-expect-error - Adding `data-testid` to the TriggerProps interface breaks Buttons.\n tooltipTriggerProps['data-testid'] = `${testId}--container`;\n }\n\n return jsx(React.Fragment, null, typeof children === 'function' ? children(tooltipTriggerProps) : jsx(CastTargetContainer, _extends({}, tooltipTriggerProps, {\n role: \"presentation\"\n }), children), shouldRenderTooltipContainer ? jsx(Portal, {\n zIndex: tooltipZIndex\n }, jsx(Popper, {\n placement: tooltipPosition,\n referenceElement: getReferenceElement(),\n strategy: strategy\n }, ({\n ref,\n style,\n update,\n placement\n }) => {\n // Invert the entrance and exit directions.\n // E.g. a tooltip's position is on the 'right', it should enter from and exit to the 'left'\n // This gives the effect the tooltip is appearing from the target\n const direction = position === 'mouse' ? undefined : invertedDirection[getDirectionFromPlacement(placement)];\n return jsx(ExitingPersistence, {\n appear: true\n }, shouldRenderTooltipChildren && jsx(FadeIn, {\n distance: \"constant\",\n entranceDirection: direction,\n exitDirection: direction,\n onFinish: onAnimationFinished,\n duration: state === 'show-immediate' ? 0 : mediumDurationMs\n }, ({\n className\n }) => // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n jsx(Container, {\n ref: ref,\n className: `Tooltip ${className}`,\n style: style,\n truncate: truncate,\n placement: tooltipPosition,\n testId: testId,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOverTooltip,\n id: tooltipId\n }, typeof content === 'function' ? content({\n update\n }) : content)));\n })) : null);\n}\n\nTooltip.displayName = 'Tooltip';\nexport default Tooltip;","import { useUIDSeed } from 'react-uid';\nexport default function useUniqueId(prefix, shouldRenderId) {\n const seed = useUIDSeed();\n return shouldRenderId ? `${seed(prefix)}` : undefined;\n}","/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { layers } from '@atlaskit/theme/constants';\nconst VAR_PRIMITIVE_ZINDEX = 'tooltipPrimitiveZindex';\nconst primitiveStyles = css({\n zindex: `var(${VAR_PRIMITIVE_ZINDEX})`,\n cursor: `default`\n});\nconst TooltipPrimitive = /*#__PURE__*/forwardRef(function TooltipPrimitive({\n style,\n className,\n children,\n placement,\n testId,\n onMouseOut,\n onMouseOver,\n id\n}, ref) {\n const styleWithZIndex = { ...style,\n [VAR_PRIMITIVE_ZINDEX]: layers.tooltip()\n };\n return jsx(\"div\", {\n ref: ref,\n style: styleWithZIndex,\n \"data-testid\": testId ? `${testId}--wrapper` : undefined\n }, jsx(\"div\", {\n role: \"tooltip\",\n className: className,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOver,\n css: primitiveStyles,\n \"data-placement\": placement,\n \"data-testid\": testId,\n id: id\n }, children));\n});\nTooltipPrimitive.displayName = 'TooltipPrimitive';\nexport default TooltipPrimitive;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n}; // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const assistive = visuallyHidden;\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\n\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { createContext, useContext, forwardRef, createElement, Fragment } 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 hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */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\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return 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 = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/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 = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/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 var rules = 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, 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__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.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-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.5\",\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\"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\"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\"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\"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\": \"./macro.js\"\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.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\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.10.5\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.18.5\",\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.5\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.5\",\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\": \"./macro.js\"\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 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 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, useContext(ThemeContext));\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 = useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = 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: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/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","const themedBackground = {\n light: \"var(--ds-surface, #FFFFFF)\",\n dark: \"var(--ds-surface, #1B2638)\"\n};\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\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 /**\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); // pre-built css style-size map\n\nexport const sizeStyleMap = {\n small: smallStyles,\n medium: mediumStyles,\n large: largeStyles,\n xlarge: xlargeStyles\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 */\n\nexport const getIconSize = ({\n width,\n height,\n size\n}) => {\n if (width && height) {\n return {\n width,\n height\n };\n }\n\n if (size) {\n return dimensions[size];\n }\n\n return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n\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 * 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': { ...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 */\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 */\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, // 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 && // 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 CheckIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCheckIcon.displayName = 'CheckIcon';\nvar _default = CheckIcon;\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 QuestionCircleIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nQuestionCircleIcon.displayName = 'QuestionCircleIcon';\nvar _default = QuestionCircleIcon;\nexports.default = _default;","import { createTheme } from '../utils/create-theme'; // Create default global light theme\n\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/**\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 * 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\n\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\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\n\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props; // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n\n const tokens = useTheme(themeProps); // 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\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\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\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\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import { createContext, useContext, forwardRef, createElement, Fragment } 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 hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */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\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return 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 = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/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 = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/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 var rules = 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, 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__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.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-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.5\",\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\"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\"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\"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\"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\": \"./macro.js\"\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.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\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.10.5\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.18.5\",\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.5\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.5\",\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\": \"./macro.js\"\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 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 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, useContext(ThemeContext));\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 = useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = 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: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/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","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MediaQuery\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"MediaQuery\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE_react__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/css-mediaquery/index.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/css-mediaquery/index.js ***!\n \\**********************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n\n\nexports.match = matchQuery;\nexports.parse = parseQuery;\n\n// -----------------------------------------------------------------------------\n\nvar RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s\\(\\)]+)(?:\\s*and)?\\s*)?(.+)?/i,\n RE_MQ_EXPRESSION = /\\(\\s*([^\\s\\:\\)]+)\\s*(?:\\:\\s*([^\\s\\)]+))?\\s*\\)/,\n RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,\n RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,\n RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\n\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some(function (query) {\n var inverse = query.inverse;\n\n // Either the parsed or specified `type` is \"all\", or the types must be\n // equal for a match.\n var typeMatch = query.type === 'all' || values.type === query.type;\n\n // Quit early when `type` doesn't match, but take \"not\" into account.\n if ((typeMatch && inverse) || !(typeMatch || inverse)) {\n return false;\n }\n\n var expressionsMatch = query.expressions.every(function (expression) {\n var feature = expression.feature,\n modifier = expression.modifier,\n expValue = expression.value,\n value = values[feature];\n\n // Missing or falsy values don't match.\n if (!value) { return false; }\n\n switch (feature) {\n case 'orientation':\n case 'scan':\n return value.toLowerCase() === expValue.toLowerCase();\n\n case 'width':\n case 'height':\n case 'device-width':\n case 'device-height':\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n\n case 'resolution':\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n\n case 'aspect-ratio':\n case 'device-aspect-ratio':\n case /* Deprecated */ 'device-pixel-ratio':\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n\n case 'grid':\n case 'color':\n case 'color-index':\n case 'monochrome':\n expValue = parseInt(expValue, 10) || 1;\n value = parseInt(value, 10) || 0;\n break;\n }\n\n switch (modifier) {\n case 'min': return value >= expValue;\n case 'max': return value <= expValue;\n default : return value === expValue;\n }\n });\n\n return (expressionsMatch && !inverse) || (!expressionsMatch && inverse);\n });\n}\n\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(',').map(function (query) {\n query = query.trim();\n\n var captures = query.match(RE_MEDIA_QUERY),\n modifier = captures[1],\n type = captures[2],\n expressions = captures[3] || '',\n parsed = {};\n\n parsed.inverse = !!modifier && modifier.toLowerCase() === 'not';\n parsed.type = type ? type.toLowerCase() : 'all';\n\n // Split expressions into a list.\n expressions = expressions.match(/\\([^\\)]+\\)/g) || [];\n\n parsed.expressions = expressions.map(function (expression) {\n var captures = expression.match(RE_MQ_EXPRESSION),\n feature = captures[1].toLowerCase().match(RE_MQ_FEATURE);\n\n return {\n modifier: feature[1],\n feature : feature[2],\n value : captures[2]\n };\n });\n\n return parsed;\n });\n}\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction toDecimal(ratio) {\n var decimal = Number(ratio),\n numbers;\n\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n\n return decimal;\n}\n\nfunction toDpi(resolution) {\n var value = parseFloat(resolution),\n units = String(resolution).match(RE_RESOLUTION_UNIT)[1];\n\n switch (units) {\n case 'dpcm': return value / 2.54;\n case 'dppx': return value * 96;\n default : return value;\n }\n}\n\nfunction toPx(length) {\n var value = parseFloat(length),\n units = String(length).match(RE_LENGTH_UNIT)[1];\n\n switch (units) {\n case 'em' : return value * 16;\n case 'rem': return value * 16;\n case 'cm' : return value * 96 / 2.54;\n case 'mm' : return value * 96 / 2.54 / 10;\n case 'in' : return value * 96;\n case 'pt' : return value * 72;\n case 'pc' : return value * 72 / 12;\n default : return value;\n }\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/hyphenate-style-name/index.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/hyphenate-style-name/index.js ***!\n \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (hyphenateStyleName);\n\n\n/***/ }),\n\n/***/ \"./node_modules/matchmediaquery/index.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/matchmediaquery/index.js ***!\n \\***********************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nvar staticMatch = (__webpack_require__(/*! css-mediaquery */ \"./node_modules/css-mediaquery/index.js\").match);\nvar dynamicMatch = typeof window !== 'undefined' ? window.matchMedia : null;\n\n// our fake MediaQueryList\nfunction Mql(query, values, forceStatic){\n var self = this;\n if(dynamicMatch && !forceStatic){\n var mql = dynamicMatch.call(window, query);\n this.matches = mql.matches;\n this.media = mql.media;\n // TODO: is there a time it makes sense to remove this listener?\n mql.addListener(update);\n } else {\n this.matches = staticMatch(query, values);\n this.media = query;\n }\n\n this.addListener = addListener;\n this.removeListener = removeListener;\n this.dispose = dispose;\n\n function addListener(listener){\n if(mql){\n mql.addListener(listener);\n }\n }\n\n function removeListener(listener){\n if(mql){\n mql.removeListener(listener);\n }\n }\n\n // update ourselves!\n function update(evt){\n self.matches = evt.matches;\n self.media = evt.media;\n }\n\n function dispose(){\n if(mql){\n mql.removeListener(update);\n }\n }\n}\n\nfunction matchMedia(query, values, forceStatic){\n return new Mql(query, values, forceStatic);\n}\n\nmodule.exports = matchMedia;\n\n\n/***/ }),\n\n/***/ \"./node_modules/object-assign/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/object-assign/index.js ***!\n \\*********************************************/\n/***/ ((module) => {\n\n\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/checkPropTypes.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/prop-types/checkPropTypes.js ***!\n \\***************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\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\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n var has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\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\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (true) {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/factoryWithTypeCheckers.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!\n \\************************************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\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\n\n\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\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\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/index.js\":\n/*!******************************************!*\\\n !*** ./node_modules/prop-types/index.js ***!\n \\******************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\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\nif (true) {\n var ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/react-is/index.js\");\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ \"./node_modules/prop-types/factoryWithTypeCheckers.js\")(ReactIs.isElement, throwOnDirectAccess);\n} else {}\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!\n \\*************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\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\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/lib/has.js\":\n/*!********************************************!*\\\n !*** ./node_modules/prop-types/lib/has.js ***!\n \\********************************************/\n/***/ ((module) => {\n\nmodule.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/cjs/react-is.development.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/react-is/cjs/react-is.development.js ***!\n \\***********************************************************/\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n\n\n\nif (true) {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/react-is/index.js\":\n/*!****************************************!*\\\n !*** ./node_modules/react-is/index.js ***!\n \\****************************************/\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ \"./node_modules/react-is/cjs/react-is.development.js\");\n}\n\n\n/***/ }),\n\n/***/ \"./node_modules/shallow-equal/dist/index.esm.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/shallow-equal/dist/index.esm.js ***!\n \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"shallowEqualArrays\": () => (/* binding */ shallowEqualArrays),\n/* harmony export */ \"shallowEqualObjects\": () => (/* binding */ shallowEqualObjects)\n/* harmony export */ });\nfunction shallowEqualObjects(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (!objA || !objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n\n if (bKeys.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\n\n\n\n/***/ }),\n\n/***/ \"./src/Component.ts\":\n/*!**************************!*\\\n !*** ./src/Component.ts ***!\n \\**************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar useMediaQuery_1 = __importDefault(__webpack_require__(/*! ./useMediaQuery */ \"./src/useMediaQuery.ts\"));\n// ReactNode and ReactElement typings are a little funky for functional components, so the ReactElement cast is needed on the return\nvar MediaQuery = function (_a) {\n var children = _a.children, device = _a.device, onChange = _a.onChange, settings = __rest(_a, [\"children\", \"device\", \"onChange\"]);\n var matches = (0, useMediaQuery_1.default)(settings, device, onChange);\n if (typeof children === 'function') {\n return children(matches);\n }\n return matches ? children : null;\n};\nexports[\"default\"] = MediaQuery;\n\n\n/***/ }),\n\n/***/ \"./src/Context.ts\":\n/*!************************!*\\\n !*** ./src/Context.ts ***!\n \\************************/\n/***/ ((__unused_webpack_module, exports, __webpack_require__) => {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar react_1 = __webpack_require__(/*! react */ \"react\");\nvar Context = (0, react_1.createContext)(undefined);\nexports[\"default\"] = Context;\n\n\n/***/ }),\n\n/***/ \"./src/index.ts\":\n/*!**********************!*\\\n !*** ./src/index.ts ***!\n \\**********************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Context = exports.toQuery = exports.useMediaQuery = exports[\"default\"] = void 0;\nvar useMediaQuery_1 = __importDefault(__webpack_require__(/*! ./useMediaQuery */ \"./src/useMediaQuery.ts\"));\nexports.useMediaQuery = useMediaQuery_1.default;\nvar Component_1 = __importDefault(__webpack_require__(/*! ./Component */ \"./src/Component.ts\"));\nexports[\"default\"] = Component_1.default;\nvar toQuery_1 = __importDefault(__webpack_require__(/*! ./toQuery */ \"./src/toQuery.ts\"));\nexports.toQuery = toQuery_1.default;\nvar Context_1 = __importDefault(__webpack_require__(/*! ./Context */ \"./src/Context.ts\"));\nexports.Context = Context_1.default;\n\n\n/***/ }),\n\n/***/ \"./src/mediaQuery.ts\":\n/*!***************************!*\\\n !*** ./src/mediaQuery.ts ***!\n \\***************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar prop_types_1 = __importDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar stringOrNumber = prop_types_1.default.oneOfType([\n prop_types_1.default.string,\n prop_types_1.default.number\n]);\n// media types\nvar types = {\n all: prop_types_1.default.bool,\n grid: prop_types_1.default.bool,\n aural: prop_types_1.default.bool,\n braille: prop_types_1.default.bool,\n handheld: prop_types_1.default.bool,\n print: prop_types_1.default.bool,\n projection: prop_types_1.default.bool,\n screen: prop_types_1.default.bool,\n tty: prop_types_1.default.bool,\n tv: prop_types_1.default.bool,\n embossed: prop_types_1.default.bool\n};\n// properties that match media queries\nvar matchers = {\n orientation: prop_types_1.default.oneOf([\n 'portrait',\n 'landscape'\n ]),\n scan: prop_types_1.default.oneOf([\n 'progressive',\n 'interlace'\n ]),\n aspectRatio: prop_types_1.default.string,\n deviceAspectRatio: prop_types_1.default.string,\n height: stringOrNumber,\n deviceHeight: stringOrNumber,\n width: stringOrNumber,\n deviceWidth: stringOrNumber,\n color: prop_types_1.default.bool,\n colorIndex: prop_types_1.default.bool,\n monochrome: prop_types_1.default.bool,\n resolution: stringOrNumber,\n type: Object.keys(types)\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar type = matchers.type, featureMatchers = __rest(matchers\n// media features\n, [\"type\"]);\n// media features\nvar features = __assign({ minAspectRatio: prop_types_1.default.string, maxAspectRatio: prop_types_1.default.string, minDeviceAspectRatio: prop_types_1.default.string, maxDeviceAspectRatio: prop_types_1.default.string, minHeight: stringOrNumber, maxHeight: stringOrNumber, minDeviceHeight: stringOrNumber, maxDeviceHeight: stringOrNumber, minWidth: stringOrNumber, maxWidth: stringOrNumber, minDeviceWidth: stringOrNumber, maxDeviceWidth: stringOrNumber, minColor: prop_types_1.default.number, maxColor: prop_types_1.default.number, minColorIndex: prop_types_1.default.number, maxColorIndex: prop_types_1.default.number, minMonochrome: prop_types_1.default.number, maxMonochrome: prop_types_1.default.number, minResolution: stringOrNumber, maxResolution: stringOrNumber }, featureMatchers);\nvar all = __assign(__assign({}, types), features);\nexports[\"default\"] = {\n all: all,\n types: types,\n matchers: matchers,\n features: features\n};\n\n\n/***/ }),\n\n/***/ \"./src/toQuery.ts\":\n/*!************************!*\\\n !*** ./src/toQuery.ts ***!\n \\************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar hyphenate_style_name_1 = __importDefault(__webpack_require__(/*! hyphenate-style-name */ \"./node_modules/hyphenate-style-name/index.js\"));\nvar mediaQuery_1 = __importDefault(__webpack_require__(/*! ./mediaQuery */ \"./src/mediaQuery.ts\"));\nvar negate = function (cond) { return \"not \".concat(cond); };\nvar keyVal = function (k, v) {\n var realKey = (0, hyphenate_style_name_1.default)(k);\n // px shorthand\n if (typeof v === 'number') {\n v = \"\".concat(v, \"px\");\n }\n if (v === true) {\n return realKey;\n }\n if (v === false) {\n return negate(realKey);\n }\n return \"(\".concat(realKey, \": \").concat(v, \")\");\n};\nvar join = function (conds) { return conds.join(' and '); };\nvar toQuery = function (obj) {\n var rules = [];\n Object.keys(mediaQuery_1.default.all).forEach(function (k) {\n var v = obj[k];\n if (v != null) {\n rules.push(keyVal(k, v));\n }\n });\n return join(rules);\n};\nexports[\"default\"] = toQuery;\n\n\n/***/ }),\n\n/***/ \"./src/useMediaQuery.ts\":\n/*!******************************!*\\\n !*** ./src/useMediaQuery.ts ***!\n \\******************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar react_1 = __webpack_require__(/*! react */ \"react\");\nvar matchmediaquery_1 = __importDefault(__webpack_require__(/*! matchmediaquery */ \"./node_modules/matchmediaquery/index.js\"));\nvar hyphenate_style_name_1 = __importDefault(__webpack_require__(/*! hyphenate-style-name */ \"./node_modules/hyphenate-style-name/index.js\"));\nvar shallow_equal_1 = __webpack_require__(/*! shallow-equal */ \"./node_modules/shallow-equal/dist/index.esm.js\");\nvar toQuery_1 = __importDefault(__webpack_require__(/*! ./toQuery */ \"./src/toQuery.ts\"));\nvar Context_1 = __importDefault(__webpack_require__(/*! ./Context */ \"./src/Context.ts\"));\nvar makeQuery = function (settings) { return settings.query || (0, toQuery_1.default)(settings); };\nvar hyphenateKeys = function (obj) {\n if (!obj)\n return undefined;\n var keys = Object.keys(obj);\n return keys.reduce(function (result, key) {\n result[(0, hyphenate_style_name_1.default)(key)] = obj[key];\n return result;\n }, {});\n};\nvar useIsUpdate = function () {\n var ref = (0, react_1.useRef)(false);\n (0, react_1.useEffect)(function () {\n ref.current = true;\n }, []);\n return ref.current;\n};\nvar useDevice = function (deviceFromProps) {\n var deviceFromContext = (0, react_1.useContext)(Context_1.default);\n var getDevice = function () {\n return hyphenateKeys(deviceFromProps) || hyphenateKeys(deviceFromContext);\n };\n var _a = (0, react_1.useState)(getDevice), device = _a[0], setDevice = _a[1];\n (0, react_1.useEffect)(function () {\n var newDevice = getDevice();\n if (!(0, shallow_equal_1.shallowEqualObjects)(device, newDevice)) {\n setDevice(newDevice);\n }\n }, [deviceFromProps, deviceFromContext]);\n return device;\n};\nvar useQuery = function (settings) {\n var getQuery = function () { return makeQuery(settings); };\n var _a = (0, react_1.useState)(getQuery), query = _a[0], setQuery = _a[1];\n (0, react_1.useEffect)(function () {\n var newQuery = getQuery();\n if (query !== newQuery) {\n setQuery(newQuery);\n }\n }, [settings]);\n return query;\n};\nvar useMatchMedia = function (query, device) {\n var getMatchMedia = function () { return (0, matchmediaquery_1.default)(query, device || {}, !!device); };\n var _a = (0, react_1.useState)(getMatchMedia), mq = _a[0], setMq = _a[1];\n var isUpdate = useIsUpdate();\n (0, react_1.useEffect)(function () {\n if (isUpdate) {\n // skip on mounting, it has already been set\n var newMq_1 = getMatchMedia();\n setMq(newMq_1);\n return function () {\n if (newMq_1) {\n newMq_1.dispose();\n }\n };\n }\n }, [query, device]);\n return mq;\n};\nvar useMatches = function (mediaQuery) {\n var _a = (0, react_1.useState)(mediaQuery.matches), matches = _a[0], setMatches = _a[1];\n (0, react_1.useEffect)(function () {\n var updateMatches = function (ev) {\n setMatches(ev.matches);\n };\n mediaQuery.addListener(updateMatches);\n setMatches(mediaQuery.matches);\n return function () {\n mediaQuery.removeListener(updateMatches);\n };\n }, [mediaQuery]);\n return matches;\n};\nvar useMediaQuery = function (settings, device, onChange) {\n var deviceSettings = useDevice(device);\n var query = useQuery(settings);\n if (!query)\n throw new Error('Invalid or missing MediaQuery!');\n var mq = useMatchMedia(query, deviceSettings);\n var matches = useMatches(mq);\n var isUpdate = useIsUpdate();\n (0, react_1.useEffect)(function () {\n if (isUpdate && onChange) {\n onChange(matches);\n }\n }, [matches]);\n (0, react_1.useEffect)(function () { return function () {\n if (mq) {\n mq.dispose();\n }\n }; }, []);\n return matches;\n};\nexports[\"default\"] = useMediaQuery;\n\n\n/***/ }),\n\n/***/ \"react\":\n/*!**************************************************************************************!*\\\n !*** external {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"} ***!\n \\**************************************************************************************/\n/***/ ((module) => {\n\n\"use strict\";\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_react__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n/******/ \t\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=react-responsive.js.map","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|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|enterKeyHint|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|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|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 isPropValid = /* #__PURE__ */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 isPropValid;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = void 0;\nvar bind_1 = require(\"./bind\");\nfunction toOptions(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (typeof value === 'boolean') {\n return {\n capture: value,\n };\n }\n return value;\n}\nfunction getBinding(original, sharedOptions) {\n if (sharedOptions == null) {\n return original;\n }\n var binding = __assign(__assign({}, original), { options: __assign(__assign({}, toOptions(sharedOptions)), toOptions(original.options)) });\n return binding;\n}\nfunction bindAll(target, bindings, sharedOptions) {\n var unbinds = bindings.map(function (original) {\n var binding = getBinding(original, sharedOptions);\n return (0, bind_1.bind)(target, binding);\n });\n return function unbindAll() {\n unbinds.forEach(function (unbind) { return unbind(); });\n };\n}\nexports.bindAll = bindAll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bind = void 0;\nfunction bind(target, _a) {\n var type = _a.type, listener = _a.listener, options = _a.options;\n target.addEventListener(type, listener, options);\n return function unbind() {\n target.removeEventListener(type, listener, options);\n };\n}\nexports.bind = bind;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = exports.bind = void 0;\nvar bind_1 = require(\"./bind\");\nObject.defineProperty(exports, \"bind\", { enumerable: true, get: function () { return bind_1.bind; } });\nvar bind_all_1 = require(\"./bind-all\");\nObject.defineProperty(exports, \"bindAll\", { enumerable: true, get: function () { return bind_all_1.bindAll; } });\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\n\n/**\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 * 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};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\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 _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nvar _withLockSheet = require('./withLockSheet');\n\nvar _withLockSheet2 = _interopRequireDefault(_withLockSheet);\n\nvar _withTouchListeners = require('./withTouchListeners');\n\nvar _withTouchListeners2 = _interopRequireDefault(_withTouchListeners);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ScrollLock = function (_PureComponent) {\n _inherits(ScrollLock, _PureComponent);\n\n function ScrollLock() {\n _classCallCheck(this, ScrollLock);\n\n return _possibleConstructorReturn(this, (ScrollLock.__proto__ || Object.getPrototypeOf(ScrollLock)).apply(this, arguments));\n }\n\n _createClass(ScrollLock, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM) return;\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n var offset = window.innerHeight - this.initialHeight;\n\n // adjust scroll if the window has been resized since the lock was engaged\n // e.g. mobile safari dynamic chrome heights\n if (offset) {\n window.scrollTo(0, window.pageYOffset + offset);\n }\n\n // reset the initial height in case this scroll lock is used again\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.props.children;\n\n\n return children ? _react2.default.createElement(\n _TouchScrollable.TouchScrollable,\n null,\n children\n ) : null;\n }\n }]);\n\n return ScrollLock;\n}(_react.PureComponent);\n\n// attach the stylesheet and inject styles on [un]mount\n\n\nvar compose = (0, _utils.pipe)(_withTouchListeners2.default, _withLockSheet2.default);\nvar SheetLock = compose(ScrollLock);\n\n// toggle the lock based on `isActive` prop\nvar LockToggle = function LockToggle(props) {\n return props.isActive ? _react2.default.createElement(SheetLock, props) : props.children;\n};\n\nLockToggle.defaultProps = {\n accountForScrollbars: true,\n children: null,\n isActive: true\n};\n\nexports.default = LockToggle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TouchScrollable = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TouchScrollable = exports.TouchScrollable = function (_PureComponent) {\n _inherits(TouchScrollable, _PureComponent);\n\n function TouchScrollable() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, TouchScrollable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = TouchScrollable.__proto__ || Object.getPrototypeOf(TouchScrollable)).call.apply(_ref, [this].concat(args))), _this), _this.getScrollableArea = function (ref) {\n _this.scrollableArea = ref;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(TouchScrollable, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.addEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.addEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.removeEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.removeEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n rest = _objectWithoutProperties(_props, ['children']);\n\n return typeof children === 'function' ? children(this.getScrollableArea) : (0, _react.cloneElement)(children, _extends({ ref: this.getScrollableArea }, rest));\n }\n }]);\n\n return TouchScrollable;\n}(_react.PureComponent);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ScrollLock = require('./ScrollLock');\n\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollLock).default;\n }\n});\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nObject.defineProperty(exports, 'TouchScrollable', {\n enumerable: true,\n get: function get() {\n return _TouchScrollable.TouchScrollable;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pipe = exports.listenerOptions = undefined;\nexports.preventTouchMove = preventTouchMove;\nexports.allowTouchMove = allowTouchMove;\nexports.preventInertiaScroll = preventInertiaScroll;\nexports.isTouchDevice = isTouchDevice;\nexports.camelToKebab = camelToKebab;\nexports.parse = parse;\nexports.getPadding = getPadding;\nexports.getWindowHeight = getWindowHeight;\nexports.getDocumentHeight = getDocumentHeight;\nexports.makeStyleTag = makeStyleTag;\nexports.injectStyles = injectStyles;\nexports.insertStyleTag = insertStyleTag;\n\nvar _exenv = require('exenv');\n\nvar listenerOptions = exports.listenerOptions = {\n capture: false,\n passive: false\n};\n\n// ==============================\n// Touch Helpers\n// ==============================\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n\n return false;\n}\n\nfunction allowTouchMove(e) {\n var target = e.currentTarget;\n\n if (target.scrollHeight > target.clientHeight) {\n e.stopPropagation();\n return true;\n }\n\n e.preventDefault();\n return false;\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n}\n\n// `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\nfunction isTouchDevice() {\n if (!_exenv.canUseDOM) return false;\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\n// ==============================\n// Misc.\n// ==============================\n\nfunction camelToKebab(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction parse(val) {\n return isNaN(val) ? val : val + 'px';\n}\n\n// Take a list of functions and return a function that applies the list of\n// functions from left to right\n\nvar pipeFns = function pipeFns(a, b) {\n return function () {\n return b(a.apply(undefined, arguments));\n };\n};\nvar pipe = exports.pipe = function pipe() {\n for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return fns.reduce(pipeFns);\n};\n\n// ==============================\n// Document Helpers\n// ==============================\n\nfunction getPadding() {\n if (!_exenv.canUseDOM) return 0;\n\n var paddingRight = parseInt(window.getComputedStyle(document.body).paddingRight, 10);\n var scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n return paddingRight + scrollbarWidth;\n}\n\nfunction getWindowHeight() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n if (_exenv.canUseDOM) {\n return window.innerHeight * multiplier;\n }\n}\n\nfunction getDocumentHeight() {\n if (_exenv.canUseDOM) {\n return document.body.clientHeight;\n }\n}\n\n// ==============================\n// Style Sheets\n// ==============================\n\nfunction makeStyleTag() {\n if (!_exenv.canUseDOM) return;\n\n var tag = document.createElement('style');\n tag.type = 'text/css';\n tag.setAttribute('data-react-scrolllock', '');\n\n return tag;\n}\nfunction injectStyles(tag, css) {\n if (!_exenv.canUseDOM) return;\n\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n if (!_exenv.canUseDOM) return;\n\n var head = document.head || document.getElementsByTagName('head')[0];\n\n head.appendChild(tag);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withLockSheet;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction withLockSheet(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(SheetProvider, _PureComponent);\n\n function SheetProvider() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, SheetProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SheetProvider.__proto__ || Object.getPrototypeOf(SheetProvider)).call.apply(_ref, [this].concat(args))), _this), _this.addSheet = function () {\n var styles = _this.getStyles();\n\n var sheet = (0, _utils.makeStyleTag)();\n if (!sheet) return;\n\n (0, _utils.injectStyles)(sheet, styles);\n (0, _utils.insertStyleTag)(sheet);\n\n _this.sheet = sheet;\n }, _this.getStyles = function () {\n var accountForScrollbars = _this.props.accountForScrollbars;\n\n\n var height = (0, _utils.getDocumentHeight)();\n var paddingRight = accountForScrollbars ? (0, _utils.getPadding)() : null;\n var styles = 'body {\\n box-sizing: border-box !important;\\n overflow: hidden !important;\\n position: relative !important;\\n ' + (height ? 'height: ' + height + 'px !important;' : '') + '\\n ' + (paddingRight ? 'padding-right: ' + paddingRight + 'px !important;' : '') + '\\n }';\n\n return styles;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(SheetProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.addSheet();\n }\n }, {\n key: 'removeSheet',\n value: function removeSheet() {\n if (!this.sheet) return;\n\n // $FlowFixMe\n this.sheet.parentNode.removeChild(this.sheet);\n this.sheet = null;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.removeSheet();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return SheetProvider;\n }(_react.PureComponent);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withTouchListeners;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Mobile Safari ignores { overflow: hidden } declaration on the body,\n// so we have to prevent touchmove events via JS\nfunction withTouchListeners(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(TouchProvider, _PureComponent);\n\n function TouchProvider() {\n _classCallCheck(this, TouchProvider);\n\n return _possibleConstructorReturn(this, (TouchProvider.__proto__ || Object.getPrototypeOf(TouchProvider)).apply(this, arguments));\n }\n\n _createClass(TouchProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.addEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.removeEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return TouchProvider;\n }(_react.PureComponent);\n}","import * as React from 'react';\nimport { generateUID } from \"./uid\";\nexport var createSource = function (prefix) {\n if (prefix === void 0) { prefix = ''; }\n return ({\n value: 1,\n prefix: prefix,\n uid: generateUID()\n });\n};\nexport var counter = createSource();\nexport var source = React.createContext(createSource());\nexport var getId = function (source) { return source.value++; };\nexport var getPrefix = function (source) { return source ? source.prefix : ''; };\n","import * as React from \"react\";\nimport { counter, getId, getPrefix, source } from \"./context\";\nvar generateUID = function (context) {\n var quartz = context || counter;\n var prefix = getPrefix(quartz);\n var id = getId(quartz);\n var uid = prefix + id;\n var gen = function (item) { return uid + quartz.uid(item); };\n return { uid: uid, gen: gen };\n};\nvar useUIDState = function () {\n if (process.env.NODE_ENV !== \"production\") {\n if (!('useContext' in React)) {\n throw new Error('Hooks API requires React 16.8+');\n }\n }\n // @ts-ignore\n return React.useState(generateUID(React.useContext(source)));\n};\n/**\n * returns and unique id. SSR friendly\n * returns {String}\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const id = useUID();\n * id == 1; // for example\n */\nexport var useUID = function () {\n var uid = useUIDState()[0].uid;\n return uid;\n};\n/**\n * returns an uid generator\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const uid = useUIDSeed();\n * return (\n * <>\n * \n * \n * {data.map(item =>
...
\n * \n * )\n */\nexport var useUIDSeed = function () {\n var gen = useUIDState()[0].gen;\n return gen;\n};\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { useContext, createElement, Fragment } from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\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};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\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\";\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 var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\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 isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\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, cache, ref) {\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 = useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.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;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/createElement(FinalTag, newProps));\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, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport default createStyled;\n","import '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\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 = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport default newStyled;\n","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n/**\n * @deprecated Please use `@atlaskit/focus-ring`\n */\n\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n}; // eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n/**\n * @deprecated Please use `@atlaskit/visually-hidden`\n */\n\nexport const assistive = visuallyHidden;\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\n\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n } // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n } // If format not supported (or no theme provided), return standard theme\n\n\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './get-theme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n\n if (value) {\n return value;\n } // TS believes value can be undefined\n\n }\n }\n\n return '';\n };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n\n if (value) {\n return value;\n }\n }\n\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { invariantIntlContext } from '../utils';\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n// TODO: We should provide initial value here\nvar IntlContext = React.createContext(null);\nvar IntlConsumer = IntlContext.Consumer, IntlProvider = IntlContext.Provider;\nexport var Provider = IntlProvider;\nexport var Context = IntlContext;\nexport default function injectIntl(WrappedComponent, options) {\n var _a = options || {}, _b = _a.intlPropName, intlPropName = _b === void 0 ? 'intl' : _b, _c = _a.forwardRef, forwardRef = _c === void 0 ? false : _c, _d = _a.enforceContext, enforceContext = _d === void 0 ? true : _d;\n var WithIntl = function (props) { return (React.createElement(IntlConsumer, null, function (intl) {\n var _a;\n if (enforceContext) {\n invariantIntlContext(intl);\n }\n var intlProp = (_a = {}, _a[intlPropName] = intl, _a);\n return (React.createElement(WrappedComponent, __assign({}, props, intlProp, { ref: forwardRef ? props.forwardedRef : null })));\n })); };\n WithIntl.displayName = \"injectIntl(\".concat(getDisplayName(WrappedComponent), \")\");\n WithIntl.WrappedComponent = WrappedComponent;\n if (forwardRef) {\n return hoistNonReactStatics(React.forwardRef(function (props, ref) { return (React.createElement(WithIntl, __assign({}, props, { forwardedRef: ref }))); }), WrappedComponent);\n }\n return hoistNonReactStatics(WithIntl, WrappedComponent);\n}\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { invariant } from '@formatjs/ecma402-abstract';\nimport { DEFAULT_INTL_CONFIG as CORE_DEFAULT_INTL_CONFIG } from '@formatjs/intl';\nexport function invariantIntlContext(intl) {\n invariant(intl, '[React Intl] Could not find required `intl` object. ' +\n ' needs to exist in the component ancestry.');\n}\nexport var DEFAULT_INTL_CONFIG = __assign(__assign({}, CORE_DEFAULT_INTL_CONFIG), { textComponent: React.Fragment });\n/**\n * Takes a `formatXMLElementFn`, and composes it in function, which passes\n * argument `parts` through, assigning unique key to each part, to prevent\n * \"Each child in a list should have a unique \"key\"\" React error.\n * @param formatXMLElementFn\n */\nexport function assignUniqueKeysToParts(formatXMLElementFn) {\n return function (parts) {\n // eslint-disable-next-line prefer-rest-params\n return formatXMLElementFn(React.Children.toArray(parts));\n };\n}\nexport function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (!objA || !objB) {\n return false;\n }\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n var len = aKeys.length;\n if (bKeys.length !== len) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n var key = aKeys[i];\n if (objA[key] !== objB[key] ||\n !Object.prototype.hasOwnProperty.call(objB, key)) {\n return false;\n }\n }\n return true;\n}\n","import * as React from 'react';\nimport { Context } from './injectIntl';\nimport { invariantIntlContext } from '../utils';\nexport default function useIntl() {\n var intl = React.useContext(Context);\n invariantIntlContext(intl);\n return intl;\n}\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __rest } from \"tslib\";\nimport * as React from 'react';\nimport useIntl from './useIntl';\nimport { shallowEqual } from '../utils';\nfunction areEqual(prevProps, nextProps) {\n var values = prevProps.values, otherProps = __rest(prevProps, [\"values\"]);\n var nextValues = nextProps.values, nextOtherProps = __rest(nextProps, [\"values\"]);\n return (shallowEqual(nextValues, values) &&\n shallowEqual(otherProps, nextOtherProps));\n}\nfunction FormattedMessage(props) {\n var intl = useIntl();\n var formatMessage = intl.formatMessage, _a = intl.textComponent, Text = _a === void 0 ? React.Fragment : _a;\n var id = props.id, description = props.description, defaultMessage = props.defaultMessage, values = props.values, children = props.children, _b = props.tagName, Component = _b === void 0 ? Text : _b, ignoreTag = props.ignoreTag;\n var descriptor = { id: id, description: description, defaultMessage: defaultMessage };\n var nodes = formatMessage(descriptor, values, {\n ignoreTag: ignoreTag,\n });\n if (typeof children === 'function') {\n return children(Array.isArray(nodes) ? nodes : [nodes]);\n }\n if (Component) {\n return React.createElement(Component, null, React.Children.toArray(nodes));\n }\n return React.createElement(React.Fragment, null, nodes);\n}\nFormattedMessage.displayName = 'FormattedMessage';\nvar MemoizedFormattedMessage = React.memo(FormattedMessage, areEqual);\nMemoizedFormattedMessage.displayName = 'MemoizedFormattedMessage';\nexport default MemoizedFormattedMessage;\n","import { useMediaQuery } from 'react-responsive';\n\nconst useDesktopMediaQuery = () =>\n useMediaQuery({ query: '(min-width: 1024px)' });\n\nexport { useDesktopMediaQuery };\n","import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState\n} from 'react';\n\nexport type TLogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';\n\nexport type TOptions = {\n logLevel?: TLogLevel;\n maxFontSize?: number;\n minFontSize?: number;\n onFinish?: (fontSize: number) => void;\n onStart?: () => void;\n resolution?: number;\n};\n\nconst LOG_LEVEL: Record = {\n debug: 10,\n info: 20,\n warn: 30,\n error: 40,\n none: 100\n};\n\n// Suppress `useLayoutEffect` warning when rendering on the server\n// https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useIsoLayoutEffect =\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n ? useLayoutEffect\n : useEffect;\n\nconst useFitText = ({\n logLevel: logLevelOption = 'info',\n maxFontSize = 100,\n minFontSize = 20,\n onFinish,\n onStart,\n resolution = 5\n}: TOptions = {}) => {\n const logLevel = LOG_LEVEL[logLevelOption];\n\n const initState = useCallback(() => {\n return {\n calcKey: 0,\n fontSize: maxFontSize,\n fontSizePrev: minFontSize,\n fontSizeMax: maxFontSize,\n fontSizeMin: minFontSize\n };\n }, [maxFontSize, minFontSize]);\n\n const ref = useRef(null);\n const innerHtmlPrevRef = useRef();\n const isCalculatingRef = useRef(false);\n const [state, setState] = useState(initState);\n const { calcKey, fontSize, fontSizeMax, fontSizeMin, fontSizePrev } = state;\n\n // Montior div size changes and recalculate on resize\n let animationFrameId: number | null = null;\n const [ro] = useState(\n () =>\n new ResizeObserver(() => {\n animationFrameId = window.requestAnimationFrame(() => {\n if (isCalculatingRef.current) {\n return;\n }\n onStart && onStart();\n isCalculatingRef.current = true;\n // `calcKey` is used in the dependencies array of\n // `useIsoLayoutEffect` below. It is incremented so that the font size\n // will be recalculated even if the previous state didn't change (e.g.\n // when the text fit initially).\n setState({\n ...initState(),\n calcKey: calcKey + 1\n });\n });\n })\n );\n\n useEffect(() => {\n if (ref.current) {\n ro.observe(ref.current);\n }\n return () => {\n animationFrameId && window.cancelAnimationFrame(animationFrameId);\n ro.disconnect();\n };\n }, [animationFrameId, ro, ref.current]);\n\n // Recalculate when the div contents change\n const innerHtml = ref.current && ref.current.innerHTML;\n useEffect(() => {\n if (calcKey === 0 || isCalculatingRef.current) {\n return;\n }\n if (innerHtml !== innerHtmlPrevRef.current) {\n onStart && onStart();\n setState({\n ...initState(),\n calcKey: calcKey + 1\n });\n }\n if (innerHtml !== null) {\n innerHtmlPrevRef.current = innerHtml;\n }\n }, [calcKey, initState, innerHtml, onStart]);\n\n // Check overflow and resize font\n useIsoLayoutEffect(() => {\n // Don't start calculating font size until the `resizeKey` is incremented\n // above in the `ResizeObserver` callback. This avoids an extra resize\n // on initialization.\n if (calcKey === 0) {\n return;\n }\n\n const isWithinResolution = Math.abs(fontSize - fontSizePrev) <= resolution;\n const isOverflow =\n !!ref.current &&\n (ref.current.scrollHeight > ref.current.offsetHeight ||\n ref.current.scrollWidth > ref.current.offsetWidth);\n const isFailed = isOverflow && fontSize === fontSizePrev;\n const isAsc = fontSize > fontSizePrev;\n\n // Return if the font size has been adjusted \"enough\" (change within `resolution`)\n // reduce font size by one increment if it's overflowing.\n if (isWithinResolution) {\n if (isFailed) {\n isCalculatingRef.current = false;\n if (logLevel <= LOG_LEVEL.info) {\n console.info(\n `[use-fit-text] reached \\`minFontSize = ${minFontSize}\\` without fitting text`\n );\n }\n } else if (isOverflow) {\n setState({\n fontSize: isAsc ? fontSizePrev : fontSizeMin,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n calcKey\n });\n } else {\n isCalculatingRef.current = false;\n onFinish && onFinish(fontSize);\n }\n return;\n }\n\n // Binary search to adjust font size\n let delta: number;\n let newMax = fontSizeMax;\n let newMin = fontSizeMin;\n if (isOverflow) {\n delta = isAsc ? fontSizePrev - fontSize : fontSizeMin - fontSize;\n newMax = Math.min(fontSizeMax, fontSize);\n } else {\n delta = isAsc ? fontSizeMax - fontSize : fontSizePrev - fontSize;\n newMin = Math.max(fontSizeMin, fontSize);\n }\n setState({\n calcKey,\n fontSize: fontSize + delta / 2,\n fontSizeMax: newMax,\n fontSizeMin: newMin,\n fontSizePrev: fontSize\n });\n }, [\n calcKey,\n fontSize,\n fontSizeMax,\n fontSizeMin,\n fontSizePrev,\n onFinish,\n ref,\n resolution\n ]);\n\n return { fontSize: `${fontSize}%`, ref };\n};\n\nexport { useFitText };\n","import { PricingTier } from '@atlassiansox/asc-product-catalog';\nimport { FormattedPriceCalculationResponse } from '.';\n\nexport enum PricingStrategy {\n FIXED_COST = 'FIXED_COST',\n MARGINAL_PER_UNIT = 'MARGINAL_PER_UNIT'\n}\n\nexport type CalcFunc = (\n numUnits: number,\n matchingTierIdx: number,\n tiers: PricingTier[]\n) => FormattedPriceCalculationResponse;\n","import { DependencyList, useEffect, useRef, useState } from 'react';\n\n/**\n * React hook to handle asyncronous tasks\n * @author Jimmy Luong \n * @param task\n * @param dependencies\n * @returns\n */\nexport function useAsync(\n task: () => Promise,\n dependencies?: DependencyList\n): AsyncResult {\n const [result, setResult] = useState(AsyncResult.pending());\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n task()\n .then((value) => {\n if (isMounted.current) {\n setResult(AsyncResult.complete(value));\n }\n })\n .catch((error) => {\n if (isMounted.current) {\n setResult(AsyncResult.error(error));\n }\n });\n return () => {\n isMounted.current = false;\n };\n }, dependencies);\n\n return result;\n}\n\nexport abstract class AsyncResult {\n public static pending(): AsyncResult {\n return new PendingAsyncResult();\n }\n\n public static complete(value: T): AsyncResult {\n return new CompleteAsyncResult(value);\n }\n\n public static error(error: unknown): AsyncResult {\n return new ErrorAsyncResult(error);\n }\n\n public static isPending(\n result: AsyncResult\n ): result is PendingAsyncResult {\n return result instanceof PendingAsyncResult;\n }\n\n public static isComplete(\n result: AsyncResult\n ): result is CompleteAsyncResult {\n return result instanceof CompleteAsyncResult;\n }\n\n public static isError(\n result: AsyncResult\n ): result is ErrorAsyncResult {\n return result instanceof ErrorAsyncResult;\n }\n\n protected constructor(public readonly isPending: boolean) {}\n\n public abstract map(mapper: (value: T) => U): AsyncResult;\n\n public abstract pending(placeholder: () => T): AsyncResult;\n\n public abstract catch(catcher: (error: unknown) => T): AsyncResult;\n\n public abstract resolve(): T;\n}\n\nexport class PendingAsyncResult extends AsyncResult {\n public constructor(private readonly placeholder?: () => T) {\n super(true);\n }\n\n public map(): AsyncResult {\n return new PendingAsyncResult();\n }\n\n public pending(placeholder: () => T): AsyncResult {\n return new PendingAsyncResult(placeholder);\n }\n\n public catch(): AsyncResult {\n return this;\n }\n\n public resolve(): T {\n if (this.placeholder) {\n return this.placeholder();\n } else {\n throw new PendingAsyncResultError();\n }\n }\n}\n\nexport class CompleteAsyncResult extends AsyncResult {\n public constructor(private readonly value: T) {\n super(false);\n }\n\n public map(mapper: (value: T) => U): AsyncResult {\n return new CompleteAsyncResult(mapper(this.value));\n }\n\n public pending(): AsyncResult {\n return this;\n }\n\n public catch(): AsyncResult {\n return this;\n }\n\n public resolve(): T {\n return this.value;\n }\n}\n\nexport class ErrorAsyncResult extends AsyncResult {\n public constructor(\n public readonly error: unknown,\n private readonly catcher?: (error: unknown) => T\n ) {\n super(false);\n }\n\n public map(): AsyncResult {\n return new ErrorAsyncResult(this.error);\n }\n\n public pending(): AsyncResult {\n return this;\n }\n\n public catch(catcher: (error: unknown) => T): AsyncResult {\n return new ErrorAsyncResult(this.error, catcher);\n }\n\n public resolve(): T {\n if (this.catcher) {\n return this.catcher(this.error);\n } else {\n throw new FailedAsyncResultError(this.error);\n }\n }\n}\n\nexport class FailedAsyncResultError extends Error {\n public constructor(\n public readonly cause: unknown,\n message = 'AsyncResult failed.'\n ) {\n super(message);\n this.name = FailedAsyncResultError.name;\n }\n}\n\nexport class PendingAsyncResultError extends Error {\n public constructor(message = 'AsyncResult is pending...') {\n super(message);\n this.name = PendingAsyncResultError.name;\n }\n}\n","export const getNumFracDigits = (value: number | null | undefined) => {\n if (value !== null && value !== undefined && !Number.isNaN(value)) {\n return Number.isInteger(+value) ? 0 : 2;\n } else {\n return 0;\n }\n};\n\nconst fmtCurrencyValue = (\n currencyISOCode: string,\n value: number | null | undefined,\n useTwoDigits: boolean\n) => {\n const isJPY = currencyISOCode === 'JPY';\n const adjVal = isJPY ? Math.ceil(value || 0) : value;\n\n return new Intl.NumberFormat(isJPY ? 'ja-JP' : 'en-US', {\n style: 'currency',\n currency: currencyISOCode,\n // Note: JPY does not use decimals\n minimumFractionDigits:\n useTwoDigits && !isJPY ? 2 : getNumFracDigits(adjVal),\n maximumFractionDigits: useTwoDigits && !isJPY ? 2 : getNumFracDigits(adjVal)\n }).format(adjVal || 0);\n};\n\nexport const getFormattedPrice = (currencyISOCode: string, value: number) =>\n fmtCurrencyValue(currencyISOCode, value, false);\n\nexport const getTwoDigitFormattedPrice = (\n currencyISOCode: string,\n value: number\n) => fmtCurrencyValue(currencyISOCode, value, true);\n\nexport const getFormattedUnitAmount = (\n localeISOCode: string,\n value: number | null\n) => new Intl.NumberFormat(localeISOCode).format(value || 0);\n","import {\n CCPPricingPlanContent,\n CCPPricingPlanItem,\n CCPPricingPlanTier,\n PricingPlan,\n PricingPlans,\n PricingStrategy,\n PricingTier\n} from '@atlassiansox/asc-product-catalog';\nimport { PricingPeriod } from '../models';\n\nconst HAMS_PRICING_STRATEGY_BY_CCP_PRICING_POLICY = {\n ['VOLUME']: PricingStrategy.FIXED_COST,\n ['GRADUATED']: PricingStrategy.MARGINAL_PER_UNIT\n};\n\nconst convertCCPPricingStrategyToHAMS = (\n ccpPricingPolicy: string\n): PricingStrategy => {\n const hamsPricingStrategy =\n HAMS_PRICING_STRATEGY_BY_CCP_PRICING_POLICY[\n ccpPricingPolicy as 'GRADUATED' | 'VOLUME'\n ];\n\n if (!hamsPricingStrategy) {\n throw new Error(\n `Could not find HAMS pricing strategy to match CCP pricing policy: \"${ccpPricingPolicy}\"`\n );\n }\n\n return hamsPricingStrategy;\n};\n\nconst convertCCPTiersToHAMS = (\n ccpTiers: CCPPricingPlanTier[],\n tiersMode: string,\n chargeElement: string,\n currency: string\n): PricingTier[] =>\n ccpTiers.map((ccpTier) => ({\n starter: false,\n pricingStrategy: convertCCPPricingStrategyToHAMS(tiersMode),\n unitDescription: chargeElement,\n unitLimitLower: ccpTier.floor,\n unitLimitUpper: ccpTier.ceiling,\n prices: [\n {\n currency,\n unitPrice:\n /* istanbul ignore next */ // We are covering 75% of this line; Not sure how we can cover the other part - To return to\n tiersMode === 'GRADUATED' ? ccpTier.unitAmount : ccpTier.flatAmount\n }\n ]\n }));\n\nexport const convertCCPPricingPlansToHAMS = (\n pricingPlans: CCPPricingPlanContent[]\n): PricingPlans => {\n const [monthlyCCP, annualCCP] = ['MONTH', 'YEAR'].map((primaryCycle) =>\n pricingPlans.find(\n (pricingPlan) => pricingPlan.primaryCycle_interval === primaryCycle\n )\n );\n\n const [monthly, annual] = [monthlyCCP, annualCCP].map((ccpPPContent) => {\n if (!ccpPPContent) {\n return undefined;\n }\n\n const ccpTiers = ccpPPContent.items[0] as CCPPricingPlanItem;\n const { tiers, tiersMode, chargeElement } = ccpTiers;\n\n return convertCCPTiersToHAMS(\n tiers,\n tiersMode,\n chargeElement,\n ccpPPContent.currency\n );\n });\n\n return {\n ['MONTHLY' as PricingPeriod]: monthly as PricingPlan,\n ['ANNUAL' as PricingPeriod]: annual as PricingPlan\n };\n};\n","import { convertCCPPricingPlansToHAMS } from '.';\nimport {\n ContentfulOffering,\n OfferingSKUMap,\n PricingPeriod,\n PricingPlans,\n PricingTier,\n ProductKeyMap\n} from '../models';\n\nexport const extractPricingTiersFromEntry = (\n ccpOfferingsBySKU: OfferingSKUMap,\n hamsPricingPlansByKey: ProductKeyMap,\n period: PricingPeriod,\n ccpOfferingSKU?: string,\n hamsProductKey?: string\n): PricingTier[] => {\n let pricingPlans;\n\n let pricingTiers: PricingTier[];\n\n if (ccpOfferingSKU) {\n const offering = ccpOfferingsBySKU[ccpOfferingSKU];\n\n pricingPlans = offering?.fields.defaultPricingPlans?.map((p) => p.fields);\n if (!pricingPlans) {\n throw new Error(\n `Offering empty of pricing plan data for: ${ccpOfferingSKU}`\n );\n }\n\n const convertedTiers = convertCCPPricingPlansToHAMS(pricingPlans);\n if (period === 'MONTHLY' && convertedTiers.monthly) {\n pricingTiers = convertedTiers.monthly.slice();\n } else if (period === 'ANNUAL' && convertedTiers.annual) {\n pricingTiers = convertedTiers.annual.slice();\n } else {\n throw new Error(\n `Found neither monthly or annual pricing tiers for CCP Offering SKU: ${ccpOfferingSKU}`\n );\n }\n } else {\n if (hamsProductKey === undefined) {\n throw new Error(`HAMS product key was undefined for price request!`);\n }\n\n pricingPlans = hamsPricingPlansByKey[hamsProductKey];\n if (pricingPlans === undefined) {\n throw new Error(\n `No ${period} pricing plans found for HAMS product key: ${hamsProductKey}`\n );\n }\n\n if (period === 'MONTHLY' && pricingPlans.monthly) {\n pricingTiers = pricingPlans.monthly.slice();\n } else if (period === 'ANNUAL' && pricingPlans.annual) {\n pricingTiers = pricingPlans.annual.slice();\n } else {\n throw new Error(\n `Found neither monthly or annual (period is ${period}) pricing tiers for HAMS product key: ${hamsProductKey}`\n );\n }\n }\n\n return pricingTiers;\n};\n","import { CurrencyISOCode, PricingTierPrice } from '../models';\n\nexport const getLocalUnitPrice = (\n currencyISOCode: CurrencyISOCode,\n prices: PricingTierPrice[]\n) =>\n prices.find(({ currency }) => currency === currencyISOCode)?.unitPrice || 0;\n","import { getLocalUnitPrice } from '..';\nimport {\n CurrencyISOCode,\n PriceCalculationResponse,\n PricingTier\n} from '../../models';\n\nexport default function (\n numUnits: number,\n matchingTierIdx: number,\n tiers: PricingTier[],\n currencyISOCode: CurrencyISOCode\n): PriceCalculationResponse {\n const matchingTier = tiers[matchingTierIdx];\n\n if (!matchingTier) {\n throw new Error(`Matching price tier not found for ${numUnits}.`);\n }\n\n const { prices, unitLimitLower, unitLimitUpper } = matchingTier;\n const totalPrice = getLocalUnitPrice(currencyISOCode, prices.slice());\n const avgPerUnitPrice = totalPrice / numUnits;\n\n return {\n totalPrice,\n avgPerUnitPrice,\n hasFlatRateFirstTier: true,\n\n breakdown: [\n {\n unitsInTier: numUnits,\n unitsAvailableInTier: (unitLimitUpper || 0) - numUnits,\n\n unitLimitLower: unitLimitLower || 0,\n unitLimitUpper: unitLimitUpper || 0,\n\n totalPriceForTier: totalPrice,\n avgPerUnitPriceForTier: totalPrice / numUnits\n }\n ]\n };\n}\n","import { getLocalUnitPrice } from '..';\nimport {\n BreakdownPriceTier,\n CurrencyISOCode,\n PriceCalculationResponse,\n PricingStrategy,\n PricingTier,\n PricingTierPrice\n} from '../../models';\n\nexport default function (\n numUnits: number,\n matchingTierIdx: number,\n tiers: PricingTier[],\n currencyISOCode: CurrencyISOCode\n): PriceCalculationResponse {\n let totalPrice = 0;\n let price = 0;\n const breakdown: BreakdownPriceTier[] = [];\n\n const getUnitPrice = (prices: PricingTierPrice[]) =>\n getLocalUnitPrice(currencyISOCode, prices);\n\n // if no matching tier then default to highest (last) tier\n if (matchingTierIdx === -1) {\n matchingTierIdx = tiers.length - 1;\n }\n\n let idx = 0;\n for (const tier of tiers) {\n const { unitLimitLower, unitLimitUpper } = tier;\n const adjUnitLimitLower = Math.max((unitLimitLower || 0) - 1, 0);\n\n // the upper unit limit can't be undefined so we can just set it to\n // one million units as an upper bound\n const adjUnitLimitUpper = unitLimitUpper || 1000000;\n const unitsInTier =\n idx === matchingTierIdx\n ? numUnits - adjUnitLimitLower\n : adjUnitLimitUpper - adjUnitLimitLower;\n\n if (tier.pricingStrategy === PricingStrategy.FIXED_COST) {\n const nextTier = tiers[idx + 1] as PricingTier;\n price = getUnitPrice(nextTier.prices.slice());\n } else {\n const finalTier = tiers[Math.min(idx, tiers.length - 1)] as PricingTier;\n price = getUnitPrice(finalTier.prices.slice());\n }\n\n const totalPriceForTier = unitsInTier * price;\n totalPrice += totalPriceForTier;\n\n breakdown.push({\n unitsInTier,\n unitsAvailableInTier: adjUnitLimitUpper - unitsInTier,\n\n unitLimitLower: adjUnitLimitLower,\n unitLimitUpper: adjUnitLimitUpper,\n\n totalPriceForTier,\n avgPerUnitPriceForTier: price\n });\n\n if (++idx > matchingTierIdx) {\n break;\n }\n }\n\n const avgPerUnitPrice = totalPrice / numUnits;\n\n return {\n totalPrice,\n avgPerUnitPrice,\n\n hasFlatRateFirstTier:\n tiers[0]?.pricingStrategy === PricingStrategy.FIXED_COST,\n\n breakdown\n };\n}\n","import { PricingTier } from '@atlassiansox/asc-product-catalog';\nimport {\n getFormattedPrice,\n getFormattedUnitAmount,\n getTwoDigitFormattedPrice\n} from '.';\nimport {\n CurrencyISOCode,\n FormattedPriceCalculationResponse,\n PricingStrategy\n} from '../models';\nimport calculateFixedCost from './calculations/fixed-cost';\nimport {\n default as calculateMarginalPerUnit,\n default as marginalPerUnit\n} from './calculations/marginal-per-unit';\n\nconst getTierIdxForNumUnits = (numUnits: number, tiers: PricingTier[]) =>\n tiers.findIndex(\n ({ unitLimitLower, unitLimitUpper }) =>\n numUnits >= (unitLimitLower || 0) &&\n numUnits <= (unitLimitUpper || Math.pow(10, 1000))\n );\n\nexport function calculatePrice(\n numUnits: number,\n tiers: PricingTier[],\n currencyISOCode: CurrencyISOCode,\n localeISOCode = 'en-US'\n): FormattedPriceCalculationResponse {\n if (!Number.isInteger(numUnits) || numUnits < 1) {\n throw new Error(\n `Number of units must be a positive non-zero integer, got ${numUnits}.`\n );\n }\n\n if (!tiers || tiers.length === 0) {\n throw new Error(\n `Price tiers must not be null, undefined or an empty array, got ${tiers}.`\n );\n }\n\n const matchingTierIdx = getTierIdxForNumUnits(numUnits, tiers);\n\n const matchingTier = tiers[matchingTierIdx];\n const finalTier = tiers[tiers.length - 1];\n\n let calcFunc;\n\n if (matchingTier !== undefined) {\n const tierPricingStrategy = matchingTier.pricingStrategy;\n calcFunc =\n tierPricingStrategy === PricingStrategy.MARGINAL_PER_UNIT\n ? calculateMarginalPerUnit\n : calculateFixedCost;\n } else if (\n finalTier &&\n finalTier.pricingStrategy === PricingStrategy.MARGINAL_PER_UNIT\n ) {\n calcFunc = marginalPerUnit;\n } else {\n throw new Error(\n `Matching tier for ${numUnits} units not found in passed pricing tiers.`\n );\n }\n\n const fmtUnit = (amount: number | null) =>\n getFormattedUnitAmount(localeISOCode, amount);\n\n const fmtPrice = (price: number) => getFormattedPrice(currencyISOCode, price);\n\n const { totalPrice, avgPerUnitPrice, hasFlatRateFirstTier, breakdown } =\n calcFunc(numUnits, matchingTierIdx, tiers, currencyISOCode);\n\n return {\n totalPrice,\n formattedTotalPrice: fmtPrice(totalPrice),\n\n avgPerUnitPrice,\n formattedAvgPerUnitPrice: fmtPrice(avgPerUnitPrice),\n\n breakdown,\n\n hasFlatRateFirstTier,\n\n formattedBreakdown: breakdown.map(\n ({\n unitsInTier,\n unitLimitLower,\n unitLimitUpper,\n unitsAvailableInTier,\n totalPriceForTier,\n avgPerUnitPriceForTier\n }) => ({\n formattedUnitsInTier: fmtUnit(unitsInTier),\n formattedUnitsAvailableInTier: fmtUnit(unitsAvailableInTier),\n\n formattedUnitLimitLower: fmtUnit(unitLimitLower),\n formattedUnitLimitUpper: fmtUnit(unitLimitUpper),\n\n formattedTotalPriceForTier: getTwoDigitFormattedPrice(\n currencyISOCode,\n totalPriceForTier\n ),\n formattedAvgPerUnitPriceForTier: getTwoDigitFormattedPrice(\n currencyISOCode,\n avgPerUnitPriceForTier\n )\n })\n )\n };\n}\n","import { getFormattedPrice } from '.';\nimport { CurrencyISOCode, FormattedPriceCalculationResponse } from '..';\n\nexport default function (\n currencyISOCode: CurrencyISOCode\n): FormattedPriceCalculationResponse {\n const zeroPrice = getFormattedPrice(currencyISOCode, 0);\n\n return {\n totalPrice: 0,\n avgPerUnitPrice: 0,\n\n formattedTotalPrice: zeroPrice,\n formattedAvgPerUnitPrice: zeroPrice,\n\n hasFlatRateFirstTier: true,\n\n breakdown: [\n {\n unitsInTier: 0,\n unitsAvailableInTier: 0,\n\n unitLimitLower: 0,\n unitLimitUpper: 0,\n\n totalPriceForTier: 0,\n avgPerUnitPriceForTier: 0\n }\n ],\n formattedBreakdown: [\n {\n formattedUnitsInTier: '0',\n formattedUnitsAvailableInTier: '0',\n\n formattedUnitLimitLower: '0',\n formattedUnitLimitUpper: '0',\n\n formattedTotalPriceForTier: zeroPrice,\n formattedAvgPerUnitPriceForTier: zeroPrice\n }\n ]\n };\n}\n","import {\n ContentfulOffering,\n OfferingSKUMap,\n PricingPlans,\n ProductKeyMap\n} from '@atlassiansox/asc-product-catalog';\nimport { AsyncResult, useAsync } from '@atlassiansox/bxp-react-core';\nimport { DependencyList, useState } from 'react';\nimport { FetchPricing } from './models';\nimport {\n CurrencyISOCode,\n FormattedPriceCalculationResponse,\n PriceCalculationRequest\n} from './models/price-req-response';\nimport { calculatePrice, extractPricingTiersFromEntry } from './utils';\nimport getFreePriceCalc from './utils/get-free-price-calc';\n\nexport function usePricing(\n getPriceRequests: PriceCalculationRequest[],\n fetchPricing: FetchPricing,\n currencyISOCode: CurrencyISOCode,\n localeISOCode: string,\n dependencies: DependencyList\n): AsyncResult {\n const [cachedHAMSPricingPlansByKey, setCachedHAMSPricingPlansByKey] =\n useState>();\n\n const [cachedCCPOfferingsBySKU, setCachedCCPOfferingsBySKU] = useState<\n undefined | OfferingSKUMap\n >();\n\n return useAsync(async () => {\n const offeringSKUs = new Set();\n const hamsProductKeys = new Set();\n\n for (const getPriceRequest of getPriceRequests) {\n const { ccpOfferingSKU, hamsProductKey } = getPriceRequest;\n\n if (\n [ccpOfferingSKU, hamsProductKey].every(\n (v) => v === null || v === undefined || v === ''\n )\n ) {\n console.error(\n `Request for pricing did not contain CCP SKU or HAMS product key, request will be skipped: ${JSON.stringify(\n getPriceRequest\n )}`\n );\n }\n\n if (ccpOfferingSKU) {\n offeringSKUs.add(ccpOfferingSKU);\n }\n\n if (hamsProductKey) {\n hamsProductKeys.add(hamsProductKey);\n }\n }\n\n const uncachedCCPSKUs = [];\n for (const sku of offeringSKUs) {\n if (!cachedCCPOfferingsBySKU || !cachedCCPOfferingsBySKU[sku]) {\n uncachedCCPSKUs.push(sku);\n }\n }\n\n const uncachedHAMSProductKeys = [];\n for (const key of hamsProductKeys) {\n if (!cachedHAMSPricingPlansByKey || !cachedHAMSPricingPlansByKey[key]) {\n uncachedHAMSProductKeys.push(key);\n }\n }\n\n let ccpOfferingsBySKU = cachedCCPOfferingsBySKU;\n if (uncachedCCPSKUs.length) {\n ccpOfferingsBySKU = await fetchPricing.getOfferingsBySKU({\n offeringSKUs: Array.from(uncachedCCPSKUs)\n });\n\n setCachedCCPOfferingsBySKU(ccpOfferingsBySKU);\n }\n\n let hamsPricingPlansByKey = cachedHAMSPricingPlansByKey;\n if (uncachedHAMSProductKeys.length) {\n hamsPricingPlansByKey = await fetchPricing.getPricing({\n productKeys: Array.from(uncachedHAMSProductKeys)\n });\n\n setCachedHAMSPricingPlansByKey(hamsPricingPlansByKey);\n }\n\n const priceCalculations = [];\n for (const {\n ccpOfferingSKU,\n hamsProductKey,\n numUnits,\n period\n } of getPriceRequests) {\n if (numUnits === 0) {\n priceCalculations.push(getFreePriceCalc(currencyISOCode));\n } else {\n const pricingTiers = extractPricingTiersFromEntry(\n ccpOfferingsBySKU as OfferingSKUMap,\n hamsPricingPlansByKey as ProductKeyMap,\n\n period,\n\n ccpOfferingSKU,\n hamsProductKey\n );\n\n if (!pricingTiers) {\n throw new Error(`Pricing tiers not found for ${period}.`);\n }\n\n priceCalculations.push(\n calculatePrice(numUnits, pricingTiers, currencyISOCode, localeISOCode)\n );\n }\n }\n\n return priceCalculations;\n }, dependencies);\n}\n","/* eslint-disable */\n// murmurhash2 via https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\nexport default function murmurhash2_32_gc(str) {\n var l = str.length,\n h = l ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return (h >>> 0).toString(36);\n}","import React from 'react';\n\nconst defaultMutator = (prevState, partialState) => {\n // Merge the partial state and the previous state.\n return Object.assign({}, prevState, partialState);\n};\n\nconst defaults = {\n batchUpdates: 'useSyncExternalStore' in React,\n devtools: false,\n middlewares: new Set(),\n mutator: defaultMutator\n};\nexport default defaults;","import defaults from '../defaults';\n\nconst namedMutator = (storeState, actionName) => function () {\n storeState.mutator.actionName = actionName;\n return storeState.mutator(...arguments);\n};\n\nconst warnings = new WeakMap();\nexport const bindAction = function bindAction(storeState, actionFn, actionKey, getContainerProps, boundActions) {\n if (getContainerProps === void 0) {\n getContainerProps = () => {};\n }\n\n if (boundActions === void 0) {\n boundActions = {};\n }\n\n // Setting mutator name so we can log action name for better debuggability\n const dispatch = function dispatch(thunkFn, actionName) {\n if (actionName === void 0) {\n actionName = `${actionKey}.dispatch`;\n }\n\n return thunkFn({\n setState: defaults.devtools ? namedMutator(storeState, actionName) : storeState.mutator,\n getState: storeState.getState,\n\n get actions() {\n if (!warnings.has(actionFn)) {\n warnings.set(actionFn, console.warn(`react-sweet-state 'actions' property has been deprecated and will be removed in the next mayor. ` + `Please check action '${actionName}' of Store '${storeState.key}' and use 'dispatch' instead`));\n }\n\n return boundActions;\n },\n\n dispatch\n }, getContainerProps());\n };\n\n return function () {\n return dispatch(actionFn(...arguments), actionKey);\n };\n};\nexport const bindActions = function bindActions(actions, storeState, getContainerProps, boundActions) {\n if (getContainerProps === void 0) {\n getContainerProps = () => ({});\n }\n\n if (boundActions === void 0) {\n boundActions = null;\n }\n\n return Object.keys(actions).reduce((acc, k) => {\n acc[k] = bindAction(storeState, actions[k], k, getContainerProps, boundActions || acc);\n return acc;\n }, {});\n};","// Mostly copied from fbjs/packages/fbjs/src/core/shallowEqual.js\n// enhanced with keys cache as might get called multiple times with same args\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst CACHE = new WeakMap();\nexport default function shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n if (Array.isArray(objA) && Array.isArray(objB)) {\n // do array comparison\n if (objA.length !== objB.length) {\n return false;\n }\n\n for (let i = 0; i < objA.length; i++) {\n if (objA[i] !== objB[i]) {\n return false;\n }\n }\n\n return true;\n } else {\n // Handle Date, RegExp, String, Number, ... and complex objects\n const strA = '' + objA;\n const strB = '' + objB;\n\n if (strA !== strB || strA[0] === '[' && strA !== '[object Object]') {\n return false;\n } // do object comparison\n\n\n let keysA;\n\n if (CACHE.has(objA)) {\n keysA = CACHE.get(objA);\n } else {\n keysA = Object.keys(objA);\n CACHE.set(objA, keysA);\n }\n\n let keysB;\n\n if (CACHE.has(objB)) {\n keysB = CACHE.get(objB);\n } else {\n keysB = Object.keys(objB);\n CACHE.set(objB, keysB);\n }\n\n if (keysA.length !== keysB.length) {\n return false;\n } // Test for A's keys different from B.\n\n\n for (let i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n }\n}","import shallowEqual from '../utils/shallow-equal';\n\nconst updateMiddleware = storeState => next => arg => {\n let output;\n const state = storeState.getState();\n const nextState = next(state, arg, out => {\n output = out;\n });\n\n if (!shallowEqual(nextState, state)) {\n storeState.setState(nextState);\n }\n\n return output;\n};\n\nexport default updateMiddleware;","import defaults from '../defaults';\n\nconst connectDevTools = (storeState, config) => {\n const devTools = window.__REDUX_DEVTOOLS_EXTENSION__.connect(Object.assign({\n name: `Store ${storeState.key}`,\n serialize: true\n }, config));\n\n devTools.init(storeState.getState());\n devTools.subscribe(message => {\n if (message.type === 'DISPATCH') {\n switch (message.payload.type) {\n case 'RESET':\n storeState.resetState();\n devTools.init(storeState.getState());\n return;\n\n case 'COMMIT':\n devTools.init(storeState.getState());\n return;\n\n case 'ROLLBACK':\n storeState.setState(JSON.parse(message.state));\n devTools.init(storeState.getState());\n return;\n\n case 'JUMP_TO_STATE':\n case 'JUMP_TO_ACTION':\n storeState.setState(JSON.parse(message.state));\n return;\n }\n } else if (message.type === 'ACTION') {\n let action = JSON.parse(message.payload);\n storeState.setState(action.payload);\n }\n });\n return devTools;\n};\n\nconst withDevtools = createStoreState => function () {\n const storeState = createStoreState(...arguments);\n\n if (defaults.devtools && window && window.__REDUX_DEVTOOLS_EXTENSION__) {\n const origMutator = storeState.mutator;\n let devTools;\n\n const devtoolMutator = arg => {\n const result = origMutator(arg);\n\n try {\n if (!devTools) {\n const config = typeof defaults.devtools === 'function' ? defaults.devtools(storeState) : {};\n devTools = connectDevTools(storeState, config);\n }\n\n devTools.send({\n type: storeState.mutator.actionName,\n payload: arg\n }, storeState.getState(), {}, storeState.key);\n } catch (err) {\n /* ignore devtools errors */\n }\n\n return result;\n };\n\n storeState.mutator = devtoolMutator;\n }\n\n return storeState;\n};\n\nexport default withDevtools;","const supports = {\n scheduling() {\n return typeof window !== 'undefined' && typeof MessageChannel === 'function';\n }\n\n};\nexport default supports;","/* eslint-disable import/no-unresolved */\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { unstable_scheduleCallback as scheduleCallback, unstable_ImmediatePriority as ImmediatePriority } from 'scheduler';\nimport defaults from '../defaults';\nimport supports from './supported-features';\nlet isInsideBatchedSchedule = false;\nexport function batch(fn) {\n // if we are in node/tests or nested schedule\n if (!defaults.batchUpdates || !supports.scheduling() || isInsideBatchedSchedule) {\n return unstable_batchedUpdates(fn);\n }\n\n isInsideBatchedSchedule = true; // Use ImmediatePriority as it has -1ms timeout\n // https://github.com/facebook/react/blob/main/packages/scheduler/src/forks/Scheduler.js#L65\n\n return scheduleCallback(ImmediatePriority, function scheduleBatchedUpdates() {\n unstable_batchedUpdates(fn);\n isInsideBatchedSchedule = false;\n });\n}","import defaults from '../defaults';\nimport { batch } from './batched-updates';\nimport supports from './supported-features';\nconst QUEUE = [];\nlet scheduled;\nexport default function schedule(fn) {\n // if we are in node/tests or feature disabled, make updates sync batched\n if (!defaults.batchUpdates || !supports.scheduling()) return batch(() => fn()); // Add to queue if not already there\n // so we avoid multiple notifications to same store listeners\n\n if (!QUEUE.includes(fn)) QUEUE.push(fn); // if something already started schedule, skip\n\n if (scheduled) return;\n scheduled = batch(() => {\n let queueFn;\n\n while (queueFn = QUEUE.shift()) queueFn();\n\n scheduled = null;\n });\n}","import applyMiddleware from '../middlewares';\nimport withDevtools from '../enhancers/devtools';\nimport defaults from '../defaults';\nimport schedule from '../utils/schedule';\n\nfunction createStoreState(key, initialState) {\n let listeners = [];\n let currentState = initialState;\n const storeState = {\n key,\n\n getState() {\n return currentState;\n },\n\n setState(nextState) {\n currentState = nextState; // Instead of notifying all hooks immediately, we wait next tick\n // so multiple actions affecting the same store gets combined\n\n schedule(storeState.notify);\n },\n\n resetState() {\n storeState.setState(initialState);\n },\n\n notify() {\n for (let i = 0; i < listeners.length; i++) {\n listeners[i](storeState.getState());\n }\n },\n\n subscribe(listener) {\n listeners = listeners.concat(listener);\n return function unsubscribe() {\n listeners = listeners.filter(fn => fn !== listener);\n };\n },\n\n listeners() {\n return listeners;\n }\n\n };\n storeState.mutator = applyMiddleware(storeState, defaults.middlewares);\n return storeState;\n}\n\nexport default withDevtools(createStoreState);","import defaults from '../defaults';\nimport update from './update';\n\nconst applyMiddleware = (storeState, middlewares) => Array.from(middlewares).concat(update).reduceRight((next, mw) => mw(storeState)(next), defaults.mutator);\n\nexport default applyMiddleware;","import { bindActions } from './bind-actions';\nimport createStoreState from './create-state';\nexport const GLOBAL_SCOPE = '__global__';\nexport class StoreRegistry {\n constructor(defaultScope) {\n var _this = this;\n\n if (defaultScope === void 0) {\n defaultScope = GLOBAL_SCOPE;\n }\n\n this.stores = new Map();\n\n this.initStore = (key, Store) => {\n const {\n initialState,\n actions\n } = Store;\n const storeState = createStoreState(key, initialState);\n const boundActions = bindActions(actions, storeState);\n const store = {\n storeState,\n actions: boundActions\n };\n this.stores.set(key, store);\n return store;\n };\n\n this.getStore = function (Store, scopeId) {\n if (scopeId === void 0) {\n scopeId = _this.defaultScope;\n }\n\n const key = _this.generateKey(Store, scopeId);\n\n return _this.stores.get(key) || _this.initStore(key, Store);\n };\n\n this.deleteStore = function (Store, scopeId) {\n if (scopeId === void 0) {\n scopeId = _this.defaultScope;\n }\n\n const key = _this.generateKey(Store, scopeId);\n\n _this.stores.delete(key);\n };\n\n this.generateKey = (Store, scopeId) => `${Store.key}@${scopeId}`;\n\n this.defaultScope = defaultScope;\n }\n\n}\nexport const defaultRegistry = new StoreRegistry();","import React from 'react';\nimport { defaultRegistry } from './store'; // Provide static calculateChangedBit to opt-out from context updates\n// as we use our own subscription model\n\nexport const Context = /*#__PURE__*/React.createContext({\n globalRegistry: defaultRegistry,\n getStore: defaultRegistry.getStore\n}, () => 0);","import shallowEqual from './shallow-equal';\n\nfunction exactEqual(objA, objB) {\n return objA === objB;\n}\n\nfunction areArgumentsEqual(propsMode, prev, next) {\n if (prev === null || next === null || prev.length !== next.length) return false; // If propsMode and 2 arguments, means it is an input selector\n // and we check for shallow equality on 2nd one to optimise props\n\n if (propsMode && prev.length === 2) {\n return prev[0] === next[0] && shallowEqual(prev[1], next[1]);\n }\n\n for (let i = 0; i < prev.length; i++) {\n if (!exactEqual(prev[i], next[i])) return false;\n }\n\n return true;\n}\n/**\n * Tailor made memoisation\n */\n\n\nexport default function (resultFn, propsMode) {\n if (propsMode === void 0) {\n propsMode = false;\n }\n\n let lastArgs = [];\n let lastResult;\n let calledOnce = false;\n\n const result = function result() {\n if (calledOnce && areArgumentsEqual(propsMode, arguments, lastArgs)) {\n return lastResult;\n }\n\n const nextResult = resultFn.apply(this, arguments);\n\n if (!propsMode && shallowEqual(nextResult, lastResult)) {\n return lastResult;\n }\n\n lastResult = nextResult;\n calledOnce = true;\n lastArgs = arguments;\n return lastResult;\n };\n\n return result;\n}","import memoize from './memoize'; // customised version of reselect\n\nexport function createSelector() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n const resultFunc = funcs.pop();\n const dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n const memoizedResultFunc = memoize(function () {\n return resultFunc.apply(null, arguments);\n }); // this memoisation is optimised for 2 arguments (state, props)\n\n const selector = memoize(function () {\n // calculate all dependencies results\n const params = [];\n\n for (let i = 0; i < dependencies.length; i++) {\n params.push(dependencies[i].apply(null, arguments));\n } // then call the final func with all them as arguments\n\n\n return memoizedResultFunc.apply(null, params);\n }, true); // expose so we can create per scope selectors\n // API compatible with reselect@^4\n\n selector.resultFunc = resultFunc;\n selector.dependencies = dependencies;\n return selector;\n}\nexport function createMemoizedSelector(selector) {\n const isReselector = typeof selector.resultFunc === 'function' && Array.isArray(selector.dependencies);\n const dependencies = isReselector ? selector.dependencies : [s => s, (_, p) => p];\n const resultFunc = isReselector ? selector.resultFunc : selector;\n return createSelector(dependencies, resultFunc);\n}\nconst cache = new WeakMap();\nexport function getSelectorInstance(selector, storeState, hasProps) {\n if (!hasProps) {\n if (!cache.has(storeState)) {\n cache.set(storeState, new WeakMap());\n }\n\n const scopeSelectors = cache.get(storeState);\n\n if (!scopeSelectors.has(selector)) {\n scopeSelectors.set(selector, createMemoizedSelector(selector));\n }\n\n return scopeSelectors.get(selector);\n }\n\n return createMemoizedSelector(selector);\n}","import { useMemo, useContext, useRef, useCallback } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { Context } from '../context';\nimport { getSelectorInstance } from '../utils/create-selector';\n\nconst EMPTY_SELECTOR = () => undefined;\n\nconst DEFAULT_SELECTOR = state => state;\n\nexport function createHook(Store, _temp) {\n let {\n selector\n } = _temp === void 0 ? {} : _temp;\n return function useSweetState(propsArg) {\n const {\n getStore\n } = useContext(Context);\n const {\n storeState,\n actions\n } = getStore(Store);\n const hasPropsArg = propsArg !== undefined;\n const propsArgRef = useRef(propsArg);\n propsArgRef.current = propsArg;\n const stateSelector = useMemo(() => selector ? getSelectorInstance(selector, storeState, hasPropsArg) : selector === null ? EMPTY_SELECTOR : DEFAULT_SELECTOR, [hasPropsArg, storeState]);\n const getSnapshot = useCallback(() => {\n const state = getStore(Store).storeState.getState();\n return stateSelector(state, propsArgRef.current);\n }, [getStore, stateSelector]);\n const currentState = useSyncExternalStore(storeState.subscribe, getSnapshot, getSnapshot);\n return [currentState, actions];\n };\n}\nexport function createActionsHook(Store) {\n const useHook = createHook(Store, {\n selector: null\n });\n return function useSweetStateActions() {\n return useHook()[1];\n };\n}\nexport function createStateHook(Store, _temp2) {\n let {\n selector\n } = _temp2 === void 0 ? {} : _temp2;\n const useHook = createHook(Store, {\n selector\n });\n return function useSweetStateState(propsArg) {\n return useHook(propsArg)[0];\n };\n}","import {\n FormattedPriceCalculationResponse,\n PricingPeriod\n} from '@atlassiansox/bxp-use-pricing';\nimport { Action } from 'react-sweet-state';\nimport { PriceFinderState } from '../models';\n\nexport const updateUnitCount =\n (count: number): Action =>\n ({ setState }) => {\n setState({\n unitCount: count\n });\n };\n\nexport const updateBillingCycle =\n (billingCycle: PricingPeriod): Action =>\n ({ setState }) => {\n setState({\n billingCycle\n });\n };\n\nexport const updatePriceCalcs =\n (priceCalcs: FormattedPriceCalculationResponse[]): Action =>\n ({ setState }) => {\n setState({\n priceCalcs\n });\n };\n","import { createHook, createStore } from 'react-sweet-state';\nimport { PriceFinderState } from '../models';\nimport * as actions from './actions';\n\ntype PriceFinderActions = typeof actions;\n\nconst initialState: PriceFinderState = {\n unitCount: 10,\n billingCycle: 'MONTHLY',\n priceCalcs: []\n};\n\nconst store = createStore({\n name: 'bxp-price-finder',\n initialState,\n actions\n});\n\nexport const usePriceFinderStore = createHook(store);\n","import hash from '../utils/hash';\n\nfunction createKey(initialState, actions, name) {\n const src = !name ? Object.keys(actions).reduce((acc, k) => acc + actions[k].toString(), '') : '';\n return [name, hash(src + JSON.stringify(initialState))].filter(Boolean).join('__');\n}\n\nexport function createStore(_ref) {\n let {\n name = '',\n initialState,\n actions\n } = _ref;\n let key;\n return {\n get key() {\n // lazy evaluate key on first access\n return key || (key = createKey(initialState, actions, name));\n },\n\n initialState,\n actions\n };\n}","export const deviceMediaQueries = {\n desktop: `@media (min-width: 1024px)`,\n mobile: `@media (max-width: 1023px)`,\n extraSmall: `@media (max-width: 360px)`\n};\n\nexport enum TRACKING_EVENT_NAMES {\n unitTierBox = 'pricing_page_unit_tier_box',\n unitDescriptionTooltipTriggered = 'unit-description-tooltip-triggered',\n billingCycleChanged = 'billing-cycle-changed',\n planCardCTAButtonClicked = 'edition-table-button-clicked',\n unitBreachModalDecision = 'unit-breach-modal-decision',\n unitLimitBreachModal = 'unit-limit-breach-modal',\n userTierTooltipTriggered = 'user-tier-tooltip-triggered',\n showPricingExampleTriggered = 'show-pricing-example-triggered',\n hidePricingExampleTriggered = 'hide-pricing-example-triggered',\n pricingExampleBillingCycleChanged = 'pricing-example-billing-cycle-changed',\n promoCardCTAButtonClicked = 'promo-card-button-clicked'\n}\n\nexport enum UNIT_TRACKING_TERMS {\n users = 'users',\n agents = 'agents'\n}\n\nexport const DEFAULT_COUNTRY_ISO_CODE = 'US';\nexport const DEFAULT_CURRENCY_ISO_CODE = 'USD';\n\nexport enum SpecialPlanNames {\n FREE = 'Free',\n STANDARD = 'Standard',\n PREMIUM = 'Premium',\n ENTERPRISE = 'Enterprise'\n}\n\nexport enum SpecialProductKeys {\n JSM = 'jira-servicedesk.ondemand',\n JSM_INCENTIVE = 'jira-servicedesk.ondemand.incentive',\n BITBUCKET = 'com.atlassian.bitbucket.manual'\n}\n\nexport const JSM_INCENTIVE_AGENT_LIMIT = 10;\nexport enum DefaultPlanLimits {\n UNIT_LIMIT_STANDARD_JSM_INCENTIVE = 10,\n UNIT_LIMIT_FREE = 10,\n UNIT_LIMIT = 35000,\n UNIT_MIN_ENTERPRISE = 801\n}\n","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 { 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 { 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}","function abort(event) {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst tabKeyCode = 9;\n\nfunction onKey(event) {\n // Allowing tab so that a user can move focus away\n if (event.keyCode === tabKeyCode) {\n return;\n }\n\n abort(event);\n}\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 boxShadowColor: {\n default: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n primary: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n warning: {\n focus: {\n light: `var(--ds-border-focused, ${colors.Y500})`,\n dark: `var(--ds-border-focused, ${colors.Y500})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.Y500})`,\n dark: `var(--ds-border-focused, ${colors.Y500})`\n }\n },\n danger: {\n focus: {\n light: `var(--ds-border-focused, ${colors.R100})`,\n dark: `var(--ds-border-focused, ${colors.R100})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.R100})`,\n dark: `var(--ds-border-focused, ${colors.R100})`\n }\n },\n link: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n subtle: {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n }\n },\n 'subtle-link': {\n focus: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\n },\n focusSelected: {\n light: `var(--ds-border-focused, ${colors.B100})`,\n dark: `var(--ds-border-focused, ${colors.B75})`\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, gridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize(); // ## 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//\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};\n\nfunction getColor({\n group,\n key,\n mode\n}) {\n const rule = group[key] || group.default;\n return rule[mode];\n}\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}\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 // Disabling visited styles (just using the base colors)\n '&:visited': { ...baseColors\n },\n '&:hover': { ...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 '&:focus': { ...getColors({\n appearance,\n key: isSelected ? 'focusSelected' : 'focus',\n mode\n }),\n boxShadow: `0 0 0 2px ${colors.boxShadowColor[appearance].focus[mode]}`,\n // background, box-shadow\n transitionDuration: '0s, 0.2s',\n // disabling browser focus outline\n outline: 'none'\n },\n // giving active styles preference by listing them after focus\n '&:active': { ...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\"]': { ...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]': { // 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': { ...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} // inline-flex child\n\nexport function getIconStyle({\n spacing\n}) {\n return css({\n display: 'flex',\n margin: spacing === 'none' ? 0 : innerMargin.icon,\n // icon size cannot grow and shrink\n flexGrow: 0,\n flexShrink: 0,\n alignSelf: 'center',\n fontSize: 0,\n lineHeight: 0,\n userSelect: 'none'\n });\n} // inline-flex child\n\nexport function getContentStyle({\n spacing\n}) {\n return css({\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\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';\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'; // 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\n\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\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n } // @ts-ignore\n\n\n ref.current = node;\n }, [ourRef, ref]); // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n\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.5.3\",\n analyticsData: analyticsContext\n }); // Button currently calls preventDefault, which is not standard button behaviour\n\n const onMouseDown = useCallback(event => {\n event.preventDefault();\n providedOnMouseDown(event);\n }, [providedOnMouseDown]); // Lose focus when becoming disabled (standard button behaviour)\n\n useEffect(() => {\n const el = ourRef.current;\n\n if (isDisabled && el && el === document.activeElement) {\n el.blur();\n }\n }, [isDisabled]); // we are 'disabling' input with a button when there is an overlay\n\n const hasOverlay = Boolean(overlay);\n const fadeCss = css(getFadingCss({\n hasOverlay\n }));\n const isInteractive = !isDisabled && !hasOverlay;\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\n var spinnerHackCss = {};\n\n if (isSelected || isDisabled || appearance === 'warning') {\n spinnerHackCss = {\n '[data-theme] & svg': {\n stroke: isSelected || isDisabled ? `var(--ds-text-subtle, ${N500})` : `var(--ds-text-warning-inverse, ${N500})`\n }\n };\n }\n\n return 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 // 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 // Adding a tab index so element is always focusable, even when not a \n );\n};\n\nexport { SeePricingButton };\n","import { B100, B200, B300, B400, B50, B75, DN10, DN200, DN30, DN80, DN90, N10, N20, N30, N40, N70, R300 } from '@atlaskit/theme/colors';\nconst radioThemeColors = {\n light: {\n background: `var(--ds-background-input, ${N10})`,\n backgroundHover: `var(--ds-background-input-hovered, ${N30})`,\n backgroundActive: `var(--ds-background-input-pressed, ${N30})`,\n backgroundChecked: `var(--ds-background-brand-bold, ${B400})`,\n backgroundCheckedHover: `var(--ds-background-brand-bold-hovered, ${B300})`,\n backgroundCheckedActive: `var(--ds-background-brand-bold-pressed, ${B50})`,\n backgroundDisabled: `var(--ds-background-input, ${N20})`,\n dotChecked: `var(--ds-text-inverse, ${N10})`,\n dotDisabled: `var(--ds-text-disabled, ${N70})`,\n dotActive: `var(--ds-text-inverse, ${B400})`,\n border: `var(--ds-border-input, ${N40})`,\n borderHover: `var(--ds-border-input, ${N40})`,\n borderDisabled: `var(--ds-background-disabled, ${N20})`,\n borderFocus: `var(--ds-border-focused, ${B100})`\n },\n dark: {\n background: `var(--ds-background-input, ${DN10})`,\n backgroundHover: `var(--ds-background-input-hovered, ${DN30})`,\n backgroundActive: `var(--ds-background-input-pressed, ${B200})`,\n backgroundChecked: `var(--ds-background-brand-bold, ${B400})`,\n backgroundCheckedHover: `var(--ds-background-brand-bold-hovered, ${B75})`,\n backgroundCheckedActive: `var(--ds-background-brand-bold-pressed, ${B200})`,\n backgroundDisabled: `var(--ds-background-input, ${DN10})`,\n dotChecked: `var(--ds-text-inverse, ${DN10})`,\n dotDisabled: `var(--ds-text-disabled, ${DN90})`,\n dotActive: `var(--ds-text-inverse, ${DN10})`,\n border: `var(--ds-border-input, ${DN80})`,\n borderHover: `var(--ds-border-input, ${DN200})`,\n borderDisabled: `var(--ds-background-disabled, ${DN10})`,\n borderFocus: `var(--ds-border-focused, ${B75})`\n }\n};\nexport default function getRadioCustomProperties(mode) {\n const radioColors = radioThemeColors[mode];\n return {\n '--local-background': radioColors.background,\n '--local-background-active': radioColors.backgroundActive,\n '--local-background-checked': radioColors.backgroundChecked,\n '--local-background-checked-active': radioColors.backgroundCheckedActive,\n '--local-background-checked-hover': radioColors.backgroundCheckedHover,\n '--local-background-disabled': radioColors.backgroundDisabled,\n '--local-background-hover': radioColors.backgroundHover,\n '--local-border': radioColors.border,\n '--local-border-disabled': radioColors.borderDisabled,\n '--local-border-hover': radioColors.borderHover,\n '--local-border-focus': radioColors.borderFocus,\n '--local-dot-active': radioColors.dotActive,\n '--local-dot-checked': radioColors.dotChecked,\n '--local-dot-disabled': radioColors.dotDisabled,\n '--local-invalid': `var(--ds-icon-danger, ${R300})`\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { forwardRef, memo, useMemo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport __noop from '@atlaskit/ds-lib/noop';\nimport { DN600, N80, N900 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { fontFamily as getFontFamily } from '@atlaskit/theme/constants';\nimport getRadioCustomProperties from './styles';\nconst packageName = \"@atlaskit/radio\";\nconst packageVersion = \"5.4.3\";\nconst fontFamily = getFontFamily();\nconst noop = __noop;\nconst labelPaddingStyles = css({\n padding: `${\"var(--ds-scale-025, 2px)\"} ${\"var(--ds-scale-050, 4px)\"}`\n});\nconst labelStyles = css({\n display: 'flex',\n boxSizing: 'border-box',\n position: 'relative',\n alignItems: 'flex-start',\n fontFamily: fontFamily,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '&[data-disabled]': {\n color: `var(--ds-text-disabled, ${N80})`,\n cursor: 'not-allowed'\n }\n});\nconst lightLabelStyles = css({\n color: `var(--ds-text, ${N900})`\n});\nconst darkLabelStyles = css({\n color: `var(--ds-text, ${DN600})`\n});\nconst radioStyles = css({\n display: 'flex',\n\n /*\n The circle should be 14px * 14px centred in a 24px * 24px box.\n This is inclusive of a 2px border and inner circle with 2px radius.\n There is a Chrome bug that makes the circle become an oval and the\n inner circle not be centred at various zoom levels. This bug is fixed\n in all browsers if a scale of 14/24 is applied.\n */\n width: '24px',\n height: '24px',\n // TODO Delete this comment after verifying spacing token -> previous value `0`\n margin: \"var(--ds-scale-0, 0px)\",\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n backgroundColor: 'var(--radio-background-color)',\n\n /* Border should be 2px, multiply by 24/14 to offset scale */\n border: 'calc(2px * 12 / 7) solid var(--radio-border-color)',\n borderRadius: '50%',\n MozAppearance: 'none',\n outline: 'none',\n\n /*\n Change the variables --radio-background-color, --radio-border-color,\n -radio-dot-color and -radio-dot-opacity according to user interactions.\n All other variables are constant\n */\n '--radio-background-color': 'var(--local-background)',\n '--radio-border-color': 'var(--local-border)',\n '--radio-dot-color': 'var(--local-dot-checked)',\n '--radio-dot-opacity': 0,\n\n /* 24px * 7 / 12 === 14px height and width */\n transform: 'scale(calc(7 / 12))',\n transition: 'border-color 0.2s ease-in-out, background-color 0.2s ease-in-out',\n verticalAlign: 'top',\n WebkitAppearance: 'none',\n '&::after': {\n /* Height and width should by 4px, multiply by 24/14 to offset scale */\n width: 'calc(4px * 12 / 7)',\n height: 'calc(4px * 12 / 7)',\n position: 'absolute',\n background: 'var(--radio-dot-color)',\n borderRadius: '50%',\n content: \"''\",\n opacity: 'var(--radio-dot-opacity)',\n transition: 'background-color 0.2s ease-in-out, opacity 0.2s ease-in-out'\n },\n '&:hover': {\n '--radio-background-color': 'var(--local-background-hover)',\n '--radio-border-color': 'var(local-border-hover)'\n },\n '&:active': {\n '--radio-background-color': 'var(--local-background-active)'\n },\n '&:focus': {\n '--radio-border-color': 'var(--local-border-focus)'\n },\n '&:checked': {\n '--radio-background-color': 'var(--local-background-checked)',\n '--radio-border-color': 'var(--local-background-checked)',\n '--radio-dot-opacity': 1\n },\n '&:checked:hover': {\n '--radio-background-color': 'var(--local-background-checked-hover)',\n '--radio-border-color': 'var(--local-background-checked-hover)'\n },\n '&:checked:active': {\n '--radio-background-color': 'var(--local-background-checked-active)',\n '--radio-border-color': 'var(--local-border-hover)',\n '--radio-dot-color': 'var(--local-dot-active)'\n },\n '&:checked:focus': {\n '--radio-border-color': 'var(--local-border-focus)'\n },\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '&[data-invalid], &:checked[data-invalid]': {\n '--radio-border-color': 'var(--local-invalid)'\n },\n '&:disabled, &:disabled:hover, &:disabled:focus, &:disabled:active, &:disabled[data-invalid]': {\n cursor: 'not-allowed',\n '--radio-background-color': 'var(--local-background-disabled)',\n '--radio-border-color': 'var(--local-border-disabled)',\n '--radio-dot-color': 'var(--local-dot-disabled)'\n },\n '&:checked:disabled': {\n '--radio-border-color': 'transparent' // TODO: Investigate token solution\n\n }\n});\nconst RadioWithMode = /*#__PURE__*/forwardRef(function Radio(props, ref) {\n const {\n ariaLabel,\n isDisabled = false,\n isRequired,\n isInvalid = false,\n isChecked = false,\n label,\n mode,\n name,\n onChange = noop,\n value,\n testId,\n analyticsContext,\n // events and all other input props\n ...rest\n } = props;\n const onChangeAnalytics = usePlatformLeafEventHandler({\n fn: onChange,\n action: 'changed',\n analyticsData: analyticsContext,\n componentName: 'radio',\n packageName,\n packageVersion\n });\n const radioCustomProperties = useMemo(() => css(getRadioCustomProperties(mode)), [mode]);\n return (// https://product-fabric.atlassian.net/browse/DST-1971\n // eslint-disable-next-line jsx-a11y/label-has-associated-control,jsx-a11y/label-has-for\n jsx(\"label\", {\n \"data-testid\": testId && `${testId}--radio-label`,\n \"data-disabled\": isDisabled ? 'true' : undefined // TODO these will no longer be dynamic styles when legacy theming removed\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: [labelStyles, mode === 'light' ? lightLabelStyles : darkLabelStyles]\n }, jsx(\"input\", _extends({}, rest, {\n \"aria-label\": ariaLabel,\n checked: isChecked,\n disabled: isDisabled,\n name: name,\n onChange: onChangeAnalytics,\n required: isRequired,\n type: \"radio\",\n value: value,\n \"data-testid\": testId && `${testId}--radio-input` // isInvalid is used in a nonstandard way so cannot\n // use :invalid selector\n ,\n \"data-invalid\": isInvalid ? 'true' : undefined // TODO radioCustomProperties can be defined at top of file when legacy theming removed\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: [radioStyles, radioCustomProperties],\n ref: ref\n })), label ? jsx(\"span\", {\n css: labelPaddingStyles\n }, label) : null)\n );\n});\n/**\n * __Radio__\n *\n * A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.\n *\n * - [Examples](https://atlassian.design/components/radio/examples)\n * - [Code](https://atlassian.design/components/radio/code)\n * - [Usage](https://atlassian.design/components/radio/usage)\n */\n\nconst Radio = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Radio(props, ref) {\n return jsx(GlobalTheme.Consumer, null, ({\n mode\n }) => jsx(RadioWithMode, _extends({}, props, {\n ref: ref,\n mode: mode\n })));\n}));\nexport default Radio;","import { PricingPeriod } from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport { N800, B400 } from '@atlaskit/theme/colors';\nimport React, { ChangeEvent } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { useDesktopMediaQuery } from '../hooks';\nimport { usePriceFinderStore } from '../store';\nimport { deviceMediaQueries } from '../utils/constants';\nimport { SeePricingButton } from './pricing-example/see-pricing-button';\nimport { Radio } from '@atlaskit/radio';\n\nexport type BillingPeriodSelectorProps = {\n exampleShown: boolean;\n onShowHideExampleClick: (show: boolean) => void;\n};\nconst BillingPeriodSelector = ({\n exampleShown,\n onShowHideExampleClick\n}: BillingPeriodSelectorProps) => {\n const intl = useIntl();\n const isDesktop = useDesktopMediaQuery();\n const [{ billingCycle }, { updateBillingCycle }] = usePriceFinderStore();\n\n const onBillingCycleChange = (event: ChangeEvent): void => {\n void updateBillingCycle(event.target.value as PricingPeriod);\n };\n\n return (\n <>\n \n \n \n\n \n \n \n\n \n \n \n\n {!isDesktop && billingCycle === 'MONTHLY' && (\n \n \n \n )}\n\n {!isDesktop && billingCycle === 'ANNUAL' && (\n \n \n \n )}\n\n {isDesktop && (\n \n {\n onShowHideExampleClick(!exampleShown);\n }}\n >\n {exampleShown ? (\n \n ) : (\n \n )}\n \n \n )}\n \n );\n};\n\nconst HeaderMessage = styled.h4`\n font-size: 16px;\n grid-column: 2;\n grid-row: 3;\n letter-spacing: 0.3px;\n line-height: 20px;\n margin: 0;\n padding-right: 30px;\n\n ${deviceMediaQueries.desktop} {\n display: inline;\n font-size: 20px;\n line-height: 29px;\n }\n\n ${deviceMediaQueries.mobile} {\n grid-column: 1 / 4;\n grid-row: 3;\n padding-top: 15px;\n }\n`;\n\nconst billingToggleBase = `\n grid-row: 3;\n\n label {\n font-family: Charlie Text;\n font-weight: 400;\n color: ${N800};\n cursor: pointer;\n left: -5px;\n width: fit-content;\n align-items: center;\n letter-spacing:.3px;\n\n\n ${deviceMediaQueries.desktop} {\n font-family: Charlie Display;\n font-size: 20px;\n }\n }\n \n input {\n cursor: pointer;\n\n + span {\n padding-left: 6px;\n }\n \n ${deviceMediaQueries.desktop} {\n + span {\n padding-left: 11px;\n }\n width: 24px;\n height: 24px;\n background-color: white;\n border-color: ${B400};\n border-width: 2px;\n transform: none;\n\n &:after {\n width: 14px;\n height: 14px;\n background-color: ${B400};\n }\n &:focus-visible {\n box-shadow: 0px 0px 3px 3px ${B400}; \n &:after {\n width: 14px;\n height: 14px;\n background-color: ${B400};\n }\n }\n }\n }\n\n ${deviceMediaQueries.mobile} {\n grid-row: 4;\n }\n`;\n\nconst MonthlyBillingDescription = styled.div`\n line-height: 18px;\n\n ${deviceMediaQueries.mobile} {\n grid-column: 1 / 4;\n }\n`;\n\nconst AnnualBillingDescription = styled.div`\n line-height: 18px;\n\n ${deviceMediaQueries.mobile} {\n grid-column: 1 / 4;\n }\n`;\n\nconst MonthlyBillingToggle = styled.div`\n ${billingToggleBase}\n grid-column: 3;\n letter-spacing: 0.3px;\n\n ${deviceMediaQueries.mobile} {\n grid-column: 1;\n }\n`;\n\nconst AnnualBillingToggle = styled.div`\n ${billingToggleBase}\n grid-column: 4;\n\n ${deviceMediaQueries.desktop} {\n padding-left: 20px;\n }\n\n ${deviceMediaQueries.mobile} {\n grid-column: 2;\n left: 70px;\n position: relative;\n }\n`;\n\nconst ShowHideExample = styled.div`\n grid-column: 5;\n grid-row: 3;\n button {\n line-height: 14px;\n margin-left: 30px;\n\n ${deviceMediaQueries.desktop} {\n line-height: 32px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n ${deviceMediaQueries.mobile} {\n grid-column: 1;\n }\n }\n`;\n\nexport { BillingPeriodSelector };\n","import { B100, B75, DN10, DN30, DN40, DN600, DN90, N0, N10, N100, N30, N40, N70, N900 } from '@atlaskit/theme/colors';\nexport const disabledBackgroundColor = {\n light: `var(--ds-background-disabled, ${N10})`,\n dark: `var(--ds-background-disabled, ${DN10})`\n};\nexport const defaultBackgroundColor = {\n light: `var(--ds-background-input, ${N10})`,\n dark: `var(--ds-background-input, ${DN10})`\n};\nexport const defaultBackgroundColorFocus = {\n light: `var(--ds-background-input-pressed, ${N0})`,\n dark: `var(--ds-background-input-pressed, ${DN10})`\n};\nexport const defaultBackgroundColorHover = {\n light: `var(--ds-background-input-hovered, ${N30})`,\n dark: `var(--ds-background-input-hovered, ${DN30})`\n};\nexport const defaultBorderColor = {\n light: `var(--ds-border-input, ${N40})`,\n dark: `var(--ds-border-input, ${DN40})`\n};\nexport const defaultBorderColorFocus = {\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B75})`\n};\nexport const subtleBorderColorHover = {\n light: \"var(--ds-border-input, transparent)\",\n dark: \"var(--ds-border-input, transparent)\"\n};\nexport const transparent = {\n light: 'transparent',\n dark: 'transparent'\n};\nexport const textColor = {\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n};\nexport const disabledTextColor = {\n light: `var(--ds-text-disabled, ${N70})`,\n dark: `var(--ds-text-disabled, ${DN90})`\n};\nexport const placeholderTextColor = {\n light: `var(--ds-text-subtlest, ${N100})`,\n dark: `var(--ds-text-subtlest, ${DN90})`\n};","import { R400 } from '@atlaskit/theme/colors';\nimport { codeFontFamily, fontFamily, fontSize as getFontSize, gridSize as getGridSize } from '@atlaskit/theme/constants';\nimport * as componentTokens from './component-tokens';\nconst fontSize = getFontSize();\nconst gridSize = getGridSize();\nconst disabledRules = {\n light: {\n backgroundColor: componentTokens.disabledBackgroundColor.light,\n backgroundColorHover: componentTokens.disabledBackgroundColor.light,\n borderColor: componentTokens.disabledBackgroundColor.light,\n textColor: componentTokens.disabledTextColor.light\n },\n dark: {\n backgroundColor: componentTokens.disabledBackgroundColor.dark,\n backgroundColorHover: componentTokens.disabledBackgroundColor.dark,\n borderColor: componentTokens.disabledBackgroundColor.dark,\n textColor: componentTokens.disabledTextColor.dark\n }\n};\nconst invalidRules = {\n light: {\n // ----\n backgroundColor: componentTokens.defaultBackgroundColor.light,\n backgroundColorHover: componentTokens.defaultBackgroundColorHover.light,\n // ^--- the above values aren't used directly they remain because its exposed by the `textFieldColors` export\n backgroundColorFocus: componentTokens.defaultBackgroundColorFocus.light,\n borderColor: `var(--ds-border-danger, ${R400})`,\n borderColorFocus: componentTokens.defaultBorderColorFocus.light\n },\n dark: {\n // ----\n backgroundColor: componentTokens.defaultBackgroundColor.dark,\n backgroundColorHover: componentTokens.defaultBackgroundColorHover.dark,\n // ^--- the above values aren't used directly they remain because its exposed by the `textFieldColors` export\n backgroundColorFocus: componentTokens.defaultBackgroundColorFocus.dark,\n borderColor: `var(--ds-border-danger, ${R400})`,\n borderColorFocus: componentTokens.defaultBorderColorFocus.dark\n }\n};\nconst backgroundColor = {\n standard: componentTokens.defaultBackgroundColor,\n subtle: componentTokens.transparent,\n none: componentTokens.transparent\n};\nconst backgroundColorFocus = {\n standard: componentTokens.defaultBackgroundColorFocus,\n subtle: componentTokens.defaultBackgroundColorFocus,\n none: componentTokens.transparent\n};\nconst backgroundColorHover = {\n standard: componentTokens.defaultBackgroundColorHover,\n subtle: componentTokens.defaultBackgroundColorHover,\n none: componentTokens.transparent\n};\nconst borderColor = {\n standard: componentTokens.defaultBorderColor,\n subtle: componentTokens.transparent,\n none: componentTokens.transparent\n};\nconst borderColorFocus = {\n standard: componentTokens.defaultBorderColorFocus,\n subtle: componentTokens.defaultBorderColorFocus,\n none: componentTokens.transparent\n};\nconst borderColorHover = {\n standard: componentTokens.defaultBorderColor,\n subtle: componentTokens.subtleBorderColorHover,\n none: componentTokens.transparent\n};\n\nconst getContainerTextBgAndBorderColor = (appearance, mode) => ({\n backgroundColor: backgroundColor[appearance][mode],\n borderColor: borderColor[appearance][mode],\n color: componentTokens.textColor[mode],\n cursor: 'text',\n '&:hover:not([data-disabled])': {\n backgroundColor: backgroundColorHover[appearance][mode],\n borderColor: borderColorHover[appearance][mode]\n },\n '&:focus-within:not([data-disabled])': {\n backgroundColor: backgroundColorFocus[appearance][mode],\n borderColor: borderColorFocus[appearance][mode]\n },\n '&[data-disabled]': {\n color: disabledRules[mode].textColor,\n cursor: 'not-allowed',\n // Disabled background and border styles should not be applied to components that\n // have either no background or transparent background to begin with\n ...(appearance === 'standard' && {\n backgroundColor: disabledRules[mode].backgroundColor,\n borderColor: disabledRules[mode].borderColor\n })\n },\n '&[data-invalid], &[data-invalid]:hover': {\n borderColor: invalidRules[mode].borderColor\n },\n '&[data-invalid]:focus-within': {\n backgroundColor: invalidRules[mode].backgroundColorFocus,\n borderColor: invalidRules[mode].borderColorFocus\n },\n '@media screen and (-ms-high-contrast: active)': {\n '&[data-invalid]:focus-within': {\n borderColor: 'Highlight'\n },\n '&:focus-within': {\n borderColor: 'Highlight'\n },\n '&[data-disabled]': {\n borderColor: 'GrayText'\n }\n }\n});\n\nconst widthMap = {\n xsmall: 80,\n small: 160,\n medium: 240,\n large: 320,\n xlarge: 480\n};\n\nconst getMaxWidth = width => !width ? `100%` : width in widthMap ? widthMap[width] : +width;\n\nexport const containerStyles = (appearance, mode, width) => ({\n alignItems: 'center',\n ...getContainerTextBgAndBorderColor(appearance, mode),\n borderRadius: 3,\n borderWidth: 2,\n borderStyle: appearance === 'none' ? 'none' : 'solid',\n boxSizing: 'border-box',\n display: 'flex',\n flex: '1 1 100%',\n fontSize,\n justifyContent: 'space-between',\n maxWidth: getMaxWidth(width),\n overflow: 'hidden',\n transition: `background-color 0.2s ease-in-out, border-color 0.2s ease-in-out`,\n wordWrap: 'break-word',\n verticalAlign: 'top',\n pointerEvents: 'auto'\n});\nexport const inputStyles = mode => ({\n backgroundColor: 'transparent',\n border: 0,\n boxSizing: 'border-box',\n color: 'inherit',\n cursor: 'inherit',\n fontSize,\n minWidth: '0',\n outline: 'none',\n width: '100%',\n lineHeight: gridSize * 2.5 / fontSize,\n fontFamily: fontFamily(),\n '&[data-monospaced]': {\n fontFamily: codeFontFamily()\n },\n '&[data-compact]': {\n padding: `${gridSize / 2}px ${gridSize - 2}px`,\n height: `${(gridSize * 3.5 / fontSize).toFixed(2)}em`\n },\n '&:not([data-compact])': {\n padding: `${gridSize}px ${gridSize - 2}px`,\n height: `${(gridSize * 4.5 / fontSize).toFixed(2)}em`\n },\n '&[disabled]': {\n // Safari (WebKit) adds a -webkit-text-fill-color style to disabled inputs\n // which takes priority over color and makes the text unreadable. Need to\n // override it with the color we want.\n WebkitTextFillColor: disabledRules[mode].textColor\n },\n // Hide the clear indicator on Edge (Windows only)\n '&::-ms-clear': {\n display: 'none'\n },\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::placeholder': {\n color: componentTokens.placeholderTextColor[mode],\n '&:disabled': {\n color: disabledRules[mode].textColor\n }\n },\n '@media screen and (-ms-high-contrast: active)': {\n '&[disabled]': {\n color: 'GrayText'\n }\n }\n}); // TODO: Remove when removing legacy theming.\n\nexport const textFieldColors = {\n backgroundColor,\n backgroundColorFocus,\n backgroundColorHover,\n borderColor,\n borderColorFocus,\n borderColorHover,\n placeholderTextColor: componentTokens.placeholderTextColor,\n textColor: componentTokens.textColor,\n invalidRules,\n disabledRules\n};","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport React, { forwardRef, memo, useCallback, useMemo, useRef } from 'react';\nimport { jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { containerStyles as getContainerStyles, inputStyles as getInputStyles } from './styles';\nconst analyticsParams = {\n componentName: 'textField',\n packageName: \"@atlaskit/textfield\",\n packageVersion: \"5.3.4\"\n};\nconst Textfield = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n appearance = 'standard',\n isCompact = false,\n isDisabled = false,\n isInvalid = false,\n isRequired = false,\n isReadOnly = false,\n isMonospaced = false,\n width,\n elemAfterInput,\n elemBeforeInput,\n testId,\n onFocus,\n onBlur,\n onMouseDown,\n className,\n ...spreadProps\n } = props;\n const inputRef = useRef(null);\n const {\n mode\n } = useGlobalTheme();\n const handleOnFocus = usePlatformLeafEventHandler({\n fn: event => {\n onFocus && onFocus(event);\n },\n action: 'focused',\n ...analyticsParams\n });\n const handleOnBlur = usePlatformLeafEventHandler({\n fn: event => {\n onBlur && onBlur(event);\n },\n action: 'blurred',\n ...analyticsParams\n });\n const handleOnMouseDown = useCallback(event => {\n // Running e.preventDefault() on the INPUT prevents double click behaviour\n // Sadly we needed this cast as the target type is being correctly set\n const target = event.target;\n\n if (target.tagName !== 'INPUT') {\n event.preventDefault();\n }\n\n if (inputRef && inputRef.current && !isDisabled && document.activeElement !== inputRef.current) {\n inputRef.current.focus();\n }\n\n onMouseDown && onMouseDown(event);\n }, [onMouseDown, isDisabled]);\n const setInputRef = useCallback(inputElement => {\n inputRef.current = inputElement;\n\n if (!ref) {\n return;\n }\n\n if (typeof ref === 'object') {\n // This is a blunder on the part of @types/react\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065\n // .current should be assignable\n // @ts-expect-error\n ref.current = inputElement;\n }\n\n if (typeof ref === 'function') {\n ref(inputElement);\n }\n }, [ref]);\n const containerStyles = useMemo(() => getContainerStyles(appearance, mode, width), [appearance, mode, width]);\n const inputStyle = useMemo(() => getInputStyles(mode), [mode]);\n return (// We use event bubbling here to listen to any child element mouse down event.\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n jsx(\"div\", {\n \"data-disabled\": isDisabled ? isDisabled : undefined,\n \"data-invalid\": isInvalid ? isInvalid : undefined,\n \"data-ds--text-field--container\": true,\n \"data-testid\": testId && `${testId}-container`,\n onMouseDown: handleOnMouseDown // TODO: When removing legacy theming fix this.\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: containerStyles,\n className: className\n }, elemBeforeInput, jsx(\"input\", _extends({}, spreadProps, {\n \"data-compact\": isCompact ? isCompact : undefined,\n \"data-monospaced\": isMonospaced ? isMonospaced : undefined,\n \"data-ds--text-field--input\": true,\n \"data-testid\": testId,\n \"aria-invalid\": isInvalid ? isInvalid : undefined,\n disabled: isDisabled,\n readOnly: isReadOnly,\n required: isRequired,\n onBlur: handleOnBlur,\n onFocus: handleOnFocus,\n ref: setInputRef // TODO: When removing legacy theming fix this.\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: inputStyle\n })), elemAfterInput)\n );\n});\nTextfield.displayName = 'Textfield';\n/**\n * __Textfield__\n *\n * A text field is an input that allows a user to write or edit text.\n *\n * - [Examples](https://atlassian.design/components/textfield/examples)\n * - [Code](https://atlassian.design/components/textfield/code)\n * - [Usage](https://atlassian.design/components/textfield/usage)\n */\n\nexport default /*#__PURE__*/memo(Textfield); // The above generic is used to let ERTC know what props to extract.\n// See: https://github.com/atlassian/extract-react-types/issues/201","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport QuestionCircleIcon from '@atlaskit/icon/glyph/question-circle';\nimport Textfield from '@atlaskit/textfield';\nimport { B400, N10, N90, N900 } from '@atlaskit/theme/colors';\nimport Tooltip from '@atlaskit/tooltip';\nimport styled from '@emotion/styled';\nimport React, {\n ChangeEventHandler,\n MouseEventHandler,\n useEffect,\n useState\n} from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { usePriceFinderStore } from '../store';\nimport {\n deviceMediaQueries,\n TRACKING_EVENT_NAMES,\n UNIT_TRACKING_TERMS\n} from '../utils/constants';\n\nconst DEFAULT_NUM_DIGITS_ALLOWED = 5;\n\nexport type UnitCountProps = {\n readonly maxUnits?: number;\n readonly maxNumberOfDigits?: number;\n readonly unitTrackingTerm?: UNIT_TRACKING_TERMS;\n};\n\nexport const UnitCount = ({\n maxUnits,\n maxNumberOfDigits = DEFAULT_NUM_DIGITS_ALLOWED,\n unitTrackingTerm = UNIT_TRACKING_TERMS.agents\n}: UnitCountProps) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const [state, { updateUnitCount }] = usePriceFinderStore();\n const [currentUnits, setCurrentUnits] = useState(state.unitCount.toString());\n const [storedUnits, setStoredUnits] = useState(currentUnits);\n\n useEffect(() => {\n setCurrentUnits(state.unitCount.toString());\n }, [state.unitCount]);\n\n const onChange: ChangeEventHandler = ({ target }) => {\n let value = target.value;\n let parsedValue = parseInt(value, 10);\n if (Number.isNaN(parsedValue)) {\n setCurrentUnits('');\n } else {\n if (parsedValue < 1) {\n setCurrentUnits('');\n } else {\n if (value.length > maxNumberOfDigits) {\n value = value.toString().slice(0, maxNumberOfDigits);\n parsedValue = parseInt(value, 10);\n }\n if (value.length === 1) {\n setStoredUnits(value.toString());\n }\n\n let newUnits = Math.max(parsedValue, 0);\n\n if (maxUnits) {\n newUnits = Math.min(newUnits, maxUnits);\n }\n\n setCurrentUnits(newUnits.toString());\n void updateUnitCount(newUnits);\n }\n }\n };\n\n const onBlur = ({ currentTarget }: React.FocusEvent) => {\n if (currentTarget.value.length === 0) {\n setCurrentUnits(storedUnits);\n } else {\n setStoredUnits(currentUnits.toString());\n }\n };\n\n const onClick: MouseEventHandler = ({ currentTarget }) => {\n currentTarget.select();\n };\n\n const onMouseOver = () => {\n if (createAnalyticsEvent) {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.unitDescriptionTooltipTriggered,\n label: unitTrackingTerm\n });\n analyticsEvent.fire();\n }\n };\n\n return (\n <>\n \n \n \n\n \n \n \n\n \n \n \n \n }\n position={'top'}\n >\n onMouseOver()} tabIndex={0}>\n \n \n \n \n \n );\n};\n\nconst HowManyUnitsMessageContainer = styled.h4`\n color: ${N900};\n font-size: 20px;\n grid-column: 2;\n letter-spacing: 0.3px;\n line-height: 24px;\n margin: 0;\n\n ${deviceMediaQueries.desktop} {\n font-size: 20px;\n line-height: 24px;\n }\n\n ${deviceMediaQueries.mobile} {\n grid-column: 1 / 4;\n grid-row: 1;\n }\n`;\n\nconst UnitCountInputContainer = styled.div`\n input {\n background-color: ${N10};\n box-sizing: border-box;\n color: ${B400};\n font-size: 24px;\n height: 40px !important;\n left: 0px;\n line-height: 32px;\n top: 0px;\n width: 128px;\n }\n\n ${deviceMediaQueries.mobile} {\n grid-column: 2;\n grid-row: 2;\n }\n`;\n\nconst TooltipBase = styled.div`\n grid-column: 4;\n padding-left: 5px;\n\n > div {\n width: 25px;\n }\n\n ${deviceMediaQueries.mobile} {\n grid-column: 3;\n grid-row: 2;\n }\n`;\n\nconst TooltipMessageContainer = styled.div`\n font-family: Charlie Text;\n`;\n\nconst TooltipContainer = styled.div`\n > span {\n display: block;\n line-height: 0;\n }\n`;\n","/* eslint-disable @atlassian/tangerine/import/entry-points */\n\n/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\n/* eslint-disable @atlaskit/design-system/no-unsafe-design-token-usage */\nimport React, { memo } from 'react';\nimport Box from '@atlaskit/ds-explorations/box';\nimport Text from '@atlaskit/ds-explorations/text';\n\n/**\n * __Lozenge__\n *\n * A lozenge is a visual indicator used to highlight an item's status for quick recognition.\n *\n * - [Examples](https://atlassian.design/components/lozenge/examples)\n * - [Code](https://atlassian.design/components/lozenge/code)\n * - [Usage](https://atlassian.design/components/lozenge/usage)\n */\nconst Lozenge = /*#__PURE__*/memo(({\n children,\n testId,\n isBold = false,\n appearance = 'default',\n maxWidth = 200,\n style\n}) => {\n const appearanceStyle = isBold ? 'bold' : 'subtle';\n const appearanceType = appearance in backgroundColors[appearanceStyle] ? appearance : 'default';\n const maxWidthValue = typeof maxWidth === 'string' ? maxWidth : `${maxWidth}px`;\n const maxWidthIsPc = typeof maxWidth === 'string' && /%$/.test(maxWidth);\n return /*#__PURE__*/React.createElement(Box, {\n as: \"span\",\n display: \"inlineFlex\",\n backgroundColor: backgroundColors[appearanceStyle][appearanceType],\n borderRadius: \"normal\",\n paddingInline: \"space.050\",\n position: \"static\",\n testId: testId,\n overflow: \"hidden\",\n UNSAFE_style: {\n backgroundColor: style === null || style === void 0 ? void 0 : style.backgroundColor,\n maxWidth: maxWidthIsPc ? maxWidth : '100%'\n }\n }, /*#__PURE__*/React.createElement(Text, {\n fontSize: \"size.050\",\n fontWeight: \"bold\",\n lineHeight: \"lineHeight.100\",\n textTransform: \"uppercase\",\n color: textColors[appearanceStyle][appearanceType],\n shouldTruncate: true,\n UNSAFE_style: {\n color: style === null || style === void 0 ? void 0 : style.color,\n // to negate paddingInline specified on Box above\n maxWidth: maxWidthIsPc ? '100%' : `calc(${maxWidthValue} - ${\"var(--ds-space-100, 8px)\"})`\n },\n testId: testId && `${testId}--text`\n }, children));\n});\nLozenge.displayName = 'Lozenge';\nexport default Lozenge; // Lozenge colors\n\nconst backgroundColors = {\n bold: {\n default: 'neutral.bold',\n inprogress: 'information.bold',\n moved: 'warning.bold',\n new: 'discovery.bold',\n removed: 'danger.bold',\n success: 'success.bold'\n },\n subtle: {\n default: 'neutral',\n inprogress: 'information',\n moved: 'warning',\n new: 'discovery',\n removed: 'danger',\n success: 'success'\n }\n};\nconst textColors = {\n bold: {\n default: 'inverse',\n inprogress: 'inverse',\n moved: 'warning.inverse',\n new: 'inverse',\n removed: 'inverse',\n success: 'inverse'\n },\n subtle: {\n default: 'subtle',\n inprogress: 'information',\n moved: 'warning',\n new: 'discovery',\n removed: 'danger',\n success: 'success'\n }\n};","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport QuestionCircleIcon from '@atlaskit/icon/glyph/question-circle';\nimport Lozenge from '@atlaskit/lozenge';\nimport { N0, N900 } from '@atlaskit/theme/colors';\nimport Tooltip, { TooltipPrimitive } from '@atlaskit/tooltip';\nimport { FormattedPriceCalculationResponse } from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { TRACKING_EVENT_NAMES, UNIT_TRACKING_TERMS } from '../utils/constants';\n\nexport type UserTierProps = {\n readonly unitTrackingTerm?: UNIT_TRACKING_TERMS;\n readonly priceCalc: FormattedPriceCalculationResponse;\n};\n\nexport const UserTier = ({\n unitTrackingTerm = UNIT_TRACKING_TERMS.users,\n priceCalc\n}: UserTierProps) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n const onMouseOver = () => {\n if (createAnalyticsEvent) {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.userTierTooltipTriggered,\n label: unitTrackingTerm\n });\n analyticsEvent.fire();\n }\n };\n\n const { formattedBreakdown } = priceCalc;\n\n const fmtBreakdownTier = formattedBreakdown[formattedBreakdown.length - 1];\n if (!fmtBreakdownTier) {\n throw new Error('No breakdown provided for user tier.');\n }\n\n const {\n formattedUnitLimitLower,\n formattedUnitLimitUpper,\n formattedUnitsInTier,\n formattedUnitsAvailableInTier\n } = fmtBreakdownTier;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n {formattedUnitsInTier}\n \n \n \n {formattedUnitsAvailableInTier}\n \n }\n position={'bottom-end'}\n >\n onMouseOver()}>\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nconst UserTierContainer = styled.div`\n cursor: pointer;\n display: flex;\n justify-content: center;\n`;\n\nconst UserTierMessage = styled.div`\n border-radius: 4px;\n font-family: 'Charlie Text';\n font-size: 11px;\n font-style: normal;\n font-weight: normal;\n line-height: 16px;\n text-transform: uppercase;\n`;\n\nconst QuestionIconContainer = styled.div`\n align-items: center;\n display: flex;\n margin-left: 12px;\n`;\n\nconst TooltipContainer = styled.div`\n align-items: center;\n display: flex;\n\n svg {\n font-weight: normal;\n }\n`;\n\nconst TooltipContentContainer = styled(TooltipPrimitive)`\n background: ${N900};\n border-radius: 12px;\n box-shadow: 0px 3px 5px rgba(9, 30, 66, 0.2),\n 0px 0px 1px rgba(9, 30, 66, 0.31);\n max-width: 240px;\n padding: 3px 3px 3px 1px;\n`;\n\nconst UserTierDetailsContainer = styled.div`\n color: ${N0};\n font-family: Charlie Display;\n font-size: 20px;\n letter-spacing: 0.3px;\n line-height: 24px;\n margin-bottom: 20px;\n margin-left: 40px;\n margin-top: 20px;\n padding-right: 32px;\n`;\n\nconst MarginContainer = styled.div`\n background: ${N0};\n height: 1px;\n margin-bottom: 20px;\n margin-left: 30px;\n width: 176px;\n`;\n\nconst ToolTipLabelContainer = styled.div`\n color: ${N0};\n font-family: Charlie Display;\n font-size: 12px;\n height: 21px;\n letter-spacing: 1px;\n line-height: 21px;\n margin-left: 30px;\n text-transform: uppercase;\n`;\n\nconst LimitsContainer = styled.div`\n color: ${N0};\n font-family: Charlie Text;\n font-size: 16px;\n height: 24px;\n line-height: 24px;\n margin-bottom: 20px;\n margin-left: 30px;\n text-transform: uppercase;\n`;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\nimport { __assign, __extends, __rest, __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { Provider } from './injectIntl';\nimport { DEFAULT_INTL_CONFIG, invariantIntlContext, assignUniqueKeysToParts, shallowEqual, } from '../utils';\nimport { formatMessage as coreFormatMessage, createIntl as coreCreateIntl, createIntlCache, } from '@formatjs/intl';\nimport { isFormatXMLElementFn, } from 'intl-messageformat';\nfunction processIntlConfig(config) {\n return {\n locale: config.locale,\n timeZone: config.timeZone,\n fallbackOnEmptyString: config.fallbackOnEmptyString,\n formats: config.formats,\n textComponent: config.textComponent,\n messages: config.messages,\n defaultLocale: config.defaultLocale,\n defaultFormats: config.defaultFormats,\n onError: config.onError,\n onWarn: config.onWarn,\n wrapRichTextChunksInFragment: config.wrapRichTextChunksInFragment,\n defaultRichTextElements: config.defaultRichTextElements,\n };\n}\nfunction assignUniqueKeysToFormatXMLElementFnArgument(values) {\n if (!values) {\n return values;\n }\n return Object.keys(values).reduce(function (acc, k) {\n var v = values[k];\n acc[k] = isFormatXMLElementFn(v)\n ? assignUniqueKeysToParts(v)\n : v;\n return acc;\n }, {});\n}\nvar formatMessage = function (config, formatters, descriptor, rawValues) {\n var rest = [];\n for (var _i = 4; _i < arguments.length; _i++) {\n rest[_i - 4] = arguments[_i];\n }\n var values = assignUniqueKeysToFormatXMLElementFnArgument(rawValues);\n var chunks = coreFormatMessage.apply(void 0, __spreadArray([config,\n formatters,\n descriptor,\n values], rest, false));\n if (Array.isArray(chunks)) {\n return React.Children.toArray(chunks);\n }\n return chunks;\n};\n/**\n * Create intl object\n * @param config intl config\n * @param cache cache for formatter instances to prevent memory leak\n */\nexport var createIntl = function (_a, cache) {\n var rawDefaultRichTextElements = _a.defaultRichTextElements, config = __rest(_a, [\"defaultRichTextElements\"]);\n var defaultRichTextElements = assignUniqueKeysToFormatXMLElementFnArgument(rawDefaultRichTextElements);\n var coreIntl = coreCreateIntl(__assign(__assign(__assign({}, DEFAULT_INTL_CONFIG), config), { defaultRichTextElements: defaultRichTextElements }), cache);\n return __assign(__assign({}, coreIntl), { formatMessage: formatMessage.bind(null, {\n locale: coreIntl.locale,\n timeZone: coreIntl.timeZone,\n fallbackOnEmptyString: coreIntl.fallbackOnEmptyString,\n formats: coreIntl.formats,\n defaultLocale: coreIntl.defaultLocale,\n defaultFormats: coreIntl.defaultFormats,\n messages: coreIntl.messages,\n onError: coreIntl.onError,\n defaultRichTextElements: defaultRichTextElements,\n }, coreIntl.formatters) });\n};\nvar IntlProvider = /** @class */ (function (_super) {\n __extends(IntlProvider, _super);\n function IntlProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cache = createIntlCache();\n _this.state = {\n cache: _this.cache,\n intl: createIntl(processIntlConfig(_this.props), _this.cache),\n prevConfig: processIntlConfig(_this.props),\n };\n return _this;\n }\n IntlProvider.getDerivedStateFromProps = function (props, _a) {\n var prevConfig = _a.prevConfig, cache = _a.cache;\n var config = processIntlConfig(props);\n if (!shallowEqual(prevConfig, config)) {\n return {\n intl: createIntl(config, cache),\n prevConfig: config,\n };\n }\n return null;\n };\n IntlProvider.prototype.render = function () {\n invariantIntlContext(this.state.intl);\n return React.createElement(Provider, { value: this.state.intl }, this.props.children);\n };\n IntlProvider.displayName = 'IntlProvider';\n IntlProvider.defaultProps = DEFAULT_INTL_CONFIG;\n return IntlProvider;\n}(React.PureComponent));\nexport default IntlProvider;\n","import React, { PropsWithChildren } from 'react';\nimport { IntlProvider } from 'react-intl';\n\nexport type PricingIntlProviderProps = {\n locale: string;\n messages: Record;\n};\n\nconst PricingIntlProvider = ({\n locale,\n messages,\n children\n}: PropsWithChildren) => (\n \n {children}\n \n);\n\nexport { PricingIntlProvider };\n","import React from 'react';\n\nconst PricingExampleIcon = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default PricingExampleIcon;\n","import { N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nexport type PricingExampleHeaderProps = {\n unitCounts: number[];\n};\n\nexport const PricingExampleHeader = ({ unitCount }: { unitCount: number }) => (\n <>\n
\n \n
\n \n \n \n \n);\n\nconst Header = styled.h3`\n color: ${N900};\n font-family: Charlie Display;\n font-size: 20px;\n font-weight: 600;\n letter-spacing: 0.3px;\n line-height: 24px;\n margin: 0;\n`;\n\nconst SubHeader = styled.div`\n color: ${N900};\n font-family: 'Charlie Text';\n font-size: 14px;\n font-weight: 400;\n line-height: 18px;\n margin-top: 4px;\n`;\n","import {\n CurrencyISOCode,\n FormattedPriceCalculationResponse,\n getFormattedPrice\n} from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PricingExampleIcon from '../../../icons/pricing-example-icon';\nimport { deviceMediaQueries } from '../../../utils';\nimport { PricingExampleHeader } from './pricing-example-header';\n\nexport type PricingExampleAnnualProps = {\n unitCounts: number[];\n priceCalc: FormattedPriceCalculationResponse;\n currencyISOCode: CurrencyISOCode;\n};\n\nexport const PricingExampleAnnual = ({\n unitCounts,\n priceCalc,\n currencyISOCode\n}: PricingExampleAnnualProps) => {\n const { formattedTotalPrice, formattedBreakdown, breakdown, totalPrice } =\n priceCalc;\n\n const existingFmtBreakdown = formattedBreakdown[0];\n const totalUnits = breakdown.reduce(\n // linting is broken in pipeline (for no reason) where it thinks these are untyped\n // and freaks out about trying to use plus operand on untyped vars\n (totalUnits: number, { unitsInTier }) => totalUnits + Number(unitsInTier),\n 0\n );\n\n if (!existingFmtBreakdown) {\n throw new Error('Formatted pricing breakdown was undefined.');\n }\n const {\n formattedUnitsAvailableInTier,\n formattedUnitLimitLower,\n formattedUnitLimitUpper\n } = existingFmtBreakdown;\n\n return (\n <>\n \n \n \n
\n
\n \n \n \n
\n \n {formattedUnitLimitLower} - {formattedUnitLimitUpper}{' '}\n \n
\n
\n
\n
\n \n \n \n
\n {unitCounts[1] || 250}\n
\n
\n
\n \n \n \n
\n {formattedUnitsAvailableInTier}\n
\n
\n
\n
\n
\n \n \n {' '}\n {formattedTotalPrice}\n
\n
\n \n \n {' '}\n \n {getFormattedPrice(currencyISOCode, totalPrice / totalUnits / 12)}\n \n
\n
\n \n \n \n
\n \n );\n};\n\nconst DetailContainer = styled.div`\n position: relative;\n`;\n\nconst IconContainer = styled.div`\n position: absolute;\n right: 16px;\n top: 15%;\n\n svg {\n height: 68px;\n width: 68px;\n }\n\n ${deviceMediaQueries.desktop} {\n right: 0;\n top: 0;\n\n svg {\n height: 160px;\n width: 160px;\n }\n }\n`;\n\nconst PriceBreakDownContainer = styled.div`\n font-family: 'Charlie Text';\n font-size: 14px;\n line-height: 18px;\n\n .seats {\n padding-top: 8px;\n }\n\n .annual-cost {\n padding-top: 16px;\n }\n\n .average-cost {\n padding-bottom: 24px;\n padding-top: 4px;\n }\n\n .price-structure {\n margin-top: 16px;\n }\n\n ${deviceMediaQueries.desktop} {\n font-size: 16px;\n line-height: 24px;\n\n .user-tier {\n padding-top: 8px;\n }\n\n .price-structure {\n display: flex;\n justify-content: space-between;\n width: 271px;\n }\n\n .annual-cost {\n padding-top: 48px;\n }\n }\n`;\n\nconst RegularText = styled.span`\n font-weight: 400;\n`;\n\nconst BoldText = styled.span`\n font-weight: 700;\n`;\n","import { N900 } from '@atlaskit/theme/colors';\nimport {\n FormattedBreakdownPriceTier,\n FormattedPriceCalculationResponse\n} from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport PricingExampleIcon from '../../../icons/pricing-example-icon';\nimport { deviceMediaQueries } from '../../../utils';\nimport { PricingExampleHeader } from './pricing-example-header';\n\nexport type PricingExampleMonthlyProps = {\n unitCounts: number[];\n priceCalc: FormattedPriceCalculationResponse;\n showFirstFlatRateTier: boolean;\n};\n\nexport const PricingExampleMonthly = ({\n unitCounts,\n priceCalc,\n showFirstFlatRateTier\n}: PricingExampleMonthlyProps) => {\n const {\n hasFlatRateFirstTier,\n formattedTotalPrice,\n formattedAvgPerUnitPrice,\n formattedBreakdown\n } = priceCalc;\n\n return (\n <>\n \n \n {showFirstFlatRateTier && (\n \n \n \n )}\n \n \n \n \n \n \n\n \n {formattedBreakdown.map(\n (fmtBreakdownTier: FormattedBreakdownPriceTier, idx: number) => {\n const isFlatRateTier =\n showFirstFlatRateTier && hasFlatRateFirstTier && idx == 0;\n\n return (\n \n {fmtBreakdownTier.formattedUnitsInTier}\n \n \n \n \n {isFlatRateTier\n ? fmtBreakdownTier.formattedTotalPriceForTier\n : fmtBreakdownTier.formattedAvgPerUnitPriceForTier}\n \n {isFlatRateTier && (\n \n \n \n )}\n \n );\n }\n )}\n \n\n \n
\n \n {unitCounts[0]}\n \n \n \n \n
\n
\n \n \n {' '}\n {formattedTotalPrice}\n
\n
\n \n \n {' '}\n {formattedAvgPerUnitPrice}\n
\n
\n {!showFirstFlatRateTier && (\n \n \n \n )}\n
\n \n );\n};\n\nconst DetailContainer = styled.div`\n position: relative;\n`;\n\nconst UserCount = styled.div`\n margin-bottom: 4px;\n margin-top: 16px;\n\n ${deviceMediaQueries.desktop} {\n margin-bottom: 8px;\n }\n`;\n\nconst IconContainer = styled.div`\n position: absolute;\n right: 16px;\n top: 15%;\n\n svg {\n height: 68px;\n width: 68px;\n }\n\n ${deviceMediaQueries.desktop} {\n right: 0;\n top: 0;\n\n svg {\n height: 160px;\n width: 160px;\n }\n }\n`;\n\nconst FlatRateIconContainer = styled(IconContainer)`\n ${deviceMediaQueries.extraSmall} {\n display: block;\n margin-left: auto;\n margin-right: auto;\n padding-top: 16px;\n position: relative;\n width: 20%;\n\n svg {\n height: 75px;\n width: 75px;\n }\n }\n`;\n\nconst PriceBreakDownContainer = styled.div`\n font-family: 'Charlie Text';\n font-size: 14px;\n line-height: 18px;\n\n .users {\n padding-top: 8px;\n }\n\n .monthly-cost {\n padding-top: 12px;\n }\n\n .average-cost {\n padding-bottom: 24px;\n padding-top: 4px;\n }\n\n ${deviceMediaQueries.desktop} {\n font-size: 16px;\n line-height: 24px;\n }\n`;\n\nconst PriceBreakDownListingContainer = styled.span`\n display: inline-grid;\n grid-template-columns: repeat(4, auto);\n`;\n\nconst RegularText = styled.span`\n font-weight: 400;\n`;\n\nconst NumUnits = styled.span`\n grid-column: 1;\n text-align: right;\n`;\n\nconst TotalUnits = styled.span`\n font-weight: 700;\n text-align: right;\n`;\n\nconst UsersLabel = styled.span`\n padding-left: 8px;\n`;\n\nconst TotalUsersLabel = styled.span`\n font-weight: 700;\n grid-column: 2;\n padding-left: 7px;\n`;\n\nconst TierPrice = styled.span`\n font-weight: 700;\n grid-column: 3;\n padding-left: 10px;\n text-align: right;\n`;\n\nconst BoldText = styled.span`\n font-weight: 700;\n`;\n\nconst Border = styled.div`\n border-top: 1px solid ${N900};\n margin-top: 8px;\n width: 140px;\n\n ${deviceMediaQueries.desktop} {\n width: 180px;\n }\n`;\n\nconst FlatRateMessageContainer = styled.span`\n font-weight: 700;\n grid-column: 4;\n padding-left: 10px;\n`;\n","import { colors } from '@atlaskit/theme';\nimport { CurrencyISOCode } from '@atlassiansox/bxp-use-pricing';\nimport { FormattedPriceCalculationResponse } from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useDesktopMediaQuery } from '../../../hooks';\nimport { usePriceFinderStore } from '../../../store';\nimport { PricingExampleAnnual } from './pricing-example-annual';\nimport { PricingExampleMonthly } from './pricing-example-monthly';\n\nexport type PricingExampleProps = {\n unitCounts: number[];\n priceCalc: FormattedPriceCalculationResponse;\n showFirstFlatRateTier: boolean;\n currencyISOCode: CurrencyISOCode;\n};\n\nexport const PricingExample = ({\n unitCounts,\n priceCalc,\n showFirstFlatRateTier,\n currencyISOCode\n}: PricingExampleProps) => {\n const isDesktop = useDesktopMediaQuery();\n const [{ billingCycle }] = usePriceFinderStore();\n const [billingPeriod, setBillingPeriod] = useState(billingCycle);\n\n useEffect(() => {\n setBillingPeriod(billingCycle);\n }, [billingCycle]);\n\n return isDesktop ? (\n \n {billingPeriod === 'MONTHLY' && (\n \n \n \n )}\n\n {billingPeriod === 'ANNUAL' && (\n \n \n \n )}\n \n {billingCycle === 'MONTHLY' ? (\n \n ) : (\n \n )}\n \n \n {billingPeriod === 'MONTHLY' && (\n \n )}\n\n {billingPeriod === 'ANNUAL' && (\n \n )}\n \n \n ) : (\n
\n \n {billingCycle === 'MONTHLY' ? (\n \n ) : (\n \n )}\n \n\n \n {billingCycle === 'MONTHLY' && (\n \n )}\n\n {billingCycle === 'ANNUAL' && (\n \n )}\n \n
\n );\n};\n\nconst BillingDescription = styled.div`\n color: #000000;\n font-family: 'Charlie Text';\n font-size: 16px;\n font-weight: 400;\n line-height: 24px;\n margin: 0 auto;\n margin-bottom: 24px;\n margin-top: 5px;\n text-align: center;\n width: 468px;\n`;\n\nconst DesktopContainer = styled.div`\n grid-column: 1 / 7;\n grid-row: 4;\n margin: 0 auto;\n padding-top: 24px;\n width: 568px;\n`;\n\nconst Example = styled.p`\n color: #000000;\n font-family: 'Charlie Text';\n font-size: 12px;\n font-style: italic;\n font-weight: 400;\n line-height: 18px;\n margin: 0;\n`;\n\nconst MainContainer = styled.div`\n background-color: white;\n border: 1px solid ${colors.N80};\n border-radius: 4px;\n margin-top: 4px;\n padding: 28px 48px 24px 32px;\n`;\n\nconst MobileContainer = styled.div`\n margin-top: 8px;\n`;\n","import {\n CurrencyISOCode,\n FormattedPriceCalculationResponse\n} from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { PricingExampleContainerProps } from './pricing-example-container';\nimport { PricingExample } from './pricing-example-states';\nimport { SeePricingButton } from './see-pricing-button';\n\nexport interface PricingExampleMobileProps\n extends Omit<\n PricingExampleContainerProps,\n 'hideBillingSelector' | 'unitTrackingTerm'\n > {\n readonly showExample: boolean;\n readonly setShowExample: (show: boolean) => void;\n readonly priceCalc: FormattedPriceCalculationResponse;\n readonly showFirstFlatRateTier: boolean;\n readonly currencyISOCode: CurrencyISOCode;\n}\n\nconst PricingExampleMobile = ({\n pricingExampleUnitCounts,\n showExample,\n setShowExample,\n priceCalc,\n showFirstFlatRateTier,\n currencyISOCode\n}: PricingExampleMobileProps) => {\n return (\n \n {!showExample && (\n \n {\n setShowExample(true);\n }}\n >\n \n \n \n )}\n {showExample && (\n \n )}\n {showExample && (\n \n {\n setShowExample(false);\n }}\n >\n \n \n \n )}\n \n );\n};\n\nconst ExampleLabel = styled.div`\n button {\n margin: 0px;\n padding: 0px;\n }\n`;\n\nconst PricingExampleForMobile = styled.div`\n grid-column: 1 / 4;\n`;\n\nexport { PricingExampleMobile };\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { N10 } from '@atlaskit/theme/colors';\nimport {\n CurrencyISOCode,\n FormattedPriceCalculationResponse\n} from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React, { useEffect, useState } from 'react';\nimport { useDesktopMediaQuery } from '../../hooks';\nimport { deviceMediaQueries, TRACKING_EVENT_NAMES } from '../../utils';\nimport { BillingPeriodSelector } from '../billing-period-selector';\nimport { UnitCount } from '../unit-count';\nimport { PricingExampleContainerProps } from './pricing-example-container';\nimport { PricingExampleMobile } from './pricing-example-mobile';\nimport { PricingExample } from './pricing-example-states';\n\nexport type PricingExampleDefaultProps = Omit<\n PricingExampleContainerProps,\n 'hideBillingSelector'\n> & {\n priceCalc: FormattedPriceCalculationResponse;\n currencyISOCode: CurrencyISOCode;\n};\n\nconst PricingExampleDefault = ({\n unitTrackingTerm,\n pricingExampleUnitCounts,\n priceCalc,\n showFirstFlatRateTier,\n currencyISOCode\n}: PricingExampleDefaultProps) => {\n const [showExample, setShowExample] = useState(false);\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const isDesktop = useDesktopMediaQuery();\n\n // send analytics event if pricing example has been shown\n useEffect(() => {\n const analyticsEvent = createAnalyticsEvent({\n name: !showExample\n ? TRACKING_EVENT_NAMES.showPricingExampleTriggered\n : TRACKING_EVENT_NAMES.hidePricingExampleTriggered\n });\n analyticsEvent.fire();\n }, [showExample]);\n\n return (\n \n \n\n \n setShowExample(setExampleShown)\n }\n />\n\n {showExample && isDesktop && (\n \n )}\n\n {!isDesktop && (\n setShowExample(value)}\n showFirstFlatRateTier={showFirstFlatRateTier}\n currencyISOCode={currencyISOCode}\n />\n )}\n \n );\n};\n\nexport const ExampleContainer = `\n align-items: center;\n background-color: ${N10};\n border-radius: 4px;\n box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.1);\n display: grid;\n grid-template-columns: 1fr repeat(4, minmax(max-content, auto)) 1fr;\n padding: 20px;\n\n ${deviceMediaQueries.mobile} {\n grid-template-columns: 1fr minmax(max-content, auto) 1fr;\n }\n`;\n\nconst UnitCountBillingPeriodContainer = styled.div`\n grid-template-rows: minmax(max-content, auto) 20px minmax(max-content, auto) 1fr;\n ${ExampleContainer}\n\n ${deviceMediaQueries.mobile} {\n grid-template-rows: repeat(6, minmax(max-content, auto));\n row-gap: 15px;\n }\n`;\n\nexport { PricingExampleDefault };\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport {\n CurrencyISOCode,\n FormattedPriceCalculationResponse\n} from '@atlassiansox/bxp-use-pricing';\nimport styled from '@emotion/styled';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useDesktopMediaQuery } from '../../hooks';\nimport { deviceMediaQueries, TRACKING_EVENT_NAMES } from '../../utils';\nimport { UnitCount } from '../unit-count';\nimport { PricingExampleContainerProps } from './pricing-example-container';\nimport { ExampleContainer } from './pricing-example-default';\nimport { PricingExampleMobile } from './pricing-example-mobile';\nimport { PricingExample } from './pricing-example-states';\nimport { SeePricingButton } from './see-pricing-button';\n\nexport type PricingExampleNoSelectorProps = Omit<\n PricingExampleContainerProps,\n 'hideBillingSelector'\n> & {\n priceCalc: FormattedPriceCalculationResponse;\n currencyISOCode: CurrencyISOCode;\n};\n\nconst PricingExampleNoSelector = ({\n unitTrackingTerm,\n pricingExampleUnitCounts,\n priceCalc,\n showFirstFlatRateTier,\n currencyISOCode\n}: PricingExampleNoSelectorProps) => {\n const [showExample, setShowExample] = useState(false);\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const isDesktop = useDesktopMediaQuery();\n\n // send analytics event if pricing example has been shown\n useEffect(() => {\n const analyticsEvent = createAnalyticsEvent({\n name: !showExample\n ? TRACKING_EVENT_NAMES.showPricingExampleTriggered\n : TRACKING_EVENT_NAMES.hidePricingExampleTriggered\n });\n analyticsEvent.fire();\n }, [showExample]);\n return (\n \n \n {isDesktop && (\n \n {\n setShowExample(!showExample);\n }}\n >\n {showExample ? (\n \n ) : (\n \n )}\n \n \n )}\n\n {showExample && isDesktop && (\n \n )}\n\n {!isDesktop && (\n setShowExample(value)}\n showFirstFlatRateTier={showFirstFlatRateTier}\n currencyISOCode={currencyISOCode}\n />\n )}\n \n );\n};\n\nconst UnitCountContainer = styled.div`\n column-gap: 15px;\n ${ExampleContainer}\n ${deviceMediaQueries.mobile} {\n grid-template-columns: 1fr minmax(max-content, auto) 1fr;\n row-gap: 20px;\n }\n`;\n\nconst ShowHideExample = styled.div`\n button {\n ${deviceMediaQueries.desktop} {\n line-height: 32px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n ${deviceMediaQueries.mobile} {\n grid-column: 1;\n }\n }\n`;\n\nexport { PricingExampleNoSelector };\n","import { CurrencyISOCode } from '@atlassiansox/bxp-use-pricing';\nimport React from 'react';\nimport { usePriceFinderStore } from '../../store';\nimport { UNIT_TRACKING_TERMS } from '../../utils';\nimport { PricingExampleDefault } from './pricing-example-default';\nimport { PricingExampleNoSelector } from './pricing-example-no-selector';\n\nexport interface PricingExampleContainerProps {\n unitTrackingTerm: UNIT_TRACKING_TERMS;\n pricingExampleUnitCounts: number[];\n hideBillingSelector: boolean;\n showFirstFlatRateTier: boolean;\n currencyISOCode: CurrencyISOCode;\n}\n\nconst PricingExampleContainer = ({\n unitTrackingTerm,\n pricingExampleUnitCounts,\n hideBillingSelector,\n showFirstFlatRateTier,\n currencyISOCode\n}: PricingExampleContainerProps) => {\n const [{ priceCalcs }] = usePriceFinderStore();\n const examplePriceCalc = priceCalcs[priceCalcs.length - 1];\n\n if (!examplePriceCalc) {\n throw new Error('Price calculation for pricing example was not found.');\n }\n\n return !hideBillingSelector ? (\n \n ) : (\n \n );\n};\n\nexport { PricingExampleContainer };\n","import CheckIcon from '@atlaskit/icon/glyph/check';\nimport Lozenge from '@atlaskit/lozenge';\nimport { G400, N40, N500, N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nexport type FeatureMessageProps = {\n isLabelPresent?: boolean;\n message: string;\n modalTargetId?: string;\n};\n\nconst FeatureMessage = ({\n isLabelPresent,\n message,\n modalTargetId\n}: FeatureMessageProps) => {\n return (\n <>\n \n \n {modalTargetId && (\n {\n e.preventDefault();\n\n const modalTrigger: HTMLElement | null = document?.querySelector(\n `[data-target='#modal-${modalTargetId}']`\n );\n\n if (modalTrigger) {\n modalTrigger.click();\n } else {\n throw new Error(\n `Feature modal trigger was not found for modal id: ${modalTargetId} with label \"${message}\"`\n );\n }\n }}\n >\n {message}\n
\n )}\n {!modalTargetId && (\n {message}\n )}\n \n {isLabelPresent && (\n \n \n \n \n \n )}\n \n );\n};\n\nconst FeatureMessageContainer = styled.div`\n display: flex;\n padding-left: 18px;\n padding-top: 16px;\n\n a {\n color: ${N900};\n padding-left: 4px;\n text-decoration: underline;\n text-decoration-color: #8993a4;\n text-decoration-style: dashed;\n text-decoration-thickness: 1px;\n text-underline-offset: 3px;\n }\n`;\n\nconst MessageWithoutUnderline = styled.div`\n color: ${N900};\n padding-left: 4px;\n`;\n\nconst Label = styled.div`\n border-radius: 4px;\n font-size: 11px;\n font-weight: normal;\n line-height: 16px;\n text-align: center;\n text-transform: uppercase;\n`;\n\nconst LabelContainer = styled.div`\n padding-left: 46px;\n`;\n\nexport { FeatureMessage };\n","import { B400, N10, N40, N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React, { PropsWithChildren } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useDesktopMediaQuery } from '../../hooks';\nimport { FeatureMessage } from '../feature-message';\n\nexport type PlanCardProps = {\n first?: boolean;\n last?: boolean;\n rightHighlighted?: boolean;\n highlighted?: boolean;\n planName: string;\n ctaButton: React.ReactNode;\n featureMessagePlanName?: string;\n planFeatureMessages?: {\n message: string;\n modalTargetId?: string;\n isLabelPresent?: boolean;\n }[];\n};\n\nconst PlanCard = ({\n first = false,\n last = false,\n rightHighlighted = false,\n highlighted = false,\n planName,\n ctaButton,\n featureMessagePlanName,\n planFeatureMessages,\n children\n}: PropsWithChildren) => {\n const isMobile = !useDesktopMediaQuery();\n\n if (isMobile) {\n first = last = true;\n }\n\n const baseBorderStyles = `\n border-color: ${highlighted ? B400 : N40};\n border-left-width: ${first ? '1px' : '0'};\n border-right-color: ${highlighted || rightHighlighted ? B400 : N40};\n border-right-width: 1px;\n border-top-width: 0;\n border-bottom-width: 0;\n border-style: solid;\n `;\n\n return (\n <>\n \n {planName}\n \n\n \n {children}\n\n {ctaButton}\n \n\n {planFeatureMessages && planFeatureMessages.length > 0 && (\n \n {featureMessagePlanName && (\n \n \n \n )}\n {planFeatureMessages.map((featureMessage, index) => (\n
\n \n
\n ))}\n \n )}\n \n );\n};\n\nconst Header = styled.div<{\n first: boolean;\n last: boolean;\n highlighted: boolean;\n baseBorderStyles: string;\n}>`\n ${(props) => props.baseBorderStyles}\n background-color: ${(props) => (props.highlighted ? B400 : N10)};\n border-top: 1px solid ${(props) => (props.highlighted ? B400 : N40)};\n border-top-left-radius: ${(props) => (props.first ? '9' : '0')}px;\n border-top-right-radius: ${(props) => (props.last ? '9' : '0')}px;\n color: ${(props) => (props.highlighted ? 'white' : N900)};\n font-size: 16px;\n grid-row: 1;\n line-height: 24px;\n padding: 20px 25px 20px;\n text-align: center;\n`;\n\nconst PlanMessagingContainer = styled.div<{\n highlighted: boolean;\n baseBorderStyles: string;\n first: boolean;\n last: boolean;\n planFeatureMessagesLength: number | undefined;\n isMobile: boolean;\n}>`\n ${(props) => props.baseBorderStyles}\n background-color: ${(props) => (props.highlighted ? '#F1F7FF' : 'white')};\n border-bottom-left-radius: ${(props) =>\n !props.planFeatureMessagesLength && props.first ? '9' : '0'}px;\n border-bottom-right-radius: ${(props) =>\n !props.planFeatureMessagesLength && props.last ? '9' : '0'}px;\n border-bottom-width: 1px;\n display: flex;\n flex-direction: column;\n grid-row: 2;\n margin-bottom: ${(props) =>\n props.isMobile && !props.planFeatureMessagesLength ? '25' : '0'}px;\n padding: 0 20px;\n text-align: center;\n`;\n\nconst CTAButtonContainer = styled.div`\n margin-bottom: 32px;\n`;\n\nconst PlanName = styled.h3<{\n highlighted: boolean;\n}>`\n color: ${(props) => (props.highlighted ? 'white' : N900)} !important;\n font-size: 24px;\n line-height: 32px;\n margin: 0 0 8px;\n padding: 0;\n`;\n\nconst FeatureMessagesList = styled.div<{\n first: boolean;\n last: boolean;\n baseBorderStyles: string;\n highlighted: boolean;\n isMobile: boolean;\n}>`\n ${(props) => props.baseBorderStyles}\n background: white;\n border-bottom: 1px solid ${(props) => (props.highlighted ? B400 : N40)};\n border-bottom-left-radius: ${(props) => (props.first ? '9' : '0')}px;\n border-bottom-right-radius: ${(props) => (props.last ? '9' : '0')}px;\n font-size: 16px;\n grid-row: 3;\n line-height: 24px;\n margin-bottom: ${(props) => (props.isMobile ? '25' : '0')}px;\n padding-bottom: 20px;\n padding-right: 20px;\n`;\n\nconst FeatureMessageTitle = styled.div`\n font-weight: 700;\n padding: 16px 0 0 46px;\n`;\n\nexport { PlanCard };\n","import Button from '@atlaskit/button';\nimport { B400 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React, { PropsWithChildren } from 'react';\n\nexport type CTAButtonProps = {\n highlighted?: boolean;\n disabled?: boolean;\n onClickHandler: () => void;\n};\n\nconst CTAButton = ({\n highlighted = false,\n disabled = false,\n onClickHandler,\n children\n}: PropsWithChildren) => {\n const style: React.CSSProperties = {\n border: !highlighted && !disabled ? `1px solid ${B400}` : 'none',\n font: 'Charlie Text',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: '20px',\n height: 'auto',\n textDecoration: 'none',\n width: 'fit-content',\n whiteSpace: 'normal',\n paddingTop: '8px',\n paddingBottom: '8px'\n };\n\n if (disabled) {\n style.backgroundColor = 'rgba(9, 30, 66, 0.04)';\n }\n\n return (\n \n onClickHandler()}\n isDisabled={disabled}\n style={style}\n >\n {children}\n \n \n );\n};\n\nconst ButtonWrapper = styled.div`\n span {\n white-space: normal;\n }\n`;\n\nexport { CTAButton };\n","import React from 'react';\nimport ExitingPersistence from '@atlaskit/motion/exiting-persistence';\n/**\n * __Modal transition__\n *\n * A modal transition wraps a modal to provide a fluid transition upon opening and closing.\n *\n * - [Examples](https://atlassian.design/components/modal-dialog/examples)\n * - [Code](https://atlassian.design/components/modal-dialog/code)\n * - [Usage](https://atlassian.design/components/modal-dialog/usage)\n */\n\nconst ModalTransition = props => {\n return /*#__PURE__*/React.createElement(ExitingPersistence, {\n appear: true\n }, props.children);\n};\n\nexport default ModalTransition;","/**\n * defines a focus group\n */\nexport var FOCUS_GROUP = 'data-focus-lock';\n/**\n * disables element discovery inside a group marked by key\n */\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\n/**\n * allows uncontrolled focus within the marked area, effectively disabling focus lock for it's content\n */\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\n/**\n * instructs autofocus engine to pick default autofocus inside a given node\n * can be set on the element or container\n */\nexport var FOCUS_AUTO = 'data-autofocus-inside';\n/**\n * instructs autofocus to ignore elements within a given node\n * can be set on the element or container\n */\nexport var FOCUS_NO_AUTOFOCUS = 'data-no-autofocus';\n","import * as 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 /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/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 { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true // focus-lock sidecar is not required on the server\n // however, it might be required for JSDOM tests\n // ssr: true,\n\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { useEffect } from 'react';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n hasPositiveIndices = props.hasPositiveIndices,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n focusOptions = props.focusOptions,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n useEffect(function () {\n if (!disabled) {\n // cleanup return focus on trap deactivation\n // sideEffect/returnFocus should happen by this time\n originalFocusedElement.current = null;\n }\n }, []);\n var returnFocus = React.useCallback(function (allowDefer) {\n var returnFocusTo = originalFocusedElement.current;\n\n if (returnFocusTo && returnFocusTo.focus) {\n var howToReturnFocus = typeof shouldReturnFocus === 'function' ? shouldReturnFocus(returnFocusTo) : shouldReturnFocus;\n\n if (howToReturnFocus) {\n var returnFocusOptions = typeof howToReturnFocus === 'object' ? howToReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return returnFocusTo.focus(returnFocusOptions);\n });\n } else {\n returnFocusTo.focus(returnFocusOptions);\n }\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\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 React.useEffect(function () {\n // report incorrect integration - https://github.com/theKashey/react-focus-lock/issues/123\n if (!observed.current && typeof Container !== 'string') {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\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 var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // first tabbed element guard\n hasPositiveIndices ? /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) : null], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus,\n focusOptions: focusOptions\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object, func]),\n focusOptions: object,\n noFocusGuards: bool,\n hasPositiveIndices: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n focusOptions: undefined,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n hasPositiveIndices: undefined,\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;","/*\nIE11 support\n */\nexport var toArray = function (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};\nexport var asArray = function (a) { return (Array.isArray(a) ? a : [a]); };\nexport var getFirst = function (a) { return (Array.isArray(a) ? a[0] : a); };\n","import { FOCUS_NO_AUTOFOCUS } from '../constants';\nvar isElementHidden = function (node) {\n // we can measure only \"elements\"\n // consider others as \"visible\"\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n var computedStyle = window.getComputedStyle(node, null);\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return (computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden');\n};\nvar getParentNode = function (node) {\n // DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node\n return node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node.parentNode.host\n : node.parentNode;\n};\nvar isTopNode = function (node) {\n // @ts-ignore\n return node === document || (node && node.nodeType === Node.DOCUMENT_NODE);\n};\nvar isVisibleUncached = function (node, checkParent) {\n return !node || isTopNode(node) || (!isElementHidden(node) && checkParent(getParentNode(node)));\n};\nexport var isVisibleCached = function (visibilityCache, node) {\n var cached = visibilityCache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nvar isAutoFocusAllowedUncached = function (node, checkParent) {\n return node && !isTopNode(node) ? (isAutoFocusAllowed(node) ? checkParent(getParentNode(node)) : false) : true;\n};\nexport var isAutoFocusAllowedCached = function (cache, node) {\n var cached = cache.get(node);\n if (cached !== undefined) {\n return cached;\n }\n var result = isAutoFocusAllowedUncached(node, isAutoFocusAllowedCached.bind(undefined, cache));\n cache.set(node, result);\n return result;\n};\nexport var getDataset = function (node) {\n // @ts-ignore\n return node.dataset;\n};\nexport var isHTMLButtonElement = function (node) { return node.tagName === 'BUTTON'; };\nexport var isHTMLInputElement = function (node) { return node.tagName === 'INPUT'; };\nexport var isRadioElement = function (node) {\n return isHTMLInputElement(node) && node.type === 'radio';\n};\nexport var notHiddenInput = function (node) {\n return !((isHTMLInputElement(node) || isHTMLButtonElement(node)) && (node.type === 'hidden' || node.disabled));\n};\nexport var isAutoFocusAllowed = function (node) {\n var attribute = node.getAttribute(FOCUS_NO_AUTOFOCUS);\n return ![true, 'true', ''].includes(attribute);\n};\nexport var isGuard = function (node) { var _a; return Boolean(node && ((_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.focusGuard)); };\nexport var isNotAGuard = function (node) { return !isGuard(node); };\nexport var isDefined = function (x) { return Boolean(x); };\n","import { toArray } from './array';\nexport var tabSort = function (a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n if (!b.tabIndex) {\n return -1;\n }\n }\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function (nodes, filterNegative, keepGuards) {\n return toArray(nodes)\n .map(function (node, index) { 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) { return !filterNegative || data.tabIndex >= 0; })\n .sort(tabSort);\n};\n","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = \"\".concat(queryTabbables, \", [data-focus-guard]\");\nvar getFocusablesWithShadowDom = function (parent, withGuards) {\n var _a;\n return toArray(((_a = parent.shadowRoot) === null || _a === void 0 ? void 0 : _a.children) || parent.children).reduce(function (acc, child) {\n return acc.concat(child.matches(withGuards ? queryGuardTabbables : queryTabbables) ? [child] : [], getFocusablesWithShadowDom(child));\n }, []);\n};\nvar getFocusablesWithIFrame = function (parent, withGuards) {\n if (parent instanceof HTMLIFrameElement && parent.contentDocument) {\n return getFocusables([parent.contentDocument.body], withGuards);\n }\n return [parent];\n};\nexport var getFocusables = function (parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n var _a;\n var focusableWithShadowDom = getFocusablesWithShadowDom(parent, withGuards);\n var focusableWithIframes = (_a = []).concat.apply(_a, focusableWithShadowDom.map(function (node) { return getFocusablesWithIFrame(node, withGuards); }));\n return acc.concat(\n // add all tabbables inside and within shadow DOMs in DOM order\n focusableWithIframes, \n // add if node is tabbable itself\n parent.parentNode\n ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) { return node === parent; })\n : []);\n }, []);\n};\n/**\n * return a list of focusable nodes within an area marked as \"auto-focusable\"\n * @param parent\n */\nexport var getParentAutofocusables = function (parent) {\n var parentFocus = parent.querySelectorAll(\"[\".concat(FOCUS_AUTO, \"]\"));\n return toArray(parentFocus)\n .map(function (node) { return getFocusables([node]); })\n .reduce(function (acc, nodes) { return acc.concat(nodes); }, []);\n};\n","/**\n * list of the object to be considered as focusable\n */\nexport var tabbables = [\n 'button:enabled',\n 'select:enabled',\n 'textarea:enabled',\n 'input:enabled',\n // elements with explicit roles will also use explicit tabindex\n // '[role=\"button\"]',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[tabindex]',\n '[contenteditable]',\n '[autofocus]',\n];\n","import { toArray } from './array';\nimport { isAutoFocusAllowedCached, isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\n/**\n * given list of focusable elements keeps the ones user can interact with\n * @param nodes\n * @param visibilityCache\n */\nexport var filterFocusable = function (nodes, visibilityCache) {\n return toArray(nodes)\n .filter(function (node) { return isVisibleCached(visibilityCache, node); })\n .filter(function (node) { return notHiddenInput(node); });\n};\nexport var filterAutoFocusable = function (nodes, cache) {\n if (cache === void 0) { cache = new Map(); }\n return toArray(nodes).filter(function (node) { return isAutoFocusAllowedCached(cache, node); });\n};\n/**\n * only tabbable ones\n * (but with guards which would be ignored)\n */\nexport var getTabbableNodes = function (topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\n/**\n * actually anything \"focusable\", not only tabbable\n * (without guards, as long as they are not expected to be focused)\n */\nexport var getAllTabbableNodes = function (topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\n/**\n * return list of nodes which are expected to be auto-focused\n * @param topNode\n * @param visibilityCache\n */\nexport var parentAutofocusables = function (topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};\n/*\n * Determines if element is contained in scope, including nested shadow DOMs\n */\nexport var contains = function (scope, element) {\n if (scope.shadowRoot) {\n return contains(scope.shadowRoot, element);\n }\n else {\n if (Object.getPrototypeOf(scope).contains !== undefined &&\n Object.getPrototypeOf(scope).contains.call(scope, element)) {\n return true;\n }\n return toArray(scope.children).some(function (child) {\n var _a;\n if (child instanceof HTMLIFrameElement) {\n var iframeBody = (_a = child.contentDocument) === null || _a === void 0 ? void 0 : _a.body;\n if (iframeBody) {\n return contains(iframeBody, element);\n }\n return false;\n }\n return contains(child, element);\n });\n }\n};\n","/**\n * returns active element from document or from nested shadowdoms\n */\nexport var getActiveElement = function (inDocument) {\n var _a;\n if (inDocument === void 0) { inDocument = document; }\n if (!inDocument || !inDocument.activeElement) {\n return undefined;\n }\n var activeElement = inDocument.activeElement;\n return (activeElement.shadowRoot\n ? getActiveElement(activeElement.shadowRoot)\n : activeElement instanceof HTMLIFrameElement && ((_a = activeElement.contentWindow) === null || _a === void 0 ? void 0 : _a.document)\n ? getActiveElement(activeElement.contentWindow.document)\n : activeElement);\n};\n","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n/**\n * in case of multiple nodes nested inside each other\n * keeps only top ones\n * this is O(nlogn)\n * @param nodes\n * @returns {*}\n */\nvar filterNested = function (nodes) {\n var contained = new Set();\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n /* eslint-disable no-bitwise */\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n /* eslint-enable */\n }\n }\n return nodes.filter(function (_, index) { return !contained.has(index); });\n};\n/**\n * finds top most parent for a node\n * @param node\n * @returns {*}\n */\nvar getTopParent = function (node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n/**\n * returns all \"focus containers\" inside a given node\n * @param node\n * @returns {T}\n */\nexport var getAllAffectedNodes = function (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\n ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\".concat(FOCUS_GROUP, \"=\\\"\").concat(group, \"\\\"]:not([\").concat(FOCUS_DISABLED, \"=\\\"disabled\\\"])\"))))\n : [currentNode]));\n return acc;\n }, []);\n};\n","import { contains } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getFirst, toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\nvar focusInFrame = function (frame, activeElement) { return frame === activeElement; };\nvar focusInsideIframe = function (topNode, activeElement) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) { return focusInFrame(node, activeElement); }));\n};\n/**\n * @returns {Boolean} true, if the current focus is inside given node or nodes\n */\nexport var focusInside = function (topNode, activeElement) {\n // const activeElement = document && getActiveElement();\n if (activeElement === void 0) { activeElement = getActiveElement(getFirst(topNode).ownerDocument); }\n if (!activeElement || (activeElement.dataset && activeElement.dataset.focusGuard)) {\n return false;\n }\n return getAllAffectedNodes(topNode).some(function (node) {\n return contains(node, activeElement) || focusInsideIframe(node, activeElement);\n });\n};\n","import { isRadioElement } from './is';\nvar findSelectedRadio = function (node, nodes) {\n return nodes\n .filter(isRadioElement)\n .filter(function (el) { return el.name === node.name; })\n .filter(function (el) { return el.checked; })[0] || node;\n};\nexport var correctNode = function (node, nodes) {\n if (isRadioElement(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n/**\n * giving a set of radio inputs keeps only selected (tabbable) ones\n * @param nodes\n */\nexport var correctNodes = function (nodes) {\n // IE11 has no Set(array) constructor\n var resultSet = new Set();\n nodes.forEach(function (node) { return resultSet.add(correctNode(node, nodes)); });\n // using filter to support IE11\n return nodes.filter(function (node) { return resultSet.has(node); });\n};\n","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function (nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\nexport var pickFocusable = function (nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\n/**\n * Main solver for the \"find next focus\" question\n * @param innerNodes\n * @param outerNodes\n * @param activeElement\n * @param lastNode\n * @returns {number|string|undefined|*}\n */\nexport var newFocus = function (innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n // focus is inside\n if (activeElement && innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n var activeIndex = activeElement !== undefined ? outerNodes.indexOf(activeElement) : -1;\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndex = activeElement !== undefined ? correctedNodes.indexOf(activeElement) : -1;\n var correctedIndexDiff = correctedIndex - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\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 >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 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","import { parentAutofocusables } from './DOMutils';\nimport { contains } from './DOMutils';\nimport { asArray } from './array';\nvar getParents = function (node, parents) {\n if (parents === void 0) { parents = []; }\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode.host || node.parentNode, parents);\n }\n return parents;\n};\n/**\n * finds a parent for both nodeA and nodeB\n * @param nodeA\n * @param nodeB\n * @returns {boolean|*}\n */\nexport var getCommonParent = function (nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n // tslint:disable-next-line:prefer-for-of\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};\nexport var getTopCommonParent = function (baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\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 || contains(common, topCommon)) {\n topCommon = common;\n }\n else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n // TODO: add assert here?\n return topCommon;\n};\n/**\n * return list of nodes which are expected to be autofocused inside a given top nodes\n * @param entries\n * @param visibilityCache\n */\nexport var allParentAutofocusables = function (entries, visibilityCache) {\n return entries.reduce(function (acc, node) { return acc.concat(parentAutofocusables(node, visibilityCache)); }, []);\n};\n","import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { asArray, getFirst } from './utils/array';\nimport { pickAutofocus } from './utils/auto-focus';\nimport { getActiveElement } from './utils/getActiveElement';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar reorderNodes = function (srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n // remap to dstNodes\n return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\n/**\n * given top node(s) and the last active element return the element to be focused next\n * @param topNode\n * @param lastNode\n */\nexport var getFocusMerge = function (topNode, lastNode) {\n var activeElement = getActiveElement(asArray(topNode).length > 0 ? document : getFirst(topNode).ownerDocument);\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n if (newId === NEW_FOCUS) {\n var focusNode = pickAutofocus(anyFocusable, innerNodes, allParentAutofocusables(entries, visibilityCache));\n if (focusNode) {\n return { node: focusNode };\n }\n else {\n console.warn('focus-lock: cannot find any node to move focus into');\n return undefined;\n }\n }\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n","import { filterAutoFocusable } from './DOMutils';\nimport { pickFirstFocus } from './firstFocus';\nimport { getDataset } from './is';\nvar findAutoFocused = function (autoFocusables) {\n return function (node) {\n var _a;\n var autofocus = (_a = getDataset(node)) === null || _a === void 0 ? void 0 : _a.autofocus;\n return (\n // @ts-expect-error\n node.autofocus ||\n //\n (autofocus !== undefined && autofocus !== 'false') ||\n //\n autoFocusables.indexOf(node) >= 0);\n };\n};\nexport var pickAutofocus = function (nodesIndexes, orderedNodes, groups) {\n var nodes = nodesIndexes.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var autoFocusable = filterAutoFocusable(nodes.filter(findAutoFocused(groups)));\n if (autoFocusable && autoFocusable.length) {\n return pickFirstFocus(autoFocusable);\n }\n return pickFirstFocus(filterAutoFocusable(orderedNodes));\n};\n","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function (target, focusOptions) {\n if ('focus' in target) {\n target.focus(focusOptions);\n }\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\n/**\n * Sets focus at a given node. The last focused element will help to determine which element(first or last) should be focused.\n * HTML markers (see {@link import('./constants').FOCUS_AUTO} constants) can control autofocus\n * @param topNode\n * @param lastNode\n * @param options\n */\nexport var setFocus = function (topNode, lastNode, options) {\n if (options === void 0) { options = {}; }\n var focusable = getFocusMerge(topNode, lastNode);\n if (lockDisabled) {\n return;\n }\n if (focusable) {\n if (guardCount > 2) {\n // tslint:disable-next-line:no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' +\n '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, options.focusOptions);\n guardCount--;\n }\n};\n","import * as constants from './constants';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { getFocusabledIn, getFocusableIn } from './focusables';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getActiveElement } from './utils/getActiveElement';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusableIn, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement, getActiveElement, };\nexport default setFocus;\n//\n","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n 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};","/* eslint-disable no-mixed-operators */\nimport * as 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';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\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 focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar checkInHost = function checkInHost(check, el, boundary) {\n return el && ( // find host equal to active element and check nested active element\n el.host === check && (!el.activeElement || boundary.contains(el.activeElement)) // dive up\n || el.parentNode && checkInHost(check, el.parentNode, boundary));\n};\n\nvar withinHost = function withinHost(activeElement, workingArea) {\n return workingArea.some(function (area) {\n return checkInHost(activeElement, area, area);\n });\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 crossFrame = _lastActiveTrap.crossFrame,\n focusOptions = _lastActiveTrap.focusOptions;\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 || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !( // active element is \"inside\" working area\n focusInside(workingArea) || // check for shadow-dom contained elements\n activeElement && withinHost(activeElement, workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus, {\n focusOptions: focusOptions\n });\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 focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\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 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\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar 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 /*#__PURE__*/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 = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap);\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 });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\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} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { getTabbableNodes } from './utils/DOMutils';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\n/**\n * return list of focusable elements inside a given top node\n * @deprecated use {@link getFocusableIn}. Yep, there is typo in the function name\n */\nexport var getFocusabledIn = function (topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache)\n .filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n })\n .map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node, index = _a.index;\n return ({\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node),\n });\n });\n};\n/**\n * return list of focusable elements inside a given top node\n */\nexport var getFocusableIn = getFocusabledIn;\n","import { FOCUS_ALLOW } from './constants';\nimport { contains } from './utils/DOMutils';\nimport { toArray } from './utils/array';\nimport { getActiveElement } from './utils/getActiveElement';\n/**\n * focus is hidden FROM the focus-lock\n * ie contained inside a node focus-lock shall ignore\n * @returns {boolean} focus is currently is in \"allow\" area\n */\nexport var focusIsHidden = function (inDocument) {\n if (inDocument === void 0) { inDocument = document; }\n var activeElement = getActiveElement(inDocument);\n if (!activeElement) {\n return false;\n }\n // this does not support setting FOCUS_ALLOW within shadow dom\n return toArray(inDocument.querySelectorAll(\"[\".concat(FOCUS_ALLOW, \"]\"))).some(function (node) { return contains(node, activeElement); });\n};\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return ;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nexport default FocusLockCombination;","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","import { N30, R400, text, Y400 } from '@atlaskit/theme/colors';\nimport { borderRadius as getBorderRadius, gridSize as getGridSize } from '@atlaskit/theme/constants';\nexport const width = {\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;\nconst gridSize = getGridSize();\nexport const borderRadius = getBorderRadius();\nexport const verticalOffset = gridSize * 2;\nexport const padding = gridSize * 3;\nexport const footerItemGap = gridSize;\nexport const titleIconMargin = gridSize;\nexport const keylineHeight = 2;\nexport const keylineColor = `var(--ds-border, ${N30})`;\nexport const textColor = `var(--ds-text, ${text()})`;\nexport const iconColor = {\n danger: `var(--ds-icon-danger, ${R400})`,\n warning: `var(--ds-icon-warning, ${Y400})`\n};","/* eslint-disable @repo/internal/react/require-jsdoc */\nimport { createContext } from 'react';\nexport const ModalContext = /*#__PURE__*/createContext(null);\nexport const ScrollContext = /*#__PURE__*/createContext(null);","import { width } from './constants';\nexport const dialogWidth = input => {\n if (!input) {\n return 'auto';\n }\n\n const isWidthName = width.values.indexOf(input.toString()) !== -1;\n const widthName = isWidthName && input;\n\n if (widthName) {\n return `${width.widths[widthName]}px`;\n }\n\n return typeof input === 'number' ? `${input}px` : input;\n};\nexport const dialogHeight = input => {\n if (!input) {\n return 'auto';\n }\n\n return typeof input === 'number' ? `${input}px` : input;\n};","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nimport { easeInOut } from '@atlaskit/motion/curves';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { layers } from '@atlaskit/theme/constants';\nimport { gutter, verticalOffset } from '../constants';\nconst maxWidthDimensions = `calc(100vw - ${gutter * 2}px)`;\nconst maxHeightDimensions = `calc(100vh - ${gutter * 2 - 1}px)`; // Flex and min-content are set to constrain the height of the body and support multi-column scrolling experiences\n\nconst positionerStyles = css({\n display: 'flex',\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n position: 'fixed',\n zIndex: layers.modal(),\n top: 0,\n left: 0,\n flexDirection: 'column'\n});\nconst viewportScrollStyles = css({\n height: 'auto',\n position: 'relative',\n '@media (min-width: 480px)': {\n margin: `${gutter}px auto`,\n pointerEvents: 'none'\n }\n});\nconst bodyScrollStyles = css({\n '@media (min-width: 480px)': {\n maxWidth: maxWidthDimensions,\n maxHeight: maxHeightDimensions,\n marginRight: 'auto',\n marginLeft: 'auto',\n position: 'absolute',\n top: `${gutter}px`,\n right: 0,\n left: 0,\n pointerEvents: 'none'\n }\n});\nconst stackTransitionStyles = css({\n transitionDuration: `${mediumDurationMs}ms`,\n transitionProperty: 'transform',\n transitionTimingFunction: easeInOut,\n\n /**\n * Duplicated from @atlaskit/motion/accessibility\n * because @repo/internal/styles/consistent-style-ordering\n * doesn't work well with object spreading.\n */\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'none',\n transition: 'none'\n }\n});\nconst stackTransformStyles = css({\n transform: 'translateY(var(--modal-dialog-translate-y))'\n});\nconst stackIdleStyles = css({\n transform: 'none'\n});\n\nconst Positioner = props => {\n const {\n children,\n stackIndex,\n shouldScrollInViewport,\n testId\n } = props;\n return jsx(\"div\", {\n style: {\n '--modal-dialog-translate-y': `${stackIndex * (verticalOffset / 2)}px`\n },\n css: [positionerStyles, stackTransitionStyles,\n /* We only want to apply transform on modals shifting to the back of the stack. */\n stackIndex > 0 ? stackTransformStyles : stackIdleStyles, shouldScrollInViewport ? viewportScrollStyles : bodyScrollStyles],\n \"data-testid\": testId && `${testId}--positioner`\n }, children);\n}; // eslint-disable-next-line @repo/internal/react/require-jsdoc\n\n\nexport default Positioner;","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { useMemo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useUID } from 'react-uid';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\nimport FadeIn from '@atlaskit/motion/fade-in';\nimport { N0, N30A, N60A } from '@atlaskit/theme/colors';\nimport { borderRadius, textColor } from '../constants';\nimport { ModalContext, ScrollContext } from '../context';\nimport useOnMotionFinish from '../hooks/use-on-motion-finish';\nimport { dialogHeight, dialogWidth } from '../utils';\nimport Positioner from './positioner';\nconst dialogStyles = css({\n display: 'flex',\n width: '100%',\n maxWidth: '100vw',\n height: '100%',\n minHeight: 0,\n maxHeight: '100vh',\n // Flex-grow set to 0 to prevent this element from filling its parent flexbox container\n flex: '0 1 auto',\n flexDirection: 'column',\n backgroundColor: `var(--ds-surface-overlay, ${N0})`,\n color: textColor,\n pointerEvents: 'auto',\n '@media (min-width: 480px)': {\n width: 'var(--modal-dialog-width)',\n maxWidth: 'inherit',\n marginRight: 'inherit',\n marginLeft: 'inherit',\n borderRadius,\n boxShadow: `var(--ds-shadow-overlay, ${`0 0 0 1px ${N30A}, 0 2px 1px ${N30A}, 0 0 20px -6px ${N60A}`})`\n },\n\n /**\n * This is to support scrolling if the modal's children are wrapped in\n * a form.\n */\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '& > form:only-child': {\n display: 'inherit',\n maxHeight: 'inherit',\n flexDirection: 'inherit'\n }\n});\nconst viewportScrollStyles = css({\n /**\n * This ensures that the element fills the viewport on mobile\n * while also allowing it to overflow if its height is larger than\n * the viewport.\n */\n minHeight: '100vh',\n maxHeight: 'none',\n '@media (min-width: 480px)': {\n minHeight: 'var(--modal-dialog-height)'\n }\n});\nconst bodyScrollStyles = css({\n '@media (min-width: 480px)': {\n height: 'var(--modal-dialog-height)',\n maxHeight: 'inherit'\n }\n});\n\nconst ModalDialog = props => {\n const {\n width = 'medium',\n shouldScrollInViewport = false,\n autoFocus,\n stackIndex,\n onClose,\n onCloseComplete,\n onOpenComplete,\n height,\n children,\n testId\n } = props;\n const id = useUID();\n const titleId = `modal-dialog-title-${id}`;\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 [motionRef, onMotionFinish] = useOnMotionFinish({\n onOpenComplete,\n onCloseComplete\n });\n const modalDialogContext = useMemo(() => ({\n testId,\n titleId,\n onClose\n }), [testId, titleId, onClose]);\n return jsx(Positioner, {\n stackIndex: stackIndex,\n shouldScrollInViewport: shouldScrollInViewport,\n testId: testId\n }, jsx(ModalContext.Provider, {\n value: modalDialogContext\n }, jsx(ScrollContext.Provider, {\n value: shouldScrollInViewport\n }, jsx(FadeIn, {\n entranceDirection: \"bottom\",\n onFinish: onMotionFinish\n }, bottomFadeInProps => jsx(FocusRing, null, jsx(\"section\", _extends({}, bottomFadeInProps, {\n ref: mergeRefs([bottomFadeInProps.ref, motionRef]),\n style: {\n '--modal-dialog-width': dialogWidth(width),\n '--modal-dialog-height': dialogHeight(height)\n },\n css: [dialogStyles, shouldScrollInViewport ? viewportScrollStyles : bodyScrollStyles],\n role: \"dialog\",\n \"aria-labelledby\": titleId,\n \"data-testid\": testId,\n \"data-modal-stack\": stackIndex,\n tabIndex: -1,\n \"aria-modal\": true\n }), children))))));\n}; // eslint-disable-next-line @repo/internal/react/require-jsdoc\n\n\nexport default ModalDialog;","import { useCallback, useRef } from 'react';\n// eslint-disable-next-line @repo/internal/react/require-jsdoc\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 } 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}","import { useCallback, useEffect, useLayoutEffect, useState } from 'react';\nimport { bind } from 'bind-event-listener';\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 useEffect(() => {\n return bind(window, {\n type: 'scroll',\n listener: onWindowScroll\n });\n }, [onWindowScroll]);\n return scrollTopOffset;\n}","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { useCallback } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport FocusLock from 'react-focus-lock';\nimport ScrollLock, { TouchScrollable } from 'react-scrolllock';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport Blanket from '@atlaskit/blanket';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useCloseOnEscapePress from '@atlaskit/ds-lib/use-close-on-escape-press';\nimport FadeIn from '@atlaskit/motion/fade-in';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport ModalDialog from './internal/components/modal-dialog';\nimport useModalStack from './internal/hooks/use-modal-stack';\nimport usePreventProgrammaticScroll from './internal/hooks/use-prevent-programmatic-scroll';\nconst fillScreenStyles = css({\n width: '100vw',\n height: '100vh',\n position: 'fixed',\n top: 0,\n left: 0,\n overflowY: 'auto',\n WebkitOverflowScrolling: 'touch'\n});\n\nconst whiteListElements = element => {\n // allows focus to reach elements outside the modal if they contain the data-atlas-extension attribute\n return !element.hasAttribute('data-atlas-extension');\n};\n/**\n * __Modal wrapper__\n *\n * A modal wrapper displays content that requires user interaction, in a layer above the page.\n * This component is primary container for other modal components.\n *\n * - [Examples](https://atlassian.design/components/modal-dialog/examples)\n * - [Code](https://atlassian.design/components/modal-dialog/code)\n * - [Usage](https://atlassian.design/components/modal-dialog/usage)\n */\n\n\nconst ModalWrapper = props => {\n const {\n autoFocus = true,\n shouldCloseOnEscapePress = true,\n shouldCloseOnOverlayClick = true,\n shouldScrollInViewport = false,\n stackIndex: stackIndexOverride,\n onClose = noop,\n onStackChange = noop,\n isBlanketHidden,\n children,\n height,\n width,\n onCloseComplete,\n onOpenComplete,\n testId\n } = props;\n const calculatedStackIndex = useModalStack({\n onStackChange\n });\n const stackIndex = stackIndexOverride || calculatedStackIndex;\n const isForeground = stackIndex === 0; // When a user supplies a ref to focus we skip auto focus via react-focus-lock\n\n const autoFocusLock = typeof autoFocus === 'boolean' ? autoFocus : false;\n const onCloseHandler = usePlatformLeafEventHandler({\n fn: onClose,\n action: 'closed',\n componentName: 'modalDialog',\n packageName: \"@atlaskit/modal-dialog\",\n packageVersion: \"12.4.5\"\n });\n const onBlanketClicked = useCallback(e => {\n if (shouldCloseOnOverlayClick) {\n onCloseHandler(e);\n }\n }, [shouldCloseOnOverlayClick, onCloseHandler]);\n usePreventProgrammaticScroll();\n useCloseOnEscapePress({\n onClose: onCloseHandler,\n isDisabled: !shouldCloseOnEscapePress || !isForeground\n });\n const modalDialogWithBlanket = jsx(Blanket, {\n isTinted: !isBlanketHidden,\n onBlanketClicked: onBlanketClicked,\n testId: testId && `${testId}--blanket`\n }, jsx(ModalDialog, {\n testId: testId,\n autoFocus: autoFocus,\n stackIndex: stackIndex,\n onClose: onCloseHandler,\n shouldScrollInViewport: shouldScrollInViewport,\n height: height,\n width: width,\n onCloseComplete: onCloseComplete,\n onOpenComplete: onOpenComplete\n }, children));\n return jsx(Portal, {\n zIndex: layers.modal()\n }, jsx(FadeIn, null, fadeInProps => jsx(\"div\", _extends({}, fadeInProps, {\n css: fillScreenStyles,\n \"aria-hidden\": !isForeground\n }), jsx(FocusLock, {\n autoFocus: autoFocusLock,\n disabled: !isForeground,\n returnFocus: true,\n whiteList: whiteListElements\n }, jsx(ScrollLock, null), shouldScrollInViewport ? jsx(TouchScrollable, null, modalDialogWithBlanket) : modalDialogWithBlanket))));\n};\n\nexport default ModalWrapper;","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport ModalDialog, { ModalTransition } from '@atlaskit/modal-dialog';\nimport { B400 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { TRACKING_EVENT_NAMES } from '../utils';\n\ntype ModalRedirectConfirmProps = {\n readonly showModal: boolean;\n readonly setShowModal: (showModal: boolean) => void;\n readonly ctaURL: string;\n readonly freeLimit: number;\n};\n\nexport const ModalRedirectConfirm = ({\n showModal,\n setShowModal,\n ctaURL,\n freeLimit\n}: ModalRedirectConfirmProps) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n const closeAndRedirect = () => {\n if (createAnalyticsEvent) {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.unitBreachModalDecision,\n label: 'sign-up-for-free'\n });\n analyticsEvent.fire();\n }\n\n setShowModal(false);\n window.location.href = ctaURL;\n };\n\n const cancelAndCloseModal = () => {\n if (createAnalyticsEvent) {\n const analyticsEvent = createAnalyticsEvent({\n name: TRACKING_EVENT_NAMES.unitBreachModalDecision,\n label: 'cancel'\n });\n analyticsEvent.fire();\n }\n setShowModal(false);\n };\n\n const actions = [\n {\n text: (\n \n ),\n onClick: closeAndRedirect\n },\n {\n text: (\n \n ),\n onClick: cancelAndCloseModal\n }\n ];\n\n const Header = () => {\n return (\n \n \n \n );\n };\n\n const Footer = () => {\n return (\n \n {actions.map((action, idx) => {\n return (\n \n {action.text}\n \n );\n })}\n \n );\n };\n\n return (\n \n {showModal && (\n cancelAndCloseModal()} autoFocus={false}>\n
\n \n \n \n