{"version":3,"file":"chunks/64259a75901b09.js","mappings":"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wH,EAAU,iBAAkBh6H,GACjC2b,UAAW3O,EAAG,CACZ,mBAAmB,EACnB,4BAA6BozN,EAC7B,6BAA8BO,GAC7BhlN,IACFhb,EACL,GAopBIigO,GAAoB,SAA2B5gO,GACjD,OAAOs/N,GAAgBA,GAAgB,CAAC,EAAGn1K,IAAanqD,EAAMmqD,WAChE,EEx7CI02K,GAAa,CAAC,CAChBnoH,KAAM,IACNooH,QAAS,sCACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,OACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,MACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,aACR,CACDpoH,KAAM,IACNooH,QAAS,gBACR,CACDpoH,KAAM,IACNooH,QAAS,kBACR,CACDpoH,KAAM,KACNooH,QAAS,MACR,CACDpoH,KAAM,KACNooH,QAAS,MACR,CACDpoH,KAAM,IACNooH,QAAS,kCACR,CACDpoH,KAAM,IACNooH,QAAS,UACR,CACDpoH,KAAM,IACNooH,QAAS,mBACR,CACDpoH,KAAM,IACNooH,QAAS,kBACR,CACDpoH,KAAM,IACNooH,QAAS,wBACR,CACDpoH,KAAM,IACNooH,QAAS,SACR,CACDpoH,KAAM,IACNooH,QAAS,kBACR,CACDpoH,KAAM,IACNooH,QAAS,sBACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,YACR,CACDpoH,KAAM,IACNooH,QAAS,oBACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,+CACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,cACR,CACDpoH,KAAM,IACNooH,QAAS,UACR,CACDpoH,KAAM,IACNooH,QAAS,qBACR,CACDpoH,KAAM,IACNooH,QAAS,qBACR,CACDpoH,KAAM,IACNooH,QAAS,mBACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,sCACR,CACDpoH,KAAM,IACNooH,QAAS,YACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,cACR,CACDpoH,KAAM,IACNooH,QAAS,SACR,CACDpoH,KAAM,IACNooH,QAAS,mBACR,CACDpoH,KAAM,IACNooH,QAAS,kBACR,CACDpoH,KAAM,IACNooH,QAAS,uCACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,OACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAAS,MACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,aACR,CACDpoH,KAAM,IACNooH,QAAS,iBACR,CACDpoH,KAAM,IACNooH,QAAS,kBACR,CACDpoH,KAAM,KACNooH,QAAS,MACR,CACDpoH,KAAM,IACNooH,QAAS,mCACR,CACDpoH,KAAM,IACNooH,QAAS,UACR,CACDpoH,KAAM,IACNooH,QAAS,mBACR,CACDpoH,KAAM,IACNooH,QAAS,mBACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,wBACR,CACDpoH,KAAM,IACNooH,QAAS,UACR,CACDpoH,KAAM,IACNooH,QAAS,kBACR,CACDpoH,KAAM,IACNooH,QAAS,uBACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,YACR,CACDpoH,KAAM,IACNooH,QAAS,qBACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,IACNooH,QAAS,+CACR,CACDpoH,KAAM,KACNooH,QAAS,KACR,CACDpoH,KAAM,KACNooH,QAA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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/ModernAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/analytics-next/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/theme/index.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/Avatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarImage.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/AvatarImage.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Status.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Avatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/hoc/mapProps.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/constants.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getProps.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/CustomComponentProxy.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/hoc/withPseudoState.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/utils.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/blanket/dist/es2019/blanket.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/Button.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/Content.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/IconWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/InnerWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/LoadingSpinner.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/getStyles.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/utils.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/theme.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/getStyles.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/theme.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Content.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/IconWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/InnerWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/LoadingSpinner.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Button.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsListener.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsErrorBoundary.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/cleanProps.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/AtlaskitThemeProvider.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Appearance.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Reset.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/button/node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlaskit/button/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/label.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/svg.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/checkbox-icon.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/label-text.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/internal/required-indicator.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/checkbox.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Item.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/utils/index.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Element.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Item.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Group.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Group.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/internal/ScrollBlock.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/internal/helpers.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/styledContentContainer.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/Layer.js","webpack:///./node_modules/@atlaskit/layer/node_modules/raf-schd/esm/index.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Droplist.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/theme/item-theme.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Droplist.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/util/contextNamespace.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/util/keys.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemFocusManager.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemClickManager.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemSelectionCache.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/styled/WidthConstrainer.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/DropdownMenuStateless.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/DropdownMenu.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/glyph/chevron-down.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/glyph/checkbox.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/glyph/radio.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/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/@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/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/ds-explorations/node_modules/@emotion/react/dist/emotion-element-c39617d8.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/utils/keycodes.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.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/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/focus-ring/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/focus-ring/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/focus-ring/dist/es2019/focus-ring.js","webpack:///./node_modules/@atlaskit/item/dist/esm/util/theme.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-transition.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-callback.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-state-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-modal-stack.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/util.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/index.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/merge-refs.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-document-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-prevent-programmatic-scroll.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/loading-spinner.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/custom-theme-button.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/footer.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/header.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/raf-schd/esm/index.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/positioner.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-window-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-on-motion-finish.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-wrapper.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-previous-value.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/styled/dist/styled.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/glyph/error.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/glyph/warning.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-force-render.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/exiting-persistence.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/timer-hooks.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/staggered-entrance.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/keyframes-motion.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-unique-id.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/fade-in.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/accessibility.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/curves.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/durations.js","webpack:///./node_modules/@atlaskit/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/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/popper/dist/es2019/Popper.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/styled.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/utils/analytics-payloads.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/components/Tooltip.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/DynamicConfig.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/ErrorBoundary.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/Errors.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/Layer.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/LogEvent.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/SDKVersion.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/StatsigClient.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/StatsigIdentity.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/StatsigLogger.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/StatsigNetwork.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/StatsigSDKOptions.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/StatsigStore.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/index.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/utils/BootstrapValidator.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/utils/Constants.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/utils/Hashing.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/utils/StatsigLocalStorage.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/statsig-js-lite/dist/utils/Timing.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/chevron-down.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/chevron-left-large.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/chevron-up.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/cross.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/color-palettes.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/elevation.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/typography.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/AtlaskitThemeProvider.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/Appearance.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/Reset.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/camelcase/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/add.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/app-switcher.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/check-circle-outline.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/check-circle.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/cross-circle.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/cross.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/editor/panel.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/email.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/info.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/refresh.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/warning.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/node_modules/@atlaskit/icon/glyph/hipchat/chevron-down.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/node_modules/@atlaskit/icon/glyph/select-clear.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-fast-compare/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-is/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/Transition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/dist/styled-base.browser.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///./node_modules/@emotion/styled/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///./node_modules/immer/dist/immer.esm.mjs","webpack:///./node_modules/@reduxjs/toolkit/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@reduxjs/toolkit/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@reduxjs/toolkit/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@reduxjs/toolkit/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@reduxjs/toolkit/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/@reduxjs/toolkit/node_modules/redux/es/redux.js","webpack:///./node_modules/@reduxjs/toolkit/node_modules/redux-thunk/es/index.js","webpack:///./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js","webpack:///./node_modules/array-find/find.js","webpack:///./node_modules/async-retry/lib/index.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/bowser/es5.js","webpack:///./node_modules/create-react-context/lib/implementation.js","webpack:///./node_modules/create-react-context/lib/index.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/final-form-focus/dist/final-form-focus.es.js","webpack:///./node_modules/final-form/dist/final-form.es.js","webpack:///./node_modules/flushable/dist/index.umd.js","webpack:///./node_modules/formik/node_modules/react-fast-compare/index.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/history/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/history/index.js","webpack:///./node_modules/isomorphic-fetch/fetch-npm-browserify.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/property-expr/index.js","webpack:///./node_modules/react-addons-text-content/dist/react-addons-text-content.js","webpack:///./node_modules/react-clientside-effect/lib/index.es.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-google-recaptcha-v3/dist/react-google-recaptcha-v3.esm.js","webpack:///./node_modules/react-input-autosize/lib/AutosizeInput.js","webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/react-node-resolver/lib/NodeResolver.js","webpack:///./node_modules/react-node-resolver/lib/index.js","webpack:///./node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/react-popper/lib/esm/usePopper.js","webpack:///./node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/react-router-dom/index.js","webpack:///./node_modules/react-router/index.js","webpack:///./node_modules/react-scrolllock/dist/ScrollLock.js","webpack:///./node_modules/react-scrolllock/dist/TouchScrollable.js","webpack:///./node_modules/react-scrolllock/dist/index.js","webpack:///./node_modules/react-scrolllock/dist/utils.js","webpack:///./node_modules/react-scrolllock/dist/withLockSheet.js","webpack:///./node_modules/react-scrolllock/dist/withTouchListeners.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/retry/index.js","webpack:///./node_modules/retry/lib/retry.js","webpack:///./node_modules/retry/lib/retry_operation.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/src/feature-gate-client.tsx","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/src/index.ts","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/src/use-experiment.ts","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/src/use-feature-gate.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/utils/initials.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/user-avatar.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/blank-pointer-image.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/empty-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/tracking.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/chevron.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/site-link.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/site-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/product-dropdown-item.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/products-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/utils/filters.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/user-nav.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/user-profile-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/trigger.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/user-profile-dropdown.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/mobile-trigger.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/messages/sign-up-form.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/dist/es2019/TooltipPrimitive.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/styled.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/useFormHeaderLabels.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-form-header/getEditionLabelFragment.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-form-header/getProductLabelFragment.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-field-progress.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-field-validation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/logged-in-form-valid.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/logged-in-form-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/shared-form-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-deferred-password-field-validation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-deferred-password-field-progress.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/logged-in-form-input.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/constants.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/product-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/data-label.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/bundle-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/page-header-labels.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/types.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/shadow-it.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-experimentation/deferred-sitename.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/model/wac-signup-form.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/slice/sliceFeatureFlags.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/slice/sliceProductKeys.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/store.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/components/Context.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/utils/batch.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/utils/Subscription.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/components/Provider.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useReduxContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useStore.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useDispatch.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useSelector.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/hook.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up-button/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up-button/styled.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up-button/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/button.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up/error.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/js-cookie/dist/js.cookie.mjs","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-sign-up-form-global-configuration.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-layout-container/analytics.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/constants.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-layout-container/data-migration.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/platform-feature-flags/dist/es2019/debug.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/platform-feature-flags/dist/es2019/resolvers.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/platform-feature-flags/dist/es2019/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/dist/es2019/component-tokens.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/dist/es2019/text-field.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-debounce.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-site-name-validation.ts","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/sender/types.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/utils/object-utils.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/sender/network.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/sender/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/hookable/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/queue/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/error/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/catalog/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/metric/types.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/metric/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/metric/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/i18n/en.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/callback-provider/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/paint-timings/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/interactive-timings/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/utils.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/paint-timings/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/interactive-timings/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/utils/performance-utils.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/normalise.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/blacklist.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/errors-plugin/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/performance-mark-plugin/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/user-agent-info/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/page-visibility/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/page-visibility/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/page-tracker/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/config.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/user-agent-info/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/metrics/performance.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/metrics/metal-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-authentication-methods-check.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-user-info.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/mini-hamlet-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/useResendEmailAPI.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/useResendEmailData.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/nameSanitize.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/data-product.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/data-label.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/social-proof.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/org-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/bitbucket-analytics.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-org-info.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-sign-up-form-ui-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-sign-up-form-config.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/email-field.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-email-validation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/Icons/tooltip-icon.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/site-name-field.tsx","webpack:///./node_modules/@atlaskit/item/dist/esm/util/getDisplayName.js","webpack:///./node_modules/@atlaskit/item/dist/esm/util/safeContextCall.js","webpack:///./node_modules/@atlaskit/item/dist/esm/util/contextNamespace.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/Item.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/ItemParts.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/Item.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/item/DropdownItem.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/hoc/withItemClick.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/hoc/withItemFocus.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/ItemGroup.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/ItemGroup.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/group/DropdownItemGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/site-picker-field.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-site-permission.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/loading-spinner.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/loading-button.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/submit-buttons.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useCallbackWithAnalytics.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/display-name-field.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/info-box.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/bitbucket-jira-info-box.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/free-breach.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/breach-info-box.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/bitbucket-account-picker.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/dist/es2019/radio.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/dist/es2019/radio-group.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/gdpr-location.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/ModernAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/invalid-migration-source.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/analytics.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/form-submit.ts","webpack:///./node_modules/react-ga/dist/esm/utils/console/warn.js","webpack:///./node_modules/react-ga/dist/esm/components/OutboundLink.js","webpack:///./node_modules/react-ga/dist/esm/utils/redactEmail.js","webpack:///./node_modules/react-ga/dist/esm/utils/trim.js","webpack:///./node_modules/react-ga/dist/esm/utils/toTitleCase.js","webpack:///./node_modules/react-ga/dist/esm/utils/loadGA.js","webpack:///./node_modules/react-ga/dist/esm/utils/console/log.js","webpack:///./node_modules/react-ga/dist/esm/utils/testModeAPI.js","webpack:///./node_modules/react-ga/dist/esm/core.js","webpack:///./node_modules/react-ga/dist/esm/utils/format.js","webpack:///./node_modules/react-ga/dist/esm/utils/mightBeEmail.js","webpack:///./node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","webpack:///./node_modules/react-ga/dist/esm/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/index.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/cart-service.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/analytics.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/model/check-email-page.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/components/InboxImage/index.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/components/ResendEmailButton/index.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/container/layout-default.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/components/EnvelopeImage/index.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/container/layout-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/check-email-page.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/bitbucket-organization-picker.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/Icons/UnionIcon.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/carousel-end.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/form-welcome-message.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/get-defer-sitename-experiment-cohort.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafSyntheticEventHandler.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/dist/es2019/internal/shared-schedule.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/dist/es2019/internal/tooltip-manager.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/dist/es2019/TooltipContainer.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/dist/es2019/utilities.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/dist/es2019/Tooltip.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/tooltip/dist/es2019/internal/use-unique-id.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/eula-component.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/sanitize-custom-signup-context.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/bitbucket-form-submit.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-site-name-generation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/generate-random-digit.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-defer-sitename-exposed.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/new-url.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/product-edition.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/social-sign-up.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/components/subtitle.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-start-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-analytics-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-analytics-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/compass-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/compass-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/compass-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/halp-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/halp-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/halp-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/hipchat-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/hipchat-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/hipchat-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-align-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-align-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-align-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-core-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-core-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-core-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-product-discovery-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-product-discovery-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-desk-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-desk-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-desk-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/old-icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/old-logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/old-wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/new-icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/new-logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/new-wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/statuspage-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/statuspage-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/statuspage-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/stride-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/stride-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/stride-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/trello-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/trello-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/trello-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlas-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlas-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/components/logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/lozenge/dist/es2019/Lozenge/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/component/logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-default.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-developer-mode.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-first-impressions.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/utility/social-logos.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/social-sign-up-button.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/social-signup-buttons.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/social-signup.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/side-info.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/signup.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/side-info-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/side-info-first-impressions.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/asset/header-background-devops.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/styled.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/header-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-default.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-standalone.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/elevation.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/first-impressions/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/first-impressions/first-impressions-form.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-first-impressions.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/view.tsx","webpack:///./node_modules/jwt-decode/build/jwt-decode.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/error-locale/error-locale.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/utility/social-proof.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/use-first-impressions-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/components/page-header/page-header-logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/components/page-header/page-header-subtitle.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/components/page-header/page-header.tsx","webpack:///./node_modules/formik/node_modules/deepmerge/dist/es.js","webpack:///./node_modules/lodash-es/_listCacheClear.js","webpack:///./node_modules/lodash-es/eq.js","webpack:///./node_modules/lodash-es/_assocIndexOf.js","webpack:///./node_modules/lodash-es/_listCacheDelete.js","webpack:///./node_modules/lodash-es/_ListCache.js","webpack:///./node_modules/lodash-es/_listCacheGet.js","webpack:///./node_modules/lodash-es/_listCacheHas.js","webpack:///./node_modules/lodash-es/_listCacheSet.js","webpack:///./node_modules/lodash-es/isObject.js","webpack:///./node_modules/lodash-es/isFunction.js","webpack:///./node_modules/lodash-es/_coreJsData.js","webpack:///./node_modules/lodash-es/_isMasked.js","webpack:///./node_modules/lodash-es/_toSource.js","webpack:///./node_modules/lodash-es/_baseIsNative.js","webpack:///./node_modules/lodash-es/_getNative.js","webpack:///./node_modules/lodash-es/_getValue.js","webpack:///./node_modules/lodash-es/_Map.js","webpack:///./node_modules/lodash-es/_nativeCreate.js","webpack:///./node_modules/lodash-es/_hashGet.js","webpack:///./node_modules/lodash-es/_hashHas.js","webpack:///./node_modules/lodash-es/_Hash.js","webpack:///./node_modules/lodash-es/_hashClear.js","webpack:///./node_modules/lodash-es/_hashDelete.js","webpack:///./node_modules/lodash-es/_hashSet.js","webpack:///./node_modules/lodash-es/_getMapData.js","webpack:///./node_modules/lodash-es/_isKeyable.js","webpack:///./node_modules/lodash-es/_MapCache.js","webpack:///./node_modules/lodash-es/_mapCacheClear.js","webpack:///./node_modules/lodash-es/_mapCacheDelete.js","webpack:///./node_modules/lodash-es/_mapCacheGet.js","webpack:///./node_modules/lodash-es/_mapCacheHas.js","webpack:///./node_modules/lodash-es/_mapCacheSet.js","webpack:///./node_modules/lodash-es/_Stack.js","webpack:///./node_modules/lodash-es/_stackClear.js","webpack:///./node_modules/lodash-es/_stackDelete.js","webpack:///./node_modules/lodash-es/_stackGet.js","webpack:///./node_modules/lodash-es/_stackHas.js","webpack:///./node_modules/lodash-es/_stackSet.js","webpack:///./node_modules/lodash-es/_defineProperty.js","webpack:///./node_modules/lodash-es/_baseAssignValue.js","webpack:///./node_modules/lodash-es/_assignValue.js","webpack:///./node_modules/lodash-es/_copyObject.js","webpack:///./node_modules/lodash-es/_baseIsArguments.js","webpack:///./node_modules/lodash-es/isArguments.js","webpack:///./node_modules/lodash-es/isArray.js","webpack:///./node_modules/lodash-es/isBuffer.js","webpack:///./node_modules/lodash-es/stubFalse.js","webpack:///./node_modules/lodash-es/_isIndex.js","webpack:///./node_modules/lodash-es/isLength.js","webpack:///./node_modules/lodash-es/_baseIsTypedArray.js","webpack:///./node_modules/lodash-es/_baseUnary.js","webpack:///./node_modules/lodash-es/_nodeUtil.js","webpack:///./node_modules/lodash-es/isTypedArray.js","webpack:///./node_modules/lodash-es/_arrayLikeKeys.js","webpack:///./node_modules/lodash-es/_baseTimes.js","webpack:///./node_modules/lodash-es/_isPrototype.js","webpack:///./node_modules/lodash-es/_nativeKeys.js","webpack:///./node_modules/lodash-es/_baseKeys.js","webpack:///./node_modules/lodash-es/isArrayLike.js","webpack:///./node_modules/lodash-es/keys.js","webpack:///./node_modules/lodash-es/_baseKeysIn.js","webpack:///./node_modules/lodash-es/_nativeKeysIn.js","webpack:///./node_modules/lodash-es/keysIn.js","webpack:///./node_modules/lodash-es/_cloneBuffer.js","webpack:///./node_modules/lodash-es/_copyArray.js","webpack:///./node_modules/lodash-es/stubArray.js","webpack:///./node_modules/lodash-es/_getSymbols.js","webpack:///./node_modules/lodash-es/_arrayFilter.js","webpack:///./node_modules/lodash-es/_arrayPush.js","webpack:///./node_modules/lodash-es/_getSymbolsIn.js","webpack:///./node_modules/lodash-es/_baseGetAllKeys.js","webpack:///./node_modules/lodash-es/_getAllKeys.js","webpack:///./node_modules/lodash-es/_getAllKeysIn.js","webpack:///./node_modules/lodash-es/_DataView.js","webpack:///./node_modules/lodash-es/_Promise.js","webpack:///./node_modules/lodash-es/_Set.js","webpack:///./node_modules/lodash-es/_WeakMap.js","webpack:///./node_modules/lodash-es/_getTag.js","webpack:///./node_modules/lodash-es/_initCloneArray.js","webpack:///./node_modules/lodash-es/_Uint8Array.js","webpack:///./node_modules/lodash-es/_cloneArrayBuffer.js","webpack:///./node_modules/lodash-es/_cloneRegExp.js","webpack:///./node_modules/lodash-es/_cloneSymbol.js","webpack:///./node_modules/lodash-es/_initCloneByTag.js","webpack:///./node_modules/lodash-es/_cloneDataView.js","webpack:///./node_modules/lodash-es/_cloneTypedArray.js","webpack:///./node_modules/lodash-es/_baseCreate.js","webpack:///./node_modules/lodash-es/isMap.js","webpack:///./node_modules/lodash-es/_baseIsMap.js","webpack:///./node_modules/lodash-es/isSet.js","webpack:///./node_modules/lodash-es/_baseIsSet.js","webpack:///./node_modules/lodash-es/_baseClone.js","webpack:///./node_modules/lodash-es/_initCloneObject.js","webpack:///./node_modules/lodash-es/_copySymbolsIn.js","webpack:///./node_modules/lodash-es/_baseAssignIn.js","webpack:///./node_modules/lodash-es/_copySymbols.js","webpack:///./node_modules/lodash-es/_baseAssign.js","webpack:///./node_modules/lodash-es/_arrayEach.js","webpack:///./node_modules/lodash-es/clone.js","webpack:///./node_modules/lodash-es/_arrayMap.js","webpack:///./node_modules/lodash-es/isSymbol.js","webpack:///./node_modules/lodash-es/memoize.js","webpack:///./node_modules/lodash-es/_stringToPath.js","webpack:///./node_modules/lodash-es/_memoizeCapped.js","webpack:///./node_modules/lodash-es/_toKey.js","webpack:///./node_modules/lodash-es/_baseToString.js","webpack:///./node_modules/lodash-es/toString.js","webpack:///./node_modules/lodash-es/toPath.js","webpack:///./node_modules/lodash-es/cloneDeep.js","webpack:///./node_modules/formik/dist/formik.esm.js","webpack:///./node_modules/nanoclone/src/index.js","webpack:///./node_modules/yup/es/util/printValue.js","webpack:///./node_modules/yup/es/locale.js","webpack:///./node_modules/yup/es/util/isSchema.js","webpack:///./node_modules/yup/es/util/toArray.js","webpack:///./node_modules/yup/es/ValidationError.js","webpack:///./node_modules/yup/es/util/runTests.js","webpack:///./node_modules/yup/es/Reference.js","webpack:///./node_modules/yup/es/util/createValidation.js","webpack:///./node_modules/yup/es/util/reach.js","webpack:///./node_modules/yup/es/util/ReferenceSet.js","webpack:///./node_modules/yup/es/schema.js","webpack:///./node_modules/yup/es/Condition.js","webpack:///./node_modules/yup/es/mixed.js","webpack:///./node_modules/yup/es/util/isAbsent.js","webpack:///./node_modules/yup/es/string.js","webpack:///./node_modules/yup/es/util/isodate.js","webpack:///./node_modules/yup/es/date.js","webpack:///./node_modules/yup/es/util/sortByKeyOrder.js","webpack:///./node_modules/yup/es/object.js","webpack:///./node_modules/yup/es/util/sortFields.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/footer-logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/product-select-buttons/product-select-button.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/switch-account-email-form.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/text-input.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/social-sign-up-divider.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/social-sign-up-button.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/views/first-impressions-logged-out-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/views/first-impressions-logged-in-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/views/first-impressions-loading-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/first-impressions-form-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-product-info.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-screen.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/utility/social-proof.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/use-first-impressions-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/slack-promo-confluence-form-views/views/slack-promo-confluence-ineligible-form-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/slack-promo-confluence-form-views/slack-promo-confluence-form-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/slack-promo-confluence-product-info.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/slack-promo-confluence-view-first-impressions-layout.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/slack-promo-confluence-view-standalone-layout.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/slack-promo-confluence-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/slack-promo-confluence/slack-promo-confluence-screen.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/experiment-screens/experiment-screens-switch.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-bitbucket-workspaces.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/account-operation-url.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/legal-consents.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/signup-context.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/signup-poll-for-success.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-devops-product.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/site-domain.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/hook/use-devops-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/component/devops-side-info.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/component/devops-header.tsx","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/primitives/dist/es2019/xcss/style-maps.partial.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/primitives/dist/es2019/components/inline.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/appearances.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/constants.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/indicator.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/progress-dots.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/component/devops-carousel.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/form.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@emotion/react/dist/emotion-react.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/field-id-context.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/typography.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/label.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/required-asterisk.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/field.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/types.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/icon-validation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-email.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-name.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-sitename.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/dist/index-75b02bac.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/dist/Select-e1cf49ae.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/dist/stateManager-2f2b6f5b.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/async/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/creatable/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/async-creatable/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/node_modules/react-transition-group/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-select/animated/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/dist/esm/components/indicators.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/dist/esm/components/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/dist/esm/createSelect.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/select/dist/esm/AsyncCreatableSelect.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-sitename-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/checkbox-field.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/marketing-consent.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/button-submit.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/product-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-workspace-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/button-google-sign-in.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-sitename-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-final-confirmation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-product-confirmation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-workspace-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/view/devops-form-logged-in.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-n2e-payload.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-signup-url-action.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-analytics-solutionstat.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-n2n-resend-email.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/view/devops-form-logged-out-deferred-password.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/devops-form-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-screen.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen-standalone/devops-screen-standalone.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/utility/account-operation-url.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/hook/use-simple-signup-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/button-submit.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/form-footer.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/types.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/icon-validation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/input-email.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/marketing-consent.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/input-sitename.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/input-sitename-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/loading-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/page-header.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/product-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/social-sign-up-divider.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/simple-signup-nav.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/view/simple-signup-logged-out.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-screen.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/sign-up-layout-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/tintinmvp-override.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlassiansox/origin-tracing/dist/origin-tracing.js","webpack:///./resources/js/react/sign-up-layout/WacSignUpLayoutContainer.tsx","webpack:///./node_modules/toposort/index.js","webpack:///./node_modules/tti-polyfill/tti-polyfill.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gate-js-client/dist/fetcher/Fetcher.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gate-js-client/dist/fetcher/errors.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gate-js-client/dist/fetcher/index.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gate-js-client/dist/index.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gate-js-client/dist/version.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitialization.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitializationWithDefaults.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gates-react/dist/FeatureGatesInitializationWithValues.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gates-react/dist/index.js","webpack:///./node_modules/@atlassiansox/bxp-web-statsig-client/node_modules/@atlassian/feature-gates-react/dist/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/stylis/src/Enum.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/stylis/src/Middleware.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/stylis/src/Parser.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/stylis/src/Serializer.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/stylis/src/Tokenizer.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/stylis/src/Utility.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/js-base64/base64.mjs","webpack:///./node_modules/lodash-es/_Symbol.js","webpack:///./node_modules/lodash-es/_getRawTag.js","webpack:///./node_modules/lodash-es/_objectToString.js","webpack:///./node_modules/lodash-es/_baseGetTag.js","webpack:///./node_modules/lodash-es/_freeGlobal.js","webpack:///./node_modules/lodash-es/_getPrototype.js","webpack:///./node_modules/lodash-es/_overArg.js","webpack:///./node_modules/lodash-es/_root.js","webpack:///./node_modules/lodash-es/isObjectLike.js","webpack:///./node_modules/lodash-es/isPlainObject.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n  getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n  getAtlaskitAnalyticsContext: PropTypes.func\n};\nconst noop = () => [];\n\n// eslint-disable-next-line @repo/internal/react/no-class-components\nclass AnalyticsListener extends Component {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"getChildContext\", () => ({\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n    }));\n    _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n      const {\n        channel,\n        onEvent\n      } = this.props;\n      const {\n        getAtlaskitAnalyticsEventHandlers = noop\n      } = this.context;\n      const handler = (event, eventChannel) => {\n        if (channel === '*' || channel === eventChannel) {\n          onEvent(event, eventChannel);\n        }\n      };\n      return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n    });\n    _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n      const {\n        getAtlaskitAnalyticsContext = noop\n      } = this.context;\n      return getAtlaskitAnalyticsContext();\n    });\n    this.contextValue = {\n      getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n      getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n    };\n  }\n  render() {\n    const {\n      children\n    } = this.props;\n    return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n      value: this.contextValue\n    }, children);\n  }\n}\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\nexport default AnalyticsListener;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\nconst AnalyticsListener = ({\n  children,\n  channel,\n  onEvent\n}) => {\n  const analyticsContext = useAnalyticsContext();\n  const onEventRef = useTrackedRef(onEvent);\n  const channelRef = useTrackedRef(channel);\n  const getAtlaskitAnalyticsEventHandlers = useCallback(() => {\n    const thisHandler = (event, eventChannel) => {\n      if (channelRef.current === '*' || channelRef.current === eventChannel) {\n        onEventRef.current(event, eventChannel);\n      }\n    };\n    return [...analyticsContext.getAtlaskitAnalyticsEventHandlers(), thisHandler];\n  }, [analyticsContext, channelRef, onEventRef]);\n  const value = useMemo(() => {\n    return {\n      getAtlaskitAnalyticsEventHandlers,\n      getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext\n    };\n  }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);\n  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n    value: value\n  }, children);\n};\nexport default AnalyticsListener;","import React from 'react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nconst ExportedAnalyticsListener = props => {\n  var _process$env;\n  const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);\n  return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);\n};\nexport default ExportedAnalyticsListener;","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  ref.current = value;\n  return ref;\n};","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n  if (!DEBUG_MODE) {\n    return;\n  }\n\n  // eslint-disable-next-line no-console\n  console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n  // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n  // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n  earlyResolvedFlags: new Map(),\n  booleanResolver: function (flagKey) {\n    if (process.env.NODE_ENV !== 'production') {\n      const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n      this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n    }\n    return false;\n  }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n  globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n  if (process.env.NODE_ENV !== 'production') {\n    var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n    if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n      debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n      globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n    }\n  }\n}\nexport function resolveBooleanFlag(flagKey) {\n  if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n    debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n    return true;\n  }\n  try {\n    var _globalVar$PFF_GLOBAL3;\n    const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n    if (typeof result !== 'boolean') {\n      // eslint-disable-next-line no-console\n      console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n      return false;\n    }\n    return result;\n  } catch (e) {\n    return false;\n  }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n  setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @deprecated Use {@link fg} function instead.\n * @param name\n */\nexport function getBooleanFF(name) {\n  return resolveBooleanFlag(name);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function fg(name) {\n  return resolveBooleanFlag(name);\n}","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsContext: PropTypes.func,\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n    __extends(AnalyticsContext, _super);\n    function AnalyticsContext(props) {\n        var _this = _super.call(this, props) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n        }); };\n        _this.getAnalyticsContext = function () {\n            var data = _this.props.data;\n            var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n            var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n                getAtlaskitAnalyticsContext()) ||\n                [];\n            return __spread(ancestorData, [data]);\n        };\n        _this.getAnalyticsEventHandlers = function () {\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            return ancestorHandlers;\n        };\n        _this.state = {\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        };\n        return _this;\n    }\n    AnalyticsContext.prototype.render = function () {\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n    };\n    AnalyticsContext.contextTypes = ContextTypes;\n    AnalyticsContext.childContextTypes = ContextTypes;\n    return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __makeTemplateObject } from \"tslib\";\nimport { css } from 'styled-components';\nimport { B200, background, DN80A, N200A, N70A } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { AVATAR_RADIUS, AVATAR_SIZES, BORDER_WIDTH, TRANSITION_DURATION, } from './constants';\nvar backgroundColorFocus = B200;\nvar overlayColorDefault = 'transparent';\nvar overlayColorHover = N70A;\nvar overlayColorSelected = N200A;\nvar overlayColorDisabled = themed({\n    light: 'rgba(255, 255, 255, 0.7)',\n    dark: DN80A,\n});\n// \"square\" avatars are explicit\nexport function getBorderRadius(props, config) {\n    if (config === void 0) { config = { includeBorderWidth: false }; }\n    var borderWidth = config.includeBorderWidth\n        ? BORDER_WIDTH[props.size]\n        : 0;\n    return props.appearance === 'circle'\n        ? '50%'\n        : AVATAR_RADIUS[props.size] + borderWidth + \"px\";\n}\nexport var getSize = function (_a) {\n    var size = _a.size;\n    return AVATAR_SIZES[size];\n}; // for testing\nexport function getAvatarDimensions(_a, config) {\n    var size = _a.size;\n    if (config === void 0) { config = {\n        includeBorderWidth: false,\n        sizeOnly: false,\n    }; }\n    var borderWidth = config.includeBorderWidth\n        ? BORDER_WIDTH[size] * 2\n        : 0;\n    var finalSize = AVATAR_SIZES[size] + borderWidth;\n    return config.sizeOnly\n        ? finalSize\n        : \"\\n    height: \" + finalSize + \"px;\\n    width: \" + finalSize + \"px;\\n  \";\n}\n// expose here for use with multiple element types\nexport function getInnerStyles(props) {\n    if (props === void 0) { props = { appearance: 'circle', size: 'medium' }; }\n    var boxSizing = 'content-box';\n    var borderWidth = BORDER_WIDTH[props.size] + \"px\";\n    var isInteractive = Boolean(props.isInteractive || props.href || props.onClick);\n    // We make the distinction between isInteractive and isClickable as supplying a tooltip\n    // makes the avatar interactive but not clickable\n    var isClickable = Boolean(props.href || props.onClick);\n    var backgroundColor = props.borderColor || background;\n    // Inherit cursor styles so we don't cancel out pointer cursors in places like avatar group more dropdown\n    var cursor = 'inherit';\n    var outline = 'none';\n    var overlayShade = overlayColorDefault;\n    var overlayOpacity = 0;\n    var pointerEvents = 'auto';\n    var position = 'static';\n    var transform = 'translateZ(0)';\n    var transitionDuration = '0s';\n    // Interaction: Hover\n    if (isInteractive && (props.isActive || props.isHover)) {\n        overlayShade = overlayColorHover;\n        overlayOpacity = 1;\n    }\n    // Interaction: Active\n    if (isClickable && props.isActive) {\n        transform = 'scale(0.9)';\n    }\n    // Interaction: Focus\n    if (isInteractive && props.isFocus && !props.isActive) {\n        outline = 'none';\n        backgroundColor = backgroundColorFocus;\n        transitionDuration = TRANSITION_DURATION;\n    }\n    // Disabled\n    if (props.isDisabled) {\n        cursor = 'not-allowed';\n        overlayShade = overlayColorDisabled;\n        overlayOpacity = 1;\n        pointerEvents = 'none';\n    }\n    // Clickable\n    if (isClickable) {\n        cursor = 'pointer';\n    }\n    // Loading\n    if (props.isSelected) {\n        overlayShade = overlayColorSelected;\n        overlayOpacity = 1;\n    }\n    // Stack\n    if (props.stackIndex) {\n        position = 'relative';\n    }\n    return css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n    \", \";\\n    align-items: stretch;\\n    background-color: \", \";\\n    border: 0;\\n    border-radius: \", \";\\n    padding: \", \";\\n    box-sizing: \", \";\\n    cursor: \", \";\\n    display: flex;\\n    flex-direction: column;\\n    justify-content: center;\\n    outline: \", \";\\n    overflow: hidden;\\n    pointer-events: \", \";\\n    position: \", \";\\n    transform: \", \";\\n    transition: background-color \", \" ease-out;\\n\\n    a &,\\n    button & {\\n      cursor: pointer;\\n    }\\n\\n    &::after {\\n      background-color: \", \";\\n      border-radius: \", \";\\n      bottom: \", \";\\n      content: ' ';\\n      left: \", \";\\n      opacity: \", \";\\n      pointer-events: none;\\n      position: absolute;\\n      right: \", \";\\n      top: \", \";\\n      transition: opacity \", \";\\n    }\\n\\n    &::-moz-focus-inner {\\n      border: 0;\\n      margin: 0;\\n      padding: 0;\\n    }\\n  \"], [\"\\n    \", \";\\n    align-items: stretch;\\n    background-color: \", \";\\n    border: 0;\\n    border-radius: \", \";\\n    padding: \", \";\\n    box-sizing: \", \";\\n    cursor: \", \";\\n    display: flex;\\n    flex-direction: column;\\n    justify-content: center;\\n    outline: \", \";\\n    overflow: hidden;\\n    pointer-events: \", \";\\n    position: \", \";\\n    transform: \", \";\\n    transition: background-color \", \" ease-out;\\n\\n    a &,\\n    button & {\\n      cursor: pointer;\\n    }\\n\\n    &::after {\\n      background-color: \", \";\\n      border-radius: \", \";\\n      bottom: \", \";\\n      content: ' ';\\n      left: \", \";\\n      opacity: \", \";\\n      pointer-events: none;\\n      position: absolute;\\n      right: \", \";\\n      top: \", \";\\n      transition: opacity \", \";\\n    }\\n\\n    &::-moz-focus-inner {\\n      border: 0;\\n      margin: 0;\\n      padding: 0;\\n    }\\n  \"])), getAvatarDimensions, backgroundColor, function (p) { return getBorderRadius(p, { includeBorderWidth: true }); }, borderWidth, boxSizing, cursor, outline, pointerEvents, position, transform, transitionDuration, overlayShade, getBorderRadius, borderWidth, borderWidth, overlayOpacity, borderWidth, borderWidth, TRANSITION_DURATION);\n}\nvar templateObject_1;\n//# sourceMappingURL=utils.js.map","import { gridSize } from '@atlaskit/theme/constants';\nexport var TRANSITION_DURATION = '200ms';\nvar gridSizeValue = gridSize();\nexport var AVATAR_SIZES = {\n    xsmall: gridSizeValue * 2,\n    small: gridSizeValue * 3,\n    medium: gridSizeValue * 4,\n    large: gridSizeValue * 5,\n    xlarge: gridSizeValue * 12,\n    xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nexport var AVATAR_RADIUS = {\n    xsmall: 2,\n    small: 2,\n    medium: 3,\n    large: 3,\n    xlarge: 6,\n    xxlarge: 12,\n};\nexport var BORDER_WIDTH = {\n    xsmall: 2,\n    small: 2,\n    medium: 2,\n    large: 2,\n    xlarge: 2,\n    xxlarge: 2,\n};\n// NOTE: sizes xsmall & xxlarge DO NOT support\n// - groups\n// - presence\n// - status\nexport var EXCESS_INDICATOR_FONT_SIZE = {\n    small: 10,\n    medium: 11,\n    large: 12,\n    xlarge: 16,\n};\nexport var ICON_SIZES = {\n    small: 12,\n    medium: 14,\n    large: 15,\n    xlarge: 18,\n};\nexport var ICON_OFFSET = {\n    small: 0,\n    medium: 0,\n    large: 1,\n    xlarge: 7,\n};\nexport var SQUARE_ICON_OFFSET = {\n    small: 0,\n    medium: 0,\n    large: 0,\n    xlarge: 1,\n};\n//# sourceMappingURL=constants.js.map","import { getInnerStyles } from '../styled/utils';\nimport styledCache from './styledCache';\nexport default styledCache(getInnerStyles);\n//# sourceMappingURL=getStyledAvatar.js.map","import { __assign } from \"tslib\";\nimport { DN50, N40 } from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nvar gridSizeValue = gridSize();\nvar AVATAR_SIZES = {\n    xsmall: gridSizeValue * 2,\n    small: gridSizeValue * 3,\n    medium: gridSizeValue * 4,\n    large: gridSizeValue * 5,\n    xlarge: gridSizeValue * 12,\n    xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nvar AVATAR_RADIUS = {\n    xsmall: 2,\n    small: 2,\n    medium: 3,\n    large: 3,\n    xlarge: 6,\n    xxlarge: 12,\n};\nvar BORDER_WIDTH = {\n    xsmall: 2,\n    small: 2,\n    medium: 2,\n    large: 2,\n    xlarge: 2,\n    xxlarge: 2,\n};\nvar ICON_SIZES = {\n    xsmall: 0,\n    small: 12,\n    medium: 14,\n    large: 15,\n    xlarge: 18,\n    xxlarge: 0,\n};\nvar ICON_OFFSET = {\n    xsmall: 0,\n    small: 0,\n    medium: 0,\n    large: 1,\n    xlarge: 7,\n    xxlarge: 0,\n};\nvar SQUARE_ICON_OFFSET = {\n    xsmall: 0,\n    small: 0,\n    medium: 0,\n    large: 0,\n    xlarge: 1,\n    xxlarge: 0,\n};\nfunction getBackgroundColor(props) {\n    var backgroundColors = {\n        light: N40,\n        dark: DN50,\n    };\n    return props.mode && props.isLoading\n        ? backgroundColors[props.mode]\n        : 'transparent';\n}\nfunction getBorderRadius(props) {\n    var borderWidth = props.includeBorderWidth ? BORDER_WIDTH[props.size] : 0;\n    var borderRadius = props.appearance === 'circle'\n        ? '50%'\n        : AVATAR_RADIUS[props.size] + borderWidth + \"px\";\n    return borderRadius;\n}\nfunction getDimensions(props) {\n    var borderWidth = props.includeBorderWidth\n        ? BORDER_WIDTH[props.size] * 2\n        : 0;\n    var size = AVATAR_SIZES[props.size] + borderWidth;\n    var width = size + \"px\";\n    var height = width;\n    return { height: height, width: width };\n}\nvar getPresenceLayout = function (props) {\n    var presencePosition = props.appearance === 'square'\n        ? -(BORDER_WIDTH[props.size] * 2)\n        : ICON_OFFSET[props.size];\n    var presenceSize = ICON_SIZES[props.size];\n    return {\n        bottom: presencePosition + \"px\",\n        height: presenceSize + \"px\",\n        right: presencePosition + \"px\",\n        width: presenceSize + \"px\",\n    };\n};\nvar getStatusLayout = function (props) {\n    var statusPosition = props.appearance === 'square'\n        ? SQUARE_ICON_OFFSET[props.size]\n        : ICON_OFFSET[props.size];\n    var statusSize = ICON_SIZES[props.size];\n    return {\n        height: statusSize + \"px\",\n        right: statusPosition + \"px\",\n        top: statusPosition + \"px\",\n        width: statusSize + \"px\",\n    };\n};\nvar propsDefaults = {\n    appearance: 'circle',\n    includeBorderWidth: false,\n    isLoading: false,\n    mode: 'light',\n    presence: 'offline',\n    size: 'xsmall',\n};\nexport var Theme = createTheme(function (props) {\n    var propsWithDefaults = __assign(__assign({}, propsDefaults), props);\n    return {\n        backgroundColor: getBackgroundColor(propsWithDefaults),\n        borderRadius: getBorderRadius(propsWithDefaults),\n        dimensions: getDimensions(propsWithDefaults),\n        presence: getPresenceLayout(propsWithDefaults),\n        status: getStatusLayout(propsWithDefaults),\n    };\n});\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport { Theme } from '../theme';\nvar Avatar = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n    var dimensions = _a.dimensions;\n    return (React.createElement(\"div\", { \"data-testid\": props.testId, style: __assign({ display: 'inline-block', position: 'relative', outline: 0, zIndex: props.stackIndex }, dimensions) }, props.children));\n})); };\nexport default Avatar;\nexport var PresenceWrapper = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n    var presence = _a.presence;\n    return (React.createElement(\"span\", { style: __assign({ pointerEvents: 'none', position: 'absolute' }, presence) }, props.children));\n})); };\nexport var StatusWrapper = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n    var status = _a.status;\n    return (React.createElement(\"span\", { style: __assign({ position: 'absolute' }, status) }, props.children));\n})); };\n//# sourceMappingURL=Avatar.js.map","import { __assign, __makeTemplateObject, __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { background, DN100, N50 } from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nexport var ShapeGroup = withTheme(styled.g(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n  & circle,\\n  & rect {\\n    fill: \", \";\\n  }\\n  & g {\\n    fill: \", \";\\n  }\\n\"], [\"\\n  & circle,\\n  & rect {\\n    fill: \", \";\\n  }\\n  & g {\\n    fill: \", \";\\n  }\\n\"])), themed({ light: N50, dark: DN100 }), background));\nexport var Slot = function (_a) {\n    var isLoading = _a.isLoading, appearance = _a.appearance, size = _a.size, backgroundImage = _a.backgroundImage, label = _a.label, role = _a.role;\n    return (React.createElement(Theme.Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n        var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n        return (React.createElement(\"span\", { style: {\n                backgroundColor: backgroundColor,\n                backgroundImage: backgroundImage\n                    ? \"url(\" + backgroundImage + \")\"\n                    : undefined,\n                backgroundPosition: 'center',\n                backgroundRepeat: 'no-repeat',\n                backgroundSize: 'cover',\n                borderRadius: borderRadius,\n                display: 'flex',\n                flex: '1 1 100%',\n                height: '100%',\n                width: '100%',\n            }, role: role, \"aria-label\": label }));\n    }));\n};\nexport var Svg = function (_a) {\n    var appearance = _a.appearance, size = _a.size, children = _a.children, isLoading = _a.isLoading, otherProps = __rest(_a, [\"appearance\", \"size\", \"children\", \"isLoading\"]);\n    return (React.createElement(Theme.Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n        var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n        return (React.createElement(\"svg\", __assign({ style: {\n                backgroundColor: backgroundColor,\n                borderRadius: borderRadius,\n                height: '100%',\n                width: '100%',\n            } }, otherProps), children));\n    }));\n};\nvar templateObject_1;\n//# sourceMappingURL=AvatarImage.js.map","import { __extends } from \"tslib\";\nimport React, { PureComponent } from 'react';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { ShapeGroup, Slot, Svg } from '../styled/AvatarImage';\nexport function DefaultImage(_a) {\n    var appearance = _a.appearance, size = _a.size, title = _a.title, isLoading = _a.isLoading;\n    var rectBounds = 128;\n    return (React.createElement(GlobalTheme.Consumer, null, function (_a) {\n        var mode = _a.mode;\n        return (React.createElement(Svg, { appearance: appearance, isLoading: isLoading, size: size, viewBox: \"0 0 \" + rectBounds + \" \" + rectBounds, version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\", role: \"img\", \"aria-label\": title }, appearance === 'circle' ? (React.createElement(ShapeGroup, { mode: mode },\n            React.createElement(\"circle\", { cx: \"64\", cy: \"64\", r: \"64\" }),\n            React.createElement(\"g\", null,\n                React.createElement(\"path\", { d: \"M103,102.1388 C93.094,111.92 79.3504,118 64.1638,118 C48.8056,118 34.9294,111.768 25,101.7892 L25,95.2 C25,86.8096 31.981,80 40.6,80 L87.4,80 C96.019,80 103,86.8096 103,95.2 L103,102.1388 Z\" }),\n                React.createElement(\"path\", { d: \"M63.9961647,24 C51.2938136,24 41,34.2938136 41,46.9961647 C41,59.7061864 51.2938136,70 63.9961647,70 C76.6985159,70 87,59.7061864 87,46.9961647 C87,34.2938136 76.6985159,24 63.9961647,24\" })))) : (React.createElement(ShapeGroup, { mode: mode },\n            React.createElement(\"rect\", { x: \"0\", y: \"0\", width: rectBounds, height: rectBounds }),\n            React.createElement(\"g\", { transform: \"translate(19.000000, 32.000000)\" },\n                React.createElement(\"path\", { d: \"M18.25,32.5 L54.5833333,32.5 L54.5833333,23.4166667 L18.25,23.4166667 L18.25,32.5 Z M9.16666667,18.8331166 C9.16666667,16.3479549 11.236581,14.3333333 13.7195662,14.3333333 L59.1137671,14.3333333 C61.6282641,14.3333333 63.6666667,16.3815123 63.6666667,18.8331166 L63.6666667,41.5833333 L9.16666667,41.5833333 L9.16666667,18.8331166 Z\" }),\n                React.createElement(\"path\", { d: \"M18.25,9.81383682 C18.25,4.7850061 22.3296003,0.708333333 27.3238554,0.708333333 L36.4261446,0.708333333 C41.4374965,0.708333333 45.5,4.76812825 45.5,9.81383682 L45.5,23.4166667 L18.25,23.4166667 L18.25,9.81383682 Z M36.4166667,9.81383682 C36.4166667,9.79803315 36.4184748,9.79303784 36.4207515,9.79166667 L27.3238554,9.79166667 C27.3447224,9.79166667 27.3333333,9.80308059 27.3333333,9.81383682 L27.3333333,14.3333333 L36.4166667,14.3333333 L36.4166667,9.81383682 Z\" }),\n                React.createElement(\"path\", { d: \"M11.4386532,55.2083333 L74.9953562,55.2083333 L79.5452242,41.5833333 L9.80449752,41.5833333 L11.4386532,55.2083333 Z M0.1048547,36.987541 C-0.192399775,34.5091405 1.5865717,32.5 4.09502839,32.5 L87.6264735,32.5 C90.1274401,32.5 91.5225656,34.393506 90.7231047,36.7875656 L82.9702846,60.004101 C82.1795402,62.3720582 79.5279445,64.2916667 76.9985338,64.2916667 L7.91963924,64.2916667 C5.41227673,64.2916667 3.14113571,62.3029555 2.84143097,59.8041257 L0.1048547,36.987541 Z\" }))))));\n    }));\n}\nvar AvatarImage = /** @class */ (function (_super) {\n    __extends(AvatarImage, _super);\n    function AvatarImage() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.state = {\n            hasError: false,\n            isLoading: false,\n        };\n        _this.handleLoadSuccess = function () {\n            _this.setState({ hasError: false, isLoading: false });\n        };\n        _this.handleLoadError = function () {\n            _this.setState({ hasError: true, isLoading: false });\n        };\n        return _this;\n    }\n    AvatarImage.prototype.componentDidMount = function () {\n        if (this.props.src) {\n            // check whether there was a problem loading the image\n            // if handleLoadError is called we show the default avatar\n            var img = new Image();\n            img.onerror = this.handleLoadError;\n            img.src = this.props.src || '';\n        }\n    };\n    AvatarImage.prototype.componentDidUpdate = function (prevProps) {\n        var _this = this;\n        if (this.props.src && this.props.src !== prevProps.src) {\n            // eslint-disable-next-line react/no-did-update-set-state\n            this.setState({ isLoading: true }, function () {\n                var img = new Image();\n                img.onload = _this.handleLoadSuccess;\n                img.onerror = _this.handleLoadError;\n                img.src = _this.props.src || '';\n            });\n        }\n    };\n    AvatarImage.prototype.render = function () {\n        var _a = this.props, alt = _a.alt, src = _a.src, appearance = _a.appearance, size = _a.size;\n        var _b = this.state, hasError = _b.hasError, isLoading = _b.isLoading;\n        var showDefault = !isLoading && (!src || hasError);\n        var imageUrl = src && !isLoading ? src : undefined;\n        return showDefault ? (React.createElement(DefaultImage, { appearance: appearance, size: size, title: alt, isLoading: isLoading })) : (React.createElement(Slot, { appearance: appearance, isLoading: isLoading, size: size, role: \"img\", label: alt, backgroundImage: imageUrl }));\n    };\n    return AvatarImage;\n}(PureComponent));\nexport default AvatarImage;\n//# sourceMappingURL=AvatarImage.js.map","import { __assign, __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nvar Svg = function (props) { return (React.createElement(\"svg\", __assign({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar BusyCircle = withTheme(styled.circle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.R300, dark: colors.R200 })));\nvar BusyPath = withTheme(styled.path(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), colors.background));\nvar FocusPath = withTheme(styled.path(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), colors.purple));\nvar OfflineOuter = withTheme(styled.path(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.N200, dark: colors.DN100 })));\nvar OfflineInner = withTheme(styled.path(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.N40, dark: colors.DN500 })));\nvar OnlineCircle = withTheme(styled.circle(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.G300, dark: colors.G200 })));\nexport default function getPresenceSvg(presence) {\n    switch (presence) {\n        case 'busy':\n            return (React.createElement(Svg, null,\n                React.createElement(BusyCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n                React.createElement(BusyPath, { d: \"M3.3,1.9l2.8,2.8c0.2,0.2,0.2,0.5,0,0.7L5.4,6.1c-0.2,0.2-0.5,0.2-0.7,0L1.9,3.3c-0.2-0.2-0.2-0.5,0-0.7l0.7-0.7C2.8,1.7,3.1,1.7,3.3,1.9z\" })));\n        case 'focus':\n            return (React.createElement(Svg, null,\n                React.createElement(FocusPath, { d: \"M4,8 C1.790861,8 0,6.209139 0,4 C0,1.790861 1.790861,0 4,0 C6.209139,0 8,1.790861 8,4 C8,6.209139 6.209139,8 4,8 Z M4,6.66666667 C5.47275933,6.66666667 6.66666667,5.47275933 6.66666667,4 C6.66666667,2.52724067 5.47275933,1.33333333 4,1.33333333 C2.52724067,1.33333333 1.33333333,2.52724067 1.33333333,4 C1.33333333,5.47275933 2.52724067,6.66666667 4,6.66666667 Z M4,5.33333333 C3.26362033,5.33333333 2.66666667,4.73637967 2.66666667,4 C2.66666667,3.26362033 3.26362033,2.66666667 4,2.66666667 C4.73637967,2.66666667 5.33333333,3.26362033 5.33333333,4 C5.33333333,4.73637967 4.73637967,5.33333333 4,5.33333333 Z\" })));\n        case 'offline':\n            return (React.createElement(Svg, null,\n                React.createElement(OfflineOuter, { d: \"M4,8 C6.209139,8 8,6.209139 8,4 C8,1.790861 6.209139,0 4,0 C1.790861,0 0,1.790861 0,4 C0,6.209139 1.790861,8 4,8 Z M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" }),\n                React.createElement(OfflineInner, { d: \"M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" })));\n        case 'online':\n            return (React.createElement(Svg, null,\n                React.createElement(OnlineCircle, { cx: \"4\", cy: \"4\", r: \"4\" })));\n        default:\n            return null;\n    }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getPresenceSVG.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { background } from '@atlaskit/theme/colors';\nimport { withTheme } from '@atlaskit/theme/components';\nimport { BORDER_WIDTH } from './constants';\nexport var Outer = withTheme(styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n  align-content: center;\\n  align-items: center;\\n  background-color: \", \";\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  display: flex;\\n  height: 100%;\\n  overflow: hidden;\\n  padding: \", \"px;\\n  width: 100%;\\n\"], [\"\\n  align-content: center;\\n  align-items: center;\\n  background-color: \", \";\\n  border-radius: 50%;\\n  box-sizing: border-box;\\n  display: flex;\\n  height: 100%;\\n  overflow: hidden;\\n  padding: \",\n    \"px;\\n  width: 100%;\\n\"])), function (props) { return props.bgColor || background; }, function (_a) {\n    var size = _a.size;\n    return (size && BORDER_WIDTH[size]) || BORDER_WIDTH.medium;\n}));\nexport var Inner = styled.span(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n  align-items: center;\\n  border-radius: 50%;\\n  display: flex;\\n  height: 100%;\\n  overflow: hidden;\\n  width: 100%;\\n\"], [\"\\n  align-items: center;\\n  border-radius: 50%;\\n  display: flex;\\n  height: 100%;\\n  overflow: hidden;\\n  width: 100%;\\n\"])));\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=Icon.js.map","import { __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport getPresenceSVG from '../helpers/getPresenceSVG';\nimport { Inner, Outer } from '../styled/Icon';\nvar Presence = /** @class */ (function (_super) {\n    __extends(Presence, _super);\n    function Presence() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    Presence.prototype.render = function () {\n        var _a = this.props, borderColor = _a.borderColor, children = _a.children, presence = _a.presence, size = _a.size;\n        return (React.createElement(Outer, { size: size, bgColor: borderColor },\n            React.createElement(Inner, null, children || (presence && getPresenceSVG(presence)))));\n    };\n    return Presence;\n}(Component));\nexport default Presence;\n//# sourceMappingURL=Presence.js.map","import { __assign, __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nvar Svg = function (props) { return (React.createElement(\"svg\", __assign({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar ApprovedCircle = withTheme(styled.circle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.G400, dark: colors.G300 })));\nvar ApprovedPath = withTheme(styled.path(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), colors.background));\nvar DeclinedCircle = withTheme(styled.circle(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.R400, dark: colors.R300 })));\nvar DeclinedPath = withTheme(styled.path(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), colors.background));\nvar LockedCircle = withTheme(styled.circle(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.N40, dark: colors.DN800 })));\nvar LockedPath = withTheme(styled.path(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n  fill: \", \";\\n\"], [\"\\n  fill: \", \";\\n\"])), themed({ light: colors.N500, dark: colors.DN30 })));\nexport default function getStatusSvg(status) {\n    switch (status) {\n        case 'approved':\n            return (React.createElement(Svg, null,\n                React.createElement(ApprovedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n                React.createElement(ApprovedPath, { d: \"M2.47140452,3.52859548 C2.21105499,3.26824595 1.78894501,3.26824595 1.52859548,3.52859548 C1.26824595,3.78894501 1.26824595,4.21105499 1.52859548,4.47140452 L2.86192881,5.80473785 C3.12227834,6.06508738 3.54438833,6.06508738 3.80473785,5.80473785 L6.47140452,3.13807119 C6.73175405,2.87772166 6.73175405,2.45561167 6.47140452,2.19526215 C6.21105499,1.93491262 5.78894501,1.93491262 5.52859548,2.19526215 L3.33333333,4.39052429 L2.47140452,3.52859548 Z\" })));\n        case 'declined':\n            return (React.createElement(Svg, null,\n                React.createElement(DeclinedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n                React.createElement(DeclinedPath, { d: \"M4.890661,4.0088336 L5.81806461,3.07802178 C6.06167933,2.83351177 6.06048933,2.43826992 5.81540668,2.19522442 C5.57032402,1.95217891 5.17415651,1.95336612 4.93054179,2.19787613 L4.00765946,3.12415007 L3.06906871,2.18377143 C2.82523777,1.93947602 2.42906937,1.93863765 2.18420182,2.18189887 C1.93933427,2.42516008 1.93849394,2.82040282 2.18232488,3.06469822 L3.12544091,4.00961077 L2.20275024,4.93569234 C1.95913552,5.18020236 1.96032551,5.5754442 2.20540817,5.81848971 C2.45049083,6.06153521 2.84665833,6.060348 3.09027306,5.81583799 L4.00844245,4.89429431 L4.9092123,5.79678001 C5.15304324,6.04107541 5.54921164,6.04191379 5.79407919,5.79865257 C6.03894674,5.55539135 6.03978708,5.16014862 5.79595614,4.91585321 L4.890661,4.0088336 Z\" })));\n        case 'locked':\n            return (React.createElement(Svg, null,\n                React.createElement(LockedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n                React.createElement(LockedPath, { d: \"M4.13074827,1.21766493 L4.10368158,1.21766493 C3.36340745,1.21766493 2.76388015,1.80793503 2.76388015,2.5367787 L2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,2.54344089 C3.44054754,2.17901906 3.74031119,1.88388401 4.11044825,1.88388401 L4.1239816,1.88388401 C4.49411866,1.88388401 4.79388232,2.17901906 4.79388232,2.54344089 L4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,2.5367787 C5.47054971,1.80793503 4.8710224,1.21766493 4.13074827,1.21766493 M2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,3.88254123 L2.76388015,3.88254123 L2.76388015,3.21632216 Z M4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,3.88254123 L4.79388232,3.88254123 L4.79388232,3.21632216 Z M4.79401765,3.88254123 L3.44068287,3.88254123 L2.76401548,3.88254123 C2.39049508,3.88254123 2.08734809,4.18100738 2.08734809,4.54876031 L2.08734809,5.54808892 C2.08734809,6.10000287 2.53735205,6.54741753 3.09094491,6.54741753 L5.14375561,6.54741753 C5.69802683,6.54741753 6.14735243,6.10385072 6.14735243,5.54808892 L6.14735243,4.54876031 C6.14735243,4.18100738 5.84420544,3.88254123 5.47068504,3.88254123 L4.79401765,3.88254123 Z\" })));\n        default:\n            return null;\n    }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getStatusSVG.js.map","import { __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport getStatusSVG from '../helpers/getStatusSVG';\nimport { Inner, Outer } from '../styled/Icon';\nvar Status = /** @class */ (function (_super) {\n    __extends(Status, _super);\n    function Status() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    Status.prototype.render = function () {\n        var _a = this.props, borderColor = _a.borderColor, children = _a.children, status = _a.status, size = _a.size;\n        return (React.createElement(Outer, { size: size, bgColor: borderColor },\n            React.createElement(Inner, null, children || (status && getStatusSVG(status)))));\n    };\n    return Status;\n}(Component));\nexport default Status;\n//# sourceMappingURL=Status.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport Tooltip from '@atlaskit/tooltip';\nimport { getProps, getStyledAvatar } from '../helpers';\nimport { mapProps, withPseudoState } from '../hoc';\nimport Outer, { PresenceWrapper, StatusWrapper } from '../styled/Avatar';\nimport { ICON_SIZES } from '../styled/constants';\nimport { Theme } from '../theme';\nimport { omit } from '../utils';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport AvatarImage from './AvatarImage';\nimport { propsOmittedFromClickData } from './constants';\nimport Presence from './Presence';\nimport Status from './Status';\nvar validIconSizes = Object.keys(ICON_SIZES);\nvar warn = function (message) {\n    if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        console.warn(message); // eslint-disable-line no-console\n    }\n};\nvar Avatar = /** @class */ (function (_super) {\n    __extends(Avatar, _super);\n    function Avatar() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\n        _this.clickAnalyticsCaller = function () {\n            var createAnalyticsEvent = _this.props.createAnalyticsEvent;\n            return createAnalyticsEvent\n                ? _this.createAndFireEventOnAtlaskit({\n                    action: 'clicked',\n                    actionSubject: 'avatar',\n                    attributes: {\n                        componentName: 'avatar',\n                        packageName: packageName,\n                        packageVersion: packageVersion,\n                    },\n                })(createAnalyticsEvent)\n                : undefined;\n        };\n        // expose blur/focus to consumers via ref\n        _this.blur = function () {\n            if (_this.ref)\n                _this.ref.blur();\n        };\n        _this.focus = function () {\n            if (_this.ref)\n                _this.ref.focus();\n        };\n        // disallow click on disabled avatars\n        // only return avatar data properties\n        _this.guardedClick = function (event) {\n            var _a = _this.props, isDisabled = _a.isDisabled, onClick = _a.onClick;\n            if (isDisabled || typeof onClick !== 'function')\n                return;\n            var item = omit.apply(void 0, __spread([_this.props], propsOmittedFromClickData));\n            var analyticsEvent = _this.clickAnalyticsCaller();\n            onClick({ item: item, event: event }, analyticsEvent);\n        };\n        // enforce status / presence rules\n        /* eslint-disable no-console */\n        _this.renderIcon = function () {\n            var _a = _this.props, appearance = _a.appearance, borderColor = _a.borderColor, presence = _a.presence, status = _a.status;\n            var showPresence = Boolean(presence);\n            var showStatus = Boolean(status);\n            // no icon needed\n            if (!showStatus && !showPresence) {\n                return null;\n            }\n            if (showStatus && showPresence) {\n                warn('Avatar supports `presence` OR `status` properties, not both.');\n                return null;\n            }\n            // only support particular sizes\n            if (validIconSizes.indexOf(_this.props.size) === -1) {\n                warn(\"Avatar size \\\"\" + String(_this.props.size) + \"\\\" does NOT support \" + (showPresence ? 'presence' : 'status'));\n                return null;\n            }\n            // we can cast here because we already know that it is a valid icon size\n            var size = _this.props.size;\n            var indicator = (function () {\n                if (showPresence) {\n                    var customPresenceNode = typeof presence === 'object' ? presence : null;\n                    return (React.createElement(PresenceWrapper, { appearance: appearance, size: size },\n                        React.createElement(Presence, { borderColor: borderColor, presence: !customPresenceNode && presence, size: size }, customPresenceNode)));\n                }\n                // showStatus\n                var customStatusNode = typeof status === 'object' ? status : null;\n                return (React.createElement(StatusWrapper, { appearance: appearance, size: size },\n                    React.createElement(Status, { borderColor: borderColor, status: !customStatusNode && status, size: size }, customStatusNode)));\n            })();\n            return indicator;\n        };\n        _this.setRef = function (ref) {\n            _this.ref = ref;\n        };\n        return _this;\n    }\n    Avatar.prototype.render = function () {\n        var _a = this.props, appearance = _a.appearance, enableTooltip = _a.enableTooltip, name = _a.name, size = _a.size, src = _a.src, stackIndex = _a.stackIndex, onClick = _a.onClick, theme = _a.theme, testId = _a.testId;\n        // distill props from context, props, and state\n        var enhancedProps = getProps(this);\n        // provide element interface based on props\n        var Inner = getStyledAvatar(this.props);\n        Inner.displayName = 'Inner';\n        var AvatarNode = (React.createElement(Theme.Provider, { value: theme },\n            React.createElement(Outer, { size: size, stackIndex: stackIndex, testId: testId },\n                React.createElement(Inner, __assign({ innerRef: this.setRef }, enhancedProps, { onClick: onClick != null ? this.guardedClick : undefined }),\n                    React.createElement(AvatarImage, { alt: name, appearance: appearance, size: size, src: src })),\n                this.renderIcon())));\n        return enableTooltip && name ? (React.createElement(Tooltip, { content: name }, AvatarNode)) : (AvatarNode);\n    };\n    Avatar.defaultProps = {\n        appearance: 'circle',\n        enableTooltip: true,\n        size: 'medium',\n    };\n    return Avatar;\n}(Component));\nexport var AvatarWithoutAnalytics = mapProps({\n    appearance: function (props) { return props.appearance || Avatar.defaultProps.appearance; },\n    isInteractive: function (props) {\n        return Boolean((typeof props.enableTooltip !== 'undefined'\n            ? props.enableTooltip\n            : Avatar.defaultProps.enableTooltip) && props.name);\n    },\n})(withPseudoState(Avatar));\nexport default withAnalyticsContext({\n    componentName: 'avatar',\n    packageName: packageName,\n    packageVersion: packageVersion,\n})(withAnalyticsEvents()(AvatarWithoutAnalytics));\n//# sourceMappingURL=Avatar.js.map","import { __assign, __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport { getDisplayName } from '../utils';\nexport default function mapProps(mapping) {\n    return function (DecoratedComponent) { var _a; return _a = /** @class */ (function (_super) {\n            __extends(MapProps, _super);\n            function MapProps() {\n                var _this = _super !== null && _super.apply(this, arguments) || this;\n                // expose blur/focus to consumers via ref\n                _this.blur = function () {\n                    // @ts-ignore accessing component internals\n                    if (_this.component && _this.component.blur)\n                        _this.component.blur();\n                };\n                _this.focus = function () {\n                    // @ts-ignore accessing component internals\n                    if (_this.component && _this.component.focus)\n                        _this.component.focus();\n                };\n                _this.setComponent = function (component) {\n                    _this.component = component;\n                };\n                return _this;\n            }\n            MapProps.prototype.render = function () {\n                var _this = this;\n                var mapped = __assign(__assign({}, this.props), Object.keys(mapping).reduce(function (acc, key) {\n                    var _a;\n                    return (__assign(__assign({}, acc), (_a = {}, _a[key] = mapping[key](_this.props), _a)));\n                }, {}));\n                return React.createElement(DecoratedComponent, __assign({ ref: this.setComponent }, mapped));\n            };\n            return MapProps;\n        }(Component)),\n        _a.displayName = getDisplayName('mapProps', DecoratedComponent),\n        _a.DecoratedComponent = DecoratedComponent,\n        _a; };\n}\n//# sourceMappingURL=mapProps.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n    var consumerEvent = createAnalyticsEvent(payload);\n    var clonedEvent = consumerEvent.clone();\n    if (clonedEvent) {\n        clonedEvent.fire(channel);\n    }\n    return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n    var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n        var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n        var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n        return (React.createElement(AnalyticsContext, { data: analyticsData },\n            React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n    });\n    // @ts-ignore\n    WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export var propsOmittedFromClickData = [\n    'onBlur',\n    'onClick',\n    'onFocus',\n    'onKeyDown',\n    'onKeyUp',\n    'onMouseDown',\n    'onMouseEnter',\n    'onMouseLeave',\n    'onMouseUp',\n];\n//# sourceMappingURL=constants.js.map","import { __assign } from \"tslib\";\nvar getAppearanceProps = function (props) { return ({\n    appearance: props.appearance,\n    backgroundColor: props.backgroundColor,\n    borderColor: props.borderColor,\n    groupAppearance: props.groupAppearance,\n    isActive: props.isActive,\n    isDisabled: props.isDisabled,\n    isFocus: props.isFocus,\n    isHover: props.isHover,\n    isInteractive: props.isInteractive,\n    isSelected: props.isSelected,\n    size: props.size,\n    stackIndex: props.stackIndex,\n}); };\nvar getInteractionProps = function (props) { return ({\n    onBlur: props.onBlur,\n    onClick: props.onClick,\n    onFocus: props.onFocus,\n    onKeyDown: props.onKeyDown,\n    onKeyUp: props.onKeyUp,\n    onMouseDown: props.onMouseDown,\n    onMouseEnter: props.onMouseEnter,\n    onMouseLeave: props.onMouseLeave,\n    onMouseUp: props.onMouseUp,\n    tabIndex: props.tabIndex,\n}); };\nvar getLinkElementProps = function (props) {\n    var href = props.href, target = props.target;\n    // handle security issue for consumer\n    // https://mathiasbynens.github.io/rel-noopener\n    var rel = target === '_blank' ? 'noopener noreferrer' : null;\n    return { href: href, rel: rel, target: target };\n};\nvar getButtonElementProps = function (props) {\n    var id = props.id, isDisabled = props.isDisabled;\n    return { id: id, interface: 'button', disabled: isDisabled };\n};\nexport default function getProps(component) {\n    var props = component.props;\n    var defaultProps = __assign(__assign({}, getAppearanceProps(props)), getInteractionProps(props));\n    if (props.component) {\n        return __assign(__assign({}, defaultProps), props);\n    }\n    if (props.href) {\n        if (props.isDisabled) {\n            return defaultProps;\n        }\n        return __assign(__assign({}, defaultProps), getLinkElementProps(props));\n    }\n    if (props.onClick) {\n        return __assign(__assign({}, defaultProps), getButtonElementProps(props));\n    }\n    return defaultProps;\n}\n//# sourceMappingURL=getProps.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport React, { Component } from 'react';\n/**\n * Styling a avatar is complicated and there are a number of properties which\n * inform its appearance. We want to be able to style any arbitrary component\n * like a Link, but we don't want to pass all of these appearance-related props\n * through to the component or underlying DOM node. This component acts as a\n * layer which catches the appearance-related properties so that they can be\n * used by styled-components, then passes the rest of the props on to the custom\n * component.\n */\nvar CustomComponentProxy = /** @class */ (function (_super) {\n    __extends(CustomComponentProxy, _super);\n    function CustomComponentProxy() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    CustomComponentProxy.prototype.render = function () {\n        var _a = this.props, appearance = _a.appearance, avatar = _a.avatar, borderColor = _a.borderColor, ProxiedComponent = _a.component, enableTooltip = _a.enableTooltip, groupAppearance = _a.groupAppearance, innerRef = _a.innerRef, isActive = _a.isActive, isDisabled = _a.isDisabled, isFocus = _a.isFocus, isHover = _a.isHover, isSelected = _a.isSelected, primaryText = _a.primaryText, secondaryText = _a.secondaryText, stackIndex = _a.stackIndex, rest = __rest(_a, [\"appearance\", \"avatar\", \"borderColor\", \"component\", \"enableTooltip\", \"groupAppearance\", \"innerRef\", \"isActive\", \"isDisabled\", \"isFocus\", \"isHover\", \"isSelected\", \"primaryText\", \"secondaryText\", \"stackIndex\"]);\n        return ProxiedComponent ? React.createElement(ProxiedComponent, __assign({}, rest)) : null;\n    };\n    return CustomComponentProxy;\n}(Component));\nexport default CustomComponentProxy;\n//# sourceMappingURL=CustomComponentProxy.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { withTheme } from '@atlaskit/theme/components';\nimport CustomComponentProxy from '../components/CustomComponentProxy';\n// This is necessary because we don't know what DOM element the custom component will render.\nexport default (function (styles) {\n    var StyledCustomComponent = withTheme(styled(CustomComponentProxy)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n      &,\\n      &:hover,\\n      &:active,\\n      &:focus {\\n        \", \"\\n      }\\n    \"], [\"\\n      &,\\n      &:hover,\\n      &:active,\\n      &:focus {\\n        \", \"\\n      }\\n    \"])), styles));\n    var StyledButton = withTheme(styled.button(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n    \", \";\\n  \"], [\"\\n    \", \";\\n  \"])), styles));\n    var StyledLink = withTheme(styled.a(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n    a& {\\n      \", \";\\n    }\\n  \"], [\"\\n    a& {\\n      \", \";\\n    }\\n  \"])), styles));\n    var StyledSpan = withTheme(styled.span(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n    \", \";\\n  \"], [\"\\n    \", \";\\n  \"])), styles));\n    return function getStyled(_a) {\n        var component = _a.component, href = _a.href, onClick = _a.onClick;\n        var Ret = StyledSpan;\n        if (component) {\n            Ret = StyledCustomComponent;\n        }\n        else if (href) {\n            Ret = StyledLink;\n        }\n        else if (onClick) {\n            Ret = StyledButton;\n        }\n        return Ret;\n    };\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=styledCache.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport { getDisplayName } from '../utils';\nexport default function withPseudoState(WrappedComponent) {\n    var _a;\n    return _a = /** @class */ (function (_super) {\n            __extends(ComponentWithPseudoState, _super);\n            function ComponentWithPseudoState() {\n                var _this = _super !== null && _super.apply(this, arguments) || this;\n                _this.component = null;\n                _this.actionKeys = [];\n                _this.state = {\n                    isActive: Boolean(_this.props.isActive),\n                    isFocus: Boolean(_this.props.isActive),\n                    isHover: Boolean(_this.props.isActive),\n                    isInteractive: Boolean(_this.props.href || _this.props.isInteractive || _this.props.onClick),\n                };\n                _this.blur = function () {\n                    // @ts-ignore reaching into the instance\n                    if (_this.component && _this.component.blur)\n                        _this.component.blur();\n                };\n                _this.focus = function () {\n                    // @ts-ignore reaching into the instance\n                    if (_this.component && _this.component.focus)\n                        _this.component.focus();\n                };\n                _this.setComponent = function (component) {\n                    _this.component = component;\n                };\n                _this.onBlur = function () {\n                    var _a;\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    _this.setState({ isActive: false, isFocus: false });\n                    if (_this.props.onBlur) {\n                        (_a = _this.props).onBlur.apply(_a, __spread(args));\n                    }\n                };\n                _this.onFocus = function () {\n                    var _a;\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    _this.setState({ isFocus: true });\n                    if (_this.props.onFocus) {\n                        (_a = _this.props).onFocus.apply(_a, __spread(args));\n                    }\n                };\n                _this.onMouseLeave = function () {\n                    var _a;\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    _this.setState({ isActive: false, isHover: false });\n                    if (_this.props.onMouseLeave) {\n                        (_a = _this.props).onMouseLeave.apply(_a, __spread(args));\n                    }\n                };\n                _this.onMouseEnter = function () {\n                    var _a;\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    _this.setState({ isHover: true });\n                    if (_this.props.onMouseEnter) {\n                        (_a = _this.props).onMouseEnter.apply(_a, __spread(args));\n                    }\n                };\n                _this.onMouseUp = function () {\n                    var _a;\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    _this.setState({ isActive: false });\n                    if (_this.props.onMouseUp) {\n                        (_a = _this.props).onMouseUp.apply(_a, __spread(args));\n                    }\n                };\n                _this.onMouseDown = function () {\n                    var _a;\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    _this.setState({ isActive: true });\n                    if (_this.props.onMouseDown) {\n                        (_a = _this.props).onMouseDown.apply(_a, __spread(args));\n                    }\n                };\n                _this.onKeyDown = function (event) {\n                    var _a;\n                    var rest = [];\n                    for (var _i = 1; _i < arguments.length; _i++) {\n                        rest[_i - 1] = arguments[_i];\n                    }\n                    if (_this.actionKeys.indexOf(event.key) > -1) {\n                        _this.setState({ isActive: true });\n                    }\n                    if (_this.props.onKeyDown) {\n                        (_a = _this.props).onKeyDown.apply(_a, __spread([event], rest));\n                    }\n                };\n                _this.onKeyUp = function (event) {\n                    var _a;\n                    var rest = [];\n                    for (var _i = 1; _i < arguments.length; _i++) {\n                        rest[_i - 1] = arguments[_i];\n                    }\n                    if (_this.actionKeys.indexOf(event.key) > -1) {\n                        _this.setState({ isActive: false });\n                    }\n                    if (_this.props.onKeyUp) {\n                        (_a = _this.props).onKeyUp.apply(_a, __spread([event], rest));\n                    }\n                };\n                return _this;\n            }\n            ComponentWithPseudoState.prototype.UNSAFE_componentWillMount = function () {\n                var _a = this.props, href = _a.href, isInteractive = _a.isInteractive, onClick = _a.onClick;\n                if (href || isInteractive || onClick) {\n                    this.actionKeys = onClick || isInteractive ? ['Enter', ' '] : ['Enter'];\n                }\n            };\n            ComponentWithPseudoState.prototype.render = function () {\n                return (React.createElement(WrappedComponent, __assign({ ref: this.setComponent }, this.state, this.props, (this.state.isInteractive && {\n                    onBlur: this.onBlur,\n                    onFocus: this.onFocus,\n                    onMouseLeave: this.onMouseLeave,\n                    onMouseEnter: this.onMouseEnter,\n                    onMouseUp: this.onMouseUp,\n                    onMouseDown: this.onMouseDown,\n                    onKeyDown: this.onKeyDown,\n                    onKeyUp: this.onKeyUp,\n                }))));\n            };\n            return ComponentWithPseudoState;\n        }(Component)),\n        _a.displayName = getDisplayName('withPseudoState', WrappedComponent),\n        _a;\n}\n//# sourceMappingURL=withPseudoState.js.map","import { __assign, __values } from \"tslib\";\nexport function omit(obj) {\n    var e_1, _a;\n    var keysToOmit = [];\n    for (var _i = 1; _i < arguments.length; _i++) {\n        keysToOmit[_i - 1] = arguments[_i];\n    }\n    var newObj = __assign({}, obj);\n    try {\n        for (var keysToOmit_1 = __values(keysToOmit), keysToOmit_1_1 = keysToOmit_1.next(); !keysToOmit_1_1.done; keysToOmit_1_1 = keysToOmit_1.next()) {\n            var key = keysToOmit_1_1.value;\n            delete newObj[key];\n        }\n    }\n    catch (e_1_1) { e_1 = { error: e_1_1 }; }\n    finally {\n        try {\n            if (keysToOmit_1_1 && !keysToOmit_1_1.done && (_a = keysToOmit_1.return)) _a.call(keysToOmit_1);\n        }\n        finally { if (e_1) throw e_1.error; }\n    }\n    return newObj;\n}\nexport function getDisplayName(prefix, Component) {\n    var componentName = Component.displayName || Component.name;\n    return componentName ? prefix + \"(\" + componentName + \")\" : prefix;\n}\n//# sourceMappingURL=utils.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n    mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n    return function ComponentWithTheme(props) {\n        return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n    };\n}\n//# sourceMappingURL=hoc.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n   based on those props. An example of this default theme function is one that produces the standard\n   appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n   that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n    const emptyThemeFn = (getTokens, props) => getTokens(props);\n    /* Internally, Theme uses React Context, with internal providers and consumers.\n       The React Context passes only a function that gets props, and turns them into tokens. This\n          function gets mixed as more Providers with their own themes are added. This mixed function\n          is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n          the theme. */\n    const ThemeContext = createContext(defaultGetTokens);\n    // The Theme Consumer takes a function as its child - this function takes tokens, and the\n    // return value is generally a set of nodes with the tokens applied appropriately.\n    function Consumer(props) {\n        const { children, ...themeProps } = props;\n        const theme = useContext(ThemeContext);\n        const themeFn = theme || emptyThemeFn;\n        // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n        // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n        const tokens = themeFn(themeProps);\n        // We add a fragment to ensure we don't break people upgrading.\n        // Previously they may have been able to pass in undefined without things blowing up.\n        return React.createElement(React.Fragment, null, children(tokens));\n    }\n    /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n       - The theme function takes a set of props, as well as a function (getTokens) that can\n          turn props into tokens.\n       - The getTokens function isn't called immediately - instead the props are passed\n          through a mix of parent theming functions\n       Children of this provider will receive this mixed theme\n    */\n    function Provider(props) {\n        const themeFn = useContext(ThemeContext);\n        const valueFn = props.value || emptyThemeFn;\n        const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n        return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n    }\n    return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","/** @jsx jsx */\nimport { forwardRef, memo, useCallback, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { DN90A, N100A } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { layers } from '@atlaskit/theme/constants';\nconst packageName = \"@atlaskit/blanket\";\nconst packageVersion = \"12.4.3\";\nconst analyticsAttributes = {\n  componentName: 'blanket',\n  packageName,\n  packageVersion\n};\nconst baseStyles = css({\n  position: 'fixed',\n  zIndex: layers.blanket(),\n  inset: 0,\n  overflowY: 'auto',\n  pointerEvents: 'initial'\n});\nconst shouldAllowClickThroughStyles = css({\n  pointerEvents: 'none'\n});\nconst invisibleStyles = css({\n  backgroundColor: 'transparent'\n});\nconst lightBgStyles = css({\n  backgroundColor: `var(--ds-blanket, ${N100A})`\n});\nconst darkBgStyles = css({\n  backgroundColor: `var(--ds-blanket, ${DN90A})`\n});\nconst backgroundStyle = {\n  light: lightBgStyles,\n  dark: darkBgStyles\n};\n\n/**\n * __Blanket__\n *\n * A Blanket provides the overlay layer for components such as a modal dialog or a tooltip\n *\n * - [Examples](https://atlaskit.atlassian.com/examples/design-system/blanket/basic-usage)\n */\nconst Blanket = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Blanket({\n  shouldAllowClickThrough = false,\n  isTinted = false,\n  onBlanketClicked = noop,\n  testId,\n  children,\n  analyticsContext\n}, ref) {\n  const {\n    mode\n  } = useGlobalTheme();\n  const mouseDownTarget = useRef(null);\n  const onBlanketClickedWithAnalytics = usePlatformLeafEventHandler({\n    fn: onBlanketClicked,\n    action: 'clicked',\n    analyticsData: analyticsContext,\n    ...analyticsAttributes\n  });\n  const blanketClickOutsideChildren = useCallback(e => e.currentTarget === e.target && mouseDownTarget.current === e.target ? onBlanketClickedWithAnalytics(e) : undefined, [onBlanketClickedWithAnalytics]);\n  const onClick = shouldAllowClickThrough ? undefined : blanketClickOutsideChildren;\n  const onMouseDown = useCallback(e => {\n    mouseDownTarget.current = e.target;\n  }, []);\n  return jsx(\"div\", {\n    role: \"presentation\",\n    css: [baseStyles, shouldAllowClickThrough && shouldAllowClickThroughStyles, backgroundStyle[mode], !isTinted && invisibleStyles],\n    onClick: onClick,\n    onMouseDown: onMouseDown,\n    \"data-testid\": testId,\n    ref: ref\n  }, children);\n}));\nBlanket.displayName = 'Blanket';\nexport default Blanket;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/** @jsx jsx */\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar core_1 = require(\"@emotion/core\");\nvar memoize_one_1 = tslib_1.__importDefault(require(\"memoize-one\"));\nvar analytics_next_1 = require(\"@atlaskit/analytics-next\");\nvar components_1 = tslib_1.__importDefault(require(\"@atlaskit/theme/components\"));\nvar theme_1 = require(\"../theme\");\nvar version_json_1 = require(\"../version.json\");\nvar Content_1 = tslib_1.__importDefault(require(\"./Content\"));\nvar IconWrapper_1 = tslib_1.__importDefault(require(\"./IconWrapper\"));\nvar InnerWrapper_1 = tslib_1.__importDefault(require(\"./InnerWrapper\"));\nvar LoadingSpinner_1 = tslib_1.__importDefault(require(\"./LoadingSpinner\"));\nvar utils_1 = require(\"./utils\");\nvar Button = /** @class */ (function (_super) {\n    tslib_1.__extends(Button, _super);\n    function Button() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        // ref can be a range of things because we render button, a, span or other React components\n        _this.button = react_1.default.createRef();\n        // Makes sure we don't call ref every render.\n        _this.getComposedRefs = memoize_one_1.default(utils_1.composeRefs);\n        _this.state = {\n            isActive: false,\n            isFocus: false,\n            isHover: false,\n        };\n        _this.isInteractive = function () { return !_this.props.isDisabled && !_this.props.isLoading; };\n        _this.onMouseEnter = function (e) {\n            _this.setState({ isHover: true });\n            if (_this.props.onMouseEnter) {\n                _this.props.onMouseEnter(e);\n            }\n        };\n        _this.onMouseLeave = function (e) {\n            _this.setState({ isHover: false, isActive: false });\n            if (_this.props.onMouseLeave) {\n                _this.props.onMouseLeave(e);\n            }\n        };\n        _this.onMouseDown = function (e) {\n            e.preventDefault();\n            _this.setState({ isActive: true });\n            if (_this.props.onMouseDown) {\n                _this.props.onMouseDown(e);\n            }\n        };\n        _this.onMouseUp = function (e) {\n            _this.setState({ isActive: false });\n            if (_this.props.onMouseUp) {\n                _this.props.onMouseUp(e);\n            }\n        };\n        _this.onFocus = function (event) {\n            _this.setState({ isFocus: true });\n            if (_this.props.onFocus) {\n                _this.props.onFocus(event);\n            }\n        };\n        _this.onBlur = function (event) {\n            _this.setState({ isFocus: false });\n            if (_this.props.onBlur) {\n                _this.props.onBlur(event);\n            }\n        };\n        _this.getElement = function () {\n            var _a = _this.props, href = _a.href, isDisabled = _a.isDisabled;\n            if (href) {\n                return isDisabled ? 'span' : 'a';\n            }\n            return 'button';\n        };\n        // Swallow click events when the button is disabled\n        // to prevent inner child clicks bubbling up.\n        _this.onInnerClick = function (e) {\n            if (!_this.isInteractive()) {\n                e.stopPropagation();\n            }\n            return true;\n        };\n        return _this;\n    }\n    Button.prototype.componentDidMount = function () {\n        if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n            this.button.focus();\n        }\n    };\n    Button.prototype.render = function () {\n        var _this = this;\n        var _a = this.props, _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, children = _a.children, className = _a.className, CustomComponent = _a.component, consumerRef = _a.consumerRef, iconAfter = _a.iconAfter, iconBefore = _a.iconBefore, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.isSelected, isSelected = _e === void 0 ? false : _e, _f = _a.shouldFitContainer, shouldFitContainer = _f === void 0 ? false : _f, _g = _a.spacing, spacing = _g === void 0 ? 'default' : _g, _h = _a.theme, theme = _h === void 0 ? function (current, props) { return current(props); } : _h, testId = _a.testId, rest = tslib_1.__rest(_a, [\"appearance\", \"children\", \"className\", \"component\", \"consumerRef\", \"iconAfter\", \"iconBefore\", \"isDisabled\", \"isLoading\", \"isSelected\", \"shouldFitContainer\", \"spacing\", \"theme\", \"testId\"]);\n        var attributes = tslib_1.__assign(tslib_1.__assign({}, this.state), { isSelected: isSelected, isDisabled: isDisabled });\n        var StyledButton = CustomComponent || this.getElement();\n        var iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n            (iconAfter && !iconBefore && !children));\n        var specifiers = function (styles) {\n            if (StyledButton === 'a') {\n                return {\n                    'a&': styles,\n                };\n            }\n            else if (StyledButton === CustomComponent) {\n                return {\n                    '&, a&, &:hover, &:active, &:focus': styles,\n                };\n            }\n            return styles;\n        };\n        return (core_1.jsx(theme_1.Theme.Provider, { value: theme },\n            core_1.jsx(components_1.default.Consumer, null, function (_a) {\n                var mode = _a.mode;\n                return (core_1.jsx(theme_1.Theme.Consumer, tslib_1.__assign({ mode: mode, state: utils_1.mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, _this.props), function (_a) {\n                    var buttonStyles = _a.buttonStyles, spinnerStyles = _a.spinnerStyles;\n                    return (core_1.jsx(StyledButton, tslib_1.__assign({}, utils_1.filterProps(rest, StyledButton), { \"data-testid\": testId, ref: _this.getComposedRefs(_this.button, consumerRef), onMouseEnter: _this.onMouseEnter, onMouseLeave: _this.onMouseLeave, onMouseDown: _this.onMouseDown, onMouseUp: _this.onMouseUp, onFocus: _this.onFocus, onBlur: _this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n                        core_1.jsx(InnerWrapper_1.default, { onClick: _this.onInnerClick, fit: !!shouldFitContainer },\n                            isLoading && (core_1.jsx(LoadingSpinner_1.default, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n                            iconBefore && (core_1.jsx(IconWrapper_1.default, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n                            children && (core_1.jsx(Content_1.default, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n                            iconAfter && (core_1.jsx(IconWrapper_1.default, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter })))));\n                }));\n            })));\n    };\n    Button.defaultProps = {\n        appearance: 'default',\n        autoFocus: false,\n        isDisabled: false,\n        isLoading: false,\n        isSelected: false,\n        shouldFitContainer: false,\n        spacing: 'default',\n        type: 'button',\n    };\n    return Button;\n}(react_1.default.Component));\nexports.Button = Button;\nvar createAndFireEventOnAtlaskit = analytics_next_1.createAndFireEvent('atlaskit');\nvar ButtonWithRef = react_1.default.forwardRef(function (props, ref) { return core_1.jsx(Button, tslib_1.__assign({}, props, { consumerRef: ref })); });\nButtonWithRef.displayName = 'Button';\nexports.default = analytics_next_1.withAnalyticsContext({\n    componentName: 'button',\n    packageName: version_json_1.name,\n    packageVersion: version_json_1.version,\n})(analytics_next_1.withAnalyticsEvents({\n    onClick: createAndFireEventOnAtlaskit({\n        action: 'clicked',\n        actionSubject: 'button',\n        attributes: {\n            componentName: 'button',\n            packageName: version_json_1.name,\n            packageVersion: version_json_1.version,\n        },\n    }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar core_1 = require(\"@emotion/core\");\nvar constants_1 = require(\"@atlaskit/theme/constants\");\nvar utils_1 = require(\"./utils\");\nexports.default = (function (_a) {\n    var children = _a.children, followsIcon = _a.followsIcon, spacing = _a.spacing, isLoading = _a.isLoading, rest = tslib_1.__rest(_a, [\"children\", \"followsIcon\", \"spacing\", \"isLoading\"]);\n    return (core_1.jsx(\"span\", tslib_1.__assign({ css: tslib_1.__assign({ alignItems: followsIcon ? 'baseline' : 'center', alignSelf: followsIcon ? 'baseline' : 'center', flex: '1 1 auto', margin: spacing === 'none' ? 0 : \"0 \" + constants_1.gridSize() / 2 + \"px\", maxWidth: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, utils_1.getLoadingStyle(isLoading)) }, rest), children));\n});\n//# sourceMappingURL=Content.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/** @jsx jsx */\nvar core_1 = require(\"@emotion/core\");\nvar constants_1 = require(\"@atlaskit/theme/constants\");\nvar utils_1 = require(\"./utils\");\nexports.default = (function (_a) {\n    var spacing = _a.spacing, icon = _a.icon, isOnlyChild = _a.isOnlyChild, isLoading = _a.isLoading, rest = tslib_1.__rest(_a, [\"spacing\", \"icon\", \"isOnlyChild\", \"isLoading\"]);\n    return (core_1.jsx(\"span\", tslib_1.__assign({ css: tslib_1.__assign({ alignSelf: 'center', display: 'flex', flexShrink: 0, lineHeight: 0, fontSize: 0, userSelect: 'none', margin: spacing === 'none'\n                ? 0\n                : isOnlyChild\n                    ? \"0 -\" + constants_1.gridSize() / 4 + \"px\"\n                    : \"0 \" + constants_1.gridSize() / 2 + \"px\" }, utils_1.getLoadingStyle(isLoading)) }, rest), icon));\n});\n//# sourceMappingURL=IconWrapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar core_1 = require(\"@emotion/core\");\nexports.default = (function (_a) {\n    var fit = _a.fit, children = _a.children, rest = tslib_1.__rest(_a, [\"fit\", \"children\"]);\n    return (core_1.jsx(\"span\", tslib_1.__assign({ css: tslib_1.__assign(tslib_1.__assign({ alignSelf: 'center', display: 'inline-flex', flexWrap: 'nowrap', maxWidth: '100%', position: 'relative' }, (fit && { width: '100%' })), (fit && { justifyContent: 'center' })) }, rest), children));\n});\n//# sourceMappingURL=InnerWrapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/** @jsx jsx */\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar core_1 = require(\"@emotion/core\");\nvar spinner_1 = tslib_1.__importDefault(require(\"@atlaskit/spinner\"));\nvar appearances = ['primary', 'danger'];\nvar LoadingSpinner = /** @class */ (function (_super) {\n    tslib_1.__extends(LoadingSpinner, _super);\n    function LoadingSpinner() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.invertSpinner = function () {\n            var _a = _this.props, appearance = _a.appearance, isSelected = _a.isSelected, isDisabled = _a.isDisabled;\n            if (isSelected) {\n                return true;\n            }\n            if (isDisabled) {\n                return false;\n            }\n            if (appearance !== undefined) {\n                if (appearances.indexOf(appearance) !== -1) {\n                    return true;\n                }\n            }\n            return false;\n        };\n        return _this;\n    }\n    LoadingSpinner.prototype.render = function () {\n        var _a = this.props, spacing = _a.spacing, styles = _a.styles;\n        var spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n        return (core_1.jsx(\"div\", { css: styles },\n            core_1.jsx(spinner_1.default, { size: spinnerSize, appearance: this.invertSpinner() ? 'invert' : 'inherit' })));\n    };\n    return LoadingSpinner;\n}(react_1.default.Component));\nexports.default = LoadingSpinner;\n//# sourceMappingURL=LoadingSpinner.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar constants_1 = require(\"@atlaskit/theme/constants\");\nvar theme_1 = require(\"../theme\");\nvar compactButtonHeight = (constants_1.gridSize() * 3) / constants_1.fontSize() + \"em\";\nvar buttonHeight = (constants_1.gridSize() * 4) / constants_1.fontSize() + \"em\";\n/** Background */\nvar getBackground = function (props) {\n    return theme_1.applyPropertyStyle('background', props, theme_1.baseTheme);\n};\n/** Box Shadow */\nvar getBoxShadow = function (props) {\n    var boxShadowColor = theme_1.applyPropertyStyle('boxShadowColor', props, theme_1.baseTheme);\n    return \"0 0 0 2px \" + boxShadowColor;\n};\n/** Color */\nvar getColor = function (props) {\n    return theme_1.applyPropertyStyle('color', props, theme_1.baseTheme);\n};\n/** Cursor */\nvar getCursor = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'hover' || state === 'active' || state === 'selected'\n        ? 'pointer'\n        : state === 'disabled'\n            ? 'not-allowed'\n            : 'default';\n};\n/** Height */\nvar getHeight = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'compact'\n        ? compactButtonHeight\n        : spacing === 'none'\n            ? 'auto'\n            : buttonHeight;\n};\n/** Line Height */\nvar getLineHeight = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'compact'\n        ? compactButtonHeight\n        : spacing === 'none'\n            ? 'inherit'\n            : buttonHeight;\n};\n/** Padding */\nvar getPadding = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'none' ? 0 : \"0 \" + constants_1.gridSize() + \"px\";\n};\n/** Text Decoration */\nvar getTextDecoration = function (_a) {\n    var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c;\n    return state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n        ? 'underline'\n        : 'inherit';\n};\n/** Transition */\nvar getTransition = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'hover'\n        ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n        : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n};\n/** Transition Duration */\nvar getTransitionDuration = function (_a) {\n    var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n    return state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n};\n/** Vertical Align */\nvar getVerticalAlign = function (_a) {\n    var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n    return spacing === 'none' ? 'baseline' : 'middle';\n};\n/** Width */\nvar getWidth = function (_a) {\n    var shouldFitContainer = _a.shouldFitContainer;\n    return shouldFitContainer ? '100%' : 'auto';\n};\n/** Base styles */\nvar staticStyles = {\n    alignItems: 'baseline',\n    borderWidth: 0,\n    boxSizing: 'border-box',\n    display: 'inline-flex',\n    fontSize: 'inherit',\n    fontStyle: 'normal',\n    fontWeight: '500',\n    maxWidth: '100%',\n    outline: 'none !important',\n    textAlign: 'center',\n    textDecoration: 'none',\n    whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexports.getButtonStyles = function (props) { return (tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, staticStyles), { background: getBackground(props), borderRadius: constants_1.borderRadius() + \"px\", boxShadow: getBoxShadow(props), color: getColor(props) + \" !important\", cursor: getCursor(props), height: getHeight(props), lineHeight: getLineHeight(props), padding: getPadding(props), transition: getTransition(props), transitionDuration: getTransitionDuration(props), verticalAlign: getVerticalAlign(props), width: getWidth(props), '&::-moz-focus-inner': {\n        border: 0,\n        margin: 0,\n        padding: 0,\n    }, '&:hover': {\n        textDecoration: getTextDecoration(props),\n    } }), (props.isLoading && { pointerEvents: 'none' }))); };\n/**\n * SPINNER STYLES\n */\nexports.getSpinnerStyles = function () { return ({\n    display: 'flex',\n    position: 'absolute',\n    left: '50%',\n    top: '50%',\n    transform: 'translate(-50%, -50%)',\n}); };\n//# sourceMappingURL=getStyles.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nexports.mapAttributesToState = function (_a) {\n    var _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = _a.isActive, isActive = _c === void 0 ? false : _c, _d = _a.isFocus, isFocus = _d === void 0 ? false : _d, _e = _a.isHover, isHover = _e === void 0 ? false : _e, _f = _a.isSelected, isSelected = _f === void 0 ? false : _f;\n    if (isDisabled) {\n        return 'disabled';\n    }\n    if (isSelected && isFocus) {\n        return 'focusSelected';\n    }\n    if (isSelected) {\n        return 'selected';\n    }\n    if (isActive) {\n        return 'active';\n    }\n    if (isHover) {\n        return 'hover';\n    }\n    if (isFocus) {\n        return 'focus';\n    }\n    return 'default';\n};\nexports.filterProps = function (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n_a, type) {\n    var createAnalyticsEvent = _a.createAnalyticsEvent, props = tslib_1.__rest(_a, \n    // @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n    [\"createAnalyticsEvent\"]);\n    if (type === 'span') {\n        var target = props.target, href = props.href, rest = tslib_1.__rest(props, [\"target\", \"href\"]);\n        return rest;\n    }\n    return props;\n};\nexports.getLoadingStyle = function (isLoading) { return ({\n    transition: 'opacity 0.3s',\n    opacity: isLoading ? 0 : 1,\n}); };\nexports.composeRefs = function () {\n    var refs = [];\n    for (var _i = 0; _i < arguments.length; _i++) {\n        refs[_i] = arguments[_i];\n    }\n    return function (x) {\n        refs\n            .filter(function (r) { return !!r; })\n            .forEach(function (ref) {\n            if (typeof ref === 'function') {\n                ref(x);\n            }\n            else {\n                ref.current = x;\n            }\n        });\n    };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nfunction hex2rgba(hex, alpha) {\n    if (alpha === void 0) { alpha = 1; }\n    if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n        var colorArr = hex.substring(1).split('');\n        if (colorArr.length === 3) {\n            colorArr = [\n                colorArr[0],\n                colorArr[0],\n                colorArr[1],\n                colorArr[1],\n                colorArr[2],\n                colorArr[2],\n            ];\n        }\n        var color = \"0x\" + colorArr.join('');\n        // FIXME: `>>` operand can validly take a string value\n        var r = (color >> 16) & 255;\n        var g = (color >> 8) & 255;\n        var b = color & 255;\n        return \"rgba(\" + [r, g, b].join(',') + \", \" + alpha + \")\";\n    }\n    throw new Error('Bad Hex');\n}\nexports.hex2rgba = hex2rgba;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar colors = tslib_1.__importStar(require(\"@atlaskit/theme/colors\"));\nvar components_1 = require(\"@atlaskit/theme/components\");\nvar getStyles_1 = require(\"./components/getStyles\");\nvar utils_1 = require(\"./components/utils\");\nexports.fallbacks = {\n    background: { light: colors.N20A, dark: colors.DN70 },\n    color: { light: colors.N400, dark: colors.DN400 },\n    textDecoration: { light: 'none', dark: 'none' },\n};\nexports.baseTheme = {\n    // Default appearance\n    background: {\n        default: {\n            default: { light: colors.N20A, dark: colors.DN70 },\n            hover: { light: colors.N30A, dark: colors.DN60 },\n            active: { light: utils_1.hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        primary: {\n            default: { light: colors.B400, dark: colors.B100 },\n            hover: { light: colors.B300, dark: colors.B75 },\n            active: { light: colors.B500, dark: colors.B200 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        warning: {\n            default: { light: colors.Y300, dark: colors.Y300 },\n            hover: { light: colors.Y200, dark: colors.Y200 },\n            active: { light: colors.Y400, dark: colors.Y400 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.Y400, dark: colors.Y400 },\n            focusSelected: { light: colors.Y400, dark: colors.Y400 },\n        },\n        danger: {\n            default: { light: colors.R400, dark: colors.R400 },\n            hover: { light: colors.R300, dark: colors.R300 },\n            active: { light: colors.R500, dark: colors.R500 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.R500, dark: colors.R500 },\n            focusSelected: { light: colors.R500, dark: colors.R500 },\n        },\n        link: {\n            default: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.N20 },\n            focusSelected: { light: colors.N700, dark: colors.N20 },\n        },\n        subtle: {\n            default: { light: 'none', dark: 'none' },\n            hover: { light: colors.N30A, dark: colors.DN60 },\n            active: { light: utils_1.hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n            disabled: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        'subtle-link': {\n            default: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.N20 },\n            focusSelected: { light: colors.N700, dark: colors.N20 },\n        },\n    },\n    boxShadowColor: {\n        default: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        primary: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        warning: {\n            focus: { light: colors.Y500, dark: colors.Y500 },\n            focusSelected: { light: colors.Y500, dark: colors.Y500 },\n        },\n        danger: {\n            focus: { light: colors.R100, dark: colors.R100 },\n            focusSelected: { light: colors.R100, dark: colors.R100 },\n        },\n        link: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        subtle: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        'subtle-link': {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n    },\n    color: {\n        default: {\n            default: { light: colors.N500, dark: colors.DN400 },\n            active: { light: colors.B400, dark: colors.B400 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        primary: {\n            default: { light: colors.N0, dark: colors.DN30 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        warning: {\n            default: { light: colors.N800, dark: colors.N800 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N800, dark: colors.N800 },\n            focusSelected: { light: colors.N800, dark: colors.N800 },\n        },\n        danger: {\n            default: { light: colors.N0, dark: colors.N0 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N0, dark: colors.N0 },\n            focusSelected: { light: colors.N0, dark: colors.N0 },\n        },\n        link: {\n            default: { light: colors.B400, dark: colors.B100 },\n            hover: { light: colors.B300, dark: colors.B75 },\n            active: { light: colors.B500, dark: colors.B200 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.N700 },\n            focusSelected: { light: colors.N20, dark: colors.N700 },\n        },\n        subtle: {\n            default: { light: colors.N500, dark: colors.DN400 },\n            active: { light: colors.B400, dark: colors.B400 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        'subtle-link': {\n            default: { light: colors.N200, dark: colors.DN400 },\n            hover: { light: colors.N90, dark: colors.B50 },\n            active: { light: colors.N400, dark: colors.DN300 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n    },\n};\nfunction applyPropertyStyle(property, _a, theme) {\n    var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c, _d = _a.mode, mode = _d === void 0 ? 'light' : _d;\n    var propertyStyles = theme[property];\n    if (!propertyStyles) {\n        return 'initial';\n    }\n    // Check for relevant fallbacks\n    if (!propertyStyles[appearance]) {\n        if (!propertyStyles['default']) {\n            return exports.fallbacks[property][mode] ? exports.fallbacks[property][mode] : 'initial';\n        }\n        appearance = 'default';\n    }\n    // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n    // return the 'default' state of that appearance.\n    if (!propertyStyles[appearance][state]) {\n        state = 'default';\n    }\n    var appearanceStyles = propertyStyles[appearance];\n    var stateStyles = appearanceStyles[state];\n    if (!stateStyles) {\n        return 'inherit';\n    }\n    return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexports.applyPropertyStyle = applyPropertyStyle;\nexports.Theme = components_1.createTheme(function (themeProps) { return ({\n    buttonStyles: getStyles_1.getButtonStyles(themeProps),\n    spinnerStyles: getStyles_1.getSpinnerStyles(),\n}); });\n//# sourceMappingURL=theme.js.map","import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { applyPropertyStyle, baseTheme } from '../theme';\nconst compactButtonHeight = `${(gridSize() * 3) / fontSize()}em`;\nconst buttonHeight = `${(gridSize() * 4) / fontSize()}em`;\n/** Background */\nconst getBackground = (props) => applyPropertyStyle('background', props, baseTheme);\n/** Box Shadow */\nconst getBoxShadow = (props) => {\n    const boxShadowColor = applyPropertyStyle('boxShadowColor', props, baseTheme);\n    return `0 0 0 2px ${boxShadowColor}`;\n};\n/** Color */\nconst getColor = (props) => applyPropertyStyle('color', props, baseTheme);\n/** Cursor */\nconst getCursor = ({ state = 'default' }) => state === 'hover' || state === 'active' || state === 'selected'\n    ? 'pointer'\n    : state === 'disabled'\n        ? 'not-allowed'\n        : 'default';\n/** Height */\nconst getHeight = ({ spacing = 'default' }) => spacing === 'compact'\n    ? compactButtonHeight\n    : spacing === 'none'\n        ? 'auto'\n        : buttonHeight;\n/** Line Height */\nconst getLineHeight = ({ spacing = 'default' }) => spacing === 'compact'\n    ? compactButtonHeight\n    : spacing === 'none'\n        ? 'inherit'\n        : buttonHeight;\n/** Padding */\nconst getPadding = ({ spacing = 'default' }) => spacing === 'none' ? 0 : `0 ${gridSize()}px`;\n/** Text Decoration */\nconst getTextDecoration = ({ appearance = 'default', state = 'default', }) => state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n    ? 'underline'\n    : 'inherit';\n/** Transition */\nconst getTransition = ({ state = 'default' }) => state === 'hover'\n    ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n    : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n/** Transition Duration */\nconst getTransitionDuration = ({ state = 'default' }) => state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n/** Vertical Align */\nconst getVerticalAlign = ({ spacing = 'default' }) => spacing === 'none' ? 'baseline' : 'middle';\n/** Width */\nconst getWidth = ({ shouldFitContainer }) => shouldFitContainer ? '100%' : 'auto';\n/** Base styles */\nconst staticStyles = {\n    alignItems: 'baseline',\n    borderWidth: 0,\n    boxSizing: 'border-box',\n    display: 'inline-flex',\n    fontSize: 'inherit',\n    fontStyle: 'normal',\n    fontWeight: '500',\n    maxWidth: '100%',\n    outline: 'none !important',\n    textAlign: 'center',\n    textDecoration: 'none',\n    whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexport const getButtonStyles = (props) => ({\n    ...staticStyles,\n    background: getBackground(props),\n    borderRadius: `${borderRadius()}px`,\n    boxShadow: getBoxShadow(props),\n    color: `${getColor(props)} !important`,\n    cursor: getCursor(props),\n    height: getHeight(props),\n    lineHeight: getLineHeight(props),\n    padding: getPadding(props),\n    transition: getTransition(props),\n    transitionDuration: getTransitionDuration(props),\n    verticalAlign: getVerticalAlign(props),\n    width: getWidth(props),\n    '&::-moz-focus-inner': {\n        border: 0,\n        margin: 0,\n        padding: 0,\n    },\n    '&:hover': {\n        textDecoration: getTextDecoration(props),\n    },\n    ...(props.isLoading && { pointerEvents: 'none' }),\n});\n/**\n * SPINNER STYLES\n */\nexport const getSpinnerStyles = () => ({\n    display: 'flex',\n    position: 'absolute',\n    left: '50%',\n    top: '50%',\n    transform: 'translate(-50%, -50%)',\n});\n//# sourceMappingURL=getStyles.js.map","export const mapAttributesToState = ({ isDisabled = false, isActive = false, isFocus = false, isHover = false, isSelected = false, }) => {\n    if (isDisabled) {\n        return 'disabled';\n    }\n    if (isSelected && isFocus) {\n        return 'focusSelected';\n    }\n    if (isSelected) {\n        return 'selected';\n    }\n    if (isActive) {\n        return 'active';\n    }\n    if (isHover) {\n        return 'hover';\n    }\n    if (isFocus) {\n        return 'focus';\n    }\n    return 'default';\n};\nexport const filterProps = (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n{ createAnalyticsEvent, ...props }, type) => {\n    if (type === 'span') {\n        const { target, href, ...rest } = props;\n        return rest;\n    }\n    return props;\n};\nexport const getLoadingStyle = (isLoading) => ({\n    transition: 'opacity 0.3s',\n    opacity: isLoading ? 0 : 1,\n});\nexport const composeRefs = (...refs) => {\n    return (x) => {\n        refs\n            .filter(r => !!r)\n            .forEach(ref => {\n            if (typeof ref === 'function') {\n                ref(x);\n            }\n            else {\n                ref.current = x;\n            }\n        });\n    };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nexport function hex2rgba(hex, alpha = 1) {\n    if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n        let colorArr = hex.substring(1).split('');\n        if (colorArr.length === 3) {\n            colorArr = [\n                colorArr[0],\n                colorArr[0],\n                colorArr[1],\n                colorArr[1],\n                colorArr[2],\n                colorArr[2],\n            ];\n        }\n        const color = `0x${colorArr.join('')}`;\n        // FIXME: `>>` operand can validly take a string value\n        const r = (color >> 16) & 255;\n        const g = (color >> 8) & 255;\n        const b = color & 255;\n        return `rgba(${[r, g, b].join(',')}, ${alpha})`;\n    }\n    throw new Error('Bad Hex');\n}\n//# sourceMappingURL=utils.js.map","import * as colors from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { getButtonStyles, getSpinnerStyles } from './components/getStyles';\nimport { hex2rgba } from './components/utils';\nexport const fallbacks = {\n    background: { light: colors.N20A, dark: colors.DN70 },\n    color: { light: colors.N400, dark: colors.DN400 },\n    textDecoration: { light: 'none', dark: 'none' },\n};\nexport const baseTheme = {\n    // Default appearance\n    background: {\n        default: {\n            default: { light: colors.N20A, dark: colors.DN70 },\n            hover: { light: colors.N30A, dark: colors.DN60 },\n            active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        primary: {\n            default: { light: colors.B400, dark: colors.B100 },\n            hover: { light: colors.B300, dark: colors.B75 },\n            active: { light: colors.B500, dark: colors.B200 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        warning: {\n            default: { light: colors.Y300, dark: colors.Y300 },\n            hover: { light: colors.Y200, dark: colors.Y200 },\n            active: { light: colors.Y400, dark: colors.Y400 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.Y400, dark: colors.Y400 },\n            focusSelected: { light: colors.Y400, dark: colors.Y400 },\n        },\n        danger: {\n            default: { light: colors.R400, dark: colors.R400 },\n            hover: { light: colors.R300, dark: colors.R300 },\n            active: { light: colors.R500, dark: colors.R500 },\n            disabled: { light: colors.N20A, dark: colors.DN70 },\n            selected: { light: colors.R500, dark: colors.R500 },\n            focusSelected: { light: colors.R500, dark: colors.R500 },\n        },\n        link: {\n            default: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.N20 },\n            focusSelected: { light: colors.N700, dark: colors.N20 },\n        },\n        subtle: {\n            default: { light: 'none', dark: 'none' },\n            hover: { light: colors.N30A, dark: colors.DN60 },\n            active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n            disabled: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.DN0 },\n            focusSelected: { light: colors.N700, dark: colors.DN0 },\n        },\n        'subtle-link': {\n            default: { light: 'none', dark: 'none' },\n            selected: { light: colors.N700, dark: colors.N20 },\n            focusSelected: { light: colors.N700, dark: colors.N20 },\n        },\n    },\n    boxShadowColor: {\n        default: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        primary: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        warning: {\n            focus: { light: colors.Y500, dark: colors.Y500 },\n            focusSelected: { light: colors.Y500, dark: colors.Y500 },\n        },\n        danger: {\n            focus: { light: colors.R100, dark: colors.R100 },\n            focusSelected: { light: colors.R100, dark: colors.R100 },\n        },\n        link: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        subtle: {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n        'subtle-link': {\n            focus: { light: colors.B100, dark: colors.B75 },\n            focusSelected: {\n                light: colors.B100,\n                dark: colors.B75,\n            },\n        },\n    },\n    color: {\n        default: {\n            default: { light: colors.N500, dark: colors.DN400 },\n            active: { light: colors.B400, dark: colors.B400 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        primary: {\n            default: { light: colors.N0, dark: colors.DN30 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        warning: {\n            default: { light: colors.N800, dark: colors.N800 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N800, dark: colors.N800 },\n            focusSelected: { light: colors.N800, dark: colors.N800 },\n        },\n        danger: {\n            default: { light: colors.N0, dark: colors.N0 },\n            disabled: { light: colors.N70, dark: colors.DN30 },\n            selected: { light: colors.N0, dark: colors.N0 },\n            focusSelected: { light: colors.N0, dark: colors.N0 },\n        },\n        link: {\n            default: { light: colors.B400, dark: colors.B100 },\n            hover: { light: colors.B300, dark: colors.B75 },\n            active: { light: colors.B500, dark: colors.B200 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.N700 },\n            focusSelected: { light: colors.N20, dark: colors.N700 },\n        },\n        subtle: {\n            default: { light: colors.N500, dark: colors.DN400 },\n            active: { light: colors.B400, dark: colors.B400 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n        'subtle-link': {\n            default: { light: colors.N200, dark: colors.DN400 },\n            hover: { light: colors.N90, dark: colors.B50 },\n            active: { light: colors.N400, dark: colors.DN300 },\n            disabled: { light: colors.N70, dark: colors.DN100 },\n            selected: { light: colors.N20, dark: colors.DN400 },\n            focusSelected: { light: colors.N20, dark: colors.DN400 },\n        },\n    },\n};\nexport function applyPropertyStyle(property, { appearance = 'default', state = 'default', mode = 'light', }, theme) {\n    const propertyStyles = theme[property];\n    if (!propertyStyles) {\n        return 'initial';\n    }\n    // Check for relevant fallbacks\n    if (!propertyStyles[appearance]) {\n        if (!propertyStyles['default']) {\n            return fallbacks[property][mode] ? fallbacks[property][mode] : 'initial';\n        }\n        appearance = 'default';\n    }\n    // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n    // return the 'default' state of that appearance.\n    if (!propertyStyles[appearance][state]) {\n        state = 'default';\n    }\n    const appearanceStyles = propertyStyles[appearance];\n    const stateStyles = appearanceStyles[state];\n    if (!stateStyles) {\n        return 'inherit';\n    }\n    return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexport const Theme = createTheme(themeProps => ({\n    buttonStyles: getButtonStyles(themeProps),\n    spinnerStyles: getSpinnerStyles(),\n}));\n//# sourceMappingURL=theme.js.map","import { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ children, followsIcon, spacing, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n        alignItems: followsIcon ? 'baseline' : 'center',\n        alignSelf: followsIcon ? 'baseline' : 'center',\n        flex: '1 1 auto',\n        margin: spacing === 'none' ? 0 : `0 ${gridSize() / 2}px`,\n        maxWidth: '100%',\n        overflow: 'hidden',\n        textOverflow: 'ellipsis',\n        whiteSpace: 'nowrap',\n        ...getLoadingStyle(isLoading),\n    } }, rest), children));\n//# sourceMappingURL=Content.js.map","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ spacing, icon, isOnlyChild, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n        alignSelf: 'center',\n        display: 'flex',\n        flexShrink: 0,\n        lineHeight: 0,\n        fontSize: 0,\n        userSelect: 'none',\n        margin: spacing === 'none'\n            ? 0\n            : isOnlyChild\n                ? `0 -${gridSize() / 4}px`\n                : `0 ${gridSize() / 2}px`,\n        ...getLoadingStyle(isLoading),\n    } }, rest), icon));\n//# sourceMappingURL=IconWrapper.js.map","import { jsx } from '@emotion/core';\nexport default ({ fit, children, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n        alignSelf: 'center',\n        display: 'inline-flex',\n        flexWrap: 'nowrap',\n        maxWidth: '100%',\n        position: 'relative',\n        ...(fit && { width: '100%' }),\n        ...(fit && { justifyContent: 'center' }),\n    } }, rest), children));\n//# sourceMappingURL=InnerWrapper.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport Spinner from '@atlaskit/spinner';\nconst appearances = ['primary', 'danger'];\nexport default class LoadingSpinner extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.invertSpinner = () => {\n            const { appearance, isSelected, isDisabled } = this.props;\n            if (isSelected) {\n                return true;\n            }\n            if (isDisabled) {\n                return false;\n            }\n            if (appearance !== undefined) {\n                if (appearances.indexOf(appearance) !== -1) {\n                    return true;\n                }\n            }\n            return false;\n        };\n    }\n    render() {\n        const { spacing, styles } = this.props;\n        let spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n        return (jsx(\"div\", { css: styles },\n            jsx(Spinner, { size: spinnerSize, appearance: this.invertSpinner() ? 'invert' : 'inherit' })));\n    }\n}\n//# sourceMappingURL=LoadingSpinner.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport memoize from 'memoize-one';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Content from './Content';\nimport IconWrapper from './IconWrapper';\nimport InnerWrapper from './InnerWrapper';\nimport LoadingSpinner from './LoadingSpinner';\nimport { composeRefs, filterProps, mapAttributesToState } from './utils';\nexport class Button extends React.Component {\n    constructor() {\n        super(...arguments);\n        // ref can be a range of things because we render button, a, span or other React components\n        this.button = React.createRef();\n        // Makes sure we don't call ref every render.\n        this.getComposedRefs = memoize(composeRefs);\n        this.state = {\n            isActive: false,\n            isFocus: false,\n            isHover: false,\n        };\n        this.isInteractive = () => !this.props.isDisabled && !this.props.isLoading;\n        this.onMouseEnter = (e) => {\n            this.setState({ isHover: true });\n            if (this.props.onMouseEnter) {\n                this.props.onMouseEnter(e);\n            }\n        };\n        this.onMouseLeave = (e) => {\n            this.setState({ isHover: false, isActive: false });\n            if (this.props.onMouseLeave) {\n                this.props.onMouseLeave(e);\n            }\n        };\n        this.onMouseDown = (e) => {\n            e.preventDefault();\n            this.setState({ isActive: true });\n            if (this.props.onMouseDown) {\n                this.props.onMouseDown(e);\n            }\n        };\n        this.onMouseUp = (e) => {\n            this.setState({ isActive: false });\n            if (this.props.onMouseUp) {\n                this.props.onMouseUp(e);\n            }\n        };\n        this.onFocus = event => {\n            this.setState({ isFocus: true });\n            if (this.props.onFocus) {\n                this.props.onFocus(event);\n            }\n        };\n        this.onBlur = event => {\n            this.setState({ isFocus: false });\n            if (this.props.onBlur) {\n                this.props.onBlur(event);\n            }\n        };\n        this.getElement = () => {\n            const { href, isDisabled } = this.props;\n            if (href) {\n                return isDisabled ? 'span' : 'a';\n            }\n            return 'button';\n        };\n        // Swallow click events when the button is disabled\n        // to prevent inner child clicks bubbling up.\n        this.onInnerClick = e => {\n            if (!this.isInteractive()) {\n                e.stopPropagation();\n            }\n            return true;\n        };\n    }\n    componentDidMount() {\n        if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n            this.button.focus();\n        }\n    }\n    render() {\n        const { appearance = 'default', children, className, component: CustomComponent, consumerRef, iconAfter, iconBefore, isDisabled = false, isLoading = false, isSelected = false, shouldFitContainer = false, spacing = 'default', theme = (current, props) => current(props), testId, ...rest } = this.props;\n        const attributes = { ...this.state, isSelected, isDisabled };\n        const StyledButton = CustomComponent || this.getElement();\n        const iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n            (iconAfter && !iconBefore && !children));\n        const specifiers = (styles) => {\n            if (StyledButton === 'a') {\n                return {\n                    'a&': styles,\n                };\n            }\n            else if (StyledButton === CustomComponent) {\n                return {\n                    '&, a&, &:hover, &:active, &:focus': styles,\n                };\n            }\n            return styles;\n        };\n        return (jsx(Theme.Provider, { value: theme },\n            jsx(GlobalTheme.Consumer, null, ({ mode }) => (jsx(Theme.Consumer, Object.assign({ mode: mode, state: mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, this.props), ({ buttonStyles, spinnerStyles }) => (jsx(StyledButton, Object.assign({}, filterProps(rest, StyledButton), { \"data-testid\": testId, ref: this.getComposedRefs(this.button, consumerRef), onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onMouseDown: this.onMouseDown, onMouseUp: this.onMouseUp, onFocus: this.onFocus, onBlur: this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n                jsx(InnerWrapper, { onClick: this.onInnerClick, fit: !!shouldFitContainer },\n                    isLoading && (jsx(LoadingSpinner, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n                    iconBefore && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n                    children && (jsx(Content, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n                    iconAfter && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter }))))))))));\n    }\n}\nButton.defaultProps = {\n    appearance: 'default',\n    autoFocus: false,\n    isDisabled: false,\n    isLoading: false,\n    isSelected: false,\n    shouldFitContainer: false,\n    spacing: 'default',\n    type: 'button',\n};\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nconst ButtonWithRef = React.forwardRef((props, ref) => jsx(Button, Object.assign({}, props, { consumerRef: ref })));\nButtonWithRef.displayName = 'Button';\nexport default withAnalyticsContext({\n    componentName: 'button',\n    packageName,\n    packageVersion,\n})(withAnalyticsEvents({\n    onClick: createAndFireEventOnAtlaskit({\n        action: 'clicked',\n        actionSubject: 'button',\n        attributes: {\n            componentName: 'button',\n            packageName,\n            packageVersion,\n        },\n    }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsContext: PropTypes.func,\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n    __extends(AnalyticsContext, _super);\n    function AnalyticsContext(props) {\n        var _this = _super.call(this, props) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n        }); };\n        _this.getAnalyticsContext = function () {\n            var data = _this.props.data;\n            var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n            var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n                getAtlaskitAnalyticsContext()) ||\n                [];\n            return __spread(ancestorData, [data]);\n        };\n        _this.getAnalyticsEventHandlers = function () {\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            return ancestorHandlers;\n        };\n        _this.state = {\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        };\n        return _this;\n    }\n    AnalyticsContext.prototype.render = function () {\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n    };\n    AnalyticsContext.contextTypes = ContextTypes;\n    AnalyticsContext.childContextTypes = ContextTypes;\n    return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n    var consumerEvent = createAnalyticsEvent(payload);\n    var clonedEvent = consumerEvent.clone();\n    if (clonedEvent) {\n        clonedEvent.fire(channel);\n    }\n    return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar noop = function () { return []; };\nvar AnalyticsListener = /** @class */ (function (_super) {\n    __extends(AnalyticsListener, _super);\n    function AnalyticsListener() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        }); };\n        _this.getAnalyticsEventHandlers = function () {\n            var _a = _this.props, channel = _a.channel, onEvent = _a.onEvent;\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var parentEventHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            var handler = function (event, eventChannel) {\n                if (channel === '*' || channel === eventChannel) {\n                    onEvent(event, eventChannel);\n                }\n            };\n            return __spread([handler], parentEventHandlers);\n        };\n        return _this;\n    }\n    AnalyticsListener.prototype.render = function () {\n        var _a = this.context.getAtlaskitAnalyticsContext, getAtlaskitAnalyticsContext = _a === void 0 ? noop : _a;\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: {\n                getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n                getAtlaskitAnalyticsContext: getAtlaskitAnalyticsContext,\n            } }, children));\n    };\n    AnalyticsListener.contextTypes = ContextTypes;\n    AnalyticsListener.childContextTypes = ContextTypes;\n    return AnalyticsListener;\n}(Component));\nexport default AnalyticsListener;\n//# sourceMappingURL=AnalyticsListener.js.map","import { __assign, __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport withAnalyticsEvents from './withAnalyticsEvents';\nimport AnalyticsContext from './AnalyticsContext';\nvar BaseAnalyticsErrorBoundary = /** @class */ (function (_super) {\n    __extends(BaseAnalyticsErrorBoundary, _super);\n    function BaseAnalyticsErrorBoundary() {\n        var _this = _super !== null && _super.apply(this, arguments) || this;\n        _this.fireAnalytics = function (analyticsErrorPayload) {\n            var _a = _this.props, createAnalyticsEvent = _a.createAnalyticsEvent, channel = _a.channel, data = _a.data;\n            createAnalyticsEvent({\n                action: 'UnhandledError',\n                eventType: 'ui',\n                attributes: __assign(__assign({ browserInfo: window && window.navigator && window.navigator.userAgent\n                        ? window.navigator.userAgent\n                        : 'unknown' }, data), analyticsErrorPayload),\n            }).fire(channel);\n        };\n        return _this;\n    }\n    BaseAnalyticsErrorBoundary.prototype.componentDidCatch = function (error, info) {\n        var payload = {\n            error: error,\n            info: info,\n        };\n        this.fireAnalytics(payload);\n    };\n    BaseAnalyticsErrorBoundary.prototype.render = function () {\n        var _a = this.props, data = _a.data, children = _a.children;\n        return React.createElement(AnalyticsContext, { data: data }, children);\n    };\n    return BaseAnalyticsErrorBoundary;\n}(Component));\nexport { BaseAnalyticsErrorBoundary };\nvar AnalyticsErrorBoundary = withAnalyticsEvents()(BaseAnalyticsErrorBoundary);\nexport default AnalyticsErrorBoundary;\n//# sourceMappingURL=AnalyticsErrorBoundary.js.map","import { useContext, useRef } from 'react';\nimport { useCallbackOne } from 'use-memo-one';\nimport { AnalyticsReactContext, } from './AnalyticsReactContext';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\nvar noop = function () { return []; };\nexport function useAnalyticsEvents() {\n    var analyticsContext = useContext(AnalyticsReactContext);\n    var contextRef = useRef(analyticsContext);\n    contextRef.current.getAtlaskitAnalyticsEventHandlers =\n        analyticsContext.getAtlaskitAnalyticsEventHandlers;\n    contextRef.current.getAtlaskitAnalyticsContext =\n        analyticsContext.getAtlaskitAnalyticsContext;\n    var createAnalyticsEvent = useCallbackOne(function (payload) {\n        var getAtlaskitAnalyticsContext = contextRef.current.getAtlaskitAnalyticsContext || noop;\n        var getAtlaskitAnalyticsEventHandlers = contextRef.current.getAtlaskitAnalyticsEventHandlers || noop;\n        return new UIAnalyticsEvent({\n            context: getAtlaskitAnalyticsContext(),\n            handlers: getAtlaskitAnalyticsEventHandlers(),\n            payload: payload,\n        });\n    }, []);\n    return {\n        createAnalyticsEvent: createAnalyticsEvent,\n    };\n}\n//# sourceMappingURL=useAnalyticsEvents.js.map","import { __read, __spread } from \"tslib\";\nimport { useCallback, useRef, useEffect } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nexport var useCallbackWithAnalytics = function (method, payload, channel) {\n    var createAnalyticsEvent = useAnalyticsEvents().createAnalyticsEvent;\n    // given input might be new function/object each render\n    // we optimise and store in refs so we can memoize the callback\n    // and at the same time avoid stale values\n    var methodRef = useRef(method);\n    var payloadRef = useRef(payload);\n    useEffect(function () {\n        methodRef.current = method;\n        payloadRef.current = payload;\n    }, [method, payload]);\n    return useCallback(function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        var pload = typeof payloadRef.current === 'function'\n            ? payloadRef.current.apply(payloadRef, __spread(args)) : payloadRef.current;\n        createAnalyticsEvent(pload).fire(channel);\n        methodRef.current.apply(methodRef, __spread(args));\n    }, [createAnalyticsEvent, methodRef, payloadRef, channel]);\n};\n//# sourceMappingURL=useCallbackWithAnalytics.js.map","import { __rest } from \"tslib\";\nexport default function cleanProps(props) {\n    var createAnalyticsEvent = props.createAnalyticsEvent, cleanedProps = __rest(props, [\"createAnalyticsEvent\"]);\n    return cleanedProps;\n}\n//# sourceMappingURL=cleanProps.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n    var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n        var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n        var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n        return (React.createElement(AnalyticsContext, { data: analyticsData },\n            React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n    });\n    // @ts-ignore\n    WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export const presetSizes = {\n    xsmall: 8,\n    small: 16,\n    medium: 24,\n    large: 48,\n    xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n  to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n  from {\n    transform: rotate(50deg);\n    opacity: 0;\n    stroke-dashoffset: 60;\n  }\n  to {\n    transform: rotate(230deg);\n    opacity: 1;\n    stroke-dashoffset: 50;\n  }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n    if (mode === 'light') {\n        return appearance === 'inherit' ? N500 : N0;\n    }\n    // Dark mode: colours provided by Jake Miller\n    return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n    const size = typeof providedSize === 'number'\n        ? providedSize\n        : presetSizes[providedSize];\n    return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n        const strokeColor = getStrokeColor({\n            mode: tokens.mode,\n            appearance,\n        });\n        // The Spinner animation uses a combination of two\n        // css animations on two separate elements.\n        return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n                /* align better inline with text */\n                vertical-align: middle;\n                /* We are going to animate this in */\n                opacity: 0;\n\n                animation: ${loadIn} 1s ease-in-out;\n                /* When the animation completes, stay at the last frame of the animation */\n                animation-fill-mode: forwards;\n                animation-delay: ${delay}ms;\n              ` },\n            jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n                  fill: none;\n                  stroke: ${strokeColor};\n                  stroke-width: 1.5;\n                  stroke-linecap: round;\n                  stroke-dasharray: 60;\n                  stroke-dashoffset: inherit;\n                  transform-origin: center;\n                  animation: ${rotate} 0.86s infinite;\n                  animation-delay: ${delay}ms;\n                  animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n                ` })));\n    }));\n}));\n//# sourceMappingURL=spinner.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { ThemeProvider } from 'styled-components';\nimport exenv from 'exenv';\nimport * as colors from '../colors';\nimport { CHANNEL, DEFAULT_THEME_MODE } from '../constants';\n// For forward-compat until everything is upgraded.\nimport Theme from './Theme';\nfunction getStylesheetResetCSS(state) {\n    const backgroundColor = colors.background(state);\n    return `\n    body { background: ${backgroundColor}; }\n  `;\n}\nfunction buildThemeState(mode) {\n    return { theme: { [CHANNEL]: { mode } } };\n}\nconst LegacyReset = styled.div `\n  background-color: ${colors.background};\n  color: ${colors.text};\n\n  a {\n    color: ${colors.link};\n  }\n  a:hover {\n    color: ${colors.linkHover};\n  }\n  a:active {\n    color: ${colors.linkActive};\n  }\n  a:focus {\n    outline-color: ${colors.linkOutline};\n  }\n  h1 {\n    color: ${colors.heading};\n  }\n  h2 {\n    color: ${colors.heading};\n  }\n  h3 {\n    color: ${colors.heading};\n  }\n  h4 {\n    color: ${colors.heading};\n  }\n  h5 {\n    color: ${colors.heading};\n  }\n  h6 {\n    color: ${colors.subtleHeading};\n  }\n  small {\n    color: ${colors.subtleText};\n  }\n`;\nexport default class AtlaskitThemeProvider extends Component {\n    constructor(props) {\n        super(props);\n        /**\n         * This function never changes its reference because it accesses\n         * `this` in the function call - thereby sidestepping the need for\n         * creating a new reference everytime theme state changes.\n         * NOTE: When moving to hooks watch out for this regressing.\n         */\n        this.getThemeMode = () => ({ mode: this.state.theme[CHANNEL].mode });\n        this.state = buildThemeState(props.mode);\n    }\n    getChildContext() {\n        return { hasAtlaskitThemeProvider: true };\n    }\n    UNSAFE_componentWillMount() {\n        if (!this.context.hasAtlaskitThemeProvider && exenv.canUseDOM) {\n            const css = getStylesheetResetCSS(this.state);\n            this.stylesheet = document.createElement('style');\n            this.stylesheet.type = 'text/css';\n            this.stylesheet.innerHTML = css;\n            if (document && document.head) {\n                document.head.appendChild(this.stylesheet);\n            }\n        }\n    }\n    UNSAFE_componentWillReceiveProps(newProps) {\n        if (newProps.mode !== this.props.mode) {\n            const newThemeState = buildThemeState(newProps.mode);\n            if (this.stylesheet) {\n                const css = getStylesheetResetCSS(newThemeState);\n                this.stylesheet.innerHTML = css;\n            }\n            this.setState(newThemeState);\n        }\n    }\n    componentWillUnmount() {\n        if (this.stylesheet && document && document.head) {\n            document.head.removeChild(this.stylesheet);\n            delete this.stylesheet;\n        }\n    }\n    render() {\n        const { children } = this.props;\n        const { theme } = this.state;\n        return (\n        /* Wrapping the new provider around the old one provides forward\n        compatibility when using the old provider for styled components. This\n        allows us to use components converted to use the new API with consumers\n        using the old provider along side components that may still be using the\n        old theming API. */\n        React.createElement(Theme.Provider, { value: this.getThemeMode },\n            React.createElement(ThemeProvider, { theme: theme },\n                React.createElement(LegacyReset, null, children))));\n    }\n}\nAtlaskitThemeProvider.defaultProps = {\n    mode: DEFAULT_THEME_MODE,\n};\nAtlaskitThemeProvider.childContextTypes = {\n    hasAtlaskitThemeProvider: PropTypes.bool,\n};\nAtlaskitThemeProvider.contextTypes = {\n    hasAtlaskitThemeProvider: PropTypes.bool,\n};\n//# sourceMappingURL=AtlaskitThemeProvider.js.map","export default ({ children, props, theme }) => {\n    const appearance = typeof props === 'object' ? 'default' : props;\n    const merged = typeof props === 'object' ? { ...props } : {};\n    Object.keys(theme).forEach(key => {\n        if (!(key in merged)) {\n            merged[key] = theme[key]({ appearance });\n        }\n    });\n    return children(merged);\n};\n//# sourceMappingURL=Appearance.js.map","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport * as colors from '../colors';\nimport { createTheme } from '../utils/createTheme';\nconst orTextColor = (preferred) => (p) => p[preferred] || p.textColor;\nconst Div = styled.div `\n  ${(p) => css `\n    background-color: ${p.backgroundColor};\n    color: ${p.textColor};\n\n    a {\n      color: ${orTextColor('linkColor')};\n    }\n    a:hover {\n      color: ${orTextColor('linkColorHover')};\n    }\n    a:active {\n      color: ${orTextColor('linkColorActive')};\n    }\n    a:focus {\n      outline-color: ${orTextColor('linkColorOutline')};\n    }\n    h1,\n    h2,\n    h3,\n    h4,\n    h5 {\n      color: ${orTextColor('headingColor')};\n    }\n    h6 {\n      color: ${orTextColor('subtleHeadingColor')};\n    }\n    small {\n      color: ${orTextColor('subtleTextColor')};\n    }\n  `};\n`;\nexport const ResetTheme = createTheme(() => ({\n    backgroundColor: colors.N0,\n    linkColor: colors.B400,\n    linkColorHover: colors.B300,\n    linkColorActive: colors.B500,\n    linkColorOutline: colors.B100,\n    headingColor: colors.N800,\n    subtleHeadingColor: colors.N200,\n    subtleTextColor: colors.N200,\n    textColor: colors.N900,\n}));\nexport function Reset(props) {\n    return (React.createElement(ResetTheme.Provider, { value: props.theme },\n        React.createElement(ResetTheme.Consumer, null, (tokens) => {\n            return (React.createElement(Div, Object.assign({}, { ...tokens, mode: undefined }, props), props.children));\n        })));\n}\n//# sourceMappingURL=Reset.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n    return function ComponentWithTheme(props) {\n        return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n    };\n}\n//# sourceMappingURL=hoc.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n    mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n   based on those props. An example of this default theme function is one that produces the standard\n   appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n   that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n    const emptyThemeFn = (getTokens, props) => getTokens(props);\n    /* Internally, Theme uses React Context, with internal providers and consumers.\n       The React Context passes only a function that gets props, and turns them into tokens. This\n          function gets mixed as more Providers with their own themes are added. This mixed function\n          is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n          the theme. */\n    const ThemeContext = createContext(defaultGetTokens);\n    // The Theme Consumer takes a function as its child - this function takes tokens, and the\n    // return value is generally a set of nodes with the tokens applied appropriately.\n    function Consumer(props) {\n        const { children, ...themeProps } = props;\n        const theme = useContext(ThemeContext);\n        const themeFn = theme || emptyThemeFn;\n        // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n        // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n        const tokens = themeFn(themeProps);\n        // We add a fragment to ensure we don't break people upgrading.\n        // Previously they may have been able to pass in undefined without things blowing up.\n        return React.createElement(React.Fragment, null, children(tokens));\n    }\n    /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n       - The theme function takes a set of props, as well as a function (getTokens) that can\n          turn props into tokens.\n       - The getTokens function isn't called immediately - instead the props are passed\n          through a mix of parent theming functions\n       Children of this provider will receive this mixed theme\n    */\n    function Provider(props) {\n        const themeFn = useContext(ThemeContext);\n        const valueFn = props.value || emptyThemeFn;\n        const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n        return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n    }\n    return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  ref.current = value;\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n  if (!DEBUG_MODE) {\n    return;\n  }\n\n  // eslint-disable-next-line no-console\n  console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n  // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n  // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n  earlyResolvedFlags: new Map(),\n  booleanResolver: function (flagKey) {\n    if (process.env.NODE_ENV !== 'production') {\n      const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n      this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n    }\n    return false;\n  }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n  globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n  if (process.env.NODE_ENV !== 'production') {\n    var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n    if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n      debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n      globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n    }\n  }\n}\nexport function resolveBooleanFlag(flagKey) {\n  if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n    debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n    return true;\n  }\n  try {\n    var _globalVar$PFF_GLOBAL3;\n    const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n    if (typeof result !== 'boolean') {\n      // eslint-disable-next-line no-console\n      console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n      return false;\n    }\n    return result;\n  } catch (e) {\n    return false;\n  }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n  setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function getBooleanFF(name) {\n  return resolveBooleanFlag(name);\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B200, B300, B400, B50, N10, N100, N20, N30, N40, N70, N80, N900, R300 } from '@atlaskit/theme/colors';\nconst baseStyles = css({\n  display: 'grid',\n  gridAutoColumns: '1fr',\n  gridAutoRows: 'min-content',\n  color: `var(--ds-text, ${N900})`,\n  cursor: 'default',\n  font: \"var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Ubuntu, system-ui, \\\"Helvetica Neue\\\", sans-serif)\"\n});\nconst textLabelLayoutStyles = css({\n  gap: `${\"var(--ds-space-0, 0px)\"} ${\"var(--ds-space-050, 4px)\"}`,\n  gridTemplateColumns: 'min-content auto'\n});\nconst disabledStyles = css({\n  color: `var(--ds-text-disabled, ${N80})`,\n  cursor: 'not-allowed'\n});\nconst labelStyles = css({\n  /**\n   * Background\n   */\n  '--local-background': `var(--ds-background-input, ${N10})`,\n  '--local-background-active': `var(--ds-background-input-pressed, ${B50})`,\n  '--local-background-checked': `var(--ds-background-selected-bold, ${B400})`,\n  '--local-background-checked-hover': `var(--ds-background-selected-bold-hovered, ${B300})`,\n  '--local-background-disabled': `var(--ds-background-disabled, ${N20})`,\n  '--local-background-hover': `var(--ds-background-input-hovered, ${N30})`,\n  /**\n   * Border\n   */\n  '--local-border': getBooleanFF('platform.design-system-team.update-border-radio-checkbox_7askv') ? `var(--ds-border-bold, ${N100})` : `var(--ds-border-input, ${N40})`,\n  '--local-border-active': `var(--ds-border, ${B50})`,\n  '--local-border-checked': `var(--ds-background-selected-bold, ${B400})`,\n  '--local-border-checked-hover': `var(--ds-background-selected-bold-hovered, ${B300})`,\n  '--local-border-checked-invalid': `var(--ds-border-danger, ${R300})`,\n  '--local-border-disabled': `var(--ds-background-disabled, ${N20})`,\n  '--local-border-focus': `var(--ds-border-focused, ${B200})`,\n  '--local-border-hover': getBooleanFF('platform.design-system-team.update-border-radio-checkbox_7askv') ? `var(--ds-border-bold, ${N100})` : `var(--ds-border-input, ${N40})`,\n  '--local-border-invalid': `var(--ds-border-danger, ${R300})`,\n  /**\n   * Tick\n   */\n  '--local-tick-active': `var(--ds-icon-inverse, ${B400})`,\n  '--local-tick-checked': `var(--ds-icon-inverse, ${N10})`,\n  '--local-tick-disabled': `var(--ds-icon-disabled, ${N70})`,\n  '--local-tick-rest': 'transparent'\n});\nexport default function Label({\n  children,\n  isDisabled,\n  testId,\n  label,\n  id\n}) {\n  return jsx(\"label\", {\n    css: [baseStyles, label && textLabelLayoutStyles, isDisabled && disabledStyles, labelStyles],\n    \"data-testid\": testId,\n    \"data-disabled\": isDisabled || undefined,\n    id: id\n  }, children);\n}","export const getBackground = () => \"var(--ds-surface, #FFFFFF)\";","export const sizes = {\n  small: '16px',\n  medium: '24px',\n  large: '32px',\n  xlarge: '48px'\n};\nexport const sizeMap = {\n  small: 'small',\n  medium: 'medium',\n  large: 'large',\n  xlarge: 'xlarge'\n};\nexport const dimensions = {\n  small: {\n    width: sizes.small,\n    height: sizes.small\n  },\n  medium: {\n    width: sizes.medium,\n    height: sizes.medium\n  },\n  large: {\n    width: sizes.large,\n    height: sizes.large\n  },\n  xlarge: {\n    width: sizes.xlarge,\n    height: sizes.xlarge\n  }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n  overflow: 'hidden',\n  pointerEvents: 'none',\n  /**\n   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n   * rule) and then override it with currentColor for the color changes to be picked up.\n   */\n  stop: {\n    stopColor: 'currentColor'\n  }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n  small: smallStyles,\n  medium: mediumStyles,\n  large: largeStyles,\n  xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n  width,\n  height,\n  size\n}) => {\n  if (width && height) {\n    return {\n      width,\n      height\n    };\n  }\n  if (size) {\n    return dimensions[size];\n  }\n  return undefined;\n};","/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, sizeStyleMap } from './styles';\n\n// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage\nconst svgStyles = css(commonSVGStyles);\n\n/**\n * __SVG__\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-svgs)\n */\nconst SVG = /*#__PURE__*/memo(function SVG({\n  size = 'medium',\n  label,\n  primaryColor = 'currentColor',\n  secondaryColor,\n  testId,\n  children\n}) {\n  return jsx(\"svg\", {\n    viewBox: \"0 0 24 24\",\n    style: {\n      color: primaryColor,\n      fill: secondaryColor || getBackground()\n    },\n    css: [svgStyles, sizeStyleMap[size]],\n    \"data-testid\": testId,\n    \"aria-label\": label || undefined,\n    role: label ? 'img' : 'presentation'\n  }, children);\n});\nexport default SVG;","/**  @jsx jsx */\nimport { memo, useMemo } from 'react';\nimport { jsx } from '@emotion/react';\nimport PrimitiveSVGIcon from '@atlaskit/icon/svg';\nfunction getIcon(isIndeterminate, isChecked) {\n  if (isIndeterminate) {\n    return jsx(\"rect\", {\n      fill: \"inherit\",\n      x: \"8\",\n      y: \"11\",\n      width: \"8\",\n      height: \"2\",\n      rx: \"1\"\n    });\n  }\n  if (isChecked) {\n    return jsx(\"path\", {\n      d: \"M9.707 11.293a1 1 0 1 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 1 0-1.414-1.414L11 12.586l-1.293-1.293z\",\n      fill: \"inherit\"\n    });\n  }\n\n  // No icon\n  return null;\n}\n\n/**\n * __Checkbox icon__\n *\n * A checkbox icon is the visual representation of checkbox state,\n * which is shown instead of the native input.\n *\n * @internal\n */\nconst CheckboxIcon = /*#__PURE__*/memo(({\n  size,\n  isIndeterminate,\n  isChecked\n}) => {\n  const icon = useMemo(() => getIcon(isIndeterminate, isChecked), [isIndeterminate, isChecked]);\n  return jsx(PrimitiveSVGIcon, {\n    label: \"\",\n    size: size,\n    primaryColor: \"var(--checkbox-background-color)\",\n    secondaryColor: \"var(--checkbox-tick-color)\"\n  }, jsx(\"g\", {\n    fillRule: \"evenodd\"\n  }, jsx(\"rect\", {\n    fill: \"currentColor\",\n    x: \"6\",\n    y: \"6\",\n    width: \"12\",\n    height: \"12\",\n    rx: \"2\"\n  }), icon));\n});\nexport default CheckboxIcon;","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nconst labelTextStyles = css({\n  alignSelf: 'center',\n  gridArea: '1 / 2 / 2 / 3'\n});\nexport default function LabelText({\n  children\n}) {\n  return jsx(\"span\", {\n    css: labelTextStyles\n  }, children);\n}","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nimport { R500 } from '@atlaskit/theme/colors';\nconst requiredIndicatorStyles = css({\n  paddingLeft: \"var(--ds-space-025, 2px)\",\n  color: `var(--ds-text-danger, ${R500})`\n});\nexport default function RequiredIndicator() {\n  return jsx(\"span\", {\n    css: requiredIndicatorStyles,\n    \"aria-hidden\": true\n  }, \"*\");\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**  @jsx jsx */\nimport { forwardRef, memo, useCallback, useRef, useState } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B200 } from '@atlaskit/theme/colors';\nimport { CheckboxIcon, Label, LabelText, RequiredIndicator } from './internal';\n/* eslint-disable @atlaskit/design-system/no-nested-styles */\nconst checkboxStyles = css({\n  width: '100%',\n  height: '100%',\n  margin: \"var(--ds-space-0, 0px)\",\n  appearance: 'none',\n  border: 'none',\n  gridArea: '1 / 1 / 2 / 2',\n  opacity: 0,\n  outline: 'none',\n  '& + svg': {\n    /**\n     *  Change the variables --checkbox-background-color, --checkbox-border-color\n     *  and --checkbox-tick-color according to user interactions.\n     *  All other variables are constant.\n     *  All styles from the input target the sibling svg.\n     */\n    '--checkbox-background-color': 'var(--local-background)',\n    '--checkbox-border-color': 'var(--local-border)',\n    '--checkbox-tick-color': 'var(--local-tick-rest)',\n    color: 'var(--checkbox-background-color)',\n    fill: 'var(--checkbox-tick-color)',\n    gridArea: '1 / 1 / 2 / 2',\n    pointerEvents: 'none',\n    transition: 'color 0.2s ease-in-out, fill 0.2s ease-in-out',\n    'rect:first-of-type': {\n      stroke: 'var(--checkbox-border-color)',\n      strokeWidth: getBooleanFF('platform.design-system-team.update-border-radio-checkbox_7askv') ? \"var(--ds-border-width, 1px)\" : 2,\n      transition: 'stroke 0.2s ease-in-out'\n    }\n  },\n  '&&:focus + svg, &&:checked:focus + svg': {\n    borderRadius: \"var(--ds-border-radius, 0.25rem)\",\n    outline: `${\"var(--ds-border-width-outline, 2px)\"} solid ${`var(--ds-border-focused, ${B200})`}`,\n    outlineOffset: \"var(--ds-space-negative-025, -2px)\"\n  },\n  '&:hover + svg': {\n    '--checkbox-background-color': 'var(--local-background-hover)',\n    '--checkbox-border-color': 'var(--local-border-hover)'\n  },\n  '&:checked:hover + svg': {\n    '--checkbox-background-color': 'var(--local-background-checked-hover)',\n    '--checkbox-border-color': 'var(--local-border-checked-hover)'\n  },\n  '&:checked + svg': {\n    '--checkbox-background-color': 'var(--local-background-checked)',\n    '--checkbox-border-color': 'var(--local-border-checked)',\n    '--checkbox-tick-color': 'var(--local-tick-checked)'\n  },\n  '&[data-invalid] + svg': {\n    '--checkbox-border-color': 'var(--local-border-invalid)'\n  },\n  '&:checked[data-invalid] + svg': {\n    '--checkbox-border-color': 'var(--local-border-checked-invalid)'\n  },\n  '&:active + svg': {\n    '--checkbox-background-color': 'var(--local-background-active)',\n    '--checkbox-border-color': 'var(--local-border-active)'\n  },\n  '&:checked:active + svg': {\n    '--checkbox-background-color': 'var(--local-background-active)',\n    '--checkbox-border-color': 'var(--local-border-active)',\n    '--checkbox-tick-color': 'var(--local-tick-active)'\n  },\n  '&:disabled + svg, &:disabled:hover + svg, &:disabled:focus + svg, &:disabled:active + svg, &:disabled[data-invalid] + svg': {\n    '--checkbox-background-color': 'var(--local-background-disabled)',\n    '--checkbox-border-color': 'var(--local-border-disabled)',\n    cursor: 'not-allowed',\n    pointerEvents: 'none'\n  },\n  '&:disabled:checked + svg': {\n    '--checkbox-tick-color': 'var(--local-tick-disabled)'\n  },\n  '@media screen and (forced-colors: active)': {\n    '& + svg': {\n      '--checkbox-background-color': 'Canvas',\n      '--checkbox-border-color': 'CanvasText',\n      '--checkbox-tick-color': 'CanvasText'\n    },\n    '&:checked + svg, &:checked:hover + svg': {\n      '--checkbox-background-color': 'Canvas',\n      '--checkbox-border-color': 'CanvasText',\n      '--checkbox-tick-color': 'CanvasText'\n    },\n    '&:focus + svg rect:first-of-type': {\n      stroke: 'Highlight'\n    },\n    '&[data-invalid] + svg': {\n      '--checkbox-border-color': 'Highlight'\n    },\n    '&:checked[data-invalid] + svg': {\n      '--checkbox-border-color': 'Highlight'\n    },\n    '&:disabled + svg, &:disabled:hover + svg, &:disabled:focus + svg, &:disabled:active + svg, &:disabled[data-invalid] + svg': {\n      '--checkbox-background-color': 'Canvas',\n      '--checkbox-border-color': 'GrayText',\n      '--checkbox-tick-color': 'GrayText'\n    }\n  }\n});\n/* eslint-enable @atlaskit/design-system/no-nested-styles */\n\n/**\n * __Checkbox__\n *\n * A checkbox an input control that allows a user to select one or more options from a number of choices.\n *\n * - [Examples](https://atlassian.design/components/checkbox/examples)\n * - [Code](https://atlassian.design/components/checkbox/code)\n * - [Usage](https://atlassian.design/components/checkbox/usage)\n */\nconst Checkbox = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Checkbox(props, ref) {\n  const {\n    isChecked: isCheckedProp,\n    isDisabled = false,\n    isInvalid = false,\n    defaultChecked = false,\n    isIndeterminate = false,\n    size = 'medium',\n    onChange: onChangeProps,\n    analyticsContext,\n    label,\n    name,\n    value,\n    isRequired,\n    testId,\n    ...rest\n  } = props;\n  const [isCheckedState, setIsCheckedState] = useState(isCheckedProp !== undefined ? isCheckedProp : defaultChecked);\n  const onChange = useCallback((e, analyticsEvent) => {\n    setIsCheckedState(e.target.checked);\n    if (onChangeProps) {\n      onChangeProps(e, analyticsEvent);\n    }\n  }, [onChangeProps]);\n  const onChangeAnalytics = usePlatformLeafEventHandler({\n    fn: onChange,\n    action: 'changed',\n    analyticsData: analyticsContext,\n    componentName: 'checkbox',\n    packageName: \"@atlaskit/checkbox\",\n    packageVersion: \"13.1.5\"\n  });\n  const internalRef = useRef(null);\n  const mergedRefs = mergeRefs([internalRef, ref]);\n\n  // Use isChecked from the state if it is controlled\n  const isChecked = isCheckedProp === undefined ? isCheckedState : isCheckedProp;\n  return jsx(Label, {\n    isDisabled: isDisabled,\n    label: label,\n    id: rest.id ? `${rest.id}-label` : undefined,\n    testId: testId && `${testId}--checkbox-label`\n  }, jsx(\"input\", _extends({\n    // It is necessary only for Safari. It allows to render focus styles.\n    tabIndex: 0\n  }, rest, {\n    type: \"checkbox\",\n    ref: mergedRefs,\n    disabled: isDisabled,\n    checked: isChecked,\n    value: value,\n    name: name,\n    required: isRequired,\n    css: checkboxStyles,\n    onChange: onChangeAnalytics,\n    \"aria-checked\": isIndeterminate ? 'mixed' : isChecked,\n    \"aria-invalid\": isInvalid ? 'true' : undefined,\n    \"data-testid\": testId && `${testId}--hidden-checkbox`,\n    \"data-invalid\": isInvalid ? 'true' : undefined\n  })), jsx(CheckboxIcon, {\n    size: size,\n    isIndeterminate: isIndeterminate,\n    isChecked: isChecked\n  }), label && jsx(LabelText, null, label, isRequired && jsx(RequiredIndicator, null)));\n}));\nCheckbox.displayName = 'Checkbox';\nexport default Checkbox;","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsContext: PropTypes.func,\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n    __extends(AnalyticsContext, _super);\n    function AnalyticsContext(props) {\n        var _this = _super.call(this, props) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n        }); };\n        _this.getAnalyticsContext = function () {\n            var data = _this.props.data;\n            var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n            var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n                getAtlaskitAnalyticsContext()) ||\n                [];\n            return __spread(ancestorData, [data]);\n        };\n        _this.getAnalyticsEventHandlers = function () {\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            return ancestorHandlers;\n        };\n        _this.state = {\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        };\n        return _this;\n    }\n    AnalyticsContext.prototype.render = function () {\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n    };\n    AnalyticsContext.contextTypes = ContextTypes;\n    AnalyticsContext.childContextTypes = ContextTypes;\n    return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n    var consumerEvent = createAnalyticsEvent(payload);\n    var clonedEvent = consumerEvent.clone();\n    if (clonedEvent) {\n        clonedEvent.fire(channel);\n    }\n    return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsContext: PropTypes.func,\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n    __extends(AnalyticsContext, _super);\n    function AnalyticsContext(props) {\n        var _this = _super.call(this, props) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n        }); };\n        _this.getAnalyticsContext = function () {\n            var data = _this.props.data;\n            var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n            var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n                getAtlaskitAnalyticsContext()) ||\n                [];\n            return __spread(ancestorData, [data]);\n        };\n        _this.getAnalyticsEventHandlers = function () {\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            return ancestorHandlers;\n        };\n        _this.state = {\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        };\n        return _this;\n    }\n    AnalyticsContext.prototype.render = function () {\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n    };\n    AnalyticsContext.contextTypes = ContextTypes;\n    AnalyticsContext.childContextTypes = ContextTypes;\n    return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n    var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n        var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n        var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n        return (React.createElement(AnalyticsContext, { data: analyticsData },\n            React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n    });\n    // @ts-ignore\n    WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","// If a generic is used here, props can be inferred never and passed up (even with defaults)\nexport function add(fn, addend) {\n    return (props) => fn(props) + addend;\n}\nexport function subtract(fn, subtrahend) {\n    return (props) => fn(props) - subtrahend;\n}\nexport function multiply(fn, factor) {\n    return (props) => fn(props) * factor;\n}\nexport function divide(fn, divisor) {\n    return (props) => fn(props) / divisor;\n}\n//# sourceMappingURL=math.js.map","import styled, { css } from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { divide, multiply } from '@atlaskit/theme/math';\nvar activeBackgroundColor = themed({\n  light: colors.B75,\n  dark: colors.DN30\n});\nvar hoverBackgroundColor = themed({\n  light: colors.N20,\n  dark: colors.DN60\n});\nvar selectedBackgroundColor = themed({\n  light: colors.N0,\n  dark: colors.DN30\n});\nvar activePrimaryTextColor = themed({\n  light: colors.N800,\n  dark: colors.DN300\n});\nvar defaultPrimaryTextColor = themed({\n  light: colors.N800,\n  dark: colors.DN600\n});\nvar disabledPrimaryTextColor = themed({\n  light: colors.N70,\n  dark: colors.DN70\n});\nvar primaryPrimaryTextColor = themed({\n  light: colors.B400,\n  dark: colors.B400\n});\nvar selectedPrimaryTextColor = themed({\n  light: colors.N800,\n  dark: colors.N800\n});\nvar focusedStyles = css([\"\\n  box-shadow: 0 0 0 2px \", \"\\n    inset;\\n  outline: none;\\n  outline-offset: 0;\\n  position: relative; /* prevents bgcolor of a hovered element from obfuscating focus ring of a focused sibling element */\\n\"], themed({\n  light: colors.B100,\n  dark: colors.B75\n}));\nvar activeStyles = css([\"\\n  &,\\n  &:hover {\\n    background-color: \", \";\\n    color: \", \";\\n  }\\n\"], selectedBackgroundColor, selectedPrimaryTextColor);\nvar primaryStyles = css([\"\\n  color: \", \";\\n\"], primaryPrimaryTextColor);\n\nvar sharedStyles = function sharedStyles(props) {\n  return css([\"\\n  align-items: center;\\n  box-sizing: border-box;\\n  color: \", \";\\n  cursor: \", \";\\n  display: \", \";\\n  flex-wrap: nowrap;\\n  font-size: \", \"px;\\n  font-weight: normal;\\n  padding: 0 \", \"px;\\n  text-decoration: none;\\n\\n  &:hover {\\n    background-color: \", \";\\n    color: \", \";\\n    text-decoration: none;\\n\\n    \", \";\\n  }\\n  &:active {\\n    background-color: \", \";\\n    color: \", \";\\n\\n    \", \";\\n  }\\n  &:focus {\\n    \", \";\\n  }\\n\\n  \", \" \", \" \", \";\\n\"], props.isDisabled ? disabledPrimaryTextColor : defaultPrimaryTextColor, props.isDisabled ? 'not-allowed' : 'pointer', props.isHidden ? 'none' : 'flex', fontSize, multiply(gridSize, 1.5), !props.isDisabled && hoverBackgroundColor, props.isDisabled ? disabledPrimaryTextColor : defaultPrimaryTextColor, props.isPrimary && primaryStyles, !props.isDisabled && activeBackgroundColor, !props.isDisabled && activePrimaryTextColor, props.isPrimary && primaryStyles, focusedStyles, props.isFocused && focusedStyles, props.isActive && activeStyles, props.isPrimary && primaryStyles);\n};\n\nexport var Anchor = styled.a.withConfig({\n  displayName: \"Item__Anchor\",\n  componentId: \"aiqnor-0\"\n})([\"\\n  \", \";\\n\"], function (props) {\n  return sharedStyles(props);\n});\nexport var Span = styled.span.withConfig({\n  displayName: \"Item__Span\",\n  componentId: \"aiqnor-1\"\n})([\"\\n  \", \";\\n\"], function (props) {\n  return sharedStyles(props);\n}); // Checkbox/Radio wrapper -- sits left of the children\n\nexport var InputWrapper = styled.span.withConfig({\n  displayName: \"Item__InputWrapper\",\n  componentId: \"aiqnor-2\"\n})([\"\\n  display: flex;\\n  margin: 0 2px;\\n\"]); // Elements injected before/after the children\n\nexport var Before = styled.span.withConfig({\n  displayName: \"Item__Before\",\n  componentId: \"aiqnor-3\"\n})([\"\\n  display: flex;\\n\"]);\nexport var After = styled.span.withConfig({\n  displayName: \"Item__After\",\n  componentId: \"aiqnor-4\"\n})([\"\\n  align-items: center;\\n  display: flex;\\n\"]); // Alignment and layout for the children\n\nexport var ContentWrapper = styled.span.withConfig({\n  displayName: \"Item__ContentWrapper\",\n  componentId: \"aiqnor-5\"\n})([\"\\n  display: flex;\\n  flex-direction: column;\\n  margin: 0 \", \"px;\\n  padding: \", \"px 0;\\n  overflow: hidden;\\n\\n  &:first-child {\\n    margin: 0;\\n  }\\n\"], gridSize, gridSize);\nexport var Content = styled.span.withConfig({\n  displayName: \"Item__Content\",\n  componentId: \"aiqnor-6\"\n})([\"\\n  flex: 1 1 auto;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  \", \";\\n\"], function (props) {\n  return props.allowMultiline && css([\"\\n      white-space: normal;\\n    \"]);\n}); // Description is a block element below the children, like a subtitle\n\nexport var Description = styled.span.withConfig({\n  displayName: \"Item__Description\",\n  componentId: \"aiqnor-7\"\n})([\"\\n  color: \", \";\\n  flex: 1 1 auto;\\n  font-size: 12px;\\n  line-height: 16 / 12;\\n  margin-top: \", \"px;\\n\"], colors.subtleText, divide(gridSize, 2)); // NOTE: Exposed as a named export for this package\n\nexport var SecondaryText = styled.span.withConfig({\n  displayName: \"Item__SecondaryText\",\n  componentId: \"aiqnor-8\"\n})([\"\\n  color: \", \";\\n\"], colors.subtleText);","import * as colors from '@atlaskit/theme/colors';\nexport function getInputBackground(_ref) {\n  var isChecked = _ref.isChecked,\n      isDisabled = _ref.isDisabled,\n      isHovered = _ref.isHovered,\n      isPressed = _ref.isPressed;\n  var background = colors.N40;\n  if (isHovered) background = colors.N50;\n  if (isPressed) background = colors.B200;\n  if (isChecked) background = colors.B400;\n  if (isDisabled) background = colors.N20;\n  if (isChecked && isDisabled) background = colors.N600;\n  return background;\n}\nexport function getInputFill(appearanceProps) {\n  return appearanceProps.isChecked ? colors.N0 : 'transparent';\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport { Anchor, Span } from '../styled/Item';\nexport var supportsVoiceOver = function supportsVoiceOver() {\n  return /Mac OS X/.test(navigator.userAgent);\n};\nexport var getAriaRoles = function getAriaRoles() {\n  return {\n    checkbox: supportsVoiceOver() ? 'checkbox' : 'menuitemcheckbox',\n    link: 'menuitem',\n    option: 'option',\n    radio: supportsVoiceOver() ? 'radio' : 'menuitemradio'\n  };\n};\nexport var baseTypes = {\n  default: 'link',\n  values: ['link', 'radio', 'checkbox', 'option']\n};\n\nvar Element =\n/*#__PURE__*/\nfunction (_PureComponent) {\n  _inherits(Element, _PureComponent);\n\n  function Element() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, Element);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Element)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"handleMouseDown\", function (e) {\n      e.preventDefault();\n\n      _this.props.handleMouseDown();\n    });\n\n    return _this;\n  }\n\n  _createClass(Element, [{\n    key: \"render\",\n    value: function render() {\n      var props = this.props;\n      var isActive = props.isActive,\n          isChecked = props.isChecked,\n          isDisabled = props.isDisabled,\n          isFocused = props.isFocused,\n          isHidden = props.isHidden,\n          isSelected = props.isSelected,\n          isPrimary = props.isPrimary;\n      var type = this.props.type || '';\n      var appearanceProps = {\n        isActive: isActive,\n        isChecked: isChecked,\n        isDisabled: isDisabled,\n        isFocused: isFocused,\n        isHidden: isHidden,\n        isSelected: isSelected,\n        isPrimary: isPrimary\n      };\n      var ariaProps = {\n        'aria-checked': !!isChecked,\n        'aria-disabled': !!isDisabled,\n        'aria-hidden': !!isHidden,\n        'aria-selected': !!isSelected\n      };\n      var ariaRoles = getAriaRoles();\n      var commonProps = {\n        'data-role': 'droplistItem',\n        onClick: props.handleClick,\n        onKeyPress: props.handleKeyPress,\n        onMouseDown: this.handleMouseDown,\n        onMouseOut: props.handleMouseOut,\n        onMouseOver: props.handleMouseOver,\n        onMouseUp: props.handleMouseUp,\n        role: ariaRoles[type],\n        title: props.title,\n        tabIndex: props.type === 'option' ? null : 0\n      };\n      var testingProps = process.env.NODE_ENV === 'test' ? {\n        'data-test-active': isActive,\n        'data-test-checked': isChecked,\n        'data-test-disabled': isDisabled,\n        'data-test-hidden': isHidden,\n        'data-test-selected': isSelected\n      } : {};\n\n      var consolidatedProps = _objectSpread({}, appearanceProps, ariaProps, commonProps, testingProps);\n\n      if (props.href && !isDisabled) {\n        return React.createElement(Anchor, _extends({\n          href: props.href,\n          target: props.target\n        }, consolidatedProps), props.children);\n      }\n\n      return React.createElement(Span, consolidatedProps, props.children);\n    }\n  }]);\n\n  return Element;\n}(PureComponent);\n\nexport { Element as default };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Checkbox from '@atlaskit/icon/glyph/checkbox';\nimport Radio from '@atlaskit/icon/glyph/radio';\nimport Tooltip from '@atlaskit/tooltip';\nimport { After, Before, Content, ContentWrapper, Description, InputWrapper } from '../styled/Item';\nimport { getInputBackground, getInputFill } from '../utils';\nimport { name as packageName, version as packageVersion } from '../version.json';\nimport Element from './Element';\nvar inputTypes = {\n  checkbox: Checkbox,\n  radio: Radio\n};\n\nvar Item =\n/*#__PURE__*/\nfunction (_PureComponent) {\n  _inherits(Item, _PureComponent);\n\n  function Item() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, Item);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Item)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      isHovered: false,\n      isPressed: false\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n      return document.addEventListener('mouseup', _this.handleMouseUp);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n      return document.removeEventListener('mouseup', _this.handleMouseUp);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"guardedActivate\", function (event) {\n      var _this$props = _this.props,\n          isDisabled = _this$props.isDisabled,\n          onActivate = _this$props.onActivate;\n      if (!isDisabled && onActivate) onActivate({\n        item: _assertThisInitialized(_this),\n        event: event\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n      return _this.guardedActivate(event);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (event) {\n      var keyIsValid = ['Enter', ' '].indexOf(event.key) > -1;\n      if (keyIsValid) _this.guardedActivate(event);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleMouseDown\", function () {\n      return _this.setState({\n        isPressed: true\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleMouseUp\", function () {\n      return _this.setState({\n        isPressed: false\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleMouseOut\", function () {\n      return _this.setState({\n        isHovered: false\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleMouseOver\", function () {\n      return _this.setState({\n        isHovered: true\n      });\n    });\n\n    return _this;\n  }\n\n  _createClass(Item, [{\n    key: \"render\",\n    value: function render() {\n      var props = this.props;\n      var _this$state = this.state,\n          isHovered = _this$state.isHovered,\n          isPressed = _this$state.isPressed;\n      var type = props.type || '';\n      var hasInput = ['checkbox', 'radio'].indexOf(type) > -1;\n      var Input = inputTypes[type];\n      var appearanceProps = {\n        isActive: props.type === 'link' && props.isActive || props.type === 'option' && props.isSelected,\n        isChecked: ['checkbox', 'radio'].indexOf(type) > -1 && props.isChecked,\n        isDisabled: props.isDisabled,\n        isFocused: props.isFocused,\n        isHidden: props.isHidden,\n        isHovered: isHovered,\n        isPressed: isPressed,\n        isSelected: type === 'option' && props.isSelected,\n        isPrimary: props.appearance === 'primary'\n      };\n      var element = React.createElement(Element, _extends({}, appearanceProps, {\n        handleClick: this.handleClick,\n        handleKeyPress: this.handleKeyPress,\n        handleMouseOut: this.handleMouseOut,\n        handleMouseOver: this.handleMouseOver,\n        handleMouseUp: this.handleMouseUp,\n        handleMouseDown: this.handleMouseDown,\n        href: props.href,\n        target: props.target,\n        title: props.title,\n        type: props.type\n      }), hasInput && React.createElement(InputWrapper, appearanceProps, React.createElement(Input, {\n        label: \"\",\n        primaryColor: getInputBackground(appearanceProps),\n        secondaryColor: getInputFill(appearanceProps),\n        size: \"medium\"\n      })), !!props.elemBefore && React.createElement(Before, null, props.elemBefore), React.createElement(ContentWrapper, null, React.createElement(Content, {\n        allowMultiline: this.context.shouldAllowMultilineItems\n      }, props.children), !!props.description && React.createElement(Description, null, props.description)), !!props.elemAfter && React.createElement(After, null, props.elemAfter));\n      return React.createElement(\"span\", {\n        role: \"presentation\"\n      }, props.tooltipDescription ? React.createElement(Tooltip, {\n        content: props.tooltipDescription,\n        position: props.tooltipPosition\n      }, element) : element);\n    }\n  }]);\n\n  return Item;\n}(PureComponent);\n\n_defineProperty(Item, \"defaultProps\", {\n  appearance: 'default',\n  children: null,\n  description: '',\n  elemAfter: null,\n  elemBefore: null,\n  href: null,\n  isActive: false,\n  isChecked: false,\n  isDisabled: false,\n  isFocused: false,\n  isHidden: false,\n  isSelected: false,\n  itemContext: 'menu',\n  onActivate: function onActivate() {},\n  target: null,\n  title: null,\n  tooltipDescription: null,\n  tooltipPosition: 'right',\n  type: 'link'\n});\n\n_defineProperty(Item, \"contextTypes\", {\n  shouldAllowMultilineItems: PropTypes.bool\n});\n\nexport { Item as DroplistItemWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n  componentName: 'droplistItem',\n  packageName: packageName,\n  packageVersion: packageVersion\n})(withAnalyticsEvents({\n  onActivate: createAndFireEventOnAtlaskit({\n    action: 'selected',\n    actionSubject: 'droplistItem',\n    attributes: {\n      componentName: 'droplistItem',\n      packageName: packageName,\n      packageVersion: packageVersion\n    }\n  })\n})(Item));","import styled from 'styled-components';\nimport { DN300, N300 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { multiply } from '@atlaskit/theme/math';\nexport default styled.div.withConfig({\n  displayName: \"Group\",\n  componentId: \"sc-1q26u8b-0\"\n})([\"\\n  box-sizing: border-box;\\n  display: block;\\n  margin-top: \", \"px;\\n\\n  &:first-child {\\n    margin-top: 0;\\n  }\\n\"], gridSize);\nexport var Heading = styled.div.withConfig({\n  displayName: \"Group__Heading\",\n  componentId: \"sc-1q26u8b-1\"\n})([\"\\n  align-items: baseline;\\n  color: \", \";\\n  display: flex;\\n  flex: 1 1 auto;\\n  font-weight: normal;\\n  font-size: 14px;\\n  line-height: 1;\\n  margin: 0;\\n  padding: \", \"px \", \"px;\\n\"], themed({\n  light: N300,\n  dark: DN300\n}), gridSize, multiply(gridSize, 1.5));\nexport var HeadingAfter = styled.div.withConfig({\n  displayName: \"Group__HeadingAfter\",\n  componentId: \"sc-1q26u8b-2\"\n})([\"\\n  flex: 0 0 auto;\\n\"]);\nexport var HeadingText = styled.div.withConfig({\n  displayName: \"Group__HeadingText\",\n  componentId: \"sc-1q26u8b-3\"\n})([\"\\n  flex: 1 1 auto;\\n  font-size: 12px;\\n  text-transform: uppercase;\\n\"]);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport Group, { Heading, HeadingAfter, HeadingText } from '../styled/Group';\n\nvar DroplistGroup =\n/*#__PURE__*/\nfunction (_PureComponent) {\n  _inherits(DroplistGroup, _PureComponent);\n\n  function DroplistGroup() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, DroplistGroup);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DroplistGroup)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      ariaLabel: _this.props.heading\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n      if (_this.props.heading || _this.props.elemAfter) {\n        _this.setState({\n          ariaLabel: _this.getAriaLabel()\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n      if (_this.props.heading || _this.props.elemAfter) {\n        // eslint-disable-next-line react/no-did-update-set-state\n        _this.setState({\n          ariaLabel: _this.getAriaLabel()\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getAriaLabel\", function () {\n      var _this$props = _this.props,\n          elemAfter = _this$props.elemAfter,\n          heading = _this$props.heading;\n      var afterText = elemAfter && typeof elemAfter === 'string' ? elemAfter : _this.headingElement && _this.headingElement.textContent;\n      return \"\".concat(heading || '', \" \").concat(afterText || '');\n    });\n\n    return _this;\n  }\n\n  _createClass(DroplistGroup, [{\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          children = _this$props2.children,\n          elemAfter = _this$props2.elemAfter,\n          heading = _this$props2.heading;\n      var ariaLabel = this.state.ariaLabel;\n      return React.createElement(Group, {\n        \"aria-label\": ariaLabel,\n        role: \"group\"\n      }, heading ? React.createElement(Heading, {\n        \"aria-hidden\": \"true\",\n        \"data-role\": \"droplistGroupHeading\"\n      }, React.createElement(HeadingText, null, heading), elemAfter ? React.createElement(HeadingAfter, {\n        innerRef: function innerRef(r) {\n          _this2.headingElement = r;\n        }\n      }, elemAfter) : null) : null, children);\n    }\n  }]);\n\n  return DroplistGroup;\n}(PureComponent);\n\nDroplistGroup.displayName = 'Group';\nexport default DroplistGroup;","import React from 'react';\nimport styled from 'styled-components';\nimport ScrollLock from 'react-scrolllock';\nvar Blanket = styled.div.withConfig({\n  displayName: \"ScrollBlock__Blanket\",\n  componentId: \"sc-1xiww8k-0\"\n})([\"\\n  position: fixed;\\n  top: 0;\\n  left: 0;\\n  right: 0;\\n  bottom: 0;\\n  background: transparent;\\n\"]);\nexport default function ScrollBlock() {\n  return React.createElement(Blanket, null, React.createElement(ScrollLock, null));\n}","var positionMap = {\n  'top left': {\n    position: 'top-start',\n    animation: 'top'\n  },\n  'top center': {\n    position: 'top',\n    animation: 'top'\n  },\n  'top right': {\n    position: 'top-end',\n    animation: 'top'\n  },\n  'right top': {\n    position: 'right-start',\n    animation: 'right'\n  },\n  'right middle': {\n    position: 'right',\n    animation: 'right'\n  },\n  'right bottom': {\n    position: 'right-end',\n    animation: 'right'\n  },\n  'bottom left': {\n    position: 'bottom-start',\n    animation: 'bottom'\n  },\n  'bottom center': {\n    position: 'bottom',\n    animation: 'bottom'\n  },\n  'bottom right': {\n    position: 'bottom-end',\n    animation: 'bottom'\n  },\n  'left top': {\n    position: 'left-start',\n    animation: 'left'\n  },\n  'left middle': {\n    position: 'left',\n    animation: 'left'\n  },\n  'left bottom': {\n    position: 'left-end',\n    animation: 'left'\n  }\n};\nexport var POSITION_ATTRIBUTE_ENUM = {\n  values: ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom left', 'bottom center', 'bottom right', 'left top', 'left middle', 'left bottom'],\n  default: 'right middle'\n};\n\nfunction positionToPopper(position) {\n  return position && positionMap[position] ? positionMap[position].position : null;\n}\n/* Convert the autoFlip property into the array format that Popper expects.\n * The first item must not include the edge-position variation, or Popper will not understand it.\n */\n\n\nexport function getFlipBehavior(props) {\n  return props.position && Array.isArray(props.autoFlip) ? [props.position.split(' ')[0]].concat(props.autoFlip) : null;\n}\nexport function positionPropToPopperPosition(position) {\n  return positionToPopper(position) || positionMap[POSITION_ATTRIBUTE_ENUM.default].position;\n}","import styled from 'styled-components';\nexport default styled.div.withConfig({\n  displayName: \"styledContentContainer\",\n  componentId: \"p0j3f7-0\"\n})([\"\\n  [data-role='droplistContent'] {\\n    \", \";\\n  }\\n\"], function (_ref) {\n  var maxHeight = _ref.maxHeight;\n  return maxHeight ? \"max-height: \".concat(maxHeight, \"px\") : '';\n});","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\nimport rafSchedule from 'raf-schd';\nimport Popper from 'popper.js'; // eslint-disable-line import/extensions\n\nimport ScrollBlock from './internal/ScrollBlock';\nimport { getFlipBehavior, positionPropToPopperPosition } from './internal/helpers';\nimport ContentContainer from '../styledContentContainer'; // We create a dummy target when making the menu fixed so that we can force popper.js to use fixed positioning\n// without affecting child layout of the actual target since children of fixed position elements can't use percentage\n// heights/widths.\n\nvar FixedTarget = styled.div.withConfig({\n  displayName: \"Layer__FixedTarget\",\n  componentId: \"qunuuz-0\"\n})([\"\\n  \", \";\\n\"], function (_ref) {\n  var fixedOffset = _ref.fixedOffset,\n      targetRef = _ref.targetRef;\n\n  if (fixedOffset && targetRef) {\n    var actualTarget = targetRef.firstChild;\n    var rect = actualTarget.getBoundingClientRect();\n    return \"\\n        position: fixed;\\n        top: \".concat(fixedOffset.top, \"px;\\n        left: \").concat(fixedOffset.left, \"px;\\n        height: \").concat(rect.height, \"px;\\n        width: \").concat(rect.width, \"px;\\n        z-index: -1;\\n      \");\n  }\n\n  return 'display: none;';\n});\n\nif (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n  // eslint-disable-next-line no-console\n  console.warn('@atlaskit/layer has been deprecated. It is an internal component and should not be used directly.');\n}\n\nvar Layer =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Layer, _Component);\n\n  // working with extract-react-types\n  function Layer(props) {\n    var _this;\n\n    _classCallCheck(this, Layer);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Layer).call(this, props));\n\n    _defineProperty(_assertThisInitialized(_this), \"popper\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"targetRef\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"contentRef\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"fixedRef\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"extractStyles\", function (state) {\n      if (state) {\n        var popperHeight = state.offsets.popper.height;\n        var left = Math.round(state.offsets.popper.left); // The offset position is sometimes an object and sometimes just a string...\n\n        var cssPosition = _typeof(state.offsets.popper.position) === 'object' ? state.offsets.popper.position.position : state.offsets.popper.position;\n\n        var top = _this.fixPositionTopUnderflow(state.offsets.popper.top, cssPosition);\n\n        var originalHeight = _this.state.originalHeight || popperHeight;\n\n        var maxHeight = _this.calculateMaxHeight(originalHeight, popperHeight, top, cssPosition);\n\n        _this.setState({\n          // position: fixed or absolute\n          cssPosition: cssPosition,\n          hasExtractedStyles: true,\n          transform: \"translate3d(\".concat(left, \"px, \").concat(top, \"px, 0px)\"),\n          // state.flipped is either true or undefined\n          flipped: !!state.flipped,\n          actualPosition: state.position,\n          originalPosition: state.originalPosition,\n          originalHeight: originalHeight,\n          maxHeight: maxHeight\n        });\n      }\n    });\n\n    _this.state = {\n      hasExtractedStyles: false,\n      position: null,\n      transform: null,\n      flipped: false,\n      actualPosition: null,\n      // We set these default offsets to prevent a flash of popper content in the wrong position\n      // which can cause incorrect height calculations. Popper will calculate these values\n      offsets: {\n        popper: {\n          left: -9999,\n          top: -9999\n        }\n      },\n      originalPosition: null,\n      // fix Safari parent width: https://product-fabric.atlassian.net/browse/ED-1784\n      cssPosition: 'absolute',\n      originalHeight: null,\n      maxHeight: null,\n      fixedOffset: null\n    };\n    _this.extractStyles = rafSchedule(_this.extractStyles.bind(_assertThisInitialized(_this)));\n    return _this;\n  }\n\n  _createClass(Layer, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.applyPopper(this.props);\n      this.calculateFixedOffset(this.props);\n    }\n  }, {\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(nextProps) {\n      this.applyPopper(nextProps);\n      this.calculateFixedOffset(nextProps);\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps, prevState) {\n      var _this$props = this.props,\n          onFlippedChange = _this$props.onFlippedChange,\n          onPositioned = _this$props.onPositioned;\n      var _this$state = this.state,\n          flipped = _this$state.flipped,\n          actualPosition = _this$state.actualPosition,\n          originalPosition = _this$state.originalPosition,\n          hasExtractedStyles = _this$state.hasExtractedStyles;\n\n      if (prevState.flipped !== flipped && onFlippedChange) {\n        onFlippedChange({\n          flipped: flipped,\n          actualPosition: actualPosition,\n          originalPosition: originalPosition\n        });\n      } // This flag is set the first time the position is calculated from Popper and applied to the content\n\n\n      if (!prevState.hasExtractedStyles && hasExtractedStyles && onPositioned) {\n        onPositioned();\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.extractStyles.cancel();\n\n      if (this.popper) {\n        this.popper.destroy();\n      }\n    }\n    /* Calculate the max height of the popper if it's height is greater than the viewport to prevent\n     * the bottom of the popper not being viewable.\n     * Only works if the popper uses viewport as the boundary and has a fixed position ancestor.\n     */\n\n  }, {\n    key: \"calculateMaxHeight\",\n    value: function calculateMaxHeight(originalHeight, currentHeight, positionTop, cssPosition) {\n      var DocumentElementClientHeight = 0;\n\n      if (document.documentElement) {\n        DocumentElementClientHeight = document.documentElement.clientHeight;\n      }\n\n      if (cssPosition !== 'fixed' || this.props.boundariesElement !== 'viewport') {\n        return null;\n      }\n\n      var viewportHeight = Math.max(DocumentElementClientHeight, window.innerHeight || 0);\n      return viewportHeight < originalHeight && currentHeight + positionTop >= viewportHeight - 50 ? // allow some spacing either side of viewport height\n      viewportHeight - 12 : null;\n    }\n    /* Popper may return either a fixed or absolute position which would be applied to the\n     * content style. In order to overcome clipping issues for overflow containing blocks when\n     * the position is absolute, we create a fixed position wrapper.\n     */\n\n  }, {\n    key: \"calculateFixedOffset\",\n    value: function calculateFixedOffset(props) {\n      var isAlwaysFixed = props.isAlwaysFixed;\n\n      if (isAlwaysFixed && this.targetRef) {\n        var actualTarget = this.targetRef.firstChild;\n        this.setState({\n          fixedOffset: {\n            top: actualTarget.getBoundingClientRect().top,\n            left: actualTarget.getBoundingClientRect().left\n          }\n        });\n      } else if (!isAlwaysFixed && this.state.fixedOffset !== null) {\n        this.setState({\n          fixedOffset: null\n        });\n      }\n    }\n    /* Clamp fixed position to the window for fixed position poppers that flow off the top of the\n     * window.\n     * A fixed position popper is a popper who has an ancestor with position: fixed.\n     *\n     * It is too difficult to fix this for non-fixed position poppers without re-implementing popper's\n     * offset functionality or fixing the issue upstream.\n     */\n    // eslint-disable-next-line class-methods-use-this\n\n  }, {\n    key: \"fixPositionTopUnderflow\",\n    value: function fixPositionTopUnderflow(popperTop, cssPosition) {\n      return popperTop >= 0 || cssPosition !== 'fixed' ? Math.round(popperTop) : 0;\n    }\n  }, {\n    key: \"applyPopper\",\n    value: function applyPopper(props) {\n      if (!this.fixedRef || !this.targetRef || !this.contentRef) {\n        return;\n      }\n\n      if (this.popper) {\n        this.popper.destroy();\n      } // \"new Popper(...)\" operation is very expensive when called on virtual DOM.\n      // This condition reduces the number of calls so we can run our tests faster\n      // (time was reduced from 100s to 13s).\n\n\n      if (!props.content) {\n        return;\n      } // we wrap our target in a div so that we can safely get a reference to it, but we pass the\n      // actual target to popper\n\n\n      var actualTarget = props.isAlwaysFixed ? this.fixedRef : this.targetRef.firstChild;\n      var popperOpts = {\n        placement: positionPropToPopperPosition(props.position),\n        onCreate: this.extractStyles,\n        onUpdate: this.extractStyles,\n        modifiers: {\n          applyStyle: {\n            enabled: false\n          },\n          hide: {\n            enabled: false\n          },\n          offset: {\n            enabled: true,\n            offset: this.props.offset\n          },\n          flip: {\n            enabled: !!this.props.autoFlip,\n            flipVariations: true,\n            boundariesElement: this.props.boundariesElement,\n            padding: 0 // leave 0 pixels between popper and the boundariesElement\n\n          },\n          preventOverflow: {\n            enabled: !!this.props.autoFlip,\n            escapeWithReference: !(this.props.boundariesElement === 'scrollParent')\n          }\n        },\n        positionFixed: props.isAlwaysFixed\n      };\n      var flipBehavior = getFlipBehavior(props);\n\n      if (flipBehavior) {\n        popperOpts.modifiers.flip.behavior = flipBehavior;\n      }\n\n      this.popper = new Popper(actualTarget, this.contentRef, popperOpts);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          zIndex = _this$props2.zIndex,\n          lockScroll = _this$props2.lockScroll;\n      var _this$state2 = this.state,\n          cssPosition = _this$state2.cssPosition,\n          transform = _this$state2.transform,\n          hasExtractedStyles = _this$state2.hasExtractedStyles,\n          maxHeight = _this$state2.maxHeight,\n          fixedOffset = _this$state2.fixedOffset;\n      var opacity = hasExtractedStyles ? {} : {\n        opacity: 0\n      };\n      return React.createElement(\"div\", null, React.createElement(\"div\", {\n        ref: function ref(_ref2) {\n          _this2.targetRef = _ref2;\n        }\n      }, this.props.children), React.createElement(FixedTarget, {\n        targetRef: this.targetRef,\n        fixedOffset: fixedOffset\n      }, React.createElement(\"div\", {\n        style: {\n          height: '100%',\n          width: '100%'\n        },\n        ref: function ref(_ref3) {\n          _this2.fixedRef = _ref3;\n        }\n      })), lockScroll && React.createElement(ScrollBlock, null), React.createElement(ContentContainer, {\n        maxHeight: maxHeight\n      }, React.createElement(\"div\", {\n        ref: function ref(_ref4) {\n          _this2.contentRef = _ref4;\n        },\n        style: _objectSpread({\n          top: 0,\n          left: 0,\n          position: cssPosition,\n          transform: transform,\n          zIndex: zIndex\n        }, opacity)\n      }, this.props.content)));\n    }\n  }]);\n\n  return Layer;\n}(Component);\n\n_defineProperty(Layer, \"defaultProps\", {\n  autoFlip: true,\n  boundariesElement: 'viewport',\n  children: null,\n  content: null,\n  offset: '0, 0',\n  onFlippedChange: function onFlippedChange() {},\n  position: 'right middle',\n  zIndex: 400,\n  lockScroll: false,\n  isAlwaysFixed: false,\n  onPositioned: function onPositioned() {}\n});\n\nexport { Layer as default };","\n\nexport default (function (fn) {\n  var lastArgs = [];\n  var frameId = null;\n\n  var wrapperFn = function wrapperFn() {\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    lastArgs = args;\n\n    if (frameId) {\n      return frameId;\n    }\n\n    frameId = requestAnimationFrame(function () {\n      frameId = null;\n      fn.apply(undefined, lastArgs);\n    });\n\n    return frameId;\n  };\n\n  wrapperFn.cancel = function () {\n    if (!frameId) {\n      return;\n    }\n\n    cancelAnimationFrame(frameId);\n    frameId = null;\n  };\n\n  var resultFn = wrapperFn;\n\n  return resultFn;\n});","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n    mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n   based on those props. An example of this default theme function is one that produces the standard\n   appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n   that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n    const emptyThemeFn = (getTokens, props) => getTokens(props);\n    /* Internally, Theme uses React Context, with internal providers and consumers.\n       The React Context passes only a function that gets props, and turns them into tokens. This\n          function gets mixed as more Providers with their own themes are added. This mixed function\n          is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n          the theme. */\n    const ThemeContext = createContext(defaultGetTokens);\n    // The Theme Consumer takes a function as its child - this function takes tokens, and the\n    // return value is generally a set of nodes with the tokens applied appropriately.\n    function Consumer(props) {\n        const { children, ...themeProps } = props;\n        const theme = useContext(ThemeContext);\n        const themeFn = theme || emptyThemeFn;\n        // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n        // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n        const tokens = themeFn(themeProps);\n        // We add a fragment to ensure we don't break people upgrading.\n        // Previously they may have been able to pass in undefined without things blowing up.\n        return React.createElement(React.Fragment, null, children(tokens));\n    }\n    /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n       - The theme function takes a set of props, as well as a function (getTokens) that can\n          turn props into tokens.\n       - The getTokens function isn't called immediately - instead the props are passed\n          through a mix of parent theming functions\n       Children of this provider will receive this mixed theme\n    */\n    function Provider(props) {\n        const themeFn = useContext(ThemeContext);\n        const valueFn = props.value || emptyThemeFn;\n        const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n        return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n    }\n    return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","export const presetSizes = {\n    xsmall: 8,\n    small: 16,\n    medium: 24,\n    large: 48,\n    xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n  to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n  from {\n    transform: rotate(50deg);\n    opacity: 0;\n    stroke-dashoffset: 60;\n  }\n  to {\n    transform: rotate(230deg);\n    opacity: 1;\n    stroke-dashoffset: 50;\n  }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n    if (mode === 'light') {\n        return appearance === 'inherit' ? N500 : N0;\n    }\n    // Dark mode: colours provided by Jake Miller\n    return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n    const size = typeof providedSize === 'number'\n        ? providedSize\n        : presetSizes[providedSize];\n    return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n        const strokeColor = getStrokeColor({\n            mode: tokens.mode,\n            appearance,\n        });\n        // The Spinner animation uses a combination of two\n        // css animations on two separate elements.\n        return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n                /* align better inline with text */\n                vertical-align: middle;\n                /* We are going to animate this in */\n                opacity: 0;\n\n                animation: ${loadIn} 1s ease-in-out;\n                /* When the animation completes, stay at the last frame of the animation */\n                animation-fill-mode: forwards;\n                animation-delay: ${delay}ms;\n              ` },\n            jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n                  fill: none;\n                  stroke: ${strokeColor};\n                  stroke-width: 1.5;\n                  stroke-linecap: round;\n                  stroke-dasharray: 60;\n                  stroke-dashoffset: inherit;\n                  transform-origin: center;\n                  animation: ${rotate} 0.86s infinite;\n                  animation-delay: ${delay}ms;\n                  animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n                ` })));\n    }));\n}));\n//# sourceMappingURL=spinner.js.map","import styled, { css } from 'styled-components';\nimport { backgroundOnLayer, N50A, N60A } from '@atlaskit/theme/colors';\nimport { borderRadius, gridSize } from '@atlaskit/theme/constants';\nimport { divide, multiply } from '@atlaskit/theme/math';\n/* When dropdown contains more than 9 elements (droplist items, droplist groups),\n * it should have scroll and cut off half of the 10th item to indicate that there are more\n * items then are seen. This was previously calculated by mapping over children, but with\n * the current composed API it is simpler to just assume 9 items. */\n\nvar getMaxHeight = function getMaxHeight(_ref) {\n  var isTall = _ref.isTall,\n      maxHeight = _ref.maxHeight;\n  if (maxHeight) return \"\".concat(maxHeight, \"px\");\n  var heightWithoutPadding = 17;\n  var verticalPadding = gridSize();\n  var height = heightWithoutPadding + verticalPadding * 2;\n  var defaultMaxHeight = 9.5 * height + verticalPadding / 2;\n  return isTall ? '90vh' : \"\".concat(defaultMaxHeight, \"px\");\n};\n\nexport default styled.div.withConfig({\n  displayName: \"Droplist\",\n  componentId: \"sc-1z05y4v-0\"\n})([\"\\n  display: inline-flex;\\n\\n  \", \";\\n\"], function (props) {\n  return props.fit && \"\\n    display: block;\\n    flex: 1 1 auto;\\n  \";\n});\nvar backgroundColor = backgroundOnLayer;\nvar boxShadow = css([\"\\n  box-shadow: 0 \", \"px \", \"px -\", \"px\\n      \", \",\\n    0 0 1px \", \";\\n\"], divide(gridSize, 2), gridSize, divide(gridSize, 4), N50A, N60A);\nexport var Content = styled.div.withConfig({\n  displayName: \"Droplist__Content\",\n  componentId: \"sc-1z05y4v-1\"\n})([\"\\n  background: \", \";\\n  border-radius: \", \"px;\\n  \", \";\\n  box-sizing: border-box;\\n  overflow: auto;\\n  padding: \", \"px 0;\\n  max-height: \", \";\\n\"], backgroundColor, borderRadius, boxShadow, divide(gridSize, 2), getMaxHeight);\nexport var SpinnerContainer = styled.div.withConfig({\n  displayName: \"Droplist__SpinnerContainer\",\n  componentId: \"sc-1z05y4v-2\"\n})([\"\\n  display: flex;\\n  justify-content: center;\\n  min-width: \", \"px;\\n  padding: \", \"px;\\n\"], multiply(gridSize, 20), multiply(gridSize, 2.5));\nexport var Trigger = styled.div.withConfig({\n  displayName: \"Droplist__Trigger\",\n  componentId: \"sc-1z05y4v-3\"\n})([\"\\n  display: inline-flex;\\n  transition-duration: 0.2s;\\n  transition: box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);\\n\\n  \", \";\\n\"], function (props) {\n  return props.fit && \"\\n    box-sizing: border-box;\\n    display: block;\\n  \";\n});","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { itemThemeNamespace } from '@atlaskit/item';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { multiply } from '@atlaskit/theme/math';\nvar dropdownPadding = {\n  bottom: gridSize,\n  left: multiply(gridSize, 1.5),\n  right: multiply(gridSize, 1.5),\n  top: gridSize\n};\nvar droplistItemTheme = {\n  padding: {\n    default: dropdownPadding,\n    compact: dropdownPadding\n  },\n  borderRadius: function borderRadius() {\n    return 0;\n  },\n  default: {\n    background: themed({\n      light: colors.N0,\n      dark: colors.DN50\n    }),\n    text: themed({\n      light: colors.N800,\n      dark: colors.DN600\n    }),\n    secondaryText: themed({\n      light: colors.N200,\n      dark: colors.DN300\n    })\n  },\n  hover: {\n    background: themed({\n      light: colors.N20,\n      dark: colors.DN70\n    }),\n    text: themed({\n      light: colors.N800,\n      dark: colors.DN600\n    }),\n    secondaryText: themed({\n      light: colors.N200,\n      dark: colors.DN300\n    })\n  },\n  active: {\n    background: themed({\n      light: colors.B75,\n      dark: colors.B75\n    }),\n    text: themed({\n      light: colors.N800,\n      dark: colors.B400\n    }),\n    secondaryText: themed({\n      light: colors.N200,\n      dark: colors.DN300\n    })\n  },\n  selected: {\n    background: 'transparent',\n    text: themed({\n      light: colors.N800,\n      dark: colors.DN600\n    }),\n    secondaryText: themed({\n      light: colors.N200,\n      dark: colors.DN300\n    })\n  },\n  disabled: {\n    background: 'transparent',\n    text: themed({\n      light: colors.N70,\n      dark: colors.DN80\n    }),\n    secondaryText: themed({\n      light: colors.N50,\n      dark: colors.DN70\n    })\n  },\n  focus: {\n    outline: themed({\n      light: colors.B100,\n      dark: colors.B75\n    })\n  }\n};\nexport default _defineProperty({}, itemThemeNamespace, droplistItemTheme);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider } from 'styled-components';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Layer from '@atlaskit/layer';\nimport Spinner from '@atlaskit/spinner';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport Wrapper, { Content, SpinnerContainer, Trigger } from '../styled/Droplist';\nimport itemTheme from '../theme/item-theme';\nimport { name as packageName, version as packageVersion } from '../version.json';\nvar halfFocusRing = 1;\nvar dropOffset = \"0, \".concat(gridSize(), \"px\");\n\nif (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n  // eslint-disable-next-line no-console\n  console.warn('@atlaskit/droplist has been deprecated. It is an internal component and should not be used directly.');\n}\n\nvar Droplist =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Droplist, _Component);\n\n  function Droplist() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, Droplist);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Droplist)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n      _this.setContentWidth(); // We use a captured event here to avoid a radio or checkbox dropdown item firing its\n      // click event first, which would cause a re-render of the element and prevent Droplist\n      // from detecting the actual source of this original click event.\n\n\n      document.addEventListener('click', _this.handleClickOutside, true);\n      document.addEventListener('keydown', _this.handleEsc);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n      if (_this.props.isOpen) {\n        _this.setContentWidth();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n      document.removeEventListener('click', _this.handleClickOutside, true);\n      document.removeEventListener('keydown', _this.handleEsc);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"setContentWidth\", function () {\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          dropContentRef = _assertThisInitialize.dropContentRef,\n          triggerRef = _assertThisInitialize.triggerRef;\n\n      var shouldFitContainer = _this.props.shouldFitContainer; // We need to manually set the content width to match the trigger width\n      // if props.shouldFitContainer is true\n\n      if (shouldFitContainer && dropContentRef && triggerRef) {\n        dropContentRef.style.width = \"\".concat(triggerRef.offsetWidth - halfFocusRing * 2, \"px\");\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleEsc\", function (event) {\n      if ((event.key === 'Escape' || event.key === 'Esc') && _this.props.isOpen) {\n        _this.close(event);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClickOutside\", function (event) {\n      if (_this.props.isOpen) {\n        if (event.target instanceof Node) {\n          // Rather than check for the target within the entire Droplist, we specify the trigger/content.\n          // This aids with future effort in scroll-locking Droplist when isMenuFixed is enabled; the scroll\n          // blanket which stretches to the viewport should not stop 'close' from being triggered.\n          var withinTrigger = _this.triggerRef && _this.triggerRef.contains(event.target);\n\n          var withinContent = _this.dropContentRef && _this.dropContentRef.contains(event.target);\n\n          if (!withinTrigger && !withinContent) {\n            _this.close(event);\n          }\n        }\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"close\", function (event) {\n      if (_this.props.onOpenChange) {\n        _this.props.onOpenChange({\n          isOpen: false,\n          event: event\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleContentRef\", function (ref) {\n      _this.dropContentRef = ref; // If the dropdown has just been opened, we focus on the containing element so the\n      // user can tab to the first dropdown item. We will only receive this ref if isOpen\n      // is true or null, so no need to check for truthiness here.\n\n      if (ref) {\n        ref.focus();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleTriggerRef\", function (ref) {\n      _this.triggerRef = ref;\n    });\n\n    return _this;\n  }\n\n  _createClass(Droplist, [{\n    key: \"getChildContext\",\n    value: function getChildContext() {\n      return {\n        shouldAllowMultilineItems: this.props.shouldAllowMultilineItems\n      };\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          appearance = _this$props.appearance,\n          boundariesElement = _this$props.boundariesElement,\n          children = _this$props.children,\n          isLoading = _this$props.isLoading,\n          isOpen = _this$props.isOpen,\n          maxHeight = _this$props.maxHeight,\n          onClick = _this$props.onClick,\n          onKeyDown = _this$props.onKeyDown,\n          position = _this$props.position,\n          isMenuFixed = _this$props.isMenuFixed,\n          shouldFitContainer = _this$props.shouldFitContainer,\n          shouldFlip = _this$props.shouldFlip,\n          trigger = _this$props.trigger,\n          onPositioned = _this$props.onPositioned,\n          testId = _this$props.testId;\n      var layerContent = isOpen ? React.createElement(Content, {\n        \"data-role\": \"droplistContent\",\n        \"data-testid\": testId && \"\".concat(testId, \"--content\"),\n        isTall: appearance === 'tall',\n        innerRef: this.handleContentRef,\n        maxHeight: maxHeight\n      }, isLoading ? React.createElement(SpinnerContainer, null, React.createElement(Spinner, {\n        size: \"small\"\n      })) : React.createElement(ThemeProvider, {\n        theme: itemTheme\n      }, React.createElement(\"div\", null, children))) : null;\n      return React.createElement(Wrapper, {\n        fit: shouldFitContainer,\n        onClick: onClick,\n        onKeyDown: onKeyDown\n      }, React.createElement(Layer, {\n        autoFlip: shouldFlip,\n        boundariesElement: boundariesElement,\n        content: layerContent,\n        offset: dropOffset,\n        position: position,\n        isAlwaysFixed: isOpen && isMenuFixed,\n        onPositioned: onPositioned\n      }, React.createElement(Trigger, {\n        fit: shouldFitContainer,\n        innerRef: this.handleTriggerRef\n      }, trigger)));\n    }\n  }]);\n\n  return Droplist;\n}(Component);\n\n_defineProperty(Droplist, \"defaultProps\", {\n  appearance: 'default',\n  boundariesElement: 'viewport',\n  children: null,\n  isLoading: false,\n  isOpen: false,\n  onClick: function onClick() {},\n  onKeyDown: function onKeyDown() {},\n  onOpenChange: function onOpenChange() {},\n  position: 'bottom left',\n  isMenuFixed: false,\n  shouldAllowMultilineItems: false,\n  shouldFitContainer: false,\n  shouldFlip: true,\n  trigger: null,\n  onPositioned: function onPositioned() {}\n});\n\n_defineProperty(Droplist, \"childContextTypes\", {\n  shouldAllowMultilineItems: PropTypes.bool\n});\n\nexport { Droplist as DroplistWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n  componentName: 'droplist',\n  packageName: packageName,\n  packageVersion: packageVersion\n})(withAnalyticsEvents({\n  onOpenChange: createAndFireEventOnAtlaskit({\n    action: 'toggled',\n    actionSubject: 'droplist',\n    attributes: {\n      componentName: 'droplist',\n      packageName: packageName,\n      packageVersion: packageVersion\n    }\n  })\n})(Droplist));","var prefix = function prefix(key) {\n  return \"@atlaskit-private-do-not-use/dropdown-menu:\".concat(key);\n};\n\nexport var focusManagerContext = prefix('focus-manager');\nexport var selectionCacheContext = prefix('selection-cache');\nexport var selectionManagerContext = prefix('selection-manager');\nexport var clickManagerContext = prefix('click-manager');","export var KEY_UP = 'ArrowUp';\nexport var KEY_DOWN = 'ArrowDown';\nexport var KEY_SPACE = ' ';\nexport var KEY_ENTER = 'Enter';\nexport var KEY_TAB = 'Tab';\nexport var KEY_ESC = 'Escape';","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { focusManagerContext } from '../../util/contextNamespace';\nimport { KEY_DOWN, KEY_UP, KEY_TAB } from '../../util/keys';\n\nvar DropdownItemFocusManager =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(DropdownItemFocusManager, _Component);\n\n  function DropdownItemFocusManager() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, DropdownItemFocusManager);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemFocusManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"registeredItems\", []);\n\n    _defineProperty(_assertThisInitialized(_this), \"focusedItemId\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemRegistered\", function (itemId, itemNode) {\n      _this.registeredItems.push({\n        itemId: itemId,\n        itemNode: itemNode\n      });\n\n      if (_this.props.autoFocus && _this.registeredItems.length === 1) {\n        _this.focusedItemId = itemId;\n        itemNode.focus();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemDeregistered\", function (itemId) {\n      _this.registeredItems = _this.registeredItems.filter(function (item) {\n        return item.itemId !== itemId;\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemFocused\", function (itemId) {\n      _this.focusedItemId = itemId;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemUpdated\", function (itemId, itemNode) {\n      var matchingIndex = -1;\n\n      for (var i = 0; i < _this.registeredItems.length; i++) {\n        if (_this.registeredItems[i].itemId === itemId) {\n          matchingIndex = i;\n          break;\n        }\n      }\n\n      if (matchingIndex === -1) {\n        _this.handleItemRegistered(itemId, itemNode);\n\n        return;\n      }\n\n      _this.registeredItems[matchingIndex].itemNode = itemNode;\n\n      if (_this.focusedItemIndex() === matchingIndex) {\n        itemNode.focus();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"focusedItemIndex\", function () {\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          focusedItemId = _assertThisInitialize.focusedItemId,\n          registeredItems = _assertThisInitialize.registeredItems;\n\n      for (var i = 0; i < registeredItems.length; i++) {\n        if (registeredItems[i].itemId === focusedItemId) {\n          return i;\n        }\n      }\n\n      return -1;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleKeyboard\", function (event) {\n      var key = event.key,\n          shiftKey = event.shiftKey;\n\n      var focusedItemIndex = _this.focusedItemIndex();\n\n      if (key === KEY_UP || key === KEY_DOWN) {\n        // We prevent default here to avoid page scrolling when up/down\n        // pressed while dropdown is focused.\n        event.preventDefault();\n\n        if (focusedItemIndex < 0) {\n          return;\n        }\n\n        var nextItemIndex = key === KEY_UP ? Math.max(0, focusedItemIndex - 1) : Math.min(_this.registeredItems.length - 1, focusedItemIndex + 1);\n\n        _this.registeredItems[nextItemIndex].itemNode.focus();\n      }\n\n      if (key === KEY_TAB) {\n        if (!shiftKey && focusedItemIndex === _this.registeredItems.length - 1) {\n          if (_this.props.close) _this.props.close({\n            event: event,\n            source: 'keydown'\n          });\n        }\n\n        if (shiftKey && focusedItemIndex === 0) {\n          if (_this.props.close) _this.props.close({\n            event: event,\n            source: 'keydown'\n          });\n        }\n      }\n    });\n\n    return _this;\n  }\n\n  _createClass(DropdownItemFocusManager, [{\n    key: \"getChildContext\",\n    value: function getChildContext() {\n      return _defineProperty({}, focusManagerContext, {\n        itemFocused: this.handleItemFocused,\n        registerItem: this.handleItemRegistered,\n        deregisterItem: this.handleItemDeregistered,\n        updateItem: this.handleItemUpdated\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n      return React.createElement(\"div\", {\n        onKeyDown: this.handleKeyboard\n      }, this.props.children);\n    }\n  }]);\n\n  return DropdownItemFocusManager;\n}(Component);\n\n_defineProperty(DropdownItemFocusManager, \"childContextTypes\", _defineProperty({}, focusManagerContext, PropTypes.object));\n\nexport { DropdownItemFocusManager as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { clickManagerContext } from '../../util/contextNamespace';\n\nvar DropdownItemClickManager =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(DropdownItemClickManager, _Component);\n\n  function DropdownItemClickManager() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, DropdownItemClickManager);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemClickManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemClicked\", function (event) {\n      _this.props.onItemClicked(event);\n    });\n\n    return _this;\n  }\n\n  _createClass(DropdownItemClickManager, [{\n    key: \"getChildContext\",\n    value: function getChildContext() {\n      return _defineProperty({}, clickManagerContext, {\n        itemClicked: this.handleItemClicked\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return this.props.children;\n    }\n  }]);\n\n  return DropdownItemClickManager;\n}(Component);\n\n_defineProperty(DropdownItemClickManager, \"childContextTypes\", _defineProperty({}, clickManagerContext, PropTypes.object));\n\nexport { DropdownItemClickManager as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport find from 'array-find';\nimport { selectionCacheContext } from '../../util/contextNamespace';\n\nvar isItemInList = function isItemInList(itemList, itemId, groupId) {\n  return Boolean(find(itemList, function (item) {\n    return item.id === itemId && item.groupId === groupId;\n  }));\n};\n\nvar DropdownItemSelectionCache =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(DropdownItemSelectionCache, _Component);\n\n  function DropdownItemSelectionCache() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, DropdownItemSelectionCache);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemSelectionCache)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      lastCacheUpdate: 0\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"selectedItems\", []);\n\n    _defineProperty(_assertThisInitialized(_this), \"alreadyDefaultedItems\", []);\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemSelectionsChanged\", function (groupId, newGroupSelections) {\n      var newSelectedItems = [].concat(_toConsumableArray(_this.selectedItems.filter(function (item) {\n        return item.groupId !== groupId;\n      })), _toConsumableArray(newGroupSelections));\n      _this.selectedItems = newSelectedItems; // We store selectedItems in an instance variable (this.selectedItems) instead of state,\n      // because if multiple children update the cache at the same time it causes unexpected\n      // behaviour due to the asynchronous behaviour of setState. So we need to trigger setState\n      // with a different value to cause the children to be updated with their new selection values.\n\n      _this.setState({\n        lastCacheUpdate: Date.now()\n      });\n    });\n\n    return _this;\n  }\n\n  _createClass(DropdownItemSelectionCache, [{\n    key: \"getChildContext\",\n    // eslint-disable-line react/sort-comp\n    value: function getChildContext() {\n      var _this2 = this;\n\n      return _defineProperty({}, selectionCacheContext, {\n        // This function returns true/false describing whether the supplied navigation item\n        // (which must have a unique item and group ID) is currently selected - this is used\n        // by radio and checkbox dropdown items to retreive their 'selected' state when they\n        // re-mount, which happens when the dropdown is closed and then re-opened.\n        isItemSelected: function isItemSelected(groupId, itemId) {\n          return isItemInList(_this2.selectedItems, itemId, groupId);\n        },\n        itemsInGroup: function itemsInGroup(groupId) {\n          return _this2.selectedItems.filter(function (item) {\n            return item.groupId === groupId;\n          });\n        },\n        itemSelectionsChanged: this.handleItemSelectionsChanged,\n        hasItemAlreadyHadDefaultSelectedApplied: function hasItemAlreadyHadDefaultSelectedApplied(groupId, itemId) {\n          return isItemInList(_this2.alreadyDefaultedItems, itemId, groupId);\n        },\n        markItemAsDefaultApplied: function markItemAsDefaultApplied(groupId, itemId) {\n          _this2.alreadyDefaultedItems.push({\n            id: itemId,\n            groupId: groupId\n          });\n        }\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return React.createElement(\"div\", null, this.props.children);\n    }\n  }]);\n\n  return DropdownItemSelectionCache;\n}(Component);\n\n_defineProperty(DropdownItemSelectionCache, \"childContextTypes\", _defineProperty({}, selectionCacheContext, PropTypes.shape({\n  isItemSelected: PropTypes.func,\n  itemsInGroup: PropTypes.func,\n  itemSelectionsChanged: PropTypes.func\n})));\n\nexport { DropdownItemSelectionCache as default };","import styled from 'styled-components';\nexport default styled.div.withConfig({\n  displayName: \"WidthConstrainer\",\n  componentId: \"sc-15doeus-0\"\n})([\"\\n  \", \";\\n\"], function (_ref) {\n  var shouldFitContainer = _ref.shouldFitContainer;\n  return shouldFitContainer ? '' : 'max-width: 300px;';\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/no-array-index-key */\nimport React, { Component, Fragment } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { uid } from 'react-uid';\nimport { withAnalyticsContext, withAnalyticsEvents, createAndFireEvent } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport Droplist, { Item, Group } from '@atlaskit/droplist';\nimport ExpandIcon from '@atlaskit/icon/glyph/chevron-down';\nimport { name as packageName, version as packageVersion } from '../version.json';\nimport DropdownItemFocusManager from './context/DropdownItemFocusManager';\nimport DropdownItemClickManager from './context/DropdownItemClickManager';\nimport DropdownItemSelectionCache from './context/DropdownItemSelectionCache';\nimport WidthConstrainer from '../styled/WidthConstrainer';\nimport { KEY_DOWN, KEY_SPACE, KEY_ENTER } from '../util/keys';\n\nvar DropdownMenuStateless =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(DropdownMenuStateless, _Component);\n\n  function DropdownMenuStateless() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, DropdownMenuStateless);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownMenuStateless)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"domItemsList\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"focusedItem\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"triggerContainer\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"sourceOfIsOpen\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"dropdownListPositioned\", false);\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      id: uid({\n        id: _this.constructor.name\n      }),\n      autoFocusDropdownItems: false\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n      if (_this.isUsingDeprecatedAPI()) {\n        if (process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.log('DropdownMenu.items is deprecated. Please switch to the declarative API.');\n        }\n\n        if (_this.domItemsList) {\n          _this.focusFirstItem();\n        }\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProp) {\n      if (_this.isUsingDeprecatedAPI() && _this.props.isOpen && !prevProp.isOpen) {\n        _this.focusFirstItem();\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getNextFocusable\", function (indexItem, available) {\n      if (!_this.domItemsList) {\n        return null;\n      }\n\n      var currentItem = typeof indexItem !== 'number' ? -1 : indexItem;\n      var latestAvailable = typeof available !== 'number' ? currentItem : available;\n\n      if (currentItem < _this.domItemsList.length - 1) {\n        currentItem++;\n\n        if (_this.domItemsList[currentItem].getAttribute('aria-hidden') !== 'true') {\n          return currentItem;\n        }\n\n        return _this.getNextFocusable(currentItem, latestAvailable);\n      }\n\n      return latestAvailable;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getPrevFocusable\", function (indexItem, available) {\n      if (!_this.domItemsList) {\n        return null;\n      }\n\n      var currentItem = typeof indexItem !== 'number' ? -1 : indexItem;\n      var latestAvailable = typeof available !== 'number' ? currentItem : available;\n\n      if (currentItem && currentItem > 0) {\n        currentItem--;\n\n        if (_this.domItemsList[currentItem].getAttribute('aria-hidden') !== 'true') {\n          return currentItem;\n        }\n\n        return _this.getPrevFocusable(currentItem, latestAvailable);\n      }\n\n      return latestAvailable || currentItem;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"focusFirstItem\", function () {\n      if (_this.sourceOfIsOpen === 'keydown') {\n        _this.focusItem(_this.getNextFocusable());\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"focusNextItem\", function () {\n      _this.focusItem(_this.getNextFocusable(_this.focusedItem));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"focusPreviousItem\", function () {\n      _this.focusItem(_this.getPrevFocusable(_this.focusedItem));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"focusItem\", function (index) {\n      if (!_this.domItemsList || !index) {\n        return;\n      }\n\n      _this.focusedItem = index;\n\n      _this.domItemsList[_this.focusedItem].focus();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"isTargetChildItem\", function (target) {\n      if (!target) return false;\n      var isDroplistItem = target.getAttribute('data-role') === 'droplistItem'; // eslint-disable-next-line react/no-find-dom-node\n\n      var thisDom = findDOMNode(_assertThisInitialized(_this));\n      return isDroplistItem && thisDom ? thisDom.contains(target) : false;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleKeyboardInteractionForClosed\", function (event) {\n      if (_this.props.isOpen) {\n        return;\n      }\n\n      switch (event.key) {\n        case KEY_DOWN:\n        case KEY_SPACE:\n        case KEY_ENTER:\n          event.preventDefault();\n\n          _this.open({\n            event: event,\n            source: 'keydown'\n          });\n\n          break;\n\n        default:\n          break;\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleKeyboardInteractionsDeprecated\", function (event) {\n      // KeyboardEvent.target is typed as an EventTarget but we need to access methods on it which\n      // are specific to Element. Due limitations of the HTML spec flow doesn't know that an\n      // EventTarget can have these methods, so we cast it to Element through Object. This is the\n      // safest thing we can do in this situation.\n      // https://flow.org/en/docs/types/casting/#toc-type-casting-through-any\n      var target = event.target;\n\n      if (_this.props.isOpen) {\n        if (_this.isTargetChildItem(target)) {\n          switch (event.key) {\n            case 'ArrowUp':\n              event.preventDefault();\n\n              _this.focusPreviousItem();\n\n              break;\n\n            case 'ArrowDown':\n              event.preventDefault();\n\n              _this.focusNextItem();\n\n              break;\n\n            case 'Tab':\n              event.preventDefault();\n\n              _this.close({\n                event: event\n              });\n\n              break;\n\n            default:\n              break;\n          }\n        } else if (event.key === 'ArrowDown') {\n          _this.sourceOfIsOpen = 'keydown';\n\n          _this.focusFirstItem();\n        } else if (event.key === 'Tab') {\n          _this.close({\n            event: event\n          });\n        }\n      } else {\n        switch (event.key) {\n          case KEY_DOWN:\n          case KEY_SPACE:\n          case KEY_ENTER:\n            event.preventDefault();\n\n            _this.open({\n              event: event,\n              source: 'keydown'\n            });\n\n            break;\n\n          default:\n            break;\n        }\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"domMenuContainer\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClickDeprecated\", function (event) {\n      var menuContainer = _this.domMenuContainer; // Casting target to Element. See comment in `handleKeyboardInteractionsDeprecated`.\n\n      var target = event.target;\n\n      if (!menuContainer || menuContainer && !menuContainer.contains(target)) {\n        _this.toggle({\n          source: 'click',\n          event: event\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"isUsingDeprecatedAPI\", function () {\n      return Boolean(_this.props.items.length);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n      // For any clicks we don't want autofocus\n      _this.setState({\n        autoFocusDropdownItems: false\n      });\n\n      if (_this.isUsingDeprecatedAPI()) {\n        _this.handleClickDeprecated(event);\n\n        return;\n      }\n\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          triggerContainer = _assertThisInitialize.triggerContainer; // Casting target to Element. See comment in `handleKeyboardInteractionsDeprecated`.\n\n\n      var target = event.target;\n\n      if (triggerContainer && triggerContainer.contains(target) && // $FlowFixMe - disabled is not in Element\n      target.disabled !== true) {\n        var isOpen = _this.props.isOpen;\n        _this.sourceOfIsOpen = 'mouse';\n\n        _this.props.onOpenChange({\n          isOpen: !isOpen,\n          event: event\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"triggerContent\", function () {\n      var _this$props = _this.props,\n          children = _this$props.children,\n          trigger = _this$props.trigger,\n          isOpen = _this$props.isOpen,\n          triggerButtonProps = _this$props.triggerButtonProps,\n          triggerType = _this$props.triggerType,\n          testId = _this$props.testId;\n      var insideTriggerContent = _this.isUsingDeprecatedAPI() ? children : trigger;\n\n      if (triggerType !== 'button') {\n        return insideTriggerContent;\n      }\n\n      var triggerProps = _objectSpread({}, triggerButtonProps);\n\n      var defaultButtonProps = {\n        'aria-controls': _this.state.id,\n        'aria-expanded': isOpen,\n        'aria-haspopup': true,\n        isSelected: isOpen\n      };\n\n      if (!triggerProps.iconAfter && !triggerProps.iconBefore) {\n        triggerProps.iconAfter = React.createElement(ExpandIcon, {\n          size: \"medium\",\n          label: \"\"\n        });\n      }\n\n      return React.createElement(Button, _extends({}, defaultButtonProps, triggerProps, {\n        testId: testId && \"\".concat(testId, \"--trigger\")\n      }), insideTriggerContent);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"open\", function (attrs) {\n      _this.sourceOfIsOpen = attrs.source;\n\n      _this.props.onOpenChange({\n        isOpen: true,\n        event: attrs.event\n      }); // Dropdown opened via keyboard gets auto focussed\n\n\n      _this.setState({\n        autoFocusDropdownItems: _this.sourceOfIsOpen === 'keydown'\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"close\", function (attrs) {\n      _this.sourceOfIsOpen = null;\n\n      _this.props.onOpenChange({\n        isOpen: false,\n        event: attrs.event\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"toggle\", function (attrs) {\n      if (attrs.source === 'keydown') return;\n\n      if (_this.props.isOpen) {\n        _this.close(attrs);\n      } else {\n        _this.open(attrs);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemClicked\", function (event) {\n      _this.props.onOpenChange({\n        isOpen: false,\n        event: event\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderTrigger\", function () {\n      var triggerContent = _this.triggerContent();\n\n      return _this.isUsingDeprecatedAPI() ? triggerContent : React.createElement(\"div\", {\n        ref: function ref(_ref) {\n          _this.triggerContainer = _ref;\n        }\n      }, triggerContent);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderItems\", function (items) {\n      return items.map(function (item, itemIndex) {\n        return React.createElement(Item, _extends({}, item, {\n          key: itemIndex,\n          onActivate: function onActivate(_ref2) {\n            var event = _ref2.event;\n\n            _this.props.onItemActivated({\n              item: item,\n              event: event\n            });\n          }\n        }), item.content);\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderGroups\", function (groups) {\n      return groups.map(function (group, groupIndex) {\n        return React.createElement(Group, {\n          heading: group.heading,\n          elemAfter: group.elemAfter,\n          key: groupIndex\n        }, _this.renderItems(group.items));\n      });\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderDeprecated\", function () {\n      var _this$props2 = _this.props,\n          items = _this$props2.items,\n          shouldFitContainer = _this$props2.shouldFitContainer;\n      var id = _this.state.id;\n      return React.createElement(\"div\", {\n        id: id,\n        ref: function ref(_ref3) {\n          _this.domMenuContainer = _ref3;\n          _this.domItemsList = _ref3 ? _ref3.querySelectorAll('[data-role=\"droplistItem\"]') : null;\n        },\n        role: \"menu\",\n        style: shouldFitContainer ? null : {\n          maxWidth: 300\n        }\n      }, _this.renderGroups(items));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"onDroplistPositioned\", function () {\n      _this.dropdownListPositioned = true; // Trigger render so item focus manager can auto focus for keyboard trigger\n\n      _this.setState({\n        autoFocusDropdownItems: _this.sourceOfIsOpen === 'keydown'\n      });\n\n      if (_this.props.onPositioned) _this.props.onPositioned();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"renderDropdownItems\", function () {\n      if (_this.sourceOfIsOpen === 'keydown' && _this.dropdownListPositioned) {\n        return React.createElement(DropdownItemFocusManager, {\n          autoFocus: _this.state.autoFocusDropdownItems,\n          close: _this.close\n        }, _this.props.children);\n      }\n\n      return React.createElement(Fragment, null, _this.props.children);\n    });\n\n    return _this;\n  }\n\n  _createClass(DropdownMenuStateless, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props3 = this.props,\n          appearance = _this$props3.appearance,\n          boundariesElement = _this$props3.boundariesElement,\n          isLoading = _this$props3.isLoading,\n          isOpen = _this$props3.isOpen,\n          onOpenChange = _this$props3.onOpenChange,\n          position = _this$props3.position,\n          isMenuFixed = _this$props3.isMenuFixed,\n          shouldAllowMultilineItems = _this$props3.shouldAllowMultilineItems,\n          shouldFitContainer = _this$props3.shouldFitContainer,\n          shouldFlip = _this$props3.shouldFlip,\n          testId = _this$props3.testId;\n      var id = this.state.id;\n      var isDeprecated = this.isUsingDeprecatedAPI();\n      var deprecatedProps = isDeprecated ? {\n        onKeyDown: this.handleKeyboardInteractionsDeprecated,\n        shouldAllowMultilineItems: shouldAllowMultilineItems\n      } : {\n        onKeyDown: this.handleKeyboardInteractionForClosed\n      };\n      return React.createElement(DropdownItemSelectionCache, null, React.createElement(Droplist, _extends({\n        appearance: appearance,\n        boundariesElement: boundariesElement,\n        isLoading: isLoading,\n        isOpen: isOpen,\n        onClick: this.handleClick,\n        onOpenChange: onOpenChange,\n        position: position,\n        isMenuFixed: isMenuFixed,\n        shouldFitContainer: shouldFitContainer,\n        shouldFlip: shouldFlip,\n        trigger: this.renderTrigger(),\n        onPositioned: this.onDroplistPositioned\n      }, deprecatedProps, {\n        analyticsContext: {\n          componentName: 'dropdownMenu',\n          packageName: packageName,\n          packageVersion: packageVersion\n        },\n        testId: testId\n      }), isDeprecated ? this.renderDeprecated() : React.createElement(WidthConstrainer, {\n        id: id,\n        role: \"menu\",\n        shouldFitContainer: shouldFitContainer\n      }, React.createElement(DropdownItemClickManager, {\n        onItemClicked: this.handleItemClicked\n      }, this.renderDropdownItems()))));\n    }\n  }]);\n\n  return DropdownMenuStateless;\n}(Component);\n\n_defineProperty(DropdownMenuStateless, \"defaultProps\", {\n  appearance: 'default',\n  boundariesElement: 'viewport',\n  isLoading: false,\n  isOpen: false,\n  items: [],\n  onItemActivated: function onItemActivated() {},\n  onOpenChange: function onOpenChange() {},\n  position: 'bottom left',\n  isMenuFixed: false,\n  shouldAllowMultilineItems: false,\n  shouldFitContainer: false,\n  shouldFlip: true,\n  triggerType: 'default',\n  onPositioned: function onPositioned() {}\n});\n\nexport { DropdownMenuStateless as DropdownMenuStatelessWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n  componentName: 'dropdownMenu',\n  packageName: packageName,\n  packageVersion: packageVersion\n})(withAnalyticsEvents({\n  onOpenChange: createAndFireEventOnAtlaskit({\n    action: 'toggled',\n    actionSubject: 'dropdownMenu',\n    attributes: {\n      componentName: 'dropdownMenu',\n      packageName: packageName,\n      packageVersion: packageVersion\n    }\n  })\n})(DropdownMenuStateless));","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n    var consumerEvent = createAnalyticsEvent(payload);\n    var clonedEvent = consumerEvent.clone();\n    if (clonedEvent) {\n        clonedEvent.fire(channel);\n    }\n    return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n    var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n        var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n        var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n        return (React.createElement(AnalyticsContext, { data: analyticsData },\n            React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n    });\n    // @ts-ignore\n    WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport StatelessMenu from './DropdownMenuStateless';\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(DropdownMenu, _Component);\n\n  function DropdownMenu() {\n    var _getPrototypeOf2;\n\n    var _this;\n\n    _classCallCheck(this, DropdownMenu);\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownMenu)).call.apply(_getPrototypeOf2, [this].concat(_args)));\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      isOpen: _this.props.defaultOpen,\n      items: _toConsumableArray(_this.props.items)\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"findActivatedGroup\", function (item) {\n      return _this.state.items.filter(function (group) {\n        return group.items.indexOf(item) > -1;\n      })[0];\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleItemActivation\", function (attrs) {\n      var activatedItem = attrs.item;\n\n      var activatedGroup = _this.findActivatedGroup(activatedItem);\n\n      var items = _toConsumableArray(_this.state.items);\n\n      switch (activatedItem.type) {\n        case 'checkbox':\n          activatedItem.isChecked = !activatedItem.isChecked;\n\n          _this.props.onItemActivated({\n            item: activatedItem\n          });\n\n          _this.setState({\n            items: items\n          });\n\n          break;\n\n        case 'radio':\n          activatedGroup.items.forEach(function (i) {\n            if (i === activatedItem) {\n              i.isChecked = true; // eslint-disable-line no-param-reassign\n            } else {\n              i.isChecked = false; // eslint-disable-line no-param-reassign\n            }\n          });\n\n          _this.props.onItemActivated({\n            item: activatedItem\n          });\n\n          _this.setState({\n            items: items\n          });\n\n          break;\n\n        case 'link':\n        default:\n          _this.props.onItemActivated({\n            item: activatedItem\n          });\n\n          _this.close();\n\n          break;\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"handleOpenChange\", function (attrs) {\n      var _this$props;\n\n      if (_this.state.isOpen === attrs.isOpen) return;\n\n      _this.setState({\n        isOpen: attrs.isOpen\n      });\n\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      (_this$props = _this.props).onOpenChange.apply(_this$props, [attrs].concat(args));\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"close\", function () {\n      var _this$props2;\n\n      if (_this.state.isOpen === false) return;\n\n      _this.setState({\n        isOpen: false\n      });\n\n      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n        args[_key3] = arguments[_key3];\n      }\n\n      (_this$props2 = _this.props).onOpenChange.apply(_this$props2, [{\n        isOpen: false\n      }].concat(args));\n    });\n\n    return _this;\n  }\n\n  _createClass(DropdownMenu, [{\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(nextProps) {\n      if (nextProps.items !== this.state.items) {\n        this.setState({\n          items: _toConsumableArray(nextProps.items)\n        });\n      }\n\n      if (nextProps.isOpen !== this.props.isOpen) {\n        this.setState({\n          isOpen: nextProps.isOpen\n        });\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var isOpen = this.state.isOpen;\n      var _this$props3 = this.props,\n          appearance = _this$props3.appearance,\n          boundariesElement = _this$props3.boundariesElement,\n          children = _this$props3.children,\n          isLoading = _this$props3.isLoading,\n          items = _this$props3.items,\n          position = _this$props3.position,\n          isMenuFixed = _this$props3.isMenuFixed,\n          shouldAllowMultilineItems = _this$props3.shouldAllowMultilineItems,\n          shouldFitContainer = _this$props3.shouldFitContainer,\n          shouldFlip = _this$props3.shouldFlip,\n          testId = _this$props3.testId,\n          trigger = _this$props3.trigger,\n          triggerButtonProps = _this$props3.triggerButtonProps,\n          triggerType = _this$props3.triggerType,\n          onPositioned = _this$props3.onPositioned;\n      return React.createElement(StatelessMenu, {\n        appearance: appearance,\n        boundariesElement: boundariesElement,\n        isOpen: isOpen,\n        isLoading: isLoading,\n        items: items,\n        onItemActivated: this.handleItemActivation,\n        onOpenChange: this.handleOpenChange,\n        position: position,\n        isMenuFixed: isMenuFixed,\n        shouldAllowMultilineItems: shouldAllowMultilineItems,\n        shouldFitContainer: shouldFitContainer,\n        shouldFlip: shouldFlip,\n        trigger: trigger,\n        triggerButtonProps: triggerButtonProps,\n        triggerType: triggerType,\n        onPositioned: onPositioned,\n        testId: testId\n      }, children);\n    }\n  }]);\n\n  return DropdownMenu;\n}(Component);\n\n_defineProperty(DropdownMenu, \"defaultProps\", {\n  appearance: 'default',\n  boundariesElement: 'viewport',\n  defaultOpen: false,\n  isLoading: false,\n  isOpen: false,\n  items: [],\n  onItemActivated: function onItemActivated() {},\n  onOpenChange: function onOpenChange() {},\n  position: 'bottom left',\n  isMenuFixed: false,\n  shouldAllowMultilineItems: false,\n  shouldFitContainer: false,\n  shouldFlip: true,\n  triggerType: 'default',\n  onPositioned: function onPositioned() {}\n});\n\nexport { DropdownMenu as default };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n    var size = _a.size;\n    return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n  \", \";\\n  color: \", \";\\n  display: inline-block;\\n  fill: \", \";\\n  flex-shrink: 0;\\n  line-height: 1;\\n\\n  > svg {\\n    \", \";\\n    max-height: 100%;\\n    max-width: 100%;\\n    overflow: hidden;\\n    pointer-events: none;\\n    vertical-align: bottom;\\n  }\\n\\n  /**\\n   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n   * rule) and then override it with currentColor for the color changes to be picked up.\\n   */\\n  stop {\\n    stop-color: currentColor;\\n  }\\n\"], [\"\\n  \", \";\\n  color: \", \";\\n  display: inline-block;\\n  fill: \", \";\\n  flex-shrink: 0;\\n  line-height: 1;\\n\\n  > svg {\\n    \", \";\\n    max-height: 100%;\\n    max-width: 100%;\\n    overflow: hidden;\\n    pointer-events: none;\\n    vertical-align: bottom;\\n  }\\n\\n  /**\\n   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n   * rule) and then override it with currentColor for the color changes to be picked up.\\n   */\\n  stop {\\n    stop-color: currentColor;\\n  }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\n/**\n * Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\nfunction insertDynamicGradientID(svgStr, label) {\n    var id = uuid_1.default();\n    var replacedSvgStr = svgStr\n        .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n        .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n    return replacedSvgStr;\n}\nvar Icon = function (props) {\n    var Glyph = props.glyph, dangerouslySetGlyph = props.dangerouslySetGlyph, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, size = props.size, testId = props.testId, label = props.label;\n    var glyphProps = dangerouslySetGlyph\n        ? {\n            dangerouslySetInnerHTML: {\n                __html: insertDynamicGradientID(dangerouslySetGlyph, label),\n            },\n        }\n        : { children: Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null };\n    return (react_1.default.createElement(exports.IconWrapper, tslib_1.__assign({ primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"data-testid\": testId, role: label ? 'img' : 'presentation', \"aria-label\": label ? label : undefined }, glyphProps)));\n};\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n    small: '16px',\n    medium: '24px',\n    large: '32px',\n    xlarge: '48px',\n};\nexports.sizeMap = {\n    small: 'small',\n    medium: 'medium',\n    large: 'large',\n    xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronDownIcon = function ChevronDownIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><path d=\\\"M8.292 10.293a1.009 1.009 0 0 0 0 1.419l2.939 2.965c.218.215.5.322.779.322s.556-.107.769-.322l2.93-2.955a1.01 1.01 0 0 0 0-1.419.987.987 0 0 0-1.406 0l-2.298 2.317-2.307-2.327a.99.99 0 0 0-1.406 0z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/></svg>\"\n  }, props));\n};\n\nChevronDownIcon.displayName = 'ChevronDownIcon';\nvar _default = ChevronDownIcon;\nexports.default = _default;","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n    var size = _a.size;\n    return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n  \", \";\\n  color: \", \";\\n  display: inline-block;\\n  fill: \", \";\\n  flex-shrink: 0;\\n  line-height: 1;\\n\\n  > svg {\\n    \", \";\\n    max-height: 100%;\\n    max-width: 100%;\\n    overflow: hidden;\\n    pointer-events: none;\\n    vertical-align: bottom;\\n  }\\n\\n  /**\\n   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n   * rule) and then override it with currentColor for the color changes to be picked up.\\n   */\\n  stop {\\n    stop-color: currentColor;\\n  }\\n\"], [\"\\n  \", \";\\n  color: \", \";\\n  display: inline-block;\\n  fill: \", \";\\n  flex-shrink: 0;\\n  line-height: 1;\\n\\n  > svg {\\n    \", \";\\n    max-height: 100%;\\n    max-width: 100%;\\n    overflow: hidden;\\n    pointer-events: none;\\n    vertical-align: bottom;\\n  }\\n\\n  /**\\n   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n   * rule) and then override it with currentColor for the color changes to be picked up.\\n   */\\n  stop {\\n    stop-color: currentColor;\\n  }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\n/**\n * Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\nfunction insertDynamicGradientID(svgStr, label) {\n    var id = uuid_1.default();\n    var replacedSvgStr = svgStr\n        .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n        .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n    return replacedSvgStr;\n}\nvar Icon = function (props) {\n    var Glyph = props.glyph, dangerouslySetGlyph = props.dangerouslySetGlyph, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, size = props.size, testId = props.testId, label = props.label;\n    var glyphProps = dangerouslySetGlyph\n        ? {\n            dangerouslySetInnerHTML: {\n                __html: insertDynamicGradientID(dangerouslySetGlyph, label),\n            },\n        }\n        : { children: Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null };\n    return (react_1.default.createElement(exports.IconWrapper, tslib_1.__assign({ primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"data-testid\": testId, role: label ? 'img' : 'presentation', \"aria-label\": label ? label : undefined }, glyphProps)));\n};\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n    small: '16px',\n    medium: '24px',\n    large: '32px',\n    xlarge: '48px',\n};\nexports.sizeMap = {\n    small: 'small',\n    medium: 'medium',\n    large: 'large',\n    xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar CheckboxIcon = function CheckboxIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><g fill-rule=\\\"evenodd\\\"><rect fill=\\\"currentColor\\\" x=\\\"6\\\" y=\\\"6\\\" width=\\\"12\\\" height=\\\"12\\\" rx=\\\"2\\\"/><path d=\\\"M9.707 11.293a1 1 0 1 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 1 0-1.414-1.414L11 12.586l-1.293-1.293z\\\" fill=\\\"inherit\\\"/></g></svg>\"\n  }, props));\n};\n\nCheckboxIcon.displayName = 'CheckboxIcon';\nvar _default = CheckboxIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar RadioIcon = function RadioIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><g fill-rule=\\\"evenodd\\\"><circle fill=\\\"currentColor\\\" cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"6\\\"/><circle fill=\\\"inherit\\\" cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"2\\\"/></g></svg>\"\n  }, props));\n};\n\nRadioIcon.displayName = 'RadioIcon';\nvar _default = RadioIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","import _extends from \"@babel/runtime/helpers/extends\";\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 * @private\n * @deprecated DSP-8009: This type is scheduled for deletion.\n * Please use `Box` from `@atlaskit/primitives` instead.\n */\n\n// Without this type annotation on Box we don't get autocomplete for props due to forwardRef types\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 * @private\n * @deprecated DSP-8009: This primitive is scheduled for deletion.\n * Please use `Box` from `@atlaskit/primitives` instead.\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\n    // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\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;\n\n// <<< 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: \"var(--ds-radius-100, 3px)\"\n  }),\n  rounded: css({\n    borderRadius: '50%'\n  }),\n  badge: css({\n    borderRadius: '8px'\n  })\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/**\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/**\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    justifyContent: 'start'\n  }),\n  end: css({\n    justifyContent: '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/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::327e769aaa3da9422a919a0ca9490070>>\n * @codegenId dimensions\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"width\", \"height\"]\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 * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::0ba10ee53636df14b0db65fa1adbc94c>>\n * @codegenId spacing\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"padding\", \"paddingBlock\", \"paddingInline\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-spacing.tsx <<SignedSource::167d3b69b159ae33e74d4ea5ab7eade6>>\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 * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::514663609a5a48a284de40c5c4ad200b>>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"border\", \"background\", \"shadow\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::10aa7e87eca39e4d6594a764e78e0698>>\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 * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::bacbea271b30ec7d2f61306c9a8a9e63>>\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/**\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 * __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/**\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 */\nexport const useSurface = () => {\n  return useContext(SurfaceContext);\n};\nSurfaceContext.displayName = 'SurfaceProvider';","/**\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 <<SignedSource::d168519874a16bbb92cfbfd4747a39b4>>\n * @codegenCommand yarn codegen-styles\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::10aa7e87eca39e4d6594a764e78e0698>>\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/**\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 */\nconst useColor = colorProp => {\n  const surface = useSurface();\n  const inverseTextColor = surfaceColorMap[surface];\n\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  const color = inverseTextColor !== null && inverseTextColor !== void 0 ? inverseTextColor : colorProp;\n  return color;\n};\nconst HasTextAncestorContext = /*#__PURE__*/createContext(false);\nconst useHasTextAncestor = () => useContext(HasTextAncestorContext);\n\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 */\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  /**\n   * If the text is already wrapped and applies no props we can just\n   * render the children directly as a fragment.\n   */\n  if (isWrapped && Object.keys(props).length === 0) {\n    return jsx(Fragment, null, children);\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 ?\n  // no need to re-apply context if the text is already wrapped\n  component : jsx(HasTextAncestorContext.Provider, {\n    value: true\n  }, component);\n};\nexport default Text;\n\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::9f746e797b8b5262d58b40dfecb39e6d>>\n * @codegenId typography\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"fontSize\", \"fontWeight\", \"fontFamily\", \"lineHeight\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-typography.tsx <<SignedSource::e6bf70c53b8eecdb84ae4c79966537e3>>\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 * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::3780858df77f5fe0c6e0f39a4c989741>>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"text\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::10aa7e87eca39e4d6594a764e78e0698>>\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/**\n * @codegenEnd\n */","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { useEffect, useRef } from 'react';\n\n/**\n * Focusing on the passed element ref after initial mount.\n * Will only focus on initial mount.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/autofocus\n *\n * ```tsx\n * import useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\n *\n * const elementRef = useRef();\n * useAutoFocus(elementRef, true);\n *\n * <button ref={elementRef} />;\n * ```\n *\n * @param ref\n * @param autoFocus\n */\nexport default function useAutoFocus(ref, autoFocus) {\n  const initialMount = useRef(true);\n  useEffect(() => {\n    if (ref && initialMount.current && autoFocus && ref.current) {\n      ref.current.focus();\n    }\n    initialMount.current = false;\n  }, [autoFocus, ref]);\n}","/**\n * Character key codes which can be used in keyboard events.\n */\nexport const KEY_UP = 'ArrowUp';\nexport const KEY_DOWN = 'ArrowDown';\nexport const KEY_HOME = 'Home';\nexport const KEY_END = 'End';\nexport const ESCAPE = 'Escape';","import { useCallback, useEffect, useRef } from 'react';\nimport { bindAll } from 'bind-event-listener';\nimport { ESCAPE } from '../utils/keycodes';\n/**\n * Calls back when the escape key is pressed.\n * To be used exclusively for closing layered components.\n * Use the `isDisabled` argument to ignore closing events.\n *\n * ```js\n * useCloseOnEscapePress({\n *   onClose: () => {},\n *   isDisabled: false,\n * });\n * ```\n */\nexport default function useCloseOnEscapePress({\n  onClose,\n  isDisabled\n}) {\n  const escapePressed = useRef(false);\n  const onKeyDown = useCallback(e => {\n    if (isDisabled || escapePressed.current || e.key !== ESCAPE) {\n      // We're either already handling the key down event or it's not escape.\n      // Bail early!\n      return;\n    }\n    escapePressed.current = true;\n    onClose(e);\n  }, [onClose, isDisabled]);\n  const onKeyUp = useCallback(() => {\n    escapePressed.current = false;\n  }, []);\n  useEffect(() => {\n    return bindAll(document, [{\n      type: 'keydown',\n      listener: onKeyDown\n    }, {\n      type: 'keyup',\n      listener: onKeyUp\n    }], {\n      capture: false\n    });\n  }, [onKeyDown, onKeyUp]);\n}","/**\n * Assigns the node to all the refs passed in the argument.\n *\n * @param refs: An array of refs (as function or ref object)\n */\nexport default function mergeRefs(refs) {\n  return value => {\n    refs.forEach(ref => {\n      if (typeof ref === 'function') {\n        ref(value);\n      } else if (ref !== null) {\n        ref.current = value;\n      }\n    });\n  };\n}","/**\n * An empty function which does nothing.\n */\n// eslint-disable-next-line @repo/internal/react/use-noop\nexport default function noop() {}","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","/** @jsx jsx */\nimport { Children, cloneElement, memo } from 'react';\nimport { ClassNames, css, jsx } from '@emotion/react';\nconst BORDER_WIDTH = 2;\nconst baseFocusOutsideStyles = css({\n  outline: `${BORDER_WIDTH}px solid ${\"var(--ds-border-focused, #4C9AFF)\"}`,\n  outlineOffset: BORDER_WIDTH\n});\nconst baseInsetStyles = css({\n  outlineColor: \"var(--ds-border-focused, #4C9AFF)\",\n  outlineOffset: -BORDER_WIDTH,\n  outlineStyle: 'solid',\n  outlineWidth: BORDER_WIDTH\n});\nconst focusRingStyles = css({\n  '&:focus-visible': baseFocusOutsideStyles,\n  '@supports not selector(*:focus-visible)': {\n    '&:focus': baseFocusOutsideStyles\n  },\n  '@media screen and (forced-colors: active), screen and (-ms-high-contrast: active)': {\n    '&:focus-visible': {\n      outline: '1px solid'\n    }\n  }\n});\nconst insetFocusRingStyles = css({\n  '&:focus-visible': baseInsetStyles,\n  '@supports not selector(*:focus-visible)': {\n    '&:focus': baseInsetStyles\n  },\n  '@media screen and (forced-colors: active), screen and (-ms-high-contrast: active)': {\n    '&:focus-visible': {\n      outline: '1px solid',\n      outlineOffset: '-1px'\n    }\n  }\n});\n\n/**\n * __Focus ring__\n *\n * A focus ring visually indicates the currently focused item.\n *\n * There are known accessibility issues with this component.\n * Do not use without assistance from the Design System accessibility team.\n *\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/focus-ring)\n *\n * @example\n * ```jsx\n * import FocusRing from '@atlaskit/focus-ring';\n *\n * const InteractiveComponent = () => (\n *   <FocusRing>\n *     <button type=\"button\">Hello</button>\n *   </FocusRing>\n * )\n * ```\n */\nconst FocusRing = /*#__PURE__*/memo(({\n  children,\n  isInset,\n  focus\n}) => {\n  const controlledStyles = isInset ? baseInsetStyles : baseFocusOutsideStyles;\n  const uncontrolledStyles = isInset ? insetFocusRingStyles : focusRingStyles;\n  const focusCls = typeof focus === 'undefined' ? uncontrolledStyles : focus === 'on' && controlledStyles;\n  return jsx(ClassNames, null, ({\n    css,\n    cx\n  }) => Children.only(\n  // This may look unwieldy but means we skip applying styles / cloning if no className is applicable\n  focusCls ?\n  /*#__PURE__*/\n  // eslint-disable-next-line @repo/internal/react/no-clone-element\n  cloneElement(children, {\n    className: cx([css(focusCls), children.props.className])\n  }) : children));\n});\nFocusRing.displayName = 'FocusRing';\nexport default FocusRing;","import { gridSize as akGridSize, borderRadius } from '@atlaskit/theme/constants';\nimport * as colors from '@atlaskit/theme/colors';\nexport var themeNamespace = '@atlaskit-shared-theme/item'; // Used for Group titles and Item descriptions\n\nexport var compactSmallFontSize = 10;\nexport var compactLineHeight = 1.2;\nexport var gridSize = akGridSize();\nexport var defaultTheme = {\n  afterItemSpacing: {\n    compact: akGridSize(),\n    default: akGridSize()\n  },\n  beforeItemSpacing: {\n    compact: akGridSize(),\n    default: akGridSize()\n  },\n  borderRadius: borderRadius(),\n  focus: {\n    outline: colors.B100\n  },\n  height: {\n    compact: 0,\n    default: 0\n  },\n  width: {\n    compact: 'auto',\n    default: 'auto'\n  },\n  padding: {\n    default: {\n      bottom: akGridSize() / 2,\n      left: akGridSize() / 2,\n      right: akGridSize() / 2,\n      top: akGridSize() / 2\n    },\n    compact: {\n      bottom: akGridSize(),\n      left: akGridSize(),\n      right: akGridSize(),\n      top: akGridSize()\n    }\n  },\n  default: {\n    background: colors.background,\n    text: colors.text,\n    secondaryText: colors.N200\n  },\n  selected: {\n    background: colors.backgroundActive,\n    text: colors.N500,\n    secondaryText: colors.N200\n  },\n  active: {\n    background: colors.backgroundActive,\n    text: colors.textActive,\n    secondaryText: colors.N200\n  },\n  hover: {\n    background: colors.backgroundHover,\n    text: colors.textHover,\n    secondaryText: colors.N200\n  },\n  disabled: {\n    background: colors.N0,\n    text: colors.N200,\n    secondaryText: colors.N200\n  },\n  // same as hover in this case\n  dragging: {\n    background: colors.N20,\n    text: colors.N800,\n    secondaryText: colors.N200\n  }\n};\n\nvar isValidCssValue = function isValidCssValue(value) {\n  return value !== undefined && value !== null && value !== '';\n}; // Returns the theme that contains the requested theme key(s), preferring the user-supplied\n// theme if it is provided.\n\n\nexport var themeWithKeys = function themeWithKeys(maybeTheme, key, parentKey) {\n  if (parentKey) {\n    return maybeTheme && maybeTheme[parentKey] && isValidCssValue(maybeTheme[parentKey][key]) ? maybeTheme : defaultTheme;\n  }\n\n  return maybeTheme && isValidCssValue(maybeTheme[key]) ? maybeTheme : defaultTheme;\n}; // Returns the theme value for the requested key(s), falling back to the default theme if the\n// user-supplied theme doesn't exist or doesn't contain the requested key(s)\n\nexport var getThemeStyle = function getThemeStyle(maybeTheme, key, parentKey) {\n  var theme = themeWithKeys(maybeTheme, key, parentKey);\n  return parentKey ? theme[parentKey][key] : theme[key];\n};","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport ExitingPersistence from '@atlaskit/motion/exiting-persistence';\n\nconst ModalTransition = props => {\n  return /*#__PURE__*/React.createElement(ExitingPersistence, {\n    appear: true\n  }, props.children);\n};\n\nexport default ModalTransition;","/**\n * An empty function which does nothing.\n */\nexport default function noop() {}","import { useRef } from 'react';\nconst uniqueReferencedValue = {};\n/**\n * Executes the initializer function once and saves its result into a ref.\n *\n * ```js\n * const ref = useLazyRef(() => 10);\n * ```\n *\n * @param initializer\n */\n\nexport default function useLazyRef(initializer) {\n  const ref = useRef(uniqueReferencedValue);\n\n  if (ref.current === uniqueReferencedValue) {\n    ref.current = initializer();\n  }\n\n  return ref;\n}","import useLazyRef from './use-lazy-ref';\n/**\n * Saves the passed through `callback` to a ref to ensure stability between renders.\n * As a feature this callback will only be created **once**,\n * this means it will have a stale closure on subsequent render.\n *\n * If you need to access things in the parent scope make sure to do it with refs.\n *\n * ```js\n * const callback = useLazyCallback(() => 10);\n * ```\n *\n * @param callback\n */\n\nexport default function useLazyCallback(callback) {\n  const ref = useLazyRef(() => callback);\n  return ref.current;\n}","import { useRef, useState } from 'react';\n/**\n * Functions similarly to `useState` however the return value is a ref.\n *\n * ```js\n * const [valueRef, setValue] = useStateRef(0);\n * ```\n *\n * @param initialState\n */\n\nexport default function useStateRef(initialState) {\n  const [value, setValue] = useState(initialState);\n  const valueRef = useRef(value);\n  valueRef.current = value;\n  return [valueRef, setValue];\n}","import { useEffect } from 'react';\nimport useLazyCallback from '@atlaskit/ds-lib/use-lazy-callback';\nimport usePreviousValue from '@atlaskit/ds-lib/use-previous-value';\nimport useStateRef from '@atlaskit/ds-lib/use-state-ref';\nimport { useExitingPersistence } from '@atlaskit/motion/exiting-persistence';\n/**\n *  ________________________________________________\n * | MAJOR VERSIONS WILL NOT KNOW ABOUT EACH OTHER! |\n *  ------------------------------------------------\n *\n * An array which holds references to all currently open modal dialogs.\n * This will only work for modal dialogs of the same major version,\n * as the reference will be different between them.\n *\n * E.g. V11 won't know about any from V12.\n */\n\nconst modalStackRegister = [];\n\n/**\n * Returns the position of the calling modal dialog in the modal dialog stack.\n * Stack index of `0` is the highest position in the stack,\n * with every higher number being behind in the stack.\n */\nexport default function useModalStack({\n  onStackChange\n}) {\n  const {\n    isExiting\n  } = useExitingPersistence();\n  const [stackIndexRef, setStackIndex] = useStateRef(0);\n  const currentStackIndex = stackIndexRef.current;\n  const previousStackIndex = usePreviousValue(stackIndexRef.current); // We want to ensure this function **never changes** during the lifecycle of this component.\n  // This is why it's assigned to a ref and not in a useMemo/useCallback.\n\n  const updateStack = useLazyCallback(() => {\n    const newStackIndex = modalStackRegister.indexOf(updateStack); // We access the stack index ref instead of state because this closure will always only\n    // have the initial state and not any of the later values.\n\n    if (stackIndexRef.current !== newStackIndex) {\n      setStackIndex(newStackIndex);\n      stackIndexRef.current = newStackIndex;\n    }\n  });\n  useEffect(() => {\n    const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n    if (!isExiting && currentStackIndex === -1) {\n      // We are opening the modal dialog.\n      // Add ourselves to the modal stack register!\n      modalStackRegister.unshift(updateStack);\n    }\n\n    if (isExiting && currentStackIndex !== -1) {\n      // We are closing the modal dialog using a wrapping modal transition component.\n      // Remove ourselves from the modal stack register!\n      // NOTE: Modal dialogs that don't have a wrapping modal transition component won't flow through here!\n      // For that scenario we cleanup when the component unmounts.\n      modalStackRegister.splice(currentStackIndex, 1);\n    } // Fire all registered modal dialogs to update their position in the stack.\n\n\n    modalStackRegister.forEach(cb => cb());\n  }, [updateStack, isExiting]);\n  useEffect(() => () => {\n    // Final cleanup just in case this modal dialog did not have a wrapping modal transition.\n    const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n    if (currentStackIndex !== -1) {\n      modalStackRegister.splice(currentStackIndex, 1);\n      modalStackRegister.forEach(cb => cb());\n    }\n  }, [updateStack]);\n  useEffect(() => {\n    if (previousStackIndex === undefined) {\n      // Initial case that we don't need to notify about.\n      return;\n    }\n\n    if (previousStackIndex !== currentStackIndex) {\n      onStackChange(currentStackIndex);\n    }\n  }, [onStackChange, previousStackIndex, currentStackIndex]);\n  return currentStackIndex;\n}","export var FOCUS_GROUP = 'data-focus-lock';\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\nexport var FOCUS_AUTO = 'data-autofocus-inside';","export var toArray = function toArray(a) {\n  var ret = Array(a.length);\n  for (var i = 0; i < a.length; ++i) {\n    ret[i] = a[i];\n  }\n  return ret;\n};\n\nexport var arrayFind = function arrayFind(array, search) {\n  return array.filter(function (a) {\n    return a === search;\n  })[0];\n};\n\nexport var asArray = function asArray(a) {\n  return Array.isArray(a) ? a : [a];\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n\nvar filterNested = function filterNested(nodes) {\n  var l = nodes.length;\n  for (var i = 0; i < l; i += 1) {\n    var _loop = function _loop(j) {\n      if (i !== j) {\n        if (nodes[i].contains(nodes[j])) {\n          return {\n            v: filterNested(nodes.filter(function (x) {\n              return x !== nodes[j];\n            }))\n          };\n        }\n      }\n    };\n\n    for (var j = 0; j < l; j += 1) {\n      var _ret = _loop(j);\n\n      if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n    }\n  }\n  return nodes;\n};\n\nvar getTopParent = function getTopParent(node) {\n  return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n\nvar getAllAffectedNodes = function getAllAffectedNodes(node) {\n  var nodes = asArray(node);\n  return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n    var group = currentNode.getAttribute(FOCUS_GROUP);\n    acc.push.apply(acc, group ? filterNested(toArray(getTopParent(currentNode).querySelectorAll('[' + FOCUS_GROUP + '=\"' + group + '\"]:not([' + FOCUS_DISABLED + '=\"disabled\"])'))) : [currentNode]);\n    return acc;\n  }, []);\n};\n\nexport default getAllAffectedNodes;","import getAllAffectedNodes from './utils/all-affected';\nimport { arrayFind, toArray } from './utils/array';\n\nvar focusInFrame = function focusInFrame(frame) {\n  return frame === document.activeElement;\n};\n\nvar focusInsideIframe = function focusInsideIframe(topNode) {\n  return !!arrayFind(toArray(topNode.querySelectorAll('iframe')), focusInFrame);\n};\n\nvar focusInside = function focusInside(topNode) {\n  var activeElement = document && document.activeElement;\n\n  if (!activeElement || activeElement.dataset && activeElement.dataset.focusGuard) {\n    return false;\n  }\n  return getAllAffectedNodes(topNode).reduce(function (result, node) {\n    return result || node.contains(activeElement) || focusInsideIframe(node);\n  }, false);\n};\n\nexport default focusInside;","import { toArray } from './array';\n\nexport var tabSort = function tabSort(a, b) {\n  var tabDiff = a.tabIndex - b.tabIndex;\n  var indexDiff = a.index - b.index;\n\n  if (tabDiff) {\n    if (!a.tabIndex) return 1;\n    if (!b.tabIndex) return -1;\n  }\n\n  return tabDiff || indexDiff;\n};\n\nexport var orderByTabIndex = function orderByTabIndex(nodes, filterNegative, keepGuards) {\n  return toArray(nodes).map(function (node, index) {\n    return {\n      node: node,\n      index: index,\n      tabIndex: keepGuards && node.tabIndex === -1 ? (node.dataset || {}).focusGuard ? 0 : -1 : node.tabIndex\n    };\n  }).filter(function (data) {\n    return !filterNegative || data.tabIndex >= 0;\n  }).sort(tabSort);\n};","export default ['button:enabled:not([readonly])', 'select:enabled:not([readonly])', 'textarea:enabled:not([readonly])', 'input:enabled:not([readonly])', 'a[href]', 'area[href]', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]', '[autofocus]'];","import tabbables from './tabbables';\nimport { toArray } from './array';\nimport { FOCUS_AUTO } from '../constants';\n\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = queryTabbables + ', [data-focus-guard]';\n\nexport var getFocusables = function getFocusables(parents, withGuards) {\n  return parents.reduce(function (acc, parent) {\n    return acc.concat(\n    // add all tabbables inside\n    toArray(parent.querySelectorAll(withGuards ? queryGuardTabbables : queryTabbables)),\n    // add if node is tabble itself\n    parent.parentNode ? toArray(parent.parentNode.querySelectorAll(tabbables.join(','))).filter(function (node) {\n      return node === parent;\n    }) : []);\n  }, []);\n};\n\nexport var getParentAutofocusables = function getParentAutofocusables(parent) {\n  var parentFocus = parent.querySelectorAll('[' + FOCUS_AUTO + ']');\n  return toArray(parentFocus).map(function (node) {\n    return getFocusables([node]);\n  }).reduce(function (acc, nodes) {\n    return acc.concat(nodes);\n  }, []);\n};","import { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\nimport { toArray } from './array';\n\nvar isElementHidden = function isElementHidden(computedStyle) {\n  if (!computedStyle || !computedStyle.getPropertyValue) {\n    return false;\n  }\n  return computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden';\n};\n\nexport var isVisible = function isVisible(node) {\n  return !node || node === document || node.nodeType === Node.DOCUMENT_NODE || !isElementHidden(window.getComputedStyle(node, null)) && isVisible(node.parentNode);\n};\n\nexport var notHiddenInput = function notHiddenInput(node) {\n  return !((node.tagName === 'INPUT' || node.tagName === 'BUTTON') && (node.type === 'hidden' || node.disabled));\n};\n\nvar getParents = function getParents(node) {\n  var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n  parents.push(node);\n  if (node.parentNode) {\n    getParents(node.parentNode, parents);\n  }\n  return parents;\n};\n\nexport var getCommonParent = function getCommonParent(nodea, nodeb) {\n  var parentsA = getParents(nodea);\n  var parentsB = getParents(nodeb);\n\n  for (var i = 0; i < parentsA.length; i += 1) {\n    var currentParent = parentsA[i];\n    if (parentsB.indexOf(currentParent) >= 0) {\n      return currentParent;\n    }\n  }\n  return false;\n};\n\nexport var filterFocusable = function filterFocusable(nodes) {\n  return toArray(nodes).filter(function (node) {\n    return isVisible(node);\n  }).filter(function (node) {\n    return notHiddenInput(node);\n  });\n};\n\nexport var getTabbableNodes = function getTabbableNodes(topNodes, withGuards) {\n  return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards)), true, withGuards);\n};\n\nexport var getAllTabbableNodes = function getAllTabbableNodes(topNodes) {\n  return orderByTabIndex(filterFocusable(getFocusables(topNodes)), false);\n};\n\nexport var parentAutofocusables = function parentAutofocusables(topNode) {\n  return filterFocusable(getParentAutofocusables(topNode));\n};","var isRadio = function isRadio(node) {\n  return node.tagName === 'INPUT' && node.type === 'radio';\n};\n\nvar findSelectedRadio = function findSelectedRadio(node, nodes) {\n  return nodes.filter(isRadio).filter(function (el) {\n    return el.name === node.name;\n  }).filter(function (el) {\n    return el.checked;\n  })[0] || node;\n};\n\nvar pickFirstFocus = function pickFirstFocus(nodes) {\n  if (nodes[0] && nodes.length > 1) {\n    if (isRadio(nodes[0]) && nodes[0].name) {\n      return findSelectedRadio(nodes[0], nodes);\n    }\n  }\n  return nodes[0];\n};\n\nexport var pickFocusable = function pickFocusable(nodes, index) {\n  if (nodes.length > 1) {\n    if (isRadio(nodes[index]) && nodes[index].name) {\n      return nodes.indexOf(findSelectedRadio(nodes[index], nodes));\n    }\n  }\n  return index;\n};\n\nexport default pickFirstFocus;","import { getCommonParent, getTabbableNodes, getAllTabbableNodes, parentAutofocusables } from './utils/DOMutils';\nimport pickFirstFocus, { pickFocusable } from './utils/firstFocus';\nimport getAllAffectedNodes from './utils/all-affected';\nimport { asArray } from './utils/array';\n\nvar findAutoFocused = function findAutoFocused(autoFocusables) {\n  return function (node) {\n    return !!node.autofocus || node.dataset && !!node.dataset.autofocus || autoFocusables.indexOf(node) >= 0;\n  };\n};\n\nvar isGuard = function isGuard(node) {\n  return node && node.dataset && node.dataset.focusGuard;\n};\nvar notAGuard = function notAGuard(node) {\n  return !isGuard(node);\n};\n\nexport var newFocus = function newFocus(innerNodes, outerNodes, activeElement, lastNode, autoFocused) {\n  var cnt = innerNodes.length;\n  var firstFocus = innerNodes[0];\n  var lastFocus = innerNodes[cnt - 1];\n  var isOnGuard = isGuard(activeElement);\n\n  // focus is inside\n  if (innerNodes.indexOf(activeElement) >= 0) {\n    return undefined;\n  }\n\n  var activeIndex = outerNodes.indexOf(activeElement);\n  var lastIndex = outerNodes.indexOf(lastNode || activeIndex);\n  var lastNodeInside = innerNodes.indexOf(lastNode);\n  var indexDiff = activeIndex - lastIndex;\n  var firstNodeIndex = outerNodes.indexOf(firstFocus);\n  var lastNodeIndex = outerNodes.indexOf(lastFocus);\n\n  var returnFirstNode = pickFocusable(innerNodes, 0);\n  var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n\n  // new focus\n  if (activeIndex === -1 || lastNodeInside === -1) {\n    return innerNodes.indexOf(autoFocused && autoFocused.length ? pickFirstFocus(autoFocused) : pickFirstFocus(innerNodes));\n  }\n  // old focus\n  if (!indexDiff && lastNodeInside >= 0) {\n    return lastNodeInside;\n  }\n  // first element\n  if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n    return returnLastNode;\n  }\n  // last element\n  if (activeIndex >= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n    return returnFirstNode;\n  }\n  // jump out, but not on the guard\n  if (indexDiff && Math.abs(indexDiff) > 1) {\n    return lastNodeInside;\n  }\n  // focus above lock\n  if (activeIndex <= firstNodeIndex) {\n    return returnLastNode;\n  }\n  // focus below lock\n  if (activeIndex > lastNodeIndex) {\n    return returnFirstNode;\n  }\n  // index is inside tab order, but outside Lock\n  if (indexDiff) {\n    if (Math.abs(indexDiff) > 1) {\n      return lastNodeInside;\n    }\n    return (cnt + lastNodeInside + indexDiff) % cnt;\n  }\n  // do nothing\n  return undefined;\n};\n\nvar getTopCommonParent = function getTopCommonParent(baseActiveElement, leftEntry, rightEntries) {\n  var activeElements = asArray(baseActiveElement);\n  var leftEntries = asArray(leftEntry);\n  var activeElement = activeElements[0];\n  var topCommon = null;\n  leftEntries.filter(Boolean).forEach(function (entry) {\n    topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n    rightEntries.filter(Boolean).forEach(function (subEntry) {\n      var common = getCommonParent(activeElement, subEntry);\n      if (common) {\n        if (!topCommon || common.contains(topCommon)) {\n          topCommon = common;\n        } else {\n          topCommon = getCommonParent(common, topCommon);\n        }\n      }\n    });\n  });\n  return topCommon;\n};\n\nvar allParentAutofocusables = function allParentAutofocusables(entries) {\n  return entries.reduce(function (acc, node) {\n    return acc.concat(parentAutofocusables(node));\n  }, []);\n};\n\nvar reorderNodes = function reorderNodes(srcNodes, dstNodes) {\n  var remap = new Map();\n  // no Set(dstNodes) for IE11 :(\n  dstNodes.forEach(function (entity) {\n    return remap.set(entity.node, entity);\n  });\n  // remap to dstNodes\n  return srcNodes.map(function (node) {\n    return remap.get(node);\n  }).filter(Boolean);\n};\n\nexport var getFocusabledIn = function getFocusabledIn(topNode) {\n  var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n  var commonParent = getTopCommonParent(topNode, topNode, entries);\n  var outerNodes = getTabbableNodes([commonParent], true);\n  var innerElements = getTabbableNodes(entries).filter(function (_ref) {\n    var node = _ref.node;\n    return notAGuard(node);\n  }).map(function (_ref2) {\n    var node = _ref2.node;\n    return node;\n  });\n\n  return outerNodes.map(function (_ref3) {\n    var node = _ref3.node,\n        index = _ref3.index;\n    return {\n      node: node,\n      index: index,\n      lockItem: innerElements.indexOf(node) >= 0,\n      guard: isGuard(node)\n    };\n  });\n};\n\nvar getFocusMerge = function getFocusMerge(topNode, lastNode) {\n  var activeElement = document && document.activeElement;\n  var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n\n  var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n\n  var innerElements = getTabbableNodes(entries).filter(function (_ref4) {\n    var node = _ref4.node;\n    return notAGuard(node);\n  });\n\n  if (!innerElements[0]) {\n    innerElements = getAllTabbableNodes(entries).filter(function (_ref5) {\n      var node = _ref5.node;\n      return notAGuard(node);\n    });\n    if (!innerElements[0]) {\n      return undefined;\n    }\n  }\n\n  var outerNodes = getTabbableNodes([commonParent]).map(function (_ref6) {\n    var node = _ref6.node;\n    return node;\n  });\n  var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n  var innerNodes = orderedInnerElements.map(function (_ref7) {\n    var node = _ref7.node;\n    return node;\n  });\n\n  var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode, innerNodes.filter(findAutoFocused(allParentAutofocusables(entries))));\n\n  if (newId === undefined) {\n    return newId;\n  }\n  return orderedInnerElements[newId];\n};\n\nexport default getFocusMerge;","import getFocusMerge from './focusMerge';\n\nexport var focusOn = function focusOn(target) {\n  target.focus();\n  if (target.contentWindow) {\n    target.contentWindow.focus();\n  }\n};\n\nvar guardCount = 0;\nvar lockDisabled = false;\n\nexport default (function (topNode, lastNode) {\n  var focusable = getFocusMerge(topNode, lastNode);\n\n  if (lockDisabled) {\n    return;\n  }\n\n  if (focusable) {\n    if (guardCount > 2) {\n      // eslint-disable-next-line no-console\n      console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' + 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n      lockDisabled = true;\n      setTimeout(function () {\n        lockDisabled = false;\n      }, 1);\n      return;\n    }\n    guardCount++;\n    focusOn(focusable.node);\n    guardCount--;\n  }\n});","export function deferAction(action) {\n  // Hidding setImmediate from Webpack to avoid inserting polyfill\n  var setImmediate = window.setImmediate;\n\n  if (typeof setImmediate !== 'undefined') {\n    setImmediate(action);\n  } else {\n    setTimeout(action, 1);\n  }\n}\nexport var inlineProp = function inlineProp(name, value) {\n  var obj = {};\n  obj[name] = value;\n  return obj;\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\n\nvar focusOnBody = function focusOnBody() {\n  return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n  return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n  return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n  return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n  lastPortaledElement = {\n    observerNode: observerNode,\n    portaledElement: portaledElement\n  };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n  return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n  var lastGuard = null;\n  var i = startIndex;\n\n  do {\n    var item = allNodes[i];\n\n    if (item.guard) {\n      if (item.node.dataset.focusAutoGuard) {\n        lastGuard = item;\n      }\n    } else if (item.lockItem) {\n      if (i !== startIndex) {\n        // we will tab to the next element\n        return;\n      }\n\n      lastGuard = null;\n    } else {\n      break;\n    }\n  } while ((i += step) !== end);\n\n  if (lastGuard) {\n    lastGuard.node.tabIndex = 0;\n  }\n}\n\nvar extractRef = function extractRef(ref) {\n  return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar activateTrap = function activateTrap() {\n  var result = false;\n\n  if (lastActiveTrap) {\n    var _lastActiveTrap = lastActiveTrap,\n        observed = _lastActiveTrap.observed,\n        persistentFocus = _lastActiveTrap.persistentFocus,\n        autoFocus = _lastActiveTrap.autoFocus,\n        shards = _lastActiveTrap.shards;\n    var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n    var activeElement = document && document.activeElement;\n\n    if (workingNode) {\n      var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n      if (!activeElement || focusWhitelisted(activeElement)) {\n        if (persistentFocus || focusWasOutsideWindow || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n          if (workingNode && !(focusInside(workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n            if (document && !lastActiveFocus && activeElement && !autoFocus) {\n              activeElement.blur();\n              document.body.focus();\n            } else {\n              result = moveFocusInside(workingArea, lastActiveFocus);\n              lastPortaledElement = {};\n            }\n          }\n\n          focusWasOutsideWindow = false;\n          lastActiveFocus = document && document.activeElement;\n        }\n      }\n\n      if (document) {\n        var newActiveElement = document && document.activeElement;\n        var allNodes = getFocusabledIn(workingArea);\n        var focusedItem = allNodes.find(function (_ref) {\n          var node = _ref.node;\n          return node === newActiveElement;\n        });\n\n        if (focusedItem) {\n          // remove old focus\n          allNodes.filter(function (_ref2) {\n            var guard = _ref2.guard,\n                node = _ref2.node;\n            return guard && node.dataset.focusAutoGuard;\n          }).forEach(function (_ref3) {\n            var node = _ref3.node;\n            return node.removeAttribute('tabIndex');\n          });\n          var focusedIndex = allNodes.indexOf(focusedItem);\n          autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n          autoGuard(focusedIndex, -1, -1, allNodes);\n        }\n      }\n    }\n  }\n\n  return result;\n};\n\nvar onTrap = function onTrap(event) {\n  if (activateTrap() && event) {\n    // prevent scroll jump\n    event.stopPropagation();\n    event.preventDefault();\n  }\n};\n\nexport var onBlur = function onBlur() {\n  return deferAction(activateTrap);\n};\nexport var onFocus = function onFocus(event) {\n  // detect portal\n  var source = event.target;\n  var currentNode = event.currentTarget;\n\n  if (!currentNode.contains(source)) {\n    recordPortal(currentNode, source);\n  }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n  return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n  var children = _ref4.children;\n  return React.createElement(\"div\", {\n    onBlur: onBlur,\n    onFocus: onFocus\n  }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n  focusWasOutsideWindow = true;\n};\n\nvar attachHandler = function attachHandler() {\n  document.addEventListener('focusin', onTrap, true);\n  document.addEventListener('focusout', onBlur);\n  window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n  document.removeEventListener('focusin', onTrap, true);\n  document.removeEventListener('focusout', onBlur);\n  window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n  return propsList.filter(function (_ref5) {\n    var disabled = _ref5.disabled;\n    return !disabled;\n  }).slice(-1)[0];\n}\n\nfunction handleStateChangeOnClient(trap) {\n  if (trap && !lastActiveTrap) {\n    attachHandler();\n  }\n\n  var lastTrap = lastActiveTrap;\n  var sameTrap = lastTrap && trap && trap.onActivation === lastTrap.onActivation;\n  lastActiveTrap = trap;\n\n  if (lastTrap && !sameTrap) {\n    lastTrap.onDeactivation();\n  }\n\n  if (trap) {\n    lastActiveFocus = null;\n\n    if (!sameTrap || lastTrap.observed !== trap.observed) {\n      trap.onActivation();\n    }\n\n    activateTrap(true);\n    deferAction(activateTrap);\n  } else {\n    detachHandler();\n    lastActiveFocus = null;\n  }\n}\n\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { toArray } from './utils/array';\nimport { FOCUS_ALLOW } from './constants';\n\nvar focusIsHidden = function focusIsHidden() {\n  return document && toArray(document.querySelectorAll('[' + FOCUS_ALLOW + ']')).some(function (node) {\n    return node.contains(document.activeElement);\n  });\n};\n\nexport default focusIsHidden;","import React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n  width: '1px',\n  height: '0px',\n  padding: 0,\n  overflow: 'hidden',\n  position: 'fixed',\n  top: '1px',\n  left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n  var children = _ref.children;\n  return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n    key: \"guard-first\",\n    \"data-focus-guard\": true,\n    \"data-focus-auto-guard\": true,\n    style: hiddenGuard\n  }), children, children && React.createElement(\"div\", {\n    key: \"guard-last\",\n    \"data-focus-guard\": true,\n    \"data-focus-auto-guard\": true,\n    style: hiddenGuard\n  }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n  children: null\n};\nexport default InFocusGuard;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { constants } from 'focus-lock';\nimport FocusTrap, { onBlur, onFocus } from './Trap';\nimport { hiddenGuard } from './FocusGuard';\n\nvar RenderChildren = function RenderChildren(_ref) {\n  var children = _ref.children;\n  return React.createElement(\"div\", null, children);\n};\n\nRenderChildren.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  children: PropTypes.node.isRequired\n} : {};\nvar Fragment = React.Fragment ? React.Fragment : RenderChildren;\nvar emptyArray = [];\n\nvar FocusLock =\n/*#__PURE__*/\nfunction (_Component) {\n  _inheritsLoose(FocusLock, _Component);\n\n  function FocusLock() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n      observed: undefined\n    });\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onActivation\", function () {\n      _this.originalFocusedElement = _this.originalFocusedElement || document && document.activeElement;\n\n      if (_this.state.observed && _this.props.onActivation) {\n        _this.props.onActivation(_this.state.observed);\n      }\n\n      _this.isActive = true;\n    });\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onDeactivation\", function () {\n      _this.isActive = false;\n\n      if (_this.props.returnFocus && _this.originalFocusedElement && _this.originalFocusedElement.focus) {\n        _this.originalFocusedElement.focus();\n\n        _this.originalFocusedElement = null;\n      }\n\n      if (_this.props.onDeactivation) {\n        _this.props.onDeactivation(_this.state.observed);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onFocus\", function (event) {\n      if (_this.isActive) {\n        onFocus(event);\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onBlur\", onBlur);\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setObserveNode\", function (observed) {\n      if (_this.state.observed !== observed) {\n        _this.setState({\n          observed: observed\n        });\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isActive\", false);\n\n    _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"originalFocusedElement\", null);\n\n    return _this;\n  }\n\n  var _proto = FocusLock.prototype;\n\n  _proto.render = function render() {\n    var _extends2;\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        disabled = _this$props.disabled,\n        noFocusGuards = _this$props.noFocusGuards,\n        persistentFocus = _this$props.persistentFocus,\n        autoFocus = _this$props.autoFocus,\n        allowTextSelection = _this$props.allowTextSelection,\n        group = _this$props.group,\n        className = _this$props.className,\n        whiteList = _this$props.whiteList,\n        _this$props$shards = _this$props.shards,\n        shards = _this$props$shards === void 0 ? emptyArray : _this$props$shards,\n        _this$props$as = _this$props.as,\n        Container = _this$props$as === void 0 ? 'div' : _this$props$as,\n        _this$props$lockProps = _this$props.lockProps,\n        containerProps = _this$props$lockProps === void 0 ? {} : _this$props$lockProps;\n    var observed = this.state.observed;\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (typeof allowTextSelection !== 'undefined') {\n        // eslint-disable-next-line no-console\n        console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n      }\n    }\n\n    var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n    var hasLeadingGuards = noFocusGuards !== true;\n    var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n    return React.createElement(Fragment, null, hasLeadingGuards && [React.createElement(\"div\", {\n      key: \"guard-first\",\n      \"data-focus-guard\": true,\n      tabIndex: disabled ? -1 : 0,\n      style: hiddenGuard\n    }), // nearest focus guard\n    React.createElement(\"div\", {\n      key: \"guard-nearest\",\n      \"data-focus-guard\": true,\n      tabIndex: disabled ? -1 : 1,\n      style: hiddenGuard\n    })], React.createElement(Container, _extends({\n      ref: this.setObserveNode\n    }, lockProps, {\n      className: className,\n      onBlur: this.onBlur,\n      onFocus: this.onFocus\n    }), React.createElement(FocusTrap, {\n      observed: observed,\n      disabled: disabled,\n      persistentFocus: persistentFocus,\n      autoFocus: autoFocus,\n      whiteList: whiteList,\n      shards: shards,\n      onActivation: this.onActivation,\n      onDeactivation: this.onDeactivation\n    }), children), hasTailingGuards && React.createElement(\"div\", {\n      \"data-focus-guard\": true,\n      tabIndex: disabled ? -1 : 0,\n      style: hiddenGuard\n    }));\n  };\n\n  return FocusLock;\n}(Component);\n\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  children: PropTypes.node.isRequired,\n  disabled: PropTypes.bool,\n  returnFocus: PropTypes.bool,\n  noFocusGuards: PropTypes.bool,\n  allowTextSelection: PropTypes.bool,\n  autoFocus: PropTypes.bool,\n  persistentFocus: PropTypes.bool,\n  group: PropTypes.string,\n  className: PropTypes.string,\n  whiteList: PropTypes.func,\n  shards: PropTypes.arrayOf(PropTypes.any),\n  as: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object]),\n  lockProps: PropTypes.object,\n  onActivation: PropTypes.func,\n  onDeactivation: PropTypes.func\n} : {};\nFocusLock.defaultProps = {\n  disabled: false,\n  returnFocus: false,\n  noFocusGuards: false,\n  autoFocus: true,\n  persistentFocus: false,\n  allowTextSelection: undefined,\n  group: undefined,\n  className: undefined,\n  whiteList: undefined,\n  shards: undefined,\n  as: 'div',\n  lockProps: {},\n  onActivation: undefined,\n  onDeactivation: undefined\n};\nexport default FocusLock;","import FocusLock from './Lock';\nimport AutoFocusInside from './AutoFocusInside';\nimport MoveFocusInside from './MoveFocusInside';\nimport FreeFocusInside from './FreeFocusInside';\nimport InFocusGuard from './FocusGuard';\nexport { AutoFocusInside, MoveFocusInside, FreeFocusInside, InFocusGuard };\nexport default FocusLock;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = { ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n\n    this.payload = props.payload;\n  }\n\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n\n    if (typeof updater === 'object') {\n      this.payload = { ...this.payload,\n        ...updater\n      };\n    }\n\n    return this;\n  }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n\n        return null;\n      }\n\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n\n        return;\n      }\n\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n\n      return this;\n    }\n\n    return super.update(updater);\n  }\n\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents(); // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    }); // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context); // fire an event on the atlaskit channel\n\n    const clone = analyticsEvent.clone();\n\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n\n    fnRef.current(value, analyticsEvent);\n  }, [// These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion, // This function is memoized in the context\n  createAnalyticsEvent, // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","/**\n * Assigns the node to all the refs passed in the argument.\n *\n * @param refs: An array of refs (as function or ref object)\n */\nexport default function mergeRefs(refs) {\n  return value => {\n    refs.forEach(ref => {\n      if (typeof ref === 'function') {\n        ref(value);\n      } else if (ref !== null) {\n        ref.current = value;\n      }\n    });\n  };\n}","import { useEffect } from 'react';\n/**\n * Assigns an event listener to the document and cleans up after itself.\n * This event will not flow through the React event system,\n * which means it could add lots of event listeners affecting performance.\n * Use with caution.\n *\n * ```\n * useDocumentEvent('click', callback, true);\n * ```\n *\n * @param eventName\n * @param callback Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n * @param options Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n */\n\nexport default function useDocumentEvent(eventName, callback, options) {\n  useEffect(() => {\n    document.addEventListener(eventName, callback, options);\n    return () => {\n      document.removeEventListener(eventName, callback, options);\n    };\n  }, [eventName, callback, options]);\n}","import { useCallback, useLayoutEffect, useState } from 'react';\nimport useWindowEvent from '@atlaskit/ds-lib/use-window-event';\n/**\n * Returns how far the body is scrolled from the top of the viewport.\n *\n *   ____\n * ||____|| <-- overflow\n *  |    |  <-- viewport\n *  |____|\n *\n * Scroll distance is the height of overflow outside the viewport.\n */\n\nfunction getScrollDistance() {\n  var _document$documentEle, _document$body;\n\n  return window.pageYOffset || ((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.scrollTop) || ((_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.scrollTop) || 0;\n}\n/**\n * Prevents programatic scrolling of the viewport with `scrollIntoView`.\n * Should be used in conjunction with a scroll lock to prevent a user from scrolling.\n *\n * @returns scroll top offset of the viewport\n */\n\n\nexport default function usePreventProgrammaticScroll() {\n  const [scrollTopOffset, setScrollTopOffset] = useState(0);\n  useLayoutEffect(() => {\n    setScrollTopOffset(getScrollDistance());\n  }, []);\n  const onWindowScroll = useCallback(() => {\n    if (getScrollDistance() !== scrollTopOffset) {\n      window.scrollTo(window.pageXOffset, scrollTopOffset);\n    }\n  }, [scrollTopOffset]);\n  useWindowEvent('scroll', onWindowScroll);\n  return scrollTopOffset;\n}","import { css } from '@emotion/core';\nimport { prefersReducedMotion } from '@atlaskit/motion/accessibility';\nimport { easeInOut } from '@atlaskit/motion/curves';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { N0, N30A, N60A, text } from '@atlaskit/theme/colors';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nimport { gutter, verticalOffset, WIDTH_ENUM } from '../constants';\nconst maxWidthDimensions = `calc(100vw - ${gutter * 2}px)`;\nconst maxHeightDimensions = `calc(100vh - ${gutter * 2 - 1}px)`;\nexport const dialogWidth = width => {\n  if (!width) {\n    return 'auto';\n  }\n\n  const isWidthName = WIDTH_ENUM.values.indexOf(width.toString()) !== -1;\n  const widthName = isWidthName && width;\n\n  if (widthName) {\n    return `${WIDTH_ENUM.widths[widthName]}px`;\n  }\n\n  return typeof width === 'number' ? `${width}px` : width;\n};\nexport const dialogHeight = height => {\n  if (!height) {\n    return 'auto';\n  }\n\n  return typeof height === 'number' ? `${height}px` : height;\n};\nexport const getFillScreenStyles = scrollDistance => css`\n  height: 100vh;\n  width: 100vw;\n\n  // This instead of fixed so PopupSelect's\n  // children are properly positioned.\n  position: absolute;\n  top: ${scrollDistance}px;\n  left: 0;\n\n  z-index: ${layers.modal()};\n  overflow-y: auto; // Enables scroll outside.\n  -webkit-overflow-scrolling: touch;\n`;\n\nconst modalStackTransition = stackIndex => css`\n  // We only want to apply transform on modals shifting to the back of the stack.\n  transform: ${stackIndex > 0 ? `translateY(${stackIndex * (verticalOffset / 2)}px)` : 'none'};\n  transition-property: transform;\n  transition-duration: ${mediumDurationMs}ms;\n  transition-timing-function: ${easeInOut};\n  ${prefersReducedMotion()};\n`;\n\nconst positionerBaseStyles = css`\n  top: ${gutter}px;\n  left: 0;\n  right: 0;\n  margin-left: auto;\n  margin-right: auto;\n\n  max-width: ${maxWidthDimensions};\n  max-height: ${maxHeightDimensions};\n\n  pointer-events: none;\n  width: max-content;\n`;\nconst positionerResponsiveBaseStyles = css`\n  position: fixed;\n  left: 0;\n  top: 0;\n\n  height: 100%;\n  width: 100%;\n  max-width: 100%;\n\n  z-index: ${layers.modal()};\n`;\nexport const getPositionRelativeStyles = stackIndex => css`\n  ${positionerResponsiveBaseStyles};\n  ${modalStackTransition(stackIndex)};\n\n  margin: 0;\n\n  @media (min-width: 480px) {\n    position: relative;\n    margin: ${gutter}px auto;\n    width: max-content;\n  }\n`;\nexport const getPositionAbsoluteStyles = stackIndex => css`\n  ${positionerResponsiveBaseStyles};\n  ${modalStackTransition(stackIndex)};\n\n  @media (min-width: 480px) {\n    ${positionerBaseStyles};\n    position: absolute;\n  }\n`;\nexport const getPositionFixedStyles = stackIndex => css`\n  ${positionerResponsiveBaseStyles};\n  ${modalStackTransition(stackIndex)};\n\n  @media (min-width: 480px) {\n    ${positionerBaseStyles};\n    position: fixed;\n  }\n`;\nexport const getDialogStyles = ({\n  isChromeless,\n  height,\n  width\n}) => css`\n  color: ${text()};\n  display: flex;\n  flex-direction: column;\n\n  pointer-events: auto;\n\n  height: 100%;\n  width: 100%;\n  max-height: 100vh;\n  max-width: 100vw;\n\n  ${isChromeless !== true && css`\n    background-color: ${N0};\n  `}\n\n  @media (min-width: 480px) {\n    height: ${dialogHeight(height)};\n    width: ${dialogWidth(width)};\n    max-height: inherit;\n    max-width: inherit;\n\n    margin-left: inherit;\n    margin-right: inherit;\n\n    ${isChromeless !== true && css`\n      border-radius: ${borderRadius()}px;\n      box-shadow: 0 0 0 1px ${N30A}, 0 2px 1px ${N30A}, 0 0 20px -6px ${N60A};\n    `}\n  }\n`;","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","/**\n * An empty function which does nothing.\n */\n// eslint-disable-next-line @repo/internal/react/use-noop\nexport default function noop() {}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","function abort(event) {\n  event.preventDefault();\n  event.stopPropagation();\n}\nconst tabKeyCode = 9;\nfunction onKey(event) {\n  // Allowing tab so that a user can move focus away\n  if (event.keyCode === tabKeyCode) {\n    return;\n  }\n  abort(event);\n}\nconst block = {\n  onMouseDownCapture: abort,\n  onMouseUpCapture: abort,\n  // because we have tabIndex = -1 when disabled,\n  // keyboard events can only occur when there is an overlay\n  onKeyDownCapture: onKey,\n  onKeyUpCapture: onKey,\n  onTouchStartCapture: abort,\n  onTouchEndCapture: abort,\n  onPointerDownCapture: abort,\n  onPointerUpCapture: abort,\n  onClickCapture: abort,\n  // Just smashing the existing onClick for good measure\n  onClick: abort\n};\nconst doNotBlock = {};\nexport default function blockEvents({\n  isInteractive\n}) {\n  return isInteractive ? doNotBlock : block;\n}","import * as colors from '@atlaskit/theme/colors';\n// Hard coding the active rgba color value rather than using a helper to convert it\n// With helper it would be: hex2rgba(colors.B75, 0.6)\nconst fadedB75 = 'rgba(179, 212, 255, 0.6)';\nconst values = {\n  // Default appearance\n  background: {\n    default: {\n      default: {\n        light: `var(--ds-background-neutral, ${colors.N20A})`,\n        dark: `var(--ds-background-neutral, ${colors.DN70})`\n      },\n      hover: {\n        light: `var(--ds-background-neutral-hovered, ${colors.N30A})`,\n        dark: `var(--ds-background-neutral-hovered, ${colors.DN60})`\n      },\n      active: {\n        light: `var(--ds-background-neutral-pressed, ${fadedB75})`,\n        dark: `var(--ds-background-neutral-pressed, ${colors.B75})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    primary: {\n      default: {\n        light: `var(--ds-background-brand-bold, ${colors.B400})`,\n        dark: `var(--ds-background-brand-bold, ${colors.B100})`\n      },\n      hover: {\n        light: `var(--ds-background-brand-bold-hovered, ${colors.B300})`,\n        dark: `var(--ds-background-brand-bold-hovered, ${colors.B75})`\n      },\n      active: {\n        light: `var(--ds-background-brand-bold-pressed, ${colors.B500})`,\n        dark: `var(--ds-background-brand-bold-pressed, ${colors.B200})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    warning: {\n      default: {\n        light: `var(--ds-background-warning-bold, ${colors.Y300})`,\n        dark: `var(--ds-background-warning-bold, ${colors.Y300})`\n      },\n      hover: {\n        light: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`,\n        dark: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`\n      },\n      active: {\n        light: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`,\n        dark: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.Y400})`,\n        dark: `var(--ds-background-selected, ${colors.Y400})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.Y400})`,\n        dark: `var(--ds-background-selected, ${colors.Y400})`\n      }\n    },\n    danger: {\n      default: {\n        light: `var(--ds-background-danger-bold, ${colors.R400})`,\n        dark: `var(--ds-background-danger-bold, ${colors.R400})`\n      },\n      hover: {\n        light: `var(--ds-background-danger-bold-hovered, ${colors.R300})`,\n        dark: `var(--ds-background-danger-bold-hovered, ${colors.R300})`\n      },\n      active: {\n        light: `var(--ds-background-danger-bold-pressed, ${colors.R500})`,\n        dark: `var(--ds-background-danger-bold-pressed, ${colors.R500})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.R500})`,\n        dark: `var(--ds-background-selected, ${colors.R500})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.R500})`,\n        dark: `var(--ds-background-selected, ${colors.R500})`\n      }\n    },\n    link: {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      }\n    },\n    subtle: {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      hover: {\n        light: `var(--ds-background-neutral-subtle-hovered, ${colors.N30A})`,\n        dark: `var(--ds-background-neutral-subtle-hovered, ${colors.DN60})`\n      },\n      active: {\n        light: `var(--ds-background-neutral-subtle-pressed, ${fadedB75})`,\n        dark: `var(--ds-background-neutral-subtle-pressed, ${colors.B75})`\n      },\n      disabled: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    'subtle-link': {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      }\n    }\n  },\n  color: {\n    default: {\n      default: {\n        light: `var(--ds-text, ${colors.N500})`,\n        dark: `var(--ds-text, ${colors.DN400})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.B400})`,\n        dark: `var(--ds-text, ${colors.B400})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    primary: {\n      default: {\n        light: `var(--ds-text-inverse, ${colors.N0})`,\n        dark: `var(--ds-text-inverse, ${colors.DN30})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    warning: {\n      default: {\n        light: `var(--ds-text-warning-inverse, ${colors.N800})`,\n        dark: `var(--ds-text-warning-inverse, ${colors.N800})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N800})`,\n        dark: `var(--ds-text-selected, ${colors.N800})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N800})`,\n        dark: `var(--ds-text-selected, ${colors.N800})`\n      }\n    },\n    danger: {\n      default: {\n        light: `var(--ds-text-inverse, ${colors.N0})`,\n        dark: `var(--ds-text-inverse, ${colors.N0})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N0})`,\n        dark: `var(--ds-text-selected, ${colors.N0})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N0})`,\n        dark: `var(--ds-text-selected, ${colors.N0})`\n      }\n    },\n    link: {\n      default: {\n        light: `var(--ds-link, ${colors.B400})`,\n        dark: `var(--ds-link, ${colors.B100})`\n      },\n      hover: {\n        light: `var(--ds-link, ${colors.B300})`,\n        dark: `var(--ds-link, ${colors.B75})`\n      },\n      active: {\n        light: `var(--ds-link-pressed, ${colors.B500})`,\n        dark: `var(--ds-link-pressed, ${colors.B200})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.N700})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.N700})`\n      }\n    },\n    subtle: {\n      default: {\n        light: `var(--ds-text, ${colors.N500})`,\n        dark: `var(--ds-text, ${colors.DN400})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.B400})`,\n        dark: `var(--ds-text, ${colors.B400})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    'subtle-link': {\n      default: {\n        light: `var(--ds-text-subtle, ${colors.N200})`,\n        dark: `var(--ds-text-subtle, ${colors.DN400})`\n      },\n      hover: {\n        light: `var(--ds-text-subtle, ${colors.N90})`,\n        dark: `var(--ds-text-subtle, ${colors.B50})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.N400})`,\n        dark: `var(--ds-text, ${colors.DN300})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    }\n  }\n};\nexport default values;","import { css } from '@emotion/react';\nimport { borderRadius as getBorderRadius, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize();\n\n// ## Button layout\n//\n// /------------------------------------------------------------------------------------------------------------------\\\n// |       →  |  ←      |          |      →  |  ←      |           |      →  |  ←      |         |      →  |  ←       |\n// |  10px →  |  ← 2px  |   icon   |  2px →  |  ← 2px  |           |  2px →  |  ← 2px  |  icon   |  2px →  |  ← 10px  |\n// |  padding |  margin |  before  |  margin |  margin |  content  |  margin |  margin |  after  |  margin |  padding |\n// |    (12px total)    |          |    (4px total)    |           |    (4px total)    |         |    (12px total)    |\n// |       →  |  ←      |          |      →  |  ←      |           |      →  |  ←      |         |      →  |  ←       |\n// \\------------------------------------------------------------------------------------------------------------------/\n//                                           ↑                               ↑\n//                                        Margins don't collapse with inline-flex\n//\nconst heights = {\n  default: `${gridSize * 4 / fontSize}em`,\n  // 32px\n  compact: `${gridSize * 3 / fontSize}em`,\n  none: 'auto'\n};\nconst lineHeights = {\n  default: heights.default,\n  compact: heights.compact,\n  none: 'inherit'\n};\nconst padding = {\n  // 10px gutter\n  default: `0 ${gridSize + gridSize / 4}px`,\n  compact: `0 ${gridSize + gridSize / 4}px`,\n  none: '0'\n};\nconst singleIconPadding = {\n  // 2px gutter\n  compact: `0 ${gridSize / 4}px`,\n  default: `0 ${gridSize / 4}px`,\n  none: '0'\n};\nconst verticalAlign = {\n  default: 'middle',\n  compact: 'middle',\n  none: 'baseline'\n};\nconst innerMargin = {\n  content: `0 ${gridSize / 4}px`,\n  icon: `0 ${gridSize / 4}px`\n};\nfunction getColor({\n  group,\n  key,\n  mode\n}) {\n  const rule = group[key] || group.default;\n  return rule[mode];\n}\nfunction getColors({\n  appearance,\n  key,\n  mode\n}) {\n  return {\n    background: getColor({\n      group: colors.background[appearance],\n      key,\n      mode\n    }),\n    // Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider\n    color: `${getColor({\n      group: colors.color[appearance],\n      key,\n      mode\n    })} !important`\n  };\n}\nexport function getCss({\n  appearance,\n  spacing,\n  mode,\n  isSelected,\n  shouldFitContainer,\n  isOnlySingleIcon\n}) {\n  const baseColors = getColors({\n    appearance,\n    key: isSelected ? 'selected' : 'default',\n    mode\n  });\n  return {\n    // 0px margin added to css-reset\n    alignItems: 'baseline',\n    borderWidth: 0,\n    borderRadius,\n    boxSizing: 'border-box',\n    display: 'inline-flex',\n    fontSize: 'inherit',\n    fontStyle: 'normal',\n    // Chrome recently changed button so that they use 'arial' as the font family\n    fontFamily: 'inherit',\n    fontWeight: 500,\n    // margin for button has been applied to css reset\n    maxWidth: '100%',\n    // Needed to position overlay\n    position: 'relative',\n    textAlign: 'center',\n    textDecoration: 'none',\n    transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',\n    whiteSpace: 'nowrap',\n    // dynamic styles\n    ...baseColors,\n    cursor: 'pointer',\n    height: heights[spacing],\n    lineHeight: lineHeights[spacing],\n    padding: isOnlySingleIcon ? singleIconPadding[spacing] : padding[spacing],\n    verticalAlign: verticalAlign[spacing],\n    width: shouldFitContainer ? '100%' : 'auto',\n    // justifyContent required for shouldFitContainer buttons with an icon inside\n    justifyContent: 'center',\n    // Note: we cannot disable pointer events when there is an overlay.\n    // That would be easy for styling, but it would start letting events through on disabled buttons\n\n    // Disabling visited styles (just using the base colors)\n    '&:visited': {\n      ...baseColors\n    },\n    '&:hover': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'hover',\n        mode\n      }),\n      textDecoration: !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? 'underline' : 'inherit',\n      // background, box-shadow\n      transitionDuration: '0s, 0.15s'\n    },\n    // giving active styles preference by listing them after focus\n    '&:active': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'active',\n        mode\n      }),\n      // background, box-shadow\n      transitionDuration: '0s, 0s'\n    },\n    // preventDefault prevents regular active styles from applying in Firefox\n    '&[data-firefox-is-active=\"true\"]': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'active',\n        mode\n      }),\n      // background, box-shadow\n      transitionDuration: '0s, 0s'\n    },\n    // Giving disabled styles preference over active by listing them after.\n    // Not using '&:disabled' because :disabled is not a valid state for all element types\n    // so we are targeting the attribute\n    // Attributes have the same specificity a pseudo classes so we are overriding :disabled here\n    '&[disabled]': {\n      // always using 'disabled' even when selected\n      ...getColors({\n        appearance,\n        key: 'disabled',\n        mode\n      }),\n      cursor: 'not-allowed',\n      textDecoration: 'none'\n    },\n    '&[data-has-overlay=\"true\"]': {\n      cursor: 'default',\n      textDecoration: 'none'\n    },\n    // disabling hover and active color changes when there is an overlay, but the button is not disabled\n    '&[data-has-overlay=\"true\"]:not([disabled]):hover, &[data-has-overlay=\"true\"]:not([disabled]):active': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'default',\n        mode\n      })\n    },\n    '&::-moz-focus-inner': {\n      border: 0,\n      margin: 0,\n      padding: 0\n    }\n  };\n}\n\n// inline-flex child\nexport function getIconStyle({\n  spacing\n}) {\n  return css({\n    display: 'flex',\n    // icon size cannot grow and shrink\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    margin: spacing === 'none' ? 0 : innerMargin.icon,\n    flexGrow: 0,\n    flexShrink: 0,\n    alignSelf: 'center',\n    fontSize: 0,\n    lineHeight: 0,\n    userSelect: 'none'\n  });\n}\n\n// inline-flex child\nexport function getContentStyle({\n  spacing\n}) {\n  return css({\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    margin: spacing === 'none' ? 0 : innerMargin.content,\n    // content can grow and shrink\n    flexGrow: 1,\n    flexShrink: 1,\n    // ellipsis for overflow text\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap'\n  });\n}\nexport function getFadingCss({\n  hasOverlay\n}) {\n  return css({\n    opacity: hasOverlay ? 0 : 1,\n    transition: 'opacity 0.3s'\n  });\n}\nexport const overlayCss = {\n  // stretching to full width / height of button\n  // this is important as we need it to still block\n  // event if clicking in the button's own padding\n  position: 'absolute',\n  left: 0,\n  top: 0,\n  right: 0,\n  bottom: 0,\n  // Putting all children in the center\n  display: 'flex',\n  justifyContent: 'center',\n  alignItems: 'center'\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\n// eslint-disable-next-line no-duplicate-imports\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { N500 } from '@atlaskit/theme/colors';\nimport blockEvents from './block-events';\nimport { getContentStyle, getFadingCss, getIconStyle, overlayCss } from './css';\n\n// Disabled buttons will still publish events for nested elements in webkit.\n// We are disabling pointer events on child elements so that\n// the button will always be the target of events\n// Note: firefox does not have this behaviour for child elements\nconst noPointerEventsOnChildrenCss = {\n  '> *': {\n    pointerEvents: 'none'\n  }\n};\nexport default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n  const {\n    appearance = 'default',\n    buttonCss,\n    spacing = 'default',\n    autoFocus = false,\n    isDisabled = false,\n    shouldFitContainer = false,\n    isSelected = false,\n    iconBefore,\n    iconAfter,\n    children,\n    className,\n    href,\n    overlay,\n    tabIndex = 0,\n    type = !href ? 'button' : undefined,\n    onMouseDown: providedOnMouseDown = noop,\n    onClick: providedOnClick = noop,\n    // use the provided component prop,\n    // else default to anchor if there is a href, and button if there is no href\n    component: Component = href ? 'a' : 'button',\n    testId,\n    interactionName,\n    // I don't think this should be in button, but for now it is\n    analyticsContext,\n    ...rest\n  } = props;\n  const ourRef = useRef();\n  const setRef = useCallback(node => {\n    ourRef.current = node;\n    if (ref == null) {\n      return;\n    }\n    if (typeof ref === 'function') {\n      ref(node);\n      return;\n    }\n\n    // @ts-ignore\n    ref.current = node;\n  }, [ourRef, ref]);\n\n  // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n  useAutoFocus(ourRef, autoFocus);\n  const interactionContext = useContext(InteractionContext);\n  const handleClick = useCallback((e, analyticsEvent) => {\n    interactionContext && interactionContext.tracePress(interactionName, e.timeStamp);\n    providedOnClick(e, analyticsEvent);\n  }, [providedOnClick, interactionContext, interactionName]);\n  const onClick = usePlatformLeafEventHandler({\n    fn: handleClick,\n    action: 'clicked',\n    componentName: 'button',\n    packageName: \"@atlaskit/button\",\n    packageVersion: \"16.7.5\",\n    analyticsData: analyticsContext\n  });\n\n  // Button currently calls preventDefault, which is not standard button behaviour\n  const onMouseDown = useCallback(event => {\n    event.preventDefault();\n    providedOnMouseDown(event);\n  }, [providedOnMouseDown]);\n\n  // Lose focus when becoming disabled (standard button behaviour)\n  useEffect(() => {\n    const el = ourRef.current;\n    if (isDisabled && el && el === document.activeElement) {\n      el.blur();\n    }\n  }, [isDisabled]);\n\n  // we are 'disabling' input with a button when there is an overlay\n  const hasOverlay = Boolean(overlay);\n  const fadeCss = css(getFadingCss({\n    hasOverlay\n  }));\n  const isInteractive = !isDisabled && !hasOverlay;\n\n  /**\n   * HACK: Spinner needs to have different colours in the \"new\" tokens design compared to the old design.\n   * For now, while we support both, these styles reach into Spinner when a theme is set, applies the right color.\n   * Ticket to remove: https://product-fabric.atlassian.net/browse/DSP-2067\n   */\n  var spinnerHackCss = {};\n  if (isSelected || isDisabled || appearance === 'warning') {\n    spinnerHackCss = {\n      '[data-theme] & circle': {\n        stroke: `${isSelected || isDisabled ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-warning-inverse, ${N500})`} !important`\n      }\n    };\n  }\n  return jsx(FocusRing, null, jsx(Component, _extends({}, rest, {\n    css: [buttonCss, isInteractive ? null : noPointerEventsOnChildrenCss],\n    className: className,\n    ref: setRef,\n    onClick: onClick,\n    onMouseDown: onMouseDown,\n    disabled: isDisabled,\n    href: isInteractive ? href : undefined\n    // using undefined so that the property doesn't exist when false\n    ,\n    \"data-has-overlay\": hasOverlay ? true : undefined,\n    \"data-testid\": testId,\n    type: type\n    // Adding a tab index so element is always focusable, even when not a <button> or <a>\n    // Disabling focus via keyboard navigation when disabled\n    // as this is standard button behaviour\n    ,\n    tabIndex: isDisabled ? -1 : tabIndex\n  }, blockEvents({\n    isInteractive\n  })), iconBefore ? jsx(\"span\", {\n    css: [fadeCss, getIconStyle({\n      spacing\n    })]\n  }, iconBefore) : null, children ? jsx(\"span\", {\n    css: [fadeCss, getContentStyle({\n      spacing\n    })]\n  }, children) : null, iconAfter ? jsx(\"span\", {\n    css: [fadeCss, getIconStyle({\n      spacing\n    })]\n  }, iconAfter) : null, overlay ? jsx(\"span\", {\n    css: [overlayCss, spinnerHackCss]\n  }, overlay) : null));\n});","import { useEffect, useRef } from 'react';\n\n/**\n * Focusing on the passed element ref after initial mount.\n * Will only focus on initial mount.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/autofocus\n *\n * ```tsx\n * import useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\n *\n * const elementRef = useRef();\n * useAutoFocus(elementRef, true);\n *\n * <button ref={elementRef} />;\n * ```\n *\n * @param ref\n * @param autoFocus\n */\nexport default function useAutoFocus(ref, autoFocus) {\n  const initialMount = useRef(true);\n  useEffect(() => {\n    if (ref && initialMount.current && autoFocus && ref.current) {\n      ref.current.focus();\n    }\n    initialMount.current = false;\n  }, [autoFocus, ref]);\n}","export default function getIsOnlySingleIcon({\n  children,\n  iconBefore,\n  iconAfter\n}) {\n  if (children) {\n    return false;\n  }\n  if (iconBefore && !iconAfter) {\n    return true;\n  }\n  if (!iconBefore && iconAfter) {\n    return true;\n  }\n  return false;\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","export const presetSizes = {\n  xsmall: 8,\n  small: 16,\n  medium: 24,\n  large: 48,\n  xlarge: 96\n};","/** @jsx jsx */\nimport React, { useContext, useEffect, useLayoutEffect as useRealLayoutEffect } from 'react';\nimport { css, jsx, keyframes } from '@emotion/react';\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\n/**\n * Returns the appropriate circle stroke color.\n */\nfunction getStrokeColor({\n  mode,\n  appearance\n}) {\n  if (mode === 'light') {\n    return appearance === 'inherit' ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-inverse, ${N0})`;\n  }\n  return appearance === 'inherit' ? `var(--ds-icon-subtle, ${DN900})` : `var(--ds-icon-inverse, ${DN500})`;\n}\nconst rotate = keyframes({\n  to: {\n    transform: 'rotate(360deg)'\n  }\n});\nconst rotateStyles = css({\n  animation: `${rotate} 0.86s infinite`,\n  animationTimingFunction: 'cubic-bezier(0.4, 0.15, 0.6, 0.85)',\n  transformOrigin: 'center'\n});\n\n/**\n * There are three parts to the load in animation:\n * 1. Fade in\n * 2. Accelerated spin\n * 3. Stretch the spinner line\n */\nconst loadIn = keyframes({\n  from: {\n    transform: 'rotate(50deg)',\n    opacity: 0,\n    strokeDashoffset: 60\n  },\n  to: {\n    transform: 'rotate(230deg)',\n    opacity: 1,\n    strokeDashoffset: 50\n  }\n});\nconst loadInStyles = css({\n  animation: `${loadIn} 1s ease-in-out`,\n  /**\n   * When the animation completes, stay at the last frame of the animation.\n   */\n  animationFillMode: 'forwards',\n  /**\n   * We are going to animate this in.\n   */\n  opacity: 0\n});\nconst wrapperStyles = css({\n  display: 'inline-flex',\n  /**\n   * Align better inline with text.\n   */\n  verticalAlign: 'middle'\n});\nconst circleStyles = css({\n  fill: 'none',\n  strokeDasharray: 60,\n  strokeDashoffset: 'inherit',\n  strokeLinecap: 'round',\n  strokeWidth: 1.5,\n  '@media screen and (forced-colors: active)': {\n    filter: 'grayscale(100%)',\n    stroke: 'CanvasText'\n  }\n});\n\n/**\n * `useLayoutEffect` is being used in SSR safe form. On the server, this work doesn’t need to run.\n * `useEffect` is used in-place, because `useEffect` is not run on the server and it matches types\n * which makes things simpler than doing an `isServer` check or a `null` check.\n *\n * @see https://hello.atlassian.net/wiki/spaces/DST/pages/2081696628/DSTDACI-010+-+Interaction+Tracing+hooks+in+DS+components\n */\nconst useLayoutEffect = typeof window === 'undefined' ? useEffect : useRealLayoutEffect;\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Spinner({\n  testId,\n  appearance = 'inherit',\n  delay = 0,\n  size: providedSize = 'medium',\n  interactionName\n}, ref) {\n  const size = typeof providedSize === 'number' ? providedSize : presetSizes[providedSize];\n  const animationDelay = `${delay}ms`;\n  const {\n    mode\n  } = useGlobalTheme();\n  const stroke = getStrokeColor({\n    mode,\n    appearance\n  });\n  const context = useContext(InteractionContext);\n  useLayoutEffect(() => {\n    if (context != null) {\n      return context.hold(interactionName);\n    }\n  }, [context, interactionName]);\n\n  /**\n   * The Spinner animation uses a combination of two\n   * css animations on two separate elements.\n   */\n  return jsx(\"span\", {\n    /**\n     * This span exists to off-load animations from the circle element,\n     * which were causing performance issues (style recalculations)\n     * on Safari and older versions of Chrome.\n     *\n     * This can be removed and styles placed back on the circle element once\n     * Safari fixes this bug and off-loads rendering to the GPU from the CPU.\n     */\n    css: [wrapperStyles, rotateStyles],\n    \"data-testid\": testId && `${testId}-wrapper`,\n    style: {\n      animationDelay,\n      width: size,\n      height: size\n    }\n  }, jsx(\"svg\", {\n    height: size,\n    width: size,\n    viewBox: \"0 0 16 16\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"data-testid\": testId,\n    ref: ref,\n    css: loadInStyles,\n    style: {\n      animationDelay\n    }\n  }, jsx(\"circle\", {\n    cx: \"8\",\n    cy: \"8\",\n    r: \"7\",\n    css: circleStyles,\n    style: {\n      stroke\n    }\n  })));\n}));","import React from 'react';\nimport Spinner from '@atlaskit/spinner';\nfunction getSpinnerAppearance({\n  appearance,\n  isDisabled,\n  isSelected\n}) {\n  if (isDisabled) {\n    return 'inherit';\n  }\n  if (isSelected) {\n    return 'invert';\n  }\n  if (appearance === 'primary' || appearance === 'danger') {\n    return 'invert';\n  }\n  return 'inherit';\n}\nexport default function LoadingSpinner({\n  spacing = 'default',\n  ...rest\n}) {\n  const size = spacing === 'default' ? 'medium' : 'small';\n  return /*#__PURE__*/React.createElement(Spinner, {\n    size: size,\n    appearance: getSpinnerAppearance(rest)\n  });\n}","import { createTheme } from '@atlaskit/theme/components';\nimport { getCss } from '../shared/css';\nconst stateToSelectorMap = {\n  focus: '&:focus',\n  focusSelected: '&:focus',\n  hover: '&:hover',\n  active: '&:active',\n  disabled: '&[disabled]'\n};\n\n// Mapping the new clean css back to the legacy theme format.\n// The legacy theme format has all styles at the top level (no nested selectors)\n// and uses `getSpecifiers()` to apply the style to all pseudo states\nexport function getCustomCss({\n  appearance = 'default',\n  spacing = 'default',\n  mode = 'light',\n  isSelected = false,\n  shouldFitContainer = false,\n  iconIsOnlyChild = false,\n  isLoading = false,\n  state\n}) {\n  let result = getCss({\n    appearance,\n    spacing,\n    mode,\n    isSelected,\n    shouldFitContainer,\n    isOnlySingleIcon: iconIsOnlyChild\n  });\n\n  // we need to disable the default browser focus styles always\n  // this is because we are not expressing that we can have two pseudo states at a time\n  result.outline = 'none';\n\n  // Pulling relevant styles up to the top level\n  const selector = stateToSelectorMap[state];\n  if (selector) {\n    result = {\n      ...result,\n      ...result[selector]\n    };\n  }\n  if (isLoading) {\n    result = {\n      ...result,\n      // Pull overlay styles up to the top\n      ...result['&[data-has-overlay=\"true\"]']\n    };\n  }\n\n  // Delete all selectors and just keep root styles\n  Object.keys(result).forEach(key => {\n    // want to keep this one\n    if (key === '&::-moz-focus-inner') {\n      return;\n    }\n\n    // Not using .startsWith for ie11\n    if (key.indexOf('&') === 0) {\n      delete result[key];\n    }\n  });\n  return result;\n}\n\n// This styling approach works by generating a 'style' and applying with maximum specificity\n// To do this we are overwriting all pseudo selectors\nexport function getSpecifiers(styles) {\n  return {\n    '&, &:hover, &:active, &:focus, &:focus-visible, &:visited, &:disabled, &[disabled]': styles\n  };\n}\nexport function defaultThemeFn(current, values) {\n  return current(values);\n}\nconst Theme = createTheme(themeProps => ({\n  buttonStyles: getCustomCss(themeProps),\n  // No styles being applied directly to spinner by default\n  // Keeping this for legacy compat. We could remove it, but given\n  // that we are changing theme soon there is no point\n  spinnerStyles: {}\n}));\n\n// eslint-disable-next-line @repo/internal/react/require-jsdoc\nexport default Theme;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useCallback, useState } from 'react';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport ButtonBase from '../shared/button-base';\nimport getIsOnlySingleIcon from '../shared/get-is-only-single-icon';\nimport LoadingSpinner from '../shared/loading-spinner';\nimport Theme, { defaultThemeFn, getSpecifiers } from './theme';\nfunction getInteractionState({\n  isDisabled = false,\n  isActive = false,\n  isFocus = false,\n  isHover = false,\n  isSelected = false,\n  isLoading = false\n}) {\n  if (isDisabled) {\n    return 'disabled';\n  }\n  if (isSelected && isFocus) {\n    return 'focusSelected';\n  }\n  if (isSelected) {\n    return 'selected';\n  }\n  // not allowing active or focus style changes while loading\n  if (!isLoading && isActive) {\n    return 'active';\n  }\n  if (!isLoading && isHover) {\n    return 'hover';\n  }\n  if (isFocus) {\n    return 'focus';\n  }\n  return 'default';\n}\nconst initial = {\n  isHover: false,\n  isActive: false,\n  isFocus: false\n};\n\n/**\n * __Custom theme button__\n *\n * A custom theme button. Avoid using this component. It exists for those already using custom theming, which is hard to use and has performance issues.\n *\n * - [Examples](https://atlassian.design/components/button/examples#custom-theme-button)\n */\nconst CustomThemeButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function CustomThemeButton({\n  // Calculate default props for use in custom themes\n  appearance = 'default',\n  autoFocus = false,\n  isDisabled = false,\n  isSelected = false,\n  shouldFitContainer = false,\n  spacing = 'default',\n  isLoading = false,\n  onMouseEnter: providedOnMouseEnter,\n  onMouseLeave: providedOnMouseLeave,\n  onMouseDown: providedOnMouseDown,\n  onMouseUp: providedOnMouseUp,\n  onFocus: providedOnFocus,\n  onBlur: providedOnBlur,\n  theme = defaultThemeFn,\n  ...rest\n}, ref) {\n  // TODO is there a nicer way to do this?\n  // Add default props back into object for spreading\n  const restProps = {\n    appearance,\n    autoFocus,\n    isDisabled,\n    isSelected,\n    shouldFitContainer,\n    spacing,\n    ...rest\n  };\n  const [state, setState] = useState(initial);\n  const onMouseEnter = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isHover: true\n    }));\n    if (providedOnMouseEnter) {\n      providedOnMouseEnter(event);\n    }\n  }, [providedOnMouseEnter]);\n  const onMouseLeave = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isHover: false,\n      isActive: false\n    }));\n    if (providedOnMouseLeave) {\n      providedOnMouseLeave(event);\n    }\n  }, [providedOnMouseLeave]);\n  const onMouseDown = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isActive: true\n    }));\n    if (providedOnMouseDown) {\n      providedOnMouseDown(event);\n    }\n  }, [providedOnMouseDown]);\n  const onMouseUp = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isActive: false\n    }));\n    if (providedOnMouseUp) {\n      providedOnMouseUp(event);\n    }\n  }, [providedOnMouseUp]);\n  const onFocus = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isFocus: true\n    }));\n    if (providedOnFocus) {\n      providedOnFocus(event);\n    }\n  }, [providedOnFocus]);\n  const onBlur = useCallback(event => {\n    setState(current => ({\n      ...current,\n      isFocus: false\n    }));\n    if (providedOnBlur) {\n      providedOnBlur(event);\n    }\n  }, [providedOnBlur]);\n  return /*#__PURE__*/React.createElement(Theme.Provider, {\n    value: theme\n  }, /*#__PURE__*/React.createElement(GlobalTheme.Consumer, null, ({\n    mode\n  }) => /*#__PURE__*/React.createElement(Theme.Consumer, _extends({\n    mode: mode,\n    state: getInteractionState({\n      ...state,\n      isLoading,\n      isSelected: restProps.isSelected,\n      isDisabled: restProps.isDisabled\n    }),\n    iconIsOnlyChild: getIsOnlySingleIcon(restProps),\n    isLoading: isLoading\n  }, restProps), ({\n    buttonStyles\n  }) => /*#__PURE__*/React.createElement(ButtonBase, _extends({}, restProps, {\n    ref: ref,\n    overlay: isLoading ? /*#__PURE__*/React.createElement(LoadingSpinner, restProps) : null,\n    onMouseEnter: onMouseEnter,\n    onMouseLeave: onMouseLeave,\n    onMouseDown: onMouseDown,\n    onMouseUp: onMouseUp,\n    onFocus: onFocus,\n    onBlur: onBlur,\n    buttonCss: getSpecifiers(buttonStyles)\n  })))));\n}));\n\n// Tools including enzyme rely on components having a display name\nCustomThemeButton.displayName = 'CustomThemeButton';\nexport default CustomThemeButton;","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport Button from '@atlaskit/button/custom-theme-button';\nimport { internalFooterStyles } from '../styles/content';\nexport default function ModalFooter(props) {\n  const {\n    actions,\n    appearance,\n    component,\n    onClose,\n    testId\n  } = props;\n  const warning = 'You can provide `component` OR `actions`, not both.';\n\n  if (!component && !actions) {\n    return null;\n  }\n\n  if (component && actions) {\n    console.warn(warning); // eslint-disable-line no-console\n\n    return null;\n  }\n\n  if (component) {\n    return /*#__PURE__*/React.createElement(component, {\n      appearance,\n      onClose\n    });\n  }\n\n  return jsx(\"div\", {\n    css: internalFooterStyles,\n    \"data-testid\": testId && `${testId}--footer`\n  }, actions && actions.map(({\n    text,\n    ...rest\n  }, index) => jsx(Button, _extends({\n    key: index,\n    appearance: index !== 0 ? 'subtle' : appearance || 'primary',\n    \"data-ds--modal-dialog--action\": true,\n    testId: testId && `${testId}--action-${index}`\n  }, rest), text)));\n}","/** @jsx jsx */\nimport React, { useMemo } from 'react';\nimport { jsx } from '@emotion/core';\nimport ErrorIcon from '@atlaskit/icon/glyph/error';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport { getTitleIconStyles, getTitleTextStyles, headerStyles, titleStyles } from '../styles/content';\n\nconst TitleIcon = ({\n  appearance,\n  isHeadingMultiline\n}) => {\n  const titleIconStyles = useMemo(() => {\n    return getTitleIconStyles({\n      appearance,\n      isHeadingMultiline\n    });\n  }, [appearance, isHeadingMultiline]);\n  const Icon = appearance === 'danger' ? ErrorIcon : WarningIcon;\n  return jsx(\"span\", {\n    css: titleIconStyles\n  }, jsx(Icon, {\n    label: `${appearance} icon`\n  }));\n};\n\nexport default function ModalHeader(props) {\n  const {\n    id,\n    appearance,\n    component,\n    heading,\n    onClose,\n    testId,\n    isHeadingMultiline = true\n  } = props;\n  const warning = 'You can provide `component` OR `heading`, not both.';\n  const titleTextStyles = useMemo(() => {\n    return getTitleTextStyles(isHeadingMultiline);\n  }, [isHeadingMultiline]);\n\n  if (!component && !heading) {\n    return null;\n  }\n\n  if (component && heading) {\n    console.warn(warning); // eslint-disable-line no-console\n\n    return null;\n  }\n\n  if (component) {\n    return /*#__PURE__*/React.createElement(component, {\n      id,\n      testId,\n      appearance,\n      onClose,\n      isHeadingMultiline\n    });\n  }\n\n  return jsx(\"div\", {\n    css: headerStyles,\n    \"data-testid\": testId && `${testId}--header`\n  }, jsx(\"h1\", {\n    css: titleStyles\n  }, appearance && jsx(TitleIcon, {\n    appearance: appearance,\n    isHeadingMultiline: isHeadingMultiline\n  }), jsx(\"span\", {\n    id: id,\n    css: titleTextStyles,\n    \"data-testid\": testId && `${testId}-heading`\n  }, heading)));\n}","\n\nexport default (function (fn) {\n  var lastArgs = [];\n  var frameId = null;\n\n  var wrapperFn = function wrapperFn() {\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    lastArgs = args;\n\n    if (frameId) {\n      return frameId;\n    }\n\n    frameId = requestAnimationFrame(function () {\n      frameId = null;\n      fn.apply(undefined, lastArgs);\n    });\n\n    return frameId;\n  };\n\n  wrapperFn.cancel = function () {\n    if (!frameId) {\n      return;\n    }\n\n    cancelAnimationFrame(frameId);\n    frameId = null;\n  };\n\n  var resultFn = wrapperFn;\n\n  return resultFn;\n});","import { css } from '@emotion/core';\nimport { focusOutlineColor, keylineColor, keylineHeight } from '../constants';\nconst outline = css`\n  outline-offset: -1px;\n  outline-style: dotted;\n  outline-color: ${focusOutlineColor};\n  outline-width: thin;\n`;\n\nconst keyline = showKeyline => showKeyline ? `${keylineHeight}px solid ${keylineColor}` : 'unset';\n\nexport const scrollableStyles = ({\n  showTopKeyline,\n  showBottomKeyline,\n  shouldScroll\n}) => css`\n  overflow-y: auto;\n  overflow-x: ${shouldScroll ? 'hidden' : 'inherit'};\n\n  border-top: ${keyline(showTopKeyline)};\n  border-bottom: ${keyline(showBottomKeyline)};\n\n  /**\n  * We need to inherit flex styles from its parent here\n  * in case they're set because we're essentially being a proxy container\n  * between the original flex parent and its children (the modal body).\n  */\n  display: inherit;\n  flex: inherit;\n  flex-direction: inherit;\n\n  /**\n  * This margin is to match original behavior where we set extra\n  * padding on the modal body, depending on the scroll behavior,\n  * to offset the keylines.\n  *\n  * In this conversion, we always add the padding in the body, and\n  * remove the extra spacing here if scroll behavior is 'outside'.\n  *\n  * This logic needs to stay until we consolidate\n  * the scroll behaviors.\n  */\n  margin: -${shouldScroll ? 0 : keylineHeight}px 0px;\n\n  &:focus {\n    ${outline}\n  }\n\n  @supports selector(:focus-visible) {\n    &:focus {\n      outline: unset;\n    }\n\n    &:focus-visible {\n      ${outline}\n    }\n  }\n\n  @media (min-width: 480px) {\n    overflow-y: ${shouldScroll ? 'auto' : 'inherit'};\n    height: unset;\n  }\n`;","/** @jsx jsx */\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport { jsx } from '@emotion/core';\nimport rafSchedule from 'raf-schd';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport useLazyCallback from '@atlaskit/ds-lib/use-lazy-callback';\nimport useStateRef from '@atlaskit/ds-lib/use-state-ref';\nimport { keylineHeight } from '../constants';\nimport { scrollableStyles } from '../styles/scroll-container';\n\n/**\n * A container that shows top and bottom keylines when the\n * content overflows into the scrollable element.\n */\nconst ScrollContainer = /*#__PURE__*/forwardRef((props, ref) => {\n  const [hasSiblings, setSiblings] = useStateRef({\n    previous: false,\n    next: false\n  });\n  const [showContentFocus, setContentFocus] = useState(false);\n  const [showTopKeyline, setTopKeyline] = useState(false);\n  const [showBottomKeyline, setBottomKeyline] = useState(false);\n  const scrollableRef = useRef(null);\n  const setLazySiblings = useLazyCallback(setSiblings);\n  const setLazyContentFocus = useLazyCallback(rafSchedule(() => {\n    const target = scrollableRef.current;\n    target && setContentFocus(target.scrollHeight > target.clientHeight);\n  }));\n  const setLazyKeylines = useLazyCallback(rafSchedule(() => {\n    const target = scrollableRef.current;\n\n    if (target) {\n      const scrollableDistance = target.scrollHeight - target.clientHeight;\n\n      if (hasSiblings.current.previous) {\n        setTopKeyline(target.scrollTop > keylineHeight);\n      }\n\n      if (hasSiblings.current.next) {\n        setBottomKeyline(target.scrollTop <= scrollableDistance - keylineHeight);\n      }\n    }\n  }));\n  useEffect(() => {\n    const target = scrollableRef.current;\n    window.addEventListener('resize', setLazyKeylines, false);\n    target === null || target === void 0 ? void 0 : target.addEventListener('scroll', setLazyKeylines, false);\n    setLazyContentFocus();\n    setLazyKeylines();\n    setLazySiblings({\n      previous: Boolean(target === null || target === void 0 ? void 0 : target.previousElementSibling),\n      next: Boolean(target === null || target === void 0 ? void 0 : target.nextElementSibling)\n    });\n    return () => {\n      window.removeEventListener('resize', setLazyKeylines, false);\n      target === null || target === void 0 ? void 0 : target.removeEventListener('scroll', setLazyKeylines, false);\n    };\n  }, [setLazyContentFocus, setLazyKeylines, setLazySiblings]);\n  return jsx(\"div\", {\n    // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n    tabIndex: showContentFocus ? 0 : undefined,\n    \"data-testid\": props.testId && `${props.testId}--scrollable`,\n    ref: mergeRefs([ref, scrollableRef]),\n    css: scrollableStyles({\n      showTopKeyline,\n      showBottomKeyline,\n      shouldScroll: props.shouldScroll\n    })\n  }, props.children);\n});\nScrollContainer.displayName = 'ScrollContainer';\nexport default ScrollContainer;","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport ScrollLock from 'react-scrolllock';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { bodyStyles, wrapperStyles } from '../styles/content';\nimport Footer from './footer';\nimport Header from './header';\nimport ScrollContainer from './scroll-container';\nconst emptyObject = {};\nexport default function Content(props) {\n  const {\n    actions,\n    appearance,\n    body: DeprecatedBody,\n    children,\n    components = emptyObject,\n    footer,\n    header,\n    heading,\n    isChromeless,\n    isHeadingMultiline,\n    onClose,\n    shouldScroll,\n    testId,\n    headingId,\n    stackIndex\n  } = props;\n  const {\n    Container = 'div',\n    Body: CustomBody\n  } = components;\n  const Body = CustomBody || DeprecatedBody || 'div';\n\n  if (process.env.NODE_ENV !== 'production') {\n    if (header) {\n      warnOnce(\"@atlaskit/modal-dialog: Deprecation warning - Use of the header prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n    }\n\n    if (footer) {\n      warnOnce(\"@atlaskit/modal-dialog: Deprecation warning - Use of the footer prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n    }\n\n    if (DeprecatedBody) {\n      warnOnce(\"@atlaskit/modal-dialog: Deprecation warning - Use of the body prop in ModalDialog is deprecated. Please compose your ModalDialog using the 'components' prop instead\");\n    }\n  }\n\n  return jsx(Container, {\n    css: wrapperStyles,\n    \"data-modal-stack\": stackIndex,\n    \"data-testid\": testId\n  }, isChromeless ? children : jsx(React.Fragment, null, jsx(Header, {\n    id: headingId,\n    appearance: appearance,\n    component: components.Header ? components.Header : header,\n    heading: heading,\n    onClose: onClose,\n    isHeadingMultiline: isHeadingMultiline,\n    testId: testId\n  }), jsx(ScrollLock, null, jsx(ScrollContainer, {\n    shouldScroll: shouldScroll,\n    testId: testId\n  }, jsx(Body, {\n    css: bodyStyles,\n    \"data-testid\": testId && `${testId}--body`\n  }, children))), jsx(Footer, {\n    actions: actions,\n    appearance: appearance,\n    component: components.Footer ? components.Footer : footer,\n    onClose: onClose,\n    testId: testId\n  })));\n}","/** @jsx jsx */\nimport React, { useMemo } from 'react';\nimport { jsx } from '@emotion/core';\nimport { getPositionAbsoluteStyles, getPositionFixedStyles, getPositionRelativeStyles } from '../styles/modal';\n\nconst Positioner = function Positioner({\n  scrollBehavior,\n  stackIndex,\n  children,\n  testId\n}) {\n  const positionerStyles = useMemo(() => {\n    switch (scrollBehavior) {\n      case 'outside':\n        return getPositionRelativeStyles(stackIndex);\n\n      case 'inside-wide':\n        return getPositionFixedStyles(stackIndex);\n\n      default:\n        return getPositionAbsoluteStyles(stackIndex);\n    }\n  }, [scrollBehavior, stackIndex]);\n  return jsx(\"div\", {\n    css: positionerStyles,\n    \"data-testid\": testId && `${testId}--positioner`\n  }, children);\n};\n\nPositioner.displayName = 'Positioner';\nexport default Positioner;","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { useCallback, useMemo } from 'react';\nimport { jsx } from '@emotion/core';\nimport FocusLock from 'react-focus-lock';\nimport { useUID } from 'react-uid';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport Blanket from '@atlaskit/blanket';\nimport mergeRefs from '@atlaskit/ds-lib/merge-refs';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport useCloseOnEscapePress from '@atlaskit/ds-lib/use-close-on-escape-press';\nimport FadeIn from '@atlaskit/motion/fade-in';\nimport useOnMotionFinish from '../hooks/use-on-motion-finish';\nimport usePreventProgrammaticScroll from '../hooks/use-prevent-programmatic-scroll';\nimport { getDialogStyles, getFillScreenStyles } from '../styles/modal';\nimport Content from './content';\nimport Positioner from './positioner';\n\nfunction ModalDialogInner(props) {\n  const {\n    actions,\n    appearance,\n    autoFocus,\n    body,\n    children,\n    components,\n    footer,\n    header,\n    height,\n    isBlanketHidden,\n    isChromeless,\n    isHeadingMultiline,\n    onClose,\n    onCloseComplete,\n    onOpenComplete,\n    shouldCloseOnEscapePress,\n    shouldCloseOnOverlayClick,\n    stackIndex,\n    heading,\n    width,\n    scrollBehavior,\n    testId\n  } = props;\n  const id = useUID();\n  const scrollDistance = usePreventProgrammaticScroll();\n  const isForeground = stackIndex === 0;\n  const onCloseHandler = usePlatformLeafEventHandler({\n    fn: onClose,\n    action: 'closed',\n    componentName: 'modalDialog',\n    packageName: \"@atlaskit/modal-dialog\",\n    packageVersion: \"11.7.4\"\n  });\n  useCloseOnEscapePress({\n    onClose: onCloseHandler,\n    isDisabled: !shouldCloseOnEscapePress || !isForeground\n  });\n  const [motionRef, onMotionFinish] = useOnMotionFinish({\n    onOpenComplete,\n    onCloseComplete\n  });\n  const onBlanketClicked = useCallback(e => {\n    if (shouldCloseOnOverlayClick) {\n      onCloseHandler(e);\n    }\n  }, [shouldCloseOnOverlayClick, onCloseHandler]);\n  useAutoFocus(typeof autoFocus === 'object' ? autoFocus : undefined, // When a user supplies  a ref to focus we enable this hook\n  typeof autoFocus === 'object');\n  const fillScreenStyles = useMemo(() => {\n    return getFillScreenStyles(scrollDistance);\n  }, [scrollDistance]);\n  const dialogStyles = useMemo(() => {\n    return getDialogStyles({\n      isChromeless,\n      height,\n      width\n    });\n  }, [isChromeless, height, width]);\n  return jsx(FadeIn, null, fadeInProps => jsx(\"div\", _extends({}, fadeInProps, {\n    css: fillScreenStyles,\n    \"aria-hidden\": !isForeground\n  }), jsx(FocusLock, {\n    autoFocus: // When a user supplies a ref to focus we skip focusing automatically\n    typeof autoFocus === 'boolean' ? autoFocus : false,\n    disabled: !isForeground,\n    returnFocus: true\n  }, jsx(Blanket, {\n    isTinted: !isBlanketHidden,\n    onBlanketClicked: onBlanketClicked,\n    testId: testId && `${testId}--blanket`\n  }), jsx(Positioner, {\n    scrollBehavior: scrollBehavior,\n    stackIndex: stackIndex,\n    testId: testId\n  }, jsx(FadeIn, {\n    entranceDirection: \"bottom\",\n    onFinish: onMotionFinish\n  }, bottomFadeInProps => jsx(\"section\", _extends({}, bottomFadeInProps, {\n    ref: mergeRefs([bottomFadeInProps.ref, motionRef]),\n    css: dialogStyles,\n    role: \"dialog\",\n    \"aria-labelledby\": `dialog-heading-${id}`,\n    \"data-testid\": testId,\n    tabIndex: -1,\n    \"aria-modal\": true\n  }), jsx(Content, {\n    actions: actions,\n    appearance: appearance,\n    components: components,\n    header: header,\n    body: body,\n    footer: footer,\n    heading: heading,\n    headingId: `dialog-heading-${id}`,\n    testId: testId && `${testId}-dialog-content`,\n    isChromeless: isChromeless,\n    isHeadingMultiline: isHeadingMultiline,\n    onClose: onCloseHandler,\n    stackIndex: stackIndex,\n    shouldScroll: scrollBehavior === 'inside' || scrollBehavior === 'inside-wide'\n  }, children)))))));\n}\n\nexport default ModalDialogInner;","import { useEffect } from 'react';\n/**\n * Assigns an event listener to the window and cleans up after itself.\n * This event will not flow through the React event system,\n * which means it could add lots of event listeners affecting performance.\n * Use with caution.\n *\n * ```\n * useWindowEvent('click', callback, true);\n * ```\n *\n * @param eventName\n * @param callback Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n * @param options Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n */\n\nexport default function useWindowEvent(eventName, callback, options) {\n  useEffect(() => {\n    window.addEventListener(eventName, callback, options);\n    return () => {\n      window.removeEventListener(eventName, callback, options);\n    };\n  }, [eventName, callback, options]);\n}","import { useCallback, useRef } from 'react';\nimport { ESCAPE } from '../utils/keycodes';\nimport useDocumentEvent from './use-document-event';\n\n/**\n * Calls back when the escape key is pressed.\n * To be used exclusively for closing layered components.\n * Use the `isDisabled` argument to ignore closing events.\n *\n * ```js\n * useCloseOnEscapePress({\n *   onClose: () => {},\n *   isDisabled: false,\n * });\n * ```\n */\nexport default function useCloseOnEscapePress({\n  onClose,\n  isDisabled\n}) {\n  const escapePressed = useRef(false);\n  const onKeyDown = useCallback(e => {\n    if (isDisabled || escapePressed.current || e.key !== ESCAPE) {\n      // We're either already handling the key down event or it's not escape.\n      // Bail early!\n      return;\n    }\n\n    escapePressed.current = true;\n    onClose(e);\n  }, [onClose, isDisabled]);\n  const onKeyUp = useCallback(() => {\n    escapePressed.current = false;\n  }, []);\n  useDocumentEvent('keydown', onKeyDown, false);\n  useDocumentEvent('keyup', onKeyUp, false);\n}","/**\n * Character key codes which can be used in keyboard events.\n */\nexport const KEY_UP = 'ArrowUp';\nexport const KEY_DOWN = 'ArrowDown';\nexport const KEY_HOME = 'Home';\nexport const KEY_END = 'End';\nexport const ESCAPE = 'Escape';","import { useCallback, useRef } from 'react';\nexport default function useOnMotionFinish({\n  onOpenComplete,\n  onCloseComplete\n}) {\n  const motionRef = useRef(null);\n  const onMotionFinish = useCallback(state => {\n    if (state === 'entering' && onOpenComplete) {\n      onOpenComplete(motionRef.current, true);\n    }\n\n    if (state === 'exiting' && onCloseComplete) {\n      onCloseComplete(motionRef.current);\n    }\n  }, [onOpenComplete, onCloseComplete]);\n  return [motionRef, onMotionFinish];\n}","import { useEffect, useRef } from 'react';\n/**\n * Focusing on the passed element ref after initial mount.\n * Will only focus on initial mount.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/autofocus\n *\n * ```tsx\n * import useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\n *\n * const elementRef = useRef();\n * useAutoFocus(elementRef, true);\n *\n * <button ref={elementRef} />;\n * ```\n *\n * @param ref\n * @param autoFocus\n */\n\nexport default function useAutoFocus(ref, autoFocus) {\n  const initialMount = useRef(true);\n  useEffect(() => {\n    if (ref && initialMount.current && autoFocus && ref.current) {\n      ref.current.focus();\n    }\n\n    initialMount.current = false;\n  }, [autoFocus, ref]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport useModalStack from '../hooks/use-modal-stack';\nimport Modal from './modal';\nexport default function ModalWrapper({\n  autoFocus = true,\n  scrollBehavior = 'inside',\n  shouldCloseOnEscapePress = true,\n  shouldCloseOnOverlayClick = true,\n  isChromeless = false,\n  width = 'medium',\n  isHeadingMultiline = true,\n  onClose = noop,\n  stackIndex: stackIndexOverride,\n  onStackChange = noop,\n  children,\n  ...props\n}) {\n  const stackIndex = useModalStack({\n    onStackChange\n  });\n  return /*#__PURE__*/React.createElement(Portal, {\n    zIndex: layers.modal()\n  }, /*#__PURE__*/React.createElement(Modal, _extends({}, props, {\n    autoFocus: autoFocus,\n    scrollBehavior: scrollBehavior,\n    shouldCloseOnEscapePress: shouldCloseOnEscapePress,\n    shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,\n    isChromeless: isChromeless,\n    width: width,\n    isHeadingMultiline: isHeadingMultiline,\n    onClose: onClose,\n    stackIndex: stackIndexOverride || stackIndex\n  }), children));\n}","import { useEffect, useRef } from 'react';\n/**\n * Returns the previous value in a given render cycle.\n *\n * ```js\n * const [currentValue] = useState(1);\n * const previousValue = usePreviousValue(currentValue);\n *\n * previousValue; // undefined\n * currentValue; // 1\n * ```\n *\n * @param value\n */\n\nexport default function usePreviousValue(value) {\n  const ref = useRef();\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref.current;\n}","import { N30, N800, R400, Y400 } from '@atlaskit/theme/colors';\nimport { gridSize } from '@atlaskit/theme/constants';\nexport const WIDTH_ENUM = {\n  values: ['small', 'medium', 'large', 'x-large'],\n  widths: {\n    small: 400,\n    medium: 600,\n    large: 800,\n    'x-large': 968\n  },\n  defaultValue: 'medium'\n};\nexport const gutter = 60;\nexport const verticalOffset = gridSize() * 2;\nexport const modalPadding = gridSize() * 3;\nexport const actionMargin = gridSize();\nexport const titleMargin = gridSize();\nexport const keylineHeight = 2;\nexport const keylineColor = N30;\nexport const focusOutlineColor = N800;\nexport const dangerColor = R400;\nexport const warningColor = Y400;","import styled from '@emotion/styled-base';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = styled.bind();\ntags.forEach(function (tagName) {\n  newStyled[tagName] = newStyled(tagName);\n});\n\nexport default newStyled;\n","import { css } from '@emotion/core';\nimport styled from '@emotion/styled';\nimport { actionMargin, dangerColor, keylineHeight, modalPadding, titleMargin, warningColor } from '../constants';\n// Wrapper\n// ==============================\nexport const wrapperStyles = css`\n  display: flex;\n  flex-direction: column;\n\n  /**\n  * This ensures that the element fills the whole modal dialog space\n  * and its content does not overflow (since flex items don't\n  * shrink past its content size by default). */\n  flex: 1 1 auto;\n  min-height: 0;\n`; // Header\n// ==============================\n\nexport const headerStyles = css`\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n\n  position: relative;\n  padding: ${modalPadding}px;\n  padding-bottom: ${modalPadding - keylineHeight}px;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Header = styled.div`\n  ${headerStyles}\n`;\nexport const titleStyles = css`\n  display: flex;\n  align-items: center;\n\n  font-size: 20px;\n  font-style: inherit;\n  font-weight: 500;\n  letter-spacing: -0.008em;\n  line-height: 1;\n\n  min-width: 0;\n  margin: 0;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Title = styled.h1`\n  ${titleStyles};\n`;\n\n/** 20 = font size, 1.2 = adjusted line height.\n * When the heading is truncated (not multi-line), we adjust the\n * line height to avoid cropping the descenders. This removes\n * the extra spacing that we get from that adjustment.\n */\nconst lineHeightOffset = 20 - 20 * 1.2;\nexport const getTitleTextStyles = isHeadingMultiline => css`\n  word-wrap: break-word;\n\n  /**\n  * This ensures that the element fills the whole header space\n  * and its content does not overflow (since flex items don't\n  * shrink past its content size by default). */\n  flex: 1 1 auto;\n  min-width: 0;\n\n  ${isHeadingMultiline !== true && css`\n    line-height: 1.2;\n    margin-top: ${lineHeightOffset / 2}px;\n    margin-bottom: ${lineHeightOffset / 2}px;\n\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  `};\n`;\nconst iconColor = {\n  danger: dangerColor,\n  warning: warningColor\n};\nexport const getTitleIconStyles = ({\n  appearance,\n  isHeadingMultiline\n}) => css`\n  flex: 0 0 auto; // Keeps the size of the icon the same, in case the text element grows in width.\n  color: ${iconColor[appearance]};\n  margin-right: ${titleMargin}px;\n\n  ${isHeadingMultiline !== true && css`\n    line-height: 1.2;\n    margin-bottom: ${lineHeightOffset / 2}px;\n  `};\n`; // Body\n// ==============================\n\n/**\n * Adding the padding here avoids cropping the keyline on its sides.\n * The combined vertical spacing is maintained by subtracting the\n * keyline height from header and footer.\n */\nexport const bodyStyles = css`\n  flex: 1 1 auto; // Ensures the body fills the whole space between header and footer.\n  padding: ${keylineHeight}px ${modalPadding}px;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Body = styled.div`\n  ${bodyStyles};\n`; // Footer\n// ==============================\n\nconst baseFooterStyles = css`\n  display: flex;\n  align-items: center;\n\n  position: relative;\n  padding: ${modalPadding}px;\n  padding-top: ${modalPadding - keylineHeight}px;\n\n  & [data-ds--modal-dialog--action] {\n    margin-left: ${actionMargin}px;\n  }\n`;\n/** This is the styles we use in our public Footer component,\n *  used when users build their own custom footer. */\n\nconst externalFooterStyles = css`\n  ${baseFooterStyles}\n\n  /**\n   * Some of our users rely on this behavior\n   * to put actions on the left-hand side.\n   * e.g. https://atlaskit.atlassian.com/examples/editor/editor-core/full-page-with-x-extensions\n   * (Click '+' -> 'View more' to see the element browser in a modal).\n   */\n  justify-content: space-between;\n`;\n/** This is the styles we use in our internal Footer component,\n *  used when users opt into our default footer + actions API. */\n\nexport const internalFooterStyles = css`\n  ${baseFooterStyles}\n\n  /**\n  * When we're /not/ using a custom footer, we place\n  * all actions on the right-hand side by default.\n  */\n  justify-content: flex-end;\n`; // TODO: This is a public API, so should remove during breaking change later.\n\nexport const Footer = styled.div`\n  ${externalFooterStyles};\n`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","const themedBackground = {\n  light: \"var(--ds-surface, #FFFFFF)\",\n  dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n  small: '16px',\n  medium: '24px',\n  large: '32px',\n  xlarge: '48px'\n};\nexport const sizeMap = {\n  small: 'small',\n  medium: 'medium',\n  large: 'large',\n  xlarge: 'xlarge'\n};\nexport const dimensions = {\n  small: {\n    width: sizes.small,\n    height: sizes.small\n  },\n  medium: {\n    width: sizes.medium,\n    height: sizes.medium\n  },\n  large: {\n    width: sizes.large,\n    height: sizes.large\n  },\n  xlarge: {\n    width: sizes.xlarge,\n    height: sizes.xlarge\n  }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n  overflow: 'hidden',\n  pointerEvents: 'none',\n  /**\n   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n   * rule) and then override it with currentColor for the color changes to be picked up.\n   */\n  stop: {\n    stopColor: 'currentColor'\n  }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n  small: smallStyles,\n  medium: mediumStyles,\n  large: largeStyles,\n  xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n  width,\n  height,\n  size\n}) => {\n  if (width && height) {\n    return {\n      width,\n      height\n    };\n  }\n  if (size) {\n    return dimensions[size];\n  }\n  return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n  display: 'inline-block',\n  flexShrink: 0,\n  lineHeight: 1,\n  // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n  '> svg': {\n    ...commonSVGStyles,\n    maxWidth: '100%',\n    maxHeight: '100%',\n    color: 'var(--icon-primary-color)',\n    fill: 'var(--icon-secondary-color)',\n    verticalAlign: 'bottom'\n  }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      filter: 'grayscale(1)',\n      '--icon-primary-color': 'CanvasText',\n      // foreground\n      '--icon-secondary-color': 'Canvas' // background\n    }\n  }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      // if the primaryColor is the same as the secondaryColor we\n      // set the --icon-primary-color to Canvas\n      // this is usually to convey state i.e. Checkbox checked -> not checked\n      '--icon-primary-color': 'Canvas' // foreground\n    }\n  }\n});\n\nconst secondaryTransparentHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      '--icon-secondary-color': 'transparent' // background\n    }\n  }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n  const {\n    glyph: Glyph,\n    dangerouslySetGlyph,\n    primaryColor = 'currentColor',\n    secondaryColor,\n    size,\n    testId,\n    label,\n    width,\n    height\n  } = props;\n  const glyphProps = dangerouslySetGlyph ? {\n    dangerouslySetInnerHTML: {\n      __html: dangerouslySetGlyph\n    }\n  } : {\n    children: Glyph ? jsx(Glyph, {\n      role: \"presentation\"\n    }) : null\n  };\n  const dimensions = getIconSize({\n    width,\n    height,\n    size\n  });\n  const {\n    mode\n  } = useGlobalTheme();\n  return jsx(\"span\", _extends({\n    \"data-testid\": testId,\n    role: label ? 'img' : undefined,\n    \"aria-label\": label ? label : undefined,\n    \"aria-hidden\": label ? undefined : true,\n    style: {\n      '--icon-primary-color': primaryColor,\n      '--icon-secondary-color': secondaryColor || getBackground(mode)\n    }\n  }, glyphProps, {\n    css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n    // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n    // We could then simplify how common styles are dealt with simply by encapsualting them\n    // at their appropriate level and/or having a singular approach to css variables in the package\n    dimensions &&\n    // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n    css({\n      width: dimensions.width,\n      height: dimensions.height,\n      '> svg': dimensions\n    })]\n  }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst ErrorIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><path d=\"M13.416 4.417a2.002 2.002 0 00-2.832 0l-6.168 6.167a2.002 2.002 0 000 2.833l6.168 6.167a2.002 2.002 0 002.832 0l6.168-6.167a2.002 2.002 0 000-2.833l-6.168-6.167z\" fill=\"currentColor\"/><path d=\"M12 14a1 1 0 01-1-1V8a1 1 0 012 0v5a1 1 0 01-1 1m0 3a1 1 0 010-2 1 1 0 010 2\" fill=\"inherit\"/></g></svg>`\n}, props));\n\nErrorIcon.displayName = 'ErrorIcon';\nvar _default = ErrorIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst WarningIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><path d=\"M12.938 4.967c-.518-.978-1.36-.974-1.876 0L3.938 18.425c-.518.978-.045 1.771 1.057 1.771h14.01c1.102 0 1.573-.797 1.057-1.771L12.938 4.967z\" fill=\"currentColor\"/><path d=\"M12 15a1 1 0 01-1-1V9a1 1 0 012 0v5a1 1 0 01-1 1m0 3a1 1 0 010-2 1 1 0 010 2\" fill=\"inherit\"/></g></svg>`\n}, props));\n\nWarningIcon.displayName = 'WarningIcon';\nvar _default = WarningIcon;\nexports.default = _default;","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark']; // Resolves the different types of theme objects in the current API\n\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if ('__ATLASKIT_THEME__' in props.theme) {\n      return props.theme.__ATLASKIT_THEME__;\n    } // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  } // If format not supported (or no theme provided), return standard theme\n\n\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n\n      }\n    }\n\n    return '';\n  };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n\n      if (value) {\n        return value;\n      }\n    }\n\n    return '';\n  };\n}","import themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n  light: N0,\n  dark: DN30\n});\nexport const backgroundActive = themed({\n  light: B50,\n  dark: B75\n});\nexport const backgroundHover = themed({\n  light: N30,\n  dark: DN70\n});\nexport const backgroundOnLayer = themed({\n  light: N0,\n  dark: DN50\n});\nexport const text = themed({\n  light: N900,\n  dark: DN600\n});\nexport const textHover = themed({\n  light: N800,\n  dark: DN600\n});\nexport const textActive = themed({\n  light: B400,\n  dark: B400\n});\nexport const subtleText = themed({\n  light: N200,\n  dark: DN300\n});\nexport const placeholderText = themed({\n  light: N100,\n  dark: DN200\n});\nexport const heading = themed({\n  light: N800,\n  dark: DN600\n});\nexport const subtleHeading = themed({\n  light: N200,\n  dark: DN300\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\nexport const link = themed({\n  light: B400,\n  dark: B100\n});\nexport const linkHover = themed({\n  light: B300,\n  dark: B200\n});\nexport const linkActive = themed({\n  light: B500,\n  dark: B100\n});\nexport const linkOutline = themed({\n  light: B100,\n  dark: B200\n});\nexport const primary = themed({\n  light: B400,\n  dark: B100\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\nexport const skeleton = () => N20A;","import { token } from '@atlaskit/tokens';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 800\n};\nexport const visuallyHidden = () => ({\n  border: '0 !important',\n  clip: 'rect(1px, 1px, 1px, 1px) !important',\n  height: '1px !important',\n  overflow: 'hidden !important',\n  padding: '0 !important',\n  position: 'absolute !important',\n  width: '1px !important',\n  whiteSpace: 'nowrap !important'\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\n\nexport const assistive = visuallyHidden;\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor()),\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor())\n    },\n    to: {\n      backgroundColor: token('color.background.subtleNeutral.hover', N30A)\n    }\n  }\n});","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { useCallback, useState } from 'react';\nexport const useForceRender = () => {\n  const [, updateState] = useState({});\n  const forceRender = useCallback(() => updateState({}), []);\n  return forceRender;\n};","import React, { Children, createContext, memo, useContext, useMemo, useRef } from 'react';\nimport { isReducedMotion } from '../utils/accessibility';\nimport { useForceRender } from '../utils/use-force-render';\n\n/**\n * Internally we will be playing with an element that will always have a key defined.\n */\n\n/**\n * Internal data passed to child motions.\n */\n\n// We define empty context here so the object doesn't change.\nconst emptyContext = {\n  // Motions will always appear if not inside a exiting persistence component.\n  appear: true,\n  isExiting: false\n};\nconst ExitingContext = /*#__PURE__*/createContext(emptyContext);\nconst isAnyPreviousKeysMissingFromCurrent = (currentMap, previous) => {\n  for (let i = 0; i < previous.length; i++) {\n    const element = previous[i];\n    const key = element.key;\n    if (!currentMap[key]) {\n      return true;\n    }\n  }\n  return false;\n};\n\n/**\n * This method will wrap any React element with a context provider. We're using context (instead of\n * cloneElement) so we can communicate between multiple elements without the need of prop drilling\n * (results in a better API for consumers).\n */\nconst wrapChildWithContextProvider = (child, value = emptyContext) => {\n  return /*#__PURE__*/React.createElement(ExitingContext.Provider, {\n    key: `${child.key}-provider`,\n    value: value\n  }, child);\n};\nconst childrenToObj = children => {\n  return children.reduce((acc, child) => {\n    acc[child.key] = child;\n    return acc;\n  }, {});\n};\nconst spliceNewElementsIntoPrevious = (current, previous) => {\n  const splicedChildren = previous.concat([]);\n  const previousMap = childrenToObj(previous);\n  for (let i = 0; i < current.length; i++) {\n    const child = current[i];\n    const childIsNew = !previousMap[child.key];\n    if (childIsNew) {\n      // This will insert the new element after the previous element.\n      splicedChildren.splice(i + 1, 0, child);\n    }\n  }\n  return splicedChildren;\n};\n\n/**\n * This function will convert all children types to an array while also filtering out non-valid React elements.\n */\nconst childrenToArray = children => {\n  const childrenAsArray = [];\n\n  // We convert children to an array using this helper method as it will add keys to children that do not\n  // have them, such as when we have hardcoded children that are conditionally rendered.\n  Children.toArray(children).forEach(child => {\n    // We ignore any boolean children to make our code a little more simple later on,\n    // and also filter out any falsies (empty strings, nulls, and undefined).\n    if (typeof child !== 'boolean' && Boolean(child)) {\n      // Children WILL have a key after being forced into an array using the React.Children helper.\n      childrenAsArray.push(child);\n    }\n  });\n  return childrenAsArray;\n};\n\n/**\n * This handles the case when a render updates during an exit motion.\n * If any child is mounted again we removed them from the exiting children object and return true.\n */\nconst hasAnyExitingChildMountedAgain = (exitingChildren, children) => {\n  let exitingChildMountedAgain = false;\n  children.forEach(child => {\n    if (exitingChildren.current[child.key]) {\n      exitingChildMountedAgain = true;\n      delete exitingChildren.current[child.key];\n    }\n  });\n  return exitingChildMountedAgain;\n};\n\n/**\n * __ExitingPersistence__\n *\n * Useful for enabling elements to persist and animate away when they are removed from the DOM.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/motion/docs/entering-motions)\n */\nconst ExitingPersistence = /*#__PURE__*/memo(({\n  appear: appearFromProp = false,\n  children: childs,\n  exitThenEnter\n}) => {\n  const children = childrenToArray(childs);\n  const childrenObj = childrenToObj(children);\n  const previousChildren = useRef([]);\n  const persistedChildren = useRef([]);\n  const forceRender = useForceRender();\n  const exitingChildren = useRef({});\n  const appear = useRef(appearFromProp);\n  const defaultContextValue = useMemo(() => ({\n    appear: appear.current,\n    isExiting: false\n  }),\n  // React rules of hooks says this isn't needed because mutating appear won't cause a re-render.\n  // While technically true - it will trigger this to make a new object on the _next_ render which is what we want.\n  // Remove this or use appear instead of appear.current and you will notice a test breaks.\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  [appear.current]);\n  if (isReducedMotion()) {\n    return children;\n  }\n  if (!appear.current) {\n    // We always want child motions to appear after the initial mount.\n    appear.current = true;\n  }\n\n  // This entire block can't be an effect because we need it to run synchronously during a render\n  // else when elements are being removed they will be remounted instead of being updated.\n  if (previousChildren.current.length && isAnyPreviousKeysMissingFromCurrent(childrenObj, previousChildren.current)) {\n    if (persistedChildren.current.length === 0 || hasAnyExitingChildMountedAgain(exitingChildren, children)) {\n      persistedChildren.current = previousChildren.current;\n    }\n\n    // We have persisted children now set from previous children.\n    // Let's update previous children so we have it available next render.\n    previousChildren.current = children;\n    return (exitThenEnter ? persistedChildren.current : spliceNewElementsIntoPrevious(children, persistedChildren.current)).map(child => {\n      // eslint-disable-next-line @repo/internal/react/no-children-properties-access\n      const currentChild = childrenObj[child.key];\n      if (!currentChild) {\n        // We've found an exiting child - mark it!\n        exitingChildren.current[child.key] = true;\n        return wrapChildWithContextProvider(child, {\n          isExiting: true,\n          appear: true,\n          onFinish: () => {\n            delete exitingChildren.current[child.key];\n\n            // We will only remove the exiting elements when any subsequent exiting elements have also finished.\n            // Think of removing many items from a todo list - when removing a few over a few clicks we don't\n            // want the list jumping around when they exit.\n            if (Object.keys(exitingChildren.current).length === 0) {\n              // Set previous children to nothing.\n              // This let's us skip the next render check as it's assumed children and previous will be the same.\n              previousChildren.current = [];\n              persistedChildren.current = [];\n\n              // Re-render after the element(s) have animated away which will end up rendering the latest children.\n              forceRender();\n            }\n          }\n        });\n      }\n\n      // This element isn't exiting.\n      // Wrap context and let's continue on our way.\n      return wrapChildWithContextProvider(currentChild, defaultContextValue);\n    });\n  } else {\n    previousChildren.current = children;\n  }\n  return children.map(child => wrapChildWithContextProvider(child, defaultContextValue));\n});\nexport const useExitingPersistence = () => {\n  return useContext(ExitingContext);\n};\nExitingPersistence.displayName = 'ExitingPersistence';\nexport default ExitingPersistence;","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { useCallback, useEffect, useRef } from 'react';\nconst getHookDeps = opts => {\n  switch (opts.cleanup) {\n    case 'next-effect':\n      return undefined;\n    case 'unmount':\n    default:\n      return [];\n  }\n};\n\n/**\n * Will return request animation frame as a function which will clean itself up.\n */\nexport const useRequestAnimationFrame = (opts = {\n  cleanup: 'unmount'\n}) => {\n  const frames = useRef([]);\n  useEffect(() => {\n    return () => {\n      if (frames.current.length) {\n        frames.current.forEach(id => cancelAnimationFrame(id));\n        frames.current = [];\n      }\n    };\n    // We dynamically set this so we either clean up on the next effect - or on unmount.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, getHookDeps(opts));\n  return useCallback(handler => {\n    const id = requestAnimationFrame(time => {\n      frames.current = frames.current.filter(frameId => frameId !== id);\n      handler(time);\n    });\n    frames.current.push(id);\n  }, []);\n};\n\n/**\n * Will return set  timeout as a function which will clean itself up.\n */\nexport const useSetTimeout = (opts = {\n  cleanup: 'unmount'\n}) => {\n  const timeouts = useRef([]);\n  useEffect(() => {\n    return () => {\n      if (timeouts.current.length) {\n        timeouts.current.forEach(id => clearTimeout(id));\n        timeouts.current = [];\n      }\n    };\n    // We dynamically set this so we either clean up on the next effect - or on unmount.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, getHookDeps(opts));\n  return useCallback((handler, timeout, ...args) => {\n    const id = setTimeout(() => {\n      timeouts.current = timeouts.current.filter(timeoutId => timeoutId !== id);\n      handler();\n    }, timeout, ...args);\n    timeouts.current.push(id);\n  }, []);\n};","import React, { createContext, useContext, useRef, useState } from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { useLayoutEffect } from '../utils/use-layout-effect';\nimport { useUniqueId } from '../utils/use-unique-id';\nconst StaggeredEntranceContext = /*#__PURE__*/createContext(() => ({\n  isReady: true,\n  delay: 0,\n  ref: noop\n}));\nexport const useStaggeredEntrance = () => {\n  const indentifier = useUniqueId();\n  const context = useContext(StaggeredEntranceContext);\n  return context(indentifier);\n};\n\n/**\n * For a list of elements that need to animate in,\n * this should be used in conjunction with entering components.\n * This does not need Javascript to execute so it will run immediately for any SSR rendered React apps before the JS has executed.\n *\n * Will dynamically add delay to each child entering component.\n * Unfortunately all entering components _NEED_ to be a direct descendant.\n */\nconst StaggeredEntrance = ({\n  children,\n  column,\n  columns = 'responsive',\n  delayStep = 50\n}) => {\n  const elementRefs = useRef([]);\n  const indexes = [];\n  const [actualColumns, setActualColumns] = useState(() => {\n    if (typeof columns === 'number') {\n      // A hardcoded columns is set so bail out and set it to that!\n      return columns;\n    }\n    if (typeof column === 'number') {\n      // A hardcoded column is set so we will set actualColumns to be 1.\n      return 1;\n    }\n\n    // We are in \"responsive\" mode.\n    // So we will be calculating when the Javascript executes on the client how many columns there will be.\n    return 0;\n  });\n  useLayoutEffect(() => {\n    // We want to only run this code when we are in \"responsive\" mode.\n    // It is assumed we are in responsive mode if `columns` is \"responsive\",\n    // we have children element refs ready to be read (i.e. if there are no children this won't run as well)\n    // and finally that `actualColumns` is `0` - this is because for the first render cycle `actualColumns` will be `0` (set above)\n    // and then after this layout effect runs the value for `actualColumns` will then be calculated and set.\n    if (columns === 'responsive' && elementRefs.current.length && actualColumns === 0) {\n      let currentTop = 0;\n      let numberColumns = 0;\n      if (elementRefs.current.length <= 1) {\n        setActualColumns(1);\n        return;\n      }\n\n      // We set the current top to the first elements.\n      // We will be comparing this and incrementing the column count\n      // until we hit an element that has a different offset top (or we run out of elements).\n      currentTop = elementRefs.current[0] ? elementRefs.current[0].offsetTop : 0;\n      for (let i = 0; i < elementRefs.current.length; i++) {\n        const child = elementRefs.current[i];\n        if (!child) {\n          break;\n        }\n        if (currentTop === child.offsetTop) {\n          numberColumns += 1;\n          if (elementRefs.current.length - 1 === i) {\n            setActualColumns(numberColumns);\n          }\n          continue;\n        }\n        setActualColumns(numberColumns);\n        break;\n      }\n    }\n    // We only want this effect to run once - on initial mount.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  return /*#__PURE__*/React.createElement(StaggeredEntranceContext.Provider, {\n    value: id => {\n      if (!indexes.includes(id)) {\n        indexes.push(id);\n      }\n      const isReady = actualColumns > 0;\n      const index = indexes.indexOf(id);\n      const currentColumn = column || index % actualColumns;\n      const currentRow = Math.floor(index / actualColumns);\n      const distanceFromTopLeftElement = currentRow + currentColumn;\n      // We don't want loads of elements to have the same staggered delay as it ends up looking slow for users.\n      // To get around that we calculate the logarithm using `distanceFromTopLeftElement` which ends making\n      // elements appear faster the further away from the top left element.\n      const delay = Math.ceil(Math.log(distanceFromTopLeftElement + 1) * delayStep * 1.5) || 0;\n      return {\n        delay,\n        isReady,\n        ref: element => elementRefs.current[index] = element\n      };\n    }\n  }, children);\n};\nexport default StaggeredEntrance;","import React, { useEffect, useState } from 'react';\nimport { ClassNames, keyframes } from '@emotion/react';\nimport { prefersReducedMotion } from '../utils/accessibility';\nimport { largeDurationMs } from '../utils/durations';\nimport { useSetTimeout } from '../utils/timer-hooks';\nimport { useExitingPersistence } from './exiting-persistence';\nimport { useStaggeredEntrance } from './staggered-entrance';\n\n/**\n * These are props that motions should use as their external props for consumers.\n * See [FadeIn](packages/helpers/motion/src/entering/fade-in.tsx) for an example usage.\n */\n\n/**\n * Used to multiply the initial duration for exiting motions.\n */\nconst EXITING_MOTION_MULTIPLIER = 0.5;\n\n/**\n * This is the base INTERNAL component used for all other entering motions.\n * This does not need Javascript to execute on the client so it will run immediately\n * for any SSR rendered React apps before the JS has executed.\n */\nconst EnteringMotion = ({\n  children,\n  animationTimingFunction,\n  enteringAnimation,\n  exitingAnimation,\n  isPaused,\n  onFinish: onFinishMotion,\n  duration = largeDurationMs\n}) => {\n  const staggered = useStaggeredEntrance();\n  const {\n    isExiting,\n    onFinish: onExitFinished,\n    appear\n  } = useExitingPersistence();\n  const setTimeout = useSetTimeout();\n  const paused = isPaused || !staggered.isReady;\n  const delay = isExiting ? 0 : staggered.delay;\n  const state = isExiting ? 'exiting' : 'entering';\n  const [hasAnimationStyles, setHasAnimationStyles] = useState(appear);\n  useEffect(() => {\n    // Tracking this to prevent changing state on an unmounted component\n    let isCancelled = false;\n    if (paused) {\n      return;\n    }\n\n    // On initial mount if elements aren't set to animate on appear, we return early and callback\n    if (!appear) {\n      onFinishMotion && onFinishMotion(state);\n      return;\n    }\n\n    // Elements may need animation styles back after initial mount (they could animate out)\n    setHasAnimationStyles(true);\n    setTimeout(() => {\n      if (state === 'exiting') {\n        onExitFinished && onExitFinished();\n      }\n      if (!isCancelled) {\n        setHasAnimationStyles(false);\n      }\n      onFinishMotion && onFinishMotion(state);\n    }, isExiting ? duration * EXITING_MOTION_MULTIPLIER : duration + delay);\n    return () => {\n      isCancelled = true;\n    };\n    // We ignore this for onFinishMotion as consumers could potentially inline the function\n    // which would then trigger this effect every re-render.\n    // We want to make it easier for consumers so we go down this path unfortunately.\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [onExitFinished, state, isExiting, duration, delay, paused, setTimeout]);\n  return /*#__PURE__*/React.createElement(ClassNames, null, ({\n    css\n  }) => children({\n    ref: staggered.ref,\n    className: hasAnimationStyles ? css({\n      ...prefersReducedMotion(),\n      animationDelay: `${delay}ms`,\n      animationDuration: `${isExiting ? duration * EXITING_MOTION_MULTIPLIER : duration}ms`,\n      animationFillMode: isExiting ? 'forwards' : 'backwards',\n      animationName: `${keyframes(isExiting ? exitingAnimation || enteringAnimation : enteringAnimation)}`,\n      animationPlayState: paused ? 'paused' : 'running',\n      animationTimingFunction: animationTimingFunction(state)\n    }) : ''\n  }, state));\n};\nexport default EnteringMotion;","/* eslint-disable @repo/internal/react/disallow-unstable-values */\nimport { useRef } from 'react';\n\n/**\n * Will return a unique id that does not change between renders.\n * Try not use this to render DOM markup (attributes or otherwise)\n * as you will probably not get the same result on the Server vs. Client.\n */\nexport function useUniqueId() {\n  const identifier = useRef('');\n  if (!identifier.current) {\n    identifier.current = '_' + (Number(String(Math.random()).slice(2)) + Date.now() + Math.round(performance.now())).toString(36);\n  }\n  return identifier.current;\n}","import React from 'react';\nimport { easeInOut } from '../utils/curves';\nimport { largeDurationMs } from '../utils/durations';\nimport KeyframesMotion from './keyframes-motion';\nconst directionMotions = {\n  proportional: {\n    bottom: 'translate3d(0, calc(5% + 4px), 0)',\n    left: 'translate3d(calc(-5% - 4px), 0, 0)',\n    right: 'translate3d(calc(5% + 4px), 0, 0)',\n    top: 'translate3d(0, calc(-5% - 4px), 0)'\n  },\n  constant: {\n    bottom: 'translate3d(0, 4px, 0)',\n    left: 'translate3d(-4px, 0, 0)',\n    right: 'translate3d(4px, 0, 0)',\n    top: 'translate3d(0, -4px, 0)'\n  }\n};\nconst invertedDirection = {\n  top: 'bottom',\n  bottom: 'top',\n  left: 'right',\n  right: 'left'\n};\nexport const fadeInAnimation = (direction, distance = 'proportional') => {\n  return {\n    from: {\n      opacity: 0,\n      ...(direction !== undefined && {\n        transform: directionMotions[distance][direction]\n      })\n    },\n    '50%': {\n      opacity: 1\n    },\n    to: {\n      transform: direction !== undefined ? 'none' : undefined\n    }\n  };\n};\nexport const fadeOutAnimation = (direction, distance = 'proportional') => ({\n  from: {\n    opacity: 1,\n    transform: direction !== undefined ? 'translate3d(0, 0, 0)' : undefined\n  },\n  to: {\n    opacity: 0,\n    ...(direction !== undefined && {\n      transform: directionMotions[distance][direction]\n    })\n  }\n});\n\n/**\n * Props for controlling the behavior of the FadeIn animation\n */\n\n/**\n * __FadeIn__\n *\n * Useful for fading in one or more elements.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/motion/docs/entering-motions)\n */\nconst FadeIn = ({\n  children,\n  duration = largeDurationMs,\n  entranceDirection,\n  exitDirection,\n  distance = 'proportional',\n  onFinish,\n  isPaused\n}) => {\n  const invertedEntranceDirection = entranceDirection && invertedDirection[entranceDirection];\n  return /*#__PURE__*/React.createElement(KeyframesMotion, {\n    duration: duration,\n    enteringAnimation: fadeInAnimation(entranceDirection, distance),\n    exitingAnimation: fadeOutAnimation(exitDirection || invertedEntranceDirection, distance),\n    animationTimingFunction: () => easeInOut,\n    onFinish: onFinish,\n    isPaused: isPaused\n  }, children);\n};\nexport default FadeIn;","import { useEffect, useState } from 'react';\nimport { bind } from 'bind-event-listener';\nconst isMatchMediaAvailable = () => typeof window !== 'undefined' && 'matchMedia' in window;\n\n/**\n * Use for any programatic motions needed at runtime.\n * Will return `true` if the current user prefers reduced motion.\n * This is generally set through OS preferences/settings.\n */\nexport const isReducedMotion = () => {\n  if (!isMatchMediaAvailable()) {\n    return false;\n  }\n  const {\n    matches\n  } = window.matchMedia('(prefers-reduced-motion: reduce)');\n  return matches;\n};\n\n/**\n * A React hook version of {@link isReducedMotion}.\n * Useful for React components that need to re-render if the user's motion\n * preference changes at runtime.\n */\nexport const useIsReducedMotion = () => {\n  const [prefersReducedMotion, setPrefersReducedMotion] = useState(isReducedMotion);\n  useEffect(() => {\n    if (!isMatchMediaAvailable()) {\n      return;\n    }\n    const mediaQueryList = window.matchMedia('(prefers-reduced-motion: reduce)');\n    const onChange = event => setPrefersReducedMotion(event.matches);\n    return bind(mediaQueryList, {\n      type: 'change',\n      listener: onChange\n    });\n  }, []);\n  return prefersReducedMotion;\n};\n\n/**\n * Use for any CSS based motion (animation or transition).\n * Always put at the end of your declaration for correct use of the cascade.\n * Reduced motion preference is generally set through OS preferences/settings.\n */\nexport const prefersReducedMotion = () => ({\n  '@media (prefers-reduced-motion: reduce)': {\n    animation: 'none',\n    transition: 'none'\n  }\n});","export const easeInOut = 'cubic-bezier(0.15,1,0.3,1)';\nexport const easeOut = 'cubic-bezier(0.2,0,0,1)';\nexport const easeIn = 'cubic-bezier(0.8,0,0,0.8)';","/**\n * Think of this as the motion equivalent of the @atlaskit/theme `grid()`.\n */\nexport const durationStep = 25;\nexport const smallDurationMs = durationStep * 4;\nexport const mediumDurationMs = durationStep * 14;\nexport const largeDurationMs = durationStep * 28;","import React, { useMemo } from 'react';\nimport { Popper as ReactPopper } from 'react-popper';\nexport { placements } from '@popperjs/core';\n// 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}];\nfunction defaultChildrenFn() {\n  return null;\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]);\n\n  // Merge custom props and memoize\n  const mergedModifiers = useMemo(() => {\n    if (modifiers == null) {\n      return internalModifiers;\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/**\n * Creates a new portal container element with provided z-index and class name 'atlaskit-portal',\n * it is not be attached to any DOM node at this stage.\n * @param {number | string} zIndex - the z-index value of the newly created portal container element\n * @return {number} - The newly created container element\n */\nexport const createContainer = zIndex => {\n  const container = document.createElement('div');\n  container.className = portalClassName;\n  container.style.zIndex = `${zIndex}`;\n  return container;\n};\n\n/**\n * Returns document body element\n * @return {number} - The document body element\n */\nconst getBody = () => {\n  return document.body;\n};\n\n/**\n * Returns portal parent container. If no container exists already then it creates a new container with class name 'atlaskit-portal-container'\n * @return {Element} - The portal parent container div element\n */\nconst getPortalParent = () => {\n  const parentElement = document.querySelector(portalParentSelector);\n  if (!parentElement) {\n    const parent = document.createElement('div');\n    parent.className = portalParentClassName;\n    // we are setting display to flex because we want each portal to create a new stacking context\n    // See https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n    parent.style.display = 'flex';\n    getBody().appendChild(parent);\n    return parent;\n  }\n  return parentElement;\n};\n\n/**\n * Removes portal container from portal parent container\n *  @param {HTMLDivElement | undefined} container - portal container to be removed from portal parent container\n */\nexport const removePortalContainer = container => {\n  getPortalParent().removeChild(container);\n};\n\n/**\n * Appends portal container to portal parent container if it hasn't already been done\n *  @param {HTMLDivElement | undefined} container - portal container to be added to portal parent container\n */\nexport const appendPortalContainerIfNotAppended = container => {\n  if (!container.parentElement) {\n    getPortalParent().appendChild(container);\n  }\n};","import { useEffect, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { appendPortalContainerIfNotAppended, createContainer, removePortalContainer } from '../utils/portal-dom-utils';\nexport default function InternalPortal(props) {\n  const {\n    zIndex,\n    children\n  } = props;\n  const container = useMemo(() => createContainer(zIndex), [zIndex]);\n\n  // This is in the render method instead of useEffect so that\n  // the portal will be added to the DOM before the children render.\n  // For any further changes, ensure that the container does not have a\n  // parent besides the portal parent.\n  appendPortalContainerIfNotAppended(container);\n  useEffect(() => {\n    return () => {\n      removePortalContainer(container);\n    };\n  }, [container]);\n  return /*#__PURE__*/createPortal(children, container);\n}","import { useEffect, useState } from 'react';\nconst useIsSubsequentRender = () => {\n  const [isSubsequentRender, setIsSubsequentRender] = useState(false);\n  useEffect(() => {\n    setIsSubsequentRender(true);\n  }, []);\n  return isSubsequentRender;\n};\nexport default useIsSubsequentRender;","const zIndexToName = {\n  100: 'card',\n  200: 'navigation',\n  300: 'dialog',\n  400: 'layer',\n  500: 'blanket',\n  510: 'modal',\n  600: 'flag',\n  700: 'spotlight',\n  800: 'tooltip'\n};\n\n/**\n * return layer name in Atlassian design system corresponding to given z-index\n * @param {number} zIndex - z-index value for which layer name is needed\n * @returns {LayerName | null} - The layer name for given z-index. If layer name is not found then null is returned\n */\nconst getLayerName = zIndex => {\n  return zIndexToName.hasOwnProperty(zIndex) ? zIndexToName[zIndex] : null;\n};\n\n/**\n * Creates a PortalEvent object with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n * @returns {PortalEvent} - The newly created PortalEvent object\n */\nconst getEvent = (eventName, zIndex) => {\n  const detail = {\n    layer: getLayerName(Number(zIndex)),\n    zIndex\n  };\n  return new CustomEvent(eventName, {\n    detail\n  });\n};\n\n/**\n * Dispatches a custom event on window with given eventName, given zIndex and corresponding layer\n * @param {string} eventName - either of Mount or Unmount event name\n * @param {number} zIndex - z-index value which will be included in the event to be dispatched\n */\nexport default function firePortalEvent(eventName, zIndex) {\n  const event = getEvent(eventName, zIndex);\n  window.dispatchEvent(event);\n}","import { useEffect } from 'react';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../../constants';\nimport firePortalEvent from '../utils/portal-custom-event';\nconst useFirePortalEvent = zIndex => {\n  const zIndexNumber = Number(zIndex);\n  useEffect(() => {\n    firePortalEvent(PORTAL_MOUNT_EVENT, zIndexNumber);\n    return () => {\n      firePortalEvent(PORTAL_UNMOUNT_EVENT, zIndexNumber);\n    };\n  }, [zIndexNumber]);\n};\nexport default useFirePortalEvent;","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';","import React from 'react';\nimport InternalPortal from './internal/components/internal-portal';\nimport useIsSubsequentRender from './internal/hooks/use-is-subsequent-render';\nimport useFirePortalEvent from './internal/hooks/use-portal-event';\nexport default function Portal(props) {\n  const {\n    zIndex = 0,\n    children\n  } = props;\n  const isSubsequentRender = useIsSubsequentRender();\n  useFirePortalEvent(zIndex);\n  return isSubsequentRender ? /*#__PURE__*/React.createElement(InternalPortal, {\n    zIndex: zIndex\n  }, children) : null;\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n    getAtlaskitAnalyticsContext: PropTypes.func,\n    getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n    __extends(AnalyticsContext, _super);\n    function AnalyticsContext(props) {\n        var _this = _super.call(this, props) || this;\n        _this.getChildContext = function () { return ({\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n        }); };\n        _this.getAnalyticsContext = function () {\n            var data = _this.props.data;\n            var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n            var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n                getAtlaskitAnalyticsContext()) ||\n                [];\n            return __spread(ancestorData, [data]);\n        };\n        _this.getAnalyticsEventHandlers = function () {\n            var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n            var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                getAtlaskitAnalyticsEventHandlers()) ||\n                [];\n            return ancestorHandlers;\n        };\n        _this.state = {\n            getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n            getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n        };\n        return _this;\n    }\n    AnalyticsContext.prototype.render = function () {\n        var children = this.props.children;\n        return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n    };\n    AnalyticsContext.contextTypes = ContextTypes;\n    AnalyticsContext.childContextTypes = ContextTypes;\n    return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from 'create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(Manager, _React$Component);\n\n  function Manager() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n    _defineProperty(_assertThisInitialized(_this), \"referenceNode\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"setReferenceNode\", function (newReferenceNode) {\n      if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n        _this.referenceNode = newReferenceNode;\n\n        _this.forceUpdate();\n      }\n    });\n\n    return _this;\n  }\n\n  var _proto = Manager.prototype;\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.referenceNode = null;\n  };\n\n  _proto.render = function render() {\n    return React.createElement(ManagerReferenceNodeContext.Provider, {\n      value: this.referenceNode\n    }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n      value: this.setReferenceNode\n    }, this.props.children));\n  };\n\n  return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n  return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n  if (typeof fn === \"function\") {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return fn.apply(void 0, args);\n  }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n  var aKeys = Object.keys(objA);\n  var bKeys = Object.keys(objB);\n\n  if (bKeys.length !== aKeys.length) {\n    return false;\n  }\n\n  for (var i = 0; i < bKeys.length; i++) {\n    var key = aKeys[i];\n\n    if (objA[key] !== objB[key]) {\n      return false;\n    }\n  }\n\n  return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n  // if its a function call it\n  if (typeof ref === \"function\") {\n    return safeInvoke(ref, node);\n  } // otherwise we should treat it as a ref object\n  else if (ref != null) {\n      ref.current = node;\n    }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n  position: 'absolute',\n  top: 0,\n  left: 0,\n  opacity: 0,\n  pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(InnerPopper, _React$Component);\n\n  function InnerPopper() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n    _defineProperty(_assertThisInitialized(_this), \"state\", {\n      data: undefined,\n      placement: undefined\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"popperInstance\", void 0);\n\n    _defineProperty(_assertThisInitialized(_this), \"popperNode\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"arrowNode\", null);\n\n    _defineProperty(_assertThisInitialized(_this), \"setPopperNode\", function (popperNode) {\n      if (!popperNode || _this.popperNode === popperNode) return;\n      setRef(_this.props.innerRef, popperNode);\n      _this.popperNode = popperNode;\n\n      _this.updatePopperInstance();\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"setArrowNode\", function (arrowNode) {\n      _this.arrowNode = arrowNode;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"updateStateModifier\", {\n      enabled: true,\n      order: 900,\n      fn: function fn(data) {\n        var placement = data.placement;\n\n        _this.setState({\n          data: data,\n          placement: placement\n        });\n\n        return data;\n      }\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getOptions\", function () {\n      return {\n        placement: _this.props.placement,\n        eventsEnabled: _this.props.eventsEnabled,\n        positionFixed: _this.props.positionFixed,\n        modifiers: _extends({}, _this.props.modifiers, {\n          arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n            enabled: !!_this.arrowNode,\n            element: _this.arrowNode\n          }),\n          applyStyle: {\n            enabled: false\n          },\n          updateStateModifier: _this.updateStateModifier\n        })\n      };\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getPopperStyle\", function () {\n      return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n        position: _this.state.data.offsets.popper.position\n      }, _this.state.data.styles);\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getPopperPlacement\", function () {\n      return !_this.state.data ? undefined : _this.state.placement;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getArrowStyle\", function () {\n      return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"getOutOfBoundariesState\", function () {\n      return _this.state.data ? _this.state.data.hide : undefined;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"destroyPopperInstance\", function () {\n      if (!_this.popperInstance) return;\n\n      _this.popperInstance.destroy();\n\n      _this.popperInstance = null;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"updatePopperInstance\", function () {\n      _this.destroyPopperInstance();\n\n      var _assertThisInitialize = _assertThisInitialized(_this),\n          popperNode = _assertThisInitialize.popperNode;\n\n      var referenceElement = _this.props.referenceElement;\n      if (!referenceElement || !popperNode) return;\n      _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"scheduleUpdate\", function () {\n      if (_this.popperInstance) {\n        _this.popperInstance.scheduleUpdate();\n      }\n    });\n\n    return _this;\n  }\n\n  var _proto = InnerPopper.prototype;\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n    // If the Popper.js options have changed, update the instance (destroy + create)\n    if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || this.props.modifiers !== prevProps.modifiers) {\n      // develop only check that modifiers isn't being updated needlessly\n      if (process.env.NODE_ENV === \"development\") {\n        if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n          console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n        }\n      }\n\n      this.updatePopperInstance();\n    } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n      this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n    } // A placement difference in state means popper determined a new placement\n    // apart from the props value. By the time the popper element is rendered with\n    // the new position Popper has already measured it, if the place change triggers\n    // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n    if (prevState.placement !== this.state.placement) {\n      this.scheduleUpdate();\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    setRef(this.props.innerRef, null);\n    this.destroyPopperInstance();\n  };\n\n  _proto.render = function render() {\n    return unwrapArray(this.props.children)({\n      ref: this.setPopperNode,\n      style: this.getPopperStyle(),\n      placement: this.getPopperPlacement(),\n      outOfBoundaries: this.getOutOfBoundariesState(),\n      scheduleUpdate: this.scheduleUpdate,\n      arrowProps: {\n        ref: this.setArrowNode,\n        style: this.getArrowStyle()\n      }\n    });\n  };\n\n  return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n  placement: 'bottom',\n  eventsEnabled: true,\n  referenceElement: undefined,\n  positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n  var referenceElement = _ref.referenceElement,\n      props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n  return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n    return React.createElement(InnerPopper, _extends({\n      referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n    }, props));\n  });\n}","import React from 'react';\nimport memoizeOne from 'memoize-one';\nimport { Popper as ReactPopper, } from 'react-popper';\nexport { Manager, Reference } from 'react-popper';\nconst FlipBehavior = {\n    auto: [],\n    top: ['top', 'bottom', 'top'],\n    right: ['right', 'left', 'right'],\n    bottom: ['bottom', 'top', 'bottom'],\n    left: ['left', 'right', 'left'],\n};\nconst getFlipBehavior = (side) => FlipBehavior[side];\nexport class Popper extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.getModifiers = memoizeOne(placement => {\n            const flipBehavior = getFlipBehavior(placement.split('-')[0]);\n            const modifiers = {\n                flip: {\n                    enabled: true,\n                    behavior: flipBehavior,\n                    boundariesElement: 'viewport',\n                },\n                hide: {\n                    enabled: true,\n                },\n                offset: {\n                    enabled: true,\n                    offset: this.props.offset,\n                },\n                preventOverflow: {\n                    enabled: true,\n                    escapeWithReference: false,\n                    boundariesElement: 'window',\n                },\n            };\n            if (this.props.modifiers) {\n                return { ...modifiers, ...this.props.modifiers };\n            }\n            return modifiers;\n        });\n    }\n    render() {\n        const { placement, children, referenceElement } = this.props;\n        const modifiers = this.getModifiers(this.props.placement);\n        return (React.createElement(ReactPopper, Object.assign({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement } : {})), children));\n    }\n}\nPopper.defaultProps = {\n    children: () => null,\n    offset: '0, 8px',\n    placement: 'bottom-start',\n};\n//# sourceMappingURL=Popper.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport ReactDOM from 'react-dom';\nimport invariant from 'tiny-invariant';\nimport { layers } from '@atlaskit/theme';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../constants';\nconst createContainer = (zIndex) => {\n    const container = document.createElement('div');\n    container.setAttribute('class', 'atlaskit-portal');\n    container.setAttribute('style', `z-index: ${zIndex};`);\n    return container;\n};\nconst getBody = () => {\n    invariant(document && document.body, 'cannot find document.body');\n    return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nconst zIndexToName = Object.keys(layers).reduce((acc, name) => {\n    const layerName = name;\n    const value = layers[layerName]();\n    acc[value] = layerName;\n    return acc;\n}, {});\nconst getLayerName = (zIndex) => {\n    return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n        ? zIndexToName[zIndex]\n        : null;\n};\nconst getEvent = (eventName, zIndex) => {\n    const detail = {\n        layer: getLayerName(Number(zIndex)),\n        zIndex,\n    };\n    // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n    if (typeof CustomEvent === 'function') {\n        return new CustomEvent(eventName, {\n            detail,\n        });\n    }\n    // CustomEvent constructor API not supported (ie11)\n    // Using `new Event` or `new CustomEvent` does not work in ie11\n    const event = document.createEvent('CustomEvent');\n    const params = {\n        bubbles: true,\n        cancellable: true,\n        detail,\n    };\n    event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n    return event;\n};\nconst firePortalEvent = (eventName, zIndex) => {\n    const event = getEvent(eventName, zIndex);\n    window.dispatchEvent(event);\n};\nconst getPortalParent = () => {\n    const parentElement = document.querySelector('body > .atlaskit-portal-container');\n    if (!parentElement) {\n        const parent = document.createElement('div');\n        parent.setAttribute('class', 'atlaskit-portal-container');\n        parent.setAttribute('style', `display: flex;`);\n        getBody().appendChild(parent);\n        return parent;\n    }\n    return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nclass Portal extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.state = {\n            container: canUseDOM ? createContainer(this.props.zIndex) : undefined,\n            portalIsMounted: false,\n        };\n    }\n    componentDidUpdate(prevProps, prevState) {\n        const { container } = this.state;\n        const { zIndex } = this.props;\n        if (container && prevProps.zIndex !== zIndex) {\n            const newContainer = createContainer(zIndex);\n            getPortalParent().replaceChild(container, newContainer);\n            // eslint-disable-next-line react/no-did-update-set-state\n            this.setState({ container: newContainer });\n        }\n        else if (!prevState.container && container) {\n            // SSR path\n            getPortalParent().appendChild(container);\n        }\n    }\n    componentDidMount() {\n        const { container } = this.state;\n        const { zIndex } = this.props;\n        if (container) {\n            getPortalParent().appendChild(container);\n        }\n        else {\n            // SSR path\n            const newContainer = createContainer(zIndex);\n            // eslint-disable-next-line react/no-did-mount-set-state\n            this.setState({ container: newContainer });\n        }\n        // eslint-disable-next-line react/no-did-mount-set-state\n        this.setState({\n            portalIsMounted: true,\n        });\n        firePortalEvent(PORTAL_MOUNT_EVENT, Number(zIndex));\n    }\n    componentWillUnmount() {\n        const { container } = this.state;\n        const { zIndex } = this.props;\n        if (container) {\n            getPortalParent().removeChild(container);\n            // clean up parent element if there are no more portals\n            const portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n            if (!portals) {\n                getBody().removeChild(getPortalParent());\n            }\n        }\n        firePortalEvent(PORTAL_UNMOUNT_EVENT, Number(zIndex));\n    }\n    render() {\n        const { container, portalIsMounted } = this.state;\n        return container && portalIsMounted\n            ? ReactDOM.createPortal(this.props.children, container)\n            : null;\n    }\n}\nPortal.defaultProps = {\n    zIndex: 0,\n};\nexport default Portal;\n//# sourceMappingURL=Portal.js.map","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nvar index = (function (condition, message) {\n  if (condition) {\n    return;\n  }\n\n  if (isProduction) {\n    throw new Error(prefix);\n  }\n\n  throw new Error(prefix + ': ' + (message || ''));\n});\n\nexport default index;\n","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import styled from 'styled-components';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nconst backgroundColor = themed({\n    light: N800,\n    dark: DN0,\n});\nconst textColor = themed({\n    light: N0,\n    dark: DN600,\n});\nexport const TooltipPrimitive = styled.div `\n  z-index: ${layers.tooltip};\n  pointer-events: none;\n  position: fixed;\n`;\nexport const Tooltip = styled(TooltipPrimitive) `\n  background-color: ${backgroundColor};\n  border-radius: ${borderRadius}px;\n  box-sizing: border-box;\n  color: ${textColor};\n  font-size: 12px;\n  left: 0;\n  line-height: 1.3;\n  max-width: 240px;\n  padding: 2px 6px;\n  top: 0;\n  /* Edge does not support overflow-wrap */\n  word-wrap: break-word;\n  overflow-wrap: break-word;\n\n  ${({ truncate }) => truncate &&\n    `\n      max-width: 420px;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    `}\n`;\n// The inline-block here is needed to keep the tooltip appearing in the correct position\n// when nested inside a wider parent (see position: relative example).\nexport const Target = styled.div `\n  display: inline-block;\n`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Transition } from 'react-transition-group';\nconst ENTER_DURATION = 120;\nconst EXIT_DURATION = 80;\nconst easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nconst defaultStyle = (timeout) => ({\n    transition: `transform ${timeout.enter}ms ${easing}, opacity ${timeout.enter}ms linear`,\n    opacity: 0,\n});\nconst transitionStyle = (state) => {\n    const transitions = {\n        entering: {},\n        entered: {\n            opacity: 1,\n        },\n        exiting: {\n            opacity: 0,\n        },\n    };\n    return transitions[state];\n};\nconst getStyle = (timeout, state) => () => ({\n    ...defaultStyle(timeout),\n    ...transitionStyle(state),\n});\nconst Animation = ({ children, immediatelyHide, immediatelyShow, onExited, in: inProp, }) => {\n    const timeout = {\n        enter: immediatelyShow ? 0 : ENTER_DURATION,\n        exit: immediatelyHide ? 0 : EXIT_DURATION,\n    };\n    return (React.createElement(Transition, { timeout: timeout, in: inProp, onExited: onExited, unmountOnExit: true, appear: true }, (state) => children(getStyle(timeout, state))));\n};\nexport default Animation;\n//# sourceMappingURL=Animation.js.map","import { name as packageName, version as packageVersion, } from '../../version.json';\nexport const hoveredPayload = {\n    action: 'displayed',\n    actionSubject: 'tooltip',\n    attributes: {\n        componentName: 'tooltip',\n        packageName,\n        packageVersion,\n    },\n};\nexport const unhoveredPayload = {\n    action: 'hidden',\n    actionSubject: 'tooltip',\n    attributes: {\n        componentName: 'tooltip',\n        packageName,\n        packageVersion,\n    },\n};\n//# sourceMappingURL=analytics-payloads.js.map","/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport flushable from 'flushable';\nimport NodeResolver from 'react-node-resolver';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { Tooltip as StyledTooltip } from '../styled';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Animation from './Animation';\nimport { hoveredPayload, unhoveredPayload } from './utils/analytics-payloads';\nconst SCROLL_OPTIONS = { capture: true, passive: true };\nfunction getMousePosition(mouseCoordinates) {\n    const safeMouse = mouseCoordinates || { top: 0, left: 0 };\n    const getBoundingClientRect = () => {\n        return {\n            top: safeMouse.top,\n            left: safeMouse.left,\n            bottom: safeMouse.top,\n            right: safeMouse.left,\n            width: 0,\n            height: 0,\n        };\n    };\n    return {\n        getBoundingClientRect,\n        clientWidth: 0,\n        clientHeight: 0,\n    };\n}\nlet pendingHide;\nconst showTooltip = (fn, defaultDelay) => {\n    const isHidePending = pendingHide && pendingHide.pending();\n    if (isHidePending) {\n        pendingHide.flush();\n    }\n    const pendingShow = flushable(() => fn(isHidePending), isHidePending ? 0 : defaultDelay);\n    return pendingShow.cancel;\n};\nconst hideTooltip = (fn, defaultDelay) => {\n    pendingHide = flushable(flushed => fn(flushed), defaultDelay);\n    return pendingHide.cancel;\n};\nclass Tooltip extends React.Component {\n    constructor() {\n        super(...arguments);\n        this.wrapperRef = null;\n        this.targetRef = null;\n        this.cancelPendingSetState = () => { };\n        this.userInteraction = 'mouse';\n        this.state = {\n            immediatelyHide: false,\n            immediatelyShow: false,\n            isVisible: false,\n            renderTooltip: false,\n        };\n        this.handleWindowScroll = () => {\n            if (this.state.isVisible) {\n                this.cancelPendingSetState();\n                this.setState({ isVisible: false, immediatelyHide: true });\n            }\n        };\n        this.handleMouseClick = () => {\n            if (this.props.hideTooltipOnClick) {\n                this.cancelPendingSetState();\n                this.setState({ isVisible: false, immediatelyHide: true });\n            }\n        };\n        this.handleMouseDown = () => {\n            if (this.props.hideTooltipOnMouseDown) {\n                this.cancelPendingSetState();\n                this.setState({ isVisible: false, immediatelyHide: true });\n            }\n        };\n        this.handleMouseOver = (e) => {\n            if (e.target === this.wrapperRef) {\n                return;\n            }\n            this.userInteraction = 'mouse';\n            // In the case where a tooltip is newly rendered but immediately becomes hovered,\n            // we need to set the coordinates in the mouseOver event.\n            if (!this.fakeMouseElement) {\n                this.fakeMouseElement = getMousePosition({\n                    left: e.clientX,\n                    top: e.clientY,\n                });\n            }\n            this.handleShowTooltip();\n        };\n        this.handleFocus = () => {\n            this.userInteraction = 'keyboard';\n            // We need to fake the mouse dimensions even on focus because the code path currently assumes\n            // fake mouse element needs to exist before showing the tooltip.\n            if (!this.fakeMouseElement) {\n                this.fakeMouseElement = getMousePosition({\n                    left: 0,\n                    top: 0,\n                });\n            }\n            this.handleShowTooltip();\n        };\n        this.handleShowTooltip = () => {\n            this.cancelPendingSetState();\n            if (Boolean(this.props.content) && !this.state.isVisible) {\n                this.cancelPendingSetState = showTooltip(immediatelyShow => {\n                    this.setState({\n                        isVisible: true,\n                        renderTooltip: true,\n                        immediatelyShow,\n                    });\n                }, this.props.delay || 0);\n            }\n        };\n        this.handleHideTooltip = (e) => {\n            if (e.target === this.wrapperRef) {\n                return;\n            }\n            this.cancelPendingSetState();\n            if (this.state.isVisible) {\n                this.cancelPendingSetState = hideTooltip(immediatelyHide => {\n                    this.setState({ isVisible: false, immediatelyHide });\n                }, this.props.delay || 0);\n            }\n        };\n        // Update mouse coordinates, used when position is 'mouse'.\n        // We are not debouncing/throttling this function because we aren't causing any\n        // re-renders or performaing any intensive calculations, we're just updating a value.\n        // React also doesn't play nice debounced DOM event handlers because they pool their\n        // SyntheticEvent objects. Need to use event.persist as a workaround - https://stackoverflow.com/a/24679479/893630\n        this.handleMouseMove = (event) => {\n            if (!this.state.renderTooltip) {\n                this.fakeMouseElement = getMousePosition({\n                    left: event.clientX,\n                    top: event.clientY,\n                });\n            }\n        };\n    }\n    componentWillUnmount() {\n        this.cancelPendingSetState();\n        this.removeScrollListener();\n    }\n    componentDidUpdate(_prevProps, prevState) {\n        if (!prevState.isVisible && this.state.isVisible) {\n            if (this.props.onShow)\n                this.props.onShow();\n            window.addEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n        }\n        else if (prevState.isVisible && !this.state.isVisible) {\n            if (this.props.onHide)\n                this.props.onHide();\n            this.removeScrollListener();\n        }\n    }\n    removeScrollListener() {\n        window.removeEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n    }\n    shouldPositionTooltipNearMouse() {\n        const { position } = this.props;\n        return position === 'mouse' && this.userInteraction === 'mouse';\n    }\n    render() {\n        const { children, position, mousePosition, content, truncate, component: TooltipContainer, tag: TargetContainer, testId, } = this.props;\n        const { isVisible, renderTooltip, immediatelyShow, immediatelyHide, } = this.state;\n        const tooltipPosition = position === 'mouse' ? mousePosition : position;\n        return (\n        /* eslint-disable jsx-a11y/mouse-events-have-key-events */\n        React.createElement(React.Fragment, null,\n            TargetContainer && (React.createElement(TargetContainer, { onClick: this.handleMouseClick, onMouseOver: this.handleMouseOver, onMouseOut: this.handleHideTooltip, onMouseMove: this.handleMouseMove, onMouseDown: this.handleMouseDown, onFocus: this.handleFocus, onBlur: this.handleHideTooltip, ref: (wrapperRef) => {\n                    this.wrapperRef = wrapperRef;\n                } },\n                React.createElement(NodeResolver, { innerRef: (ref) => {\n                        this.targetRef = ref;\n                    } }, React.Children.only(children)))),\n            renderTooltip && this.targetRef && this.fakeMouseElement ? (React.createElement(Portal, { zIndex: layers.tooltip() },\n                React.createElement(Popper, { placement: tooltipPosition, referenceElement: \n                    // https://github.com/FezVrasta/react-popper#usage-without-a-reference-htmlelement\n                    // We are using a popper technique to pass in a faked element when we use mouse.\n                    (this.shouldPositionTooltipNearMouse()\n                        ? this.fakeMouseElement\n                        : this.targetRef) }, ({ ref, style }) => TooltipContainer && (React.createElement(Animation, { immediatelyShow: immediatelyShow, immediatelyHide: immediatelyHide, onExited: () => this.setState({ renderTooltip: false }), in: isVisible }, getAnimationStyles => (React.createElement(TooltipContainer\n                // innerRef can't be null so shortcircuit to undefined if it is.\n                , { \n                    // innerRef can't be null so shortcircuit to undefined if it is.\n                    innerRef: ref || undefined, className: \"Tooltip\", style: {\n                        ...getAnimationStyles(),\n                        ...style,\n                    }, truncate: truncate || false, \"data-placement\": tooltipPosition, \"data-testid\": testId }, content))))))) : null)\n        /* eslint-enable */\n        );\n    }\n}\nTooltip.defaultProps = {\n    component: StyledTooltip,\n    delay: 300,\n    mousePosition: 'bottom',\n    position: 'bottom',\n    tag: 'div',\n};\nexport { Tooltip as TooltipWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n    componentName: 'tooltip',\n    packageName,\n    packageVersion,\n})(withAnalyticsEvents({\n    onHide: unhoveredPayload,\n    onShow: createAndFireEventOnAtlaskit({ ...hoveredPayload }),\n})(Tooltip));\n//# sourceMappingURL=Tooltip.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n    var consumerEvent = createAnalyticsEvent(payload);\n    var clonedEvent = consumerEvent.clone();\n    if (clonedEvent) {\n        clonedEvent.fire(channel);\n    }\n    return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n    var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n        var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n        var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n        return (React.createElement(AnalyticsContext, { data: analyticsData },\n            React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n    });\n    // @ts-ignore\n    WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DynamicConfig = /** @class */ (function () {\n    function DynamicConfig(configName, configValue, ruleID, evaluationDetails, secondaryExposures, allocatedExperimentName, onDefaultValueFallback) {\n        if (secondaryExposures === void 0) { secondaryExposures = []; }\n        if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n        if (onDefaultValueFallback === void 0) { onDefaultValueFallback = null; }\n        this._onDefaultValueFallback = null;\n        this.value = JSON.parse(JSON.stringify(configValue !== null && configValue !== void 0 ? configValue : {}));\n        this._name = configName;\n        this._ruleID = ruleID !== null && ruleID !== void 0 ? ruleID : '';\n        this._secondaryExposures = secondaryExposures;\n        this._allocatedExperimentName = allocatedExperimentName;\n        this._evaluationDetails = evaluationDetails;\n        this._onDefaultValueFallback = onDefaultValueFallback;\n    }\n    DynamicConfig.prototype.get = function (key, defaultValue, typeGuard) {\n        var _a, _b;\n        var val = this.getValue(key, defaultValue);\n        if (val == null) {\n            return defaultValue;\n        }\n        var expectedType = Array.isArray(defaultValue)\n            ? 'array'\n            : typeof defaultValue;\n        var actualType = Array.isArray(val) ? 'array' : typeof val;\n        if (typeGuard) {\n            if (typeGuard(val)) {\n                return val;\n            }\n            (_a = this._onDefaultValueFallback) === null || _a === void 0 ? void 0 : _a.call(this, this, key, expectedType, actualType);\n            return defaultValue;\n        }\n        if (defaultValue == null || expectedType === actualType) {\n            return val;\n        }\n        (_b = this._onDefaultValueFallback) === null || _b === void 0 ? void 0 : _b.call(this, this, key, expectedType, actualType);\n        return defaultValue;\n    };\n    DynamicConfig.prototype.getValue = function (key, defaultValue) {\n        if (key == null) {\n            return this.value;\n        }\n        if (defaultValue == null) {\n            defaultValue = null;\n        }\n        if (this.value[key] == null) {\n            return defaultValue;\n        }\n        return this.value[key];\n    };\n    return DynamicConfig;\n}());\nexports.default = DynamicConfig;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExceptionEndpoint = void 0;\nvar Errors_1 = require(\"./Errors\");\nexports.ExceptionEndpoint = 'https://statsigapi.net/v1/sdk_exception';\nvar ErrorBoundary = /** @class */ (function () {\n    function ErrorBoundary(sdkKey) {\n        this._seen = new Set();\n        this._sdkKey = sdkKey;\n    }\n    ErrorBoundary.prototype._setStatsigMetadata = function (statsigMetadata) {\n        this._statsigMetadata = statsigMetadata;\n    };\n    ErrorBoundary.prototype._swallow = function (tag, task) {\n        this._capture(tag, task, function () {\n            return undefined;\n        });\n    };\n    ErrorBoundary.prototype._capture = function (tag, task, recover, getExtraData) {\n        var _this = this;\n        try {\n            var result = task();\n            if (result instanceof Promise) {\n                return result.catch(function (e) {\n                    return _this._onCaught(tag, e, recover, getExtraData);\n                });\n            }\n            return result;\n        }\n        catch (error) {\n            return this._onCaught(tag, error, recover, getExtraData);\n        }\n    };\n    ErrorBoundary.prototype._logError = function (tag, error, getExtraData) {\n        var _this = this;\n        try {\n            var impl = function () { return __awaiter(_this, void 0, void 0, function () {\n                var extra, _a, unwrapped, isError, name, info, metadata, body;\n                var _b;\n                return __generator(this, function (_c) {\n                    switch (_c.label) {\n                        case 0:\n                            if (!(typeof getExtraData === 'function')) return [3 /*break*/, 2];\n                            return [4 /*yield*/, getExtraData()];\n                        case 1:\n                            _a = _c.sent();\n                            return [3 /*break*/, 3];\n                        case 2:\n                            _a = null;\n                            _c.label = 3;\n                        case 3:\n                            extra = _a;\n                            unwrapped = (error !== null && error !== void 0 ? error : Error('[Statsig] Error was empty'));\n                            isError = unwrapped instanceof Error;\n                            name = isError ? unwrapped.name : 'No Name';\n                            if (this._seen.has(name))\n                                return [2 /*return*/];\n                            this._seen.add(name);\n                            info = isError\n                                ? unwrapped.stack\n                                : this._getDescription(unwrapped);\n                            metadata = (_b = this._statsigMetadata) !== null && _b !== void 0 ? _b : {};\n                            body = JSON.stringify({\n                                tag: tag,\n                                exception: name,\n                                info: info,\n                                statsigMetadata: metadata,\n                                extra: extra !== null && extra !== void 0 ? extra : {},\n                            });\n                            return [2 /*return*/, fetch(exports.ExceptionEndpoint, {\n                                    method: 'POST',\n                                    headers: {\n                                        'STATSIG-API-KEY': this._sdkKey,\n                                        'STATSIG-SDK-TYPE': String(metadata['sdkType']),\n                                        'STATSIG-SDK-VERSION': String(metadata['sdkVersion']),\n                                        'Content-Type': 'application/json',\n                                        'Content-Length': \"\".concat(body.length),\n                                    },\n                                    body: body,\n                                })];\n                    }\n                });\n            }); };\n            impl()\n                .then(function () {\n                /* noop */\n            })\n                .catch(function () {\n                /* noop */\n            });\n        }\n        catch (_error) {\n            /* noop */\n        }\n    };\n    ErrorBoundary.prototype._onCaught = function (tag, error, recover, getExtraData) {\n        if (error instanceof Errors_1.StatsigUninitializedError ||\n            error instanceof Errors_1.StatsigInvalidArgumentError) {\n            throw error; // Don't catch these\n        }\n        console.error('[Statsig] An unexpected exception occurred.', error);\n        this._logError(tag, error, getExtraData);\n        return recover();\n    };\n    ErrorBoundary.prototype._getDescription = function (obj) {\n        try {\n            return JSON.stringify(obj);\n        }\n        catch (_a) {\n            return '[Statsig] Failed to get string for error.';\n        }\n    };\n    return ErrorBoundary;\n}());\nexports.default = ErrorBoundary;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatsigInvalidArgumentError = exports.StatsigUninitializedError = exports.StatsigErrorMessage = void 0;\nvar StatsigErrorMessage;\n(function (StatsigErrorMessage) {\n    StatsigErrorMessage[\"REQUIRE_ASYNC_INITIALIZE\"] = \"Call initialize() first.\";\n    StatsigErrorMessage[\"REQUIRE_SYNC_INITIALIZE\"] = \"Call and wait for initialize() to finish first.\";\n    StatsigErrorMessage[\"REQUIRE_INITIALIZE_FOR_LOG_EVENT\"] = \"Must initialize() before logging events.\";\n})(StatsigErrorMessage = exports.StatsigErrorMessage || (exports.StatsigErrorMessage = {}));\nvar StatsigUninitializedError = /** @class */ (function (_super) {\n    __extends(StatsigUninitializedError, _super);\n    function StatsigUninitializedError(message) {\n        var _this = _super.call(this, message !== null && message !== void 0 ? message : StatsigErrorMessage.REQUIRE_SYNC_INITIALIZE) || this;\n        Object.setPrototypeOf(_this, StatsigUninitializedError.prototype);\n        return _this;\n    }\n    return StatsigUninitializedError;\n}(Error));\nexports.StatsigUninitializedError = StatsigUninitializedError;\nvar StatsigInvalidArgumentError = /** @class */ (function (_super) {\n    __extends(StatsigInvalidArgumentError, _super);\n    function StatsigInvalidArgumentError(message) {\n        var _this = _super.call(this, message) || this;\n        Object.setPrototypeOf(_this, StatsigInvalidArgumentError.prototype);\n        return _this;\n    }\n    return StatsigInvalidArgumentError;\n}(Error));\nexports.StatsigInvalidArgumentError = StatsigInvalidArgumentError;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Layer = /** @class */ (function () {\n    function Layer(name, layerValue, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters) {\n        if (logParameterFunction === void 0) { logParameterFunction = null; }\n        if (secondaryExposures === void 0) { secondaryExposures = []; }\n        if (undelegatedSecondaryExposures === void 0) { undelegatedSecondaryExposures = []; }\n        if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n        if (explicitParameters === void 0) { explicitParameters = []; }\n        this._logParameterFunction = logParameterFunction;\n        this._name = name;\n        this._value = JSON.parse(JSON.stringify(layerValue !== null && layerValue !== void 0 ? layerValue : {}));\n        this._ruleID = ruleID !== null && ruleID !== void 0 ? ruleID : '';\n        this._evaluationDetails = evaluationDetails;\n        this._secondaryExposures = secondaryExposures;\n        this._undelegatedSecondaryExposures = undelegatedSecondaryExposures;\n        this._allocatedExperimentName = allocatedExperimentName;\n        this._explicitParameters = explicitParameters;\n    }\n    Layer._create = function (name, value, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters) {\n        if (logParameterFunction === void 0) { logParameterFunction = null; }\n        if (secondaryExposures === void 0) { secondaryExposures = []; }\n        if (undelegatedSecondaryExposures === void 0) { undelegatedSecondaryExposures = []; }\n        if (allocatedExperimentName === void 0) { allocatedExperimentName = ''; }\n        if (explicitParameters === void 0) { explicitParameters = []; }\n        return new Layer(name, value, ruleID, evaluationDetails, logParameterFunction, secondaryExposures, undelegatedSecondaryExposures, allocatedExperimentName, explicitParameters);\n    };\n    Layer.prototype.get = function (key, defaultValue, typeGuard) {\n        var _this = this;\n        var val = this._value[key];\n        if (val == null) {\n            return defaultValue;\n        }\n        var logAndReturn = function () {\n            _this._logLayerParameterExposure(key);\n            return val;\n        };\n        if (typeGuard) {\n            return typeGuard(val) ? logAndReturn() : defaultValue;\n        }\n        if (defaultValue == null) {\n            return logAndReturn();\n        }\n        if (typeof val === typeof defaultValue &&\n            Array.isArray(defaultValue) === Array.isArray(val)) {\n            return logAndReturn();\n        }\n        return defaultValue;\n    };\n    Layer.prototype.getValue = function (key, defaultValue) {\n        if (defaultValue == undefined) {\n            defaultValue = null;\n        }\n        var val = this._value[key];\n        if (val != null) {\n            this._logLayerParameterExposure(key);\n        }\n        return val !== null && val !== void 0 ? val : defaultValue;\n    };\n    Layer.prototype._logLayerParameterExposure = function (parameterName) {\n        var _a;\n        (_a = this._logParameterFunction) === null || _a === void 0 ? void 0 : _a.call(this, this, parameterName);\n    };\n    return Layer;\n}());\nexports.default = Layer;\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 });\nfunction makeLogEvent(eventName, user, statsigMetadata, value, metadata, secondaryExposures) {\n    if (value === void 0) { value = null; }\n    if (metadata === void 0) { metadata = null; }\n    var logUser = user;\n    if (logUser === null || logUser === void 0 ? void 0 : logUser.privateAttributes) {\n        logUser = __assign({}, user);\n        delete logUser.privateAttributes;\n    }\n    return {\n        time: Date.now(),\n        eventName: eventName,\n        statsigMetadata: statsigMetadata,\n        user: logUser,\n        value: value,\n        metadata: metadata,\n        secondaryExposures: secondaryExposures,\n    };\n}\nexports.default = makeLogEvent;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.version = void 0;\n// Generated by genversion.\nexports.version = '1.1.0';\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};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DynamicConfig_1 = __importDefault(require(\"./DynamicConfig\"));\nvar ErrorBoundary_1 = __importDefault(require(\"./ErrorBoundary\"));\nvar Errors_1 = require(\"./Errors\");\nvar Layer_1 = __importDefault(require(\"./Layer\"));\nvar StatsigIdentity_1 = __importDefault(require(\"./StatsigIdentity\"));\nvar StatsigLogger_1 = __importDefault(require(\"./StatsigLogger\"));\nvar StatsigNetwork_1 = __importDefault(require(\"./StatsigNetwork\"));\nvar StatsigSDKOptions_1 = __importDefault(require(\"./StatsigSDKOptions\"));\nvar StatsigStore_1 = __importStar(require(\"./StatsigStore\"));\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar Timing_1 = require(\"./utils/Timing\");\nvar LogEvent_1 = __importDefault(require(\"./LogEvent\"));\nvar StatsigClient = /** @class */ (function () {\n    function StatsigClient(sdkKey, user, options) {\n        var _this = this;\n        this._initCalled = false;\n        this._pendingInitPromise = null;\n        this._logLayerParameterExposureForLayer = function (layer, parameterName, isManualExposure) {\n            if (isManualExposure === void 0) { isManualExposure = false; }\n            var allocatedExperiment = '';\n            var exposures = layer._undelegatedSecondaryExposures;\n            var isExplicit = layer._explicitParameters.includes(parameterName);\n            if (isExplicit) {\n                allocatedExperiment = layer._allocatedExperimentName;\n                exposures = layer._secondaryExposures;\n            }\n            _this._logger.logLayerExposure(_this._identity._user, layer._name, layer._ruleID, exposures, allocatedExperiment, parameterName, isExplicit, layer._evaluationDetails, isManualExposure);\n        };\n        if ((options === null || options === void 0 ? void 0 : options.localMode) !== true &&\n            (typeof sdkKey !== 'string' || !sdkKey.startsWith('client-'))) {\n            throw new Errors_1.StatsigInvalidArgumentError('Invalid key provided.  You must use a Client SDK Key from the Statsig console to initialize the sdk');\n        }\n        this._startTime = (0, Timing_1.now)();\n        this._errorBoundary = new ErrorBoundary_1.default(sdkKey);\n        this._ready = false;\n        this._options = new StatsigSDKOptions_1.default(options);\n        StatsigLocalStorage_1.default.disabled = this._options.disableLocalStorage;\n        this._identity = new StatsigIdentity_1.default(sdkKey, this._normalizeUser(user !== null && user !== void 0 ? user : null), this._options.overrideStableID);\n        this._network = new StatsigNetwork_1.default(this._options, this._identity, this._errorBoundary);\n        this._logger = new StatsigLogger_1.default(this._options, this._identity, this._network, this._errorBoundary);\n        this._store = new StatsigStore_1.default(this._identity, this._logger.logConfigDefaultValueFallback, this._options.initializeValues);\n        this._errorBoundary._setStatsigMetadata(this._identity._statsigMetadata);\n        if (this._options.initializeValues != null) {\n            this._ready = true;\n            this._initCalled = true;\n            setTimeout(function () { return _this._delayedSetup(); }, 20);\n        }\n    }\n    StatsigClient.prototype.setInitializeValues = function (initializeValues) {\n        var _this = this;\n        this._errorBoundary._capture('setInitializeValues', function () {\n            _this._store.bootstrap(initializeValues);\n            if (!_this._ready) {\n                // the sdk is usable and considered initialized when configured\n                // with initializeValues\n                _this._ready = true;\n                _this._initCalled = true;\n            }\n            // we wont have access to window/document/localStorage if these run on the server\n            // so try to run whenever this is called\n            _this._logger.sendSavedRequests();\n        }, function () {\n            _this._ready = true;\n            _this._initCalled = true;\n        });\n    };\n    StatsigClient.prototype.initializeAsync = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var _this = this;\n            return __generator(this, function (_a) {\n                return [2 /*return*/, this._errorBoundary._capture('initializeAsync', function () { return __awaiter(_this, void 0, void 0, function () {\n                        var user;\n                        var _this = this;\n                        return __generator(this, function (_a) {\n                            if (this._pendingInitPromise != null) {\n                                return [2 /*return*/, this._pendingInitPromise];\n                            }\n                            if (this._ready) {\n                                return [2 /*return*/, Promise.resolve()];\n                            }\n                            this._initCalled = true;\n                            if (this._options.localMode) {\n                                return [2 /*return*/, Promise.resolve()];\n                            }\n                            user = this._identity._user;\n                            this._pendingInitPromise = this._fetchAndSaveValues(user, this._options.initTimeoutMs)\n                                .then(function () {\n                                return;\n                            })\n                                .catch(function (e) {\n                                _this._errorBoundary._logError('initializeAsync:fetchAndSaveValues', e);\n                                return { success: false, message: e.message };\n                            })\n                                .then(function () {\n                                return;\n                            })\n                                .finally(function () { return __awaiter(_this, void 0, void 0, function () {\n                                return __generator(this, function (_a) {\n                                    this._pendingInitPromise = null;\n                                    this._ready = true;\n                                    this._delayedSetup();\n                                    return [2 /*return*/];\n                                });\n                            }); });\n                            return [2 /*return*/, this._pendingInitPromise];\n                        });\n                    }); }, function () {\n                        _this._ready = true;\n                        _this._initCalled = true;\n                        return Promise.resolve();\n                    })];\n            });\n        });\n    };\n    StatsigClient.prototype.getEvaluationDetails = function () {\n        var _this = this;\n        return this._errorBoundary._capture('getEvaluationDetails', function () {\n            return _this._store.getGlobalEvaluationDetails();\n        }, function () {\n            return {\n                time: Date.now(),\n                reason: StatsigStore_1.EvaluationReason.Error,\n            };\n        });\n    };\n    /**\n     * Checks the value of a gate for the current user\n     * @param {string} gateName - the name of the gate to check\n     * @returns {boolean} - value of a gate for the user. Gates are \"off\" (return false) by default\n     * @throws Error if initialize() is not called first, or gateName is not a string\n     */\n    StatsigClient.prototype.checkGate = function (gateName) {\n        return this._checkGateImpl(gateName, 'checkGate');\n    };\n    StatsigClient.prototype.checkGateWithExposureLoggingDisabled = function (gateName) {\n        return this._checkGateImpl(gateName, 'checkGateWithExposureLoggingDisabled');\n    };\n    StatsigClient.prototype.logGateExposure = function (gateName) {\n        var _this = this;\n        this._errorBoundary._swallow('logGateExposure', function () {\n            _this._logGateExposureImpl(gateName);\n        });\n    };\n    /**\n     * Checks the value of a config for the current user\n     * @param {string} configName - the name of the config to get\n     * @returns {DynamicConfig} - value of a config for the user\n     * @throws Error if initialize() is not called first, or configName is not a string\n     */\n    StatsigClient.prototype.getConfig = function (configName) {\n        return this._getConfigImpl(configName, 'getConfig');\n    };\n    StatsigClient.prototype.getConfigWithExposureLoggingDisabled = function (configName) {\n        return this._getConfigImpl(configName, 'getConfigWithExposureLoggingDisabled');\n    };\n    StatsigClient.prototype.logConfigExposure = function (configName) {\n        var _this = this;\n        this._errorBoundary._swallow('logConfigExposure', function () {\n            _this._logConfigExposureImpl(configName);\n        });\n    };\n    StatsigClient.prototype.getExperiment = function (experimentName) {\n        return this.getConfig(experimentName);\n    };\n    StatsigClient.prototype.getExperimentWithExposureLoggingDisabled = function (experimentName) {\n        return this.getConfigWithExposureLoggingDisabled(experimentName);\n    };\n    StatsigClient.prototype.logExperimentExposure = function (experimentName) {\n        this.logConfigExposure(experimentName);\n    };\n    StatsigClient.prototype.getLayer = function (layerName) {\n        return this._getLayerImpl(layerName, 'getLayer');\n    };\n    StatsigClient.prototype.getLayerWithExposureLoggingDisabled = function (layerName) {\n        return this._getLayerImpl(layerName, 'getLayerWithExposureLoggingDisabled');\n    };\n    StatsigClient.prototype.logLayerParameterExposure = function (layerName, parameterName) {\n        var _this = this;\n        this._errorBoundary._swallow('logLayerParameterExposure', function () {\n            var layer = _this._getLayerFromStore(null, layerName);\n            _this._logLayerParameterExposureForLayer(layer, parameterName, true);\n        });\n    };\n    StatsigClient.prototype.logEvent = function (eventName, value, metadata) {\n        var _this = this;\n        if (value === void 0) { value = null; }\n        if (metadata === void 0) { metadata = null; }\n        this._errorBoundary._swallow('logEvent', function () {\n            if (!_this._logger || !_this._identity._sdkKey) {\n                throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_INITIALIZE_FOR_LOG_EVENT);\n            }\n            if (typeof eventName !== 'string' || eventName.length === 0) {\n                return;\n            }\n            var event = (0, LogEvent_1.default)(eventName, _this._identity._user, _this._identity._statsigMetadata, value, metadata);\n            _this._logger.log(event);\n        });\n    };\n    StatsigClient.prototype.updateUserWithValues = function (user, values) {\n        var _this = this;\n        var updateStartTime = Date.now();\n        var fireCompletionCallback;\n        return this._errorBoundary._capture('updateUserWithValues', function () {\n            if (!_this.initializeCalled()) {\n                throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_ASYNC_INITIALIZE);\n            }\n            fireCompletionCallback = function (success, error) {\n                var cb = _this._options.updateUserCompletionCallback;\n                cb === null || cb === void 0 ? void 0 : cb(Date.now() - updateStartTime, success, error);\n            };\n            _this._identity._user = _this._normalizeUser(user);\n            _this._store.bootstrap(values);\n            fireCompletionCallback(true, null);\n            return true;\n        }, function () {\n            fireCompletionCallback === null || fireCompletionCallback === void 0 ? void 0 : fireCompletionCallback(false, 'Failed to update user. An unexpected error occured.');\n            return false;\n        });\n    };\n    StatsigClient.prototype.updateUser = function (user) {\n        return __awaiter(this, void 0, void 0, function () {\n            var updateStartTime, fireCompletionCallback;\n            var _this = this;\n            return __generator(this, function (_a) {\n                updateStartTime = Date.now();\n                return [2 /*return*/, this._errorBoundary._capture('updateUser', function () { return __awaiter(_this, void 0, void 0, function () {\n                        var currentUser;\n                        var _this = this;\n                        return __generator(this, function (_a) {\n                            switch (_a.label) {\n                                case 0:\n                                    if (!this.initializeCalled()) {\n                                        throw new Errors_1.StatsigUninitializedError(Errors_1.StatsigErrorMessage.REQUIRE_ASYNC_INITIALIZE);\n                                    }\n                                    fireCompletionCallback = function (success, error) {\n                                        var cb = _this._options.updateUserCompletionCallback;\n                                        cb === null || cb === void 0 ? void 0 : cb(Date.now() - updateStartTime, success, error);\n                                    };\n                                    this._identity._user = this._normalizeUser(user);\n                                    this._store.updateUser();\n                                    this._logger.resetDedupeKeys();\n                                    if (!(this._pendingInitPromise != null)) return [3 /*break*/, 2];\n                                    return [4 /*yield*/, this._pendingInitPromise];\n                                case 1:\n                                    _a.sent();\n                                    _a.label = 2;\n                                case 2:\n                                    if (this._options.localMode) {\n                                        fireCompletionCallback(true, null);\n                                        return [2 /*return*/, Promise.resolve(true)];\n                                    }\n                                    currentUser = this._identity._user;\n                                    this._pendingInitPromise = this._fetchAndSaveValues(currentUser).finally(function () {\n                                        _this._pendingInitPromise = null;\n                                    });\n                                    return [2 /*return*/, this._pendingInitPromise\n                                            .then(function () {\n                                            fireCompletionCallback(true, null);\n                                            return Promise.resolve(true);\n                                        })\n                                            .catch(function (error) {\n                                            fireCompletionCallback(false, \"Failed to update user: \".concat(error));\n                                            return Promise.resolve(false);\n                                        })];\n                            }\n                        });\n                    }); }, function () {\n                        fireCompletionCallback(false, 'Failed to update user. An unexpected error occured.');\n                        return Promise.resolve(false);\n                    })];\n            });\n        });\n    };\n    /**\n     * Informs the statsig SDK that the client is closing or shutting down\n     * so the SDK can clean up internal state\n     */\n    StatsigClient.prototype.shutdown = function () {\n        var _this = this;\n        this._errorBoundary._swallow('shutdown', function () {\n            _this._logger.shutdown();\n        });\n    };\n    /**\n     * @returns The Statsig stable ID used for device level experiments\n     */\n    StatsigClient.prototype.getStableID = function () {\n        var _this = this;\n        return this._errorBoundary._capture('getStableID', function () { return _this._identity._statsigMetadata.stableID; }, function () { return ''; });\n    };\n    StatsigClient.prototype.initializeCalled = function () {\n        return this._initCalled;\n    };\n    // Private\n    StatsigClient.prototype._delayedSetup = function () {\n        var _this = this;\n        this._errorBoundary._swallow('delayedSetup', function () {\n            _this._identity.saveStableID();\n            _this._logger.sendSavedRequests().then(function () {\n                /* noop */\n            });\n        });\n    };\n    StatsigClient.prototype._normalizeUser = function (user) {\n        var userCopy = {};\n        try {\n            userCopy = JSON.parse(JSON.stringify(user));\n        }\n        catch (error) {\n            throw new Errors_1.StatsigInvalidArgumentError('User object must be convertable to JSON string.');\n        }\n        if (this._options.environment != null) {\n            userCopy = __assign(__assign({}, userCopy), { statsigEnvironment: this._options.environment });\n        }\n        return userCopy;\n    };\n    StatsigClient.prototype._ensureStoreLoaded = function () {\n        if (!this._store.isLoaded()) {\n            throw new Errors_1.StatsigUninitializedError();\n        }\n    };\n    StatsigClient.prototype._getEvaluationDetailsForError = function () {\n        return {\n            time: Date.now(),\n            reason: StatsigStore_1.EvaluationReason.Error,\n        };\n    };\n    StatsigClient.prototype._fetchAndSaveValues = function (user, timeout) {\n        if (timeout === void 0) { timeout = this._options.initTimeoutMs; }\n        return __awaiter(this, void 0, void 0, function () {\n            var sinceTime;\n            var _this = this;\n            return __generator(this, function (_a) {\n                sinceTime = null;\n                sinceTime = this._store.getLastUpdateTime(user);\n                return [2 /*return*/, this._network\n                        .fetchValues(user, sinceTime, timeout)\n                        .eventually(function (json) {\n                        if (json === null || json === void 0 ? void 0 : json.has_updates) {\n                            _this._store.save(user, json, false);\n                        }\n                    })\n                        .then(function (json) { return __awaiter(_this, void 0, void 0, function () {\n                        var _this = this;\n                        return __generator(this, function (_a) {\n                            return [2 /*return*/, this._errorBoundary._swallow('fetchAndSaveValues', function () { return __awaiter(_this, void 0, void 0, function () {\n                                    return __generator(this, function (_a) {\n                                        switch (_a.label) {\n                                            case 0:\n                                                if (!(json === null || json === void 0 ? void 0 : json.has_updates)) return [3 /*break*/, 2];\n                                                return [4 /*yield*/, this._store.save(user, json)];\n                                            case 1:\n                                                _a.sent();\n                                                return [3 /*break*/, 3];\n                                            case 2:\n                                                if (json === null || json === void 0 ? void 0 : json.is_no_content) {\n                                                    this._store.setEvaluationReason(StatsigStore_1.EvaluationReason.NetworkNotModified);\n                                                }\n                                                _a.label = 3;\n                                            case 3: return [2 /*return*/];\n                                        }\n                                    });\n                                }); })];\n                        });\n                    }); })];\n            });\n        });\n    };\n    StatsigClient.prototype._checkGateImpl = function (gateName, callsite) {\n        var _this = this;\n        return this._errorBoundary._capture(callsite, function () {\n            var result = _this._getGateFromStore(gateName);\n            if (callsite === 'checkGate') {\n                _this._logGateExposureImpl(gateName, result);\n            }\n            return result.gate.value === true;\n        }, function () { return false; });\n    };\n    StatsigClient.prototype._getGateFromStore = function (gateName) {\n        this._ensureStoreLoaded();\n        if (typeof gateName !== 'string' || gateName.length === 0) {\n            throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the gateName.');\n        }\n        return this._store.checkGate(gateName);\n    };\n    StatsigClient.prototype._logGateExposureImpl = function (gateName, fetchResult) {\n        var isManualExposure = !fetchResult;\n        var result = fetchResult !== null && fetchResult !== void 0 ? fetchResult : this._getGateFromStore(gateName);\n        var gate = result.gate;\n        this._logger.logGateExposure(this._identity._user, gateName, gate.value, gate.rule_id, gate.secondary_exposures, result.evaluationDetails, isManualExposure);\n    };\n    StatsigClient.prototype._getConfigImpl = function (configName, callsite) {\n        var _this = this;\n        return this._errorBoundary._capture(callsite, function () {\n            var result = _this._getConfigFromStore(configName);\n            if (callsite === 'getConfig') {\n                _this._logConfigExposureImpl(configName, result);\n            }\n            return result;\n        }, function () { return _this._getEmptyConfig(configName); });\n    };\n    StatsigClient.prototype._getConfigFromStore = function (configName) {\n        this._ensureStoreLoaded();\n        if (typeof configName !== 'string' || configName.length === 0) {\n            throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the configName.');\n        }\n        return this._store.getConfig(configName);\n    };\n    StatsigClient.prototype._logConfigExposureImpl = function (configName, config) {\n        var isManualExposure = !config;\n        var localConfig = config !== null && config !== void 0 ? config : this._getConfigFromStore(configName);\n        this._logger.logConfigExposure(this._identity._user, configName, localConfig._ruleID, localConfig._secondaryExposures, localConfig._evaluationDetails, isManualExposure);\n    };\n    StatsigClient.prototype._getLayerImpl = function (layerName, callsite) {\n        var _this = this;\n        return this._errorBoundary._capture(callsite, function () {\n            var logFunc = callsite === 'getLayer'\n                ? _this._logLayerParameterExposureForLayer\n                : null;\n            return _this._getLayerFromStore(logFunc, layerName);\n        }, function () {\n            return Layer_1.default._create(layerName, {}, '', _this._getEvaluationDetailsForError());\n        });\n    };\n    StatsigClient.prototype._getLayerFromStore = function (logParameterFunction, layerName) {\n        this._ensureStoreLoaded();\n        if (typeof layerName !== 'string' || layerName.length === 0) {\n            throw new Errors_1.StatsigInvalidArgumentError('Must pass a valid string as the layerName.');\n        }\n        return this._store.getLayer(logParameterFunction, layerName);\n    };\n    StatsigClient.prototype._getEmptyConfig = function (configName) {\n        return new DynamicConfig_1.default(configName, {}, '', this._getEvaluationDetailsForError());\n    };\n    return StatsigClient;\n}());\nexports.default = StatsigClient;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Constants_1 = require(\"./utils/Constants\");\nvar Hashing_1 = require(\"./utils/Hashing\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar SDKVersion_1 = require(\"./SDKVersion\");\nvar Identity = /** @class */ (function () {\n    function Identity(sdkKey, user, overrideStableID) {\n        var _a;\n        this._sdkType = 'js-lite';\n        this._sdkKey = sdkKey;\n        this._user = user;\n        this._sdkVersion = SDKVersion_1.version;\n        var stableID = overrideStableID;\n        stableID =\n            (_a = stableID !== null && stableID !== void 0 ? stableID : StatsigLocalStorage_1.default.getItem(Constants_1.STATSIG_STABLE_ID_KEY)) !== null && _a !== void 0 ? _a : this._getUUID();\n        this._statsigMetadata = {\n            stableID: stableID,\n            sdkType: this._sdkType,\n            sdkVersion: this._sdkVersion,\n        };\n    }\n    Identity.prototype.saveStableID = function () {\n        if (this._statsigMetadata.stableID != null) {\n            StatsigLocalStorage_1.default.setItem(Constants_1.STATSIG_STABLE_ID_KEY, this._statsigMetadata.stableID);\n        }\n    };\n    Identity.prototype.getUserCacheKey = function () {\n        return (0, Hashing_1.getUserCacheKey)(this._user);\n    };\n    Identity.prototype._getUUID = function () {\n        var uuid = '';\n        for (var i = 0; i < 32; i++) {\n            if (i === 8 || i === 12 || i === 16 || i === 20) {\n                uuid += '-';\n            }\n            var randomDigit = (Math.random() * 16) | 0;\n            if (i === 12) {\n                uuid += '4';\n            }\n            else if (i === 16) {\n                uuid += ((randomDigit & 3) | 8).toString(16);\n            }\n            else {\n                uuid += randomDigit.toString(16);\n            }\n        }\n        return uuid;\n    };\n    return Identity;\n}());\nexports.default = Identity;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LogEvent_1 = __importDefault(require(\"./LogEvent\"));\nvar StatsigNetwork_1 = require(\"./StatsigNetwork\");\nvar Constants_1 = require(\"./utils/Constants\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar INTERNAL_EVENT_PREFIX = 'statsig::';\nvar CONFIG_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'config_exposure';\nvar LAYER_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'layer_exposure';\nvar GATE_EXPOSURE_EVENT = INTERNAL_EVENT_PREFIX + 'gate_exposure';\nvar LOG_FAILURE_EVENT = INTERNAL_EVENT_PREFIX + 'log_event_failed';\nvar DEFAULT_VALUE_WARNING = INTERNAL_EVENT_PREFIX + 'default_value_type_mismatch';\nvar MS_RETRY_LOGS_CUTOFF = 5 * 24 * 60 * 60 * 1000;\nvar MAX_BATCHES_TO_RETRY = 100;\nvar MAX_FAILED_EVENTS = 1000;\nvar MAX_LOCAL_STORAGE_SIZE = 1024 * MAX_FAILED_EVENTS;\nvar StatsigLogger = /** @class */ (function () {\n    function StatsigLogger(options, identity, network, errorBoundary) {\n        var _this = this;\n        this._failedLogEventCount = 0;\n        this.logConfigDefaultValueFallback = function (user, message, metadata) {\n            var defaultValueEvent = (0, LogEvent_1.default)(DEFAULT_VALUE_WARNING, user, _this._identity._statsigMetadata, message, metadata);\n            _this.log(defaultValueEvent);\n            _this._loggedErrors.add(message);\n        };\n        this._options = options;\n        this._identity = identity;\n        this._network = network;\n        this._errorBoundary = errorBoundary;\n        this._queue = [];\n        this._flushInterval = null;\n        this._loggedErrors = new Set();\n        this._failedLogEvents = [];\n        this._exposureDedupeKeys = {};\n        this._failedLogEventCount = 0;\n        this._init();\n    }\n    StatsigLogger.prototype.log = function (event) {\n        try {\n            if (!this._options.disableCurrentPageLogging &&\n                typeof window !== 'undefined' &&\n                window != null &&\n                typeof window.location === 'object' &&\n                typeof window.location.href === 'string') {\n                // https://stackoverflow.com/questions/6257463/how-to-get-the-url-without-any-parameters-in-javascript\n                var parts = window.location.href.split(/[?#]/);\n                if ((parts === null || parts === void 0 ? void 0 : parts.length) > 0) {\n                    event.statsigMetadata.currentPage = parts[0];\n                }\n            }\n        }\n        catch (_e) { }\n        this._queue.push(event);\n        if (this._queue.length >= this._options.loggingBufferMaxSize) {\n            this.flush();\n        }\n    };\n    StatsigLogger.prototype.resetDedupeKeys = function () {\n        this._exposureDedupeKeys = {};\n    };\n    StatsigLogger.prototype.logGateExposure = function (user, gateName, gateValue, ruleID, secondaryExposures, details, isManualExposure) {\n        var dedupeKey = gateName + String(gateValue) + ruleID + details.reason;\n        if (!this._shouldLogExposure(dedupeKey)) {\n            return;\n        }\n        var metadata = {\n            gate: gateName,\n            gateValue: String(gateValue),\n            ruleID: ruleID,\n            reason: details.reason,\n            time: details.time,\n        };\n        if (isManualExposure) {\n            metadata['isManualExposure'] = 'true';\n        }\n        var gateExposure = (0, LogEvent_1.default)(GATE_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n        this.log(gateExposure);\n    };\n    StatsigLogger.prototype.logConfigExposure = function (user, configName, ruleID, secondaryExposures, details, isManualExposure) {\n        var dedupeKey = configName + ruleID + details.reason;\n        if (!this._shouldLogExposure(dedupeKey)) {\n            return;\n        }\n        var metadata = {\n            config: configName,\n            ruleID: ruleID,\n            reason: details.reason,\n            time: details.time,\n        };\n        if (isManualExposure) {\n            metadata['isManualExposure'] = 'true';\n        }\n        var configExposure = (0, LogEvent_1.default)(CONFIG_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n        this.log(configExposure);\n    };\n    StatsigLogger.prototype.logLayerExposure = function (user, configName, ruleID, secondaryExposures, allocatedExperiment, parameterName, isExplicitParameter, details, isManualExposure) {\n        var dedupeKey = [\n            configName,\n            ruleID,\n            allocatedExperiment,\n            parameterName,\n            String(isExplicitParameter),\n            details.reason,\n        ].join('|');\n        if (!this._shouldLogExposure(dedupeKey)) {\n            return;\n        }\n        var metadata = {\n            config: configName,\n            ruleID: ruleID,\n            allocatedExperiment: allocatedExperiment,\n            parameterName: parameterName,\n            isExplicitParameter: String(isExplicitParameter),\n            reason: details.reason,\n            time: details.time,\n        };\n        if (isManualExposure) {\n            metadata['isManualExposure'] = 'true';\n        }\n        var configExposure = (0, LogEvent_1.default)(LAYER_EXPOSURE_EVENT, user, this._identity._statsigMetadata, null, metadata, secondaryExposures);\n        this.log(configExposure);\n    };\n    StatsigLogger.prototype.shutdown = function () {\n        if (this._flushInterval) {\n            clearInterval(this._flushInterval);\n            this._flushInterval = null;\n        }\n        this.flush(true);\n    };\n    StatsigLogger.prototype.flush = function (isClosing) {\n        var _this = this;\n        if (isClosing === void 0) { isClosing = false; }\n        if (this._queue.length === 0) {\n            return;\n        }\n        var statsigMetadata = this._identity._statsigMetadata;\n        var oldQueue = this._queue;\n        this._queue = [];\n        if (isClosing &&\n            !this._network.supportsKeepalive() &&\n            typeof navigator !== 'undefined' &&\n            navigator != null &&\n            // @ts-ignore\n            navigator.sendBeacon) {\n            var beacon = this._network.sendLogBeacon({\n                events: oldQueue,\n                statsigMetadata: statsigMetadata,\n            });\n            if (!beacon) {\n                this._queue = oldQueue.concat(this._queue);\n                if (this._queue.length > 0) {\n                    this._addFailedRequest({\n                        events: this._queue,\n                        statsigMetadata: statsigMetadata,\n                        time: Date.now(),\n                    });\n                    this._queue = [];\n                }\n                this._saveFailedRequests();\n            }\n            return;\n        }\n        var processor = this;\n        this._network\n            .postToEndpoint(StatsigNetwork_1.StatsigEndpoint.Rgstr, {\n            events: oldQueue,\n            statsigMetadata: statsigMetadata,\n        }, 3 /* retries */, 1000 /* backoff */, isClosing /* useKeepalive */)\n            .then(function (response) {\n            if (!response.ok) {\n                throw response;\n            }\n        })\n            .catch(function (error) {\n            if (typeof error.text === 'function') {\n                error.text().then(function (errorText) {\n                    _this._errorBoundary._logError(LOG_FAILURE_EVENT, error, function () { return __awaiter(_this, void 0, void 0, function () {\n                        return __generator(this, function (_a) {\n                            return [2 /*return*/, {\n                                    eventCount: oldQueue.length,\n                                    error: errorText,\n                                }];\n                        });\n                    }); });\n                });\n            }\n            else {\n                _this._errorBoundary._logError(LOG_FAILURE_EVENT, error, function () { return __awaiter(_this, void 0, void 0, function () {\n                    return __generator(this, function (_a) {\n                        return [2 /*return*/, {\n                                eventCount: oldQueue.length,\n                                error: error.message,\n                            }];\n                    });\n                }); });\n            }\n            processor._newFailedRequest(LOG_FAILURE_EVENT, oldQueue);\n        })\n            .finally(function () { return __awaiter(_this, void 0, void 0, function () {\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        if (!isClosing) return [3 /*break*/, 2];\n                        if (this._queue.length > 0) {\n                            this._addFailedRequest({\n                                events: this._queue,\n                                statsigMetadata: statsigMetadata,\n                                time: Date.now(),\n                            });\n                            // on app background/window blur, save unsent events as a request and clean up the queue (in case app foregrounds)\n                            this._queue = [];\n                        }\n                        return [4 /*yield*/, processor._saveFailedRequests()];\n                    case 1:\n                        _a.sent();\n                        _a.label = 2;\n                    case 2: return [2 /*return*/];\n                }\n            });\n        }); });\n    };\n    StatsigLogger.prototype.sendSavedRequests = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var failedRequests, fireAndForget, requestBodies, _loop_1, this_1, _i, requestBodies_1, requestBody;\n            var _this = this;\n            return __generator(this, function (_a) {\n                fireAndForget = false;\n                failedRequests = StatsigLocalStorage_1.default.getItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY);\n                if (failedRequests == null) {\n                    this._clearLocalStorageRequests();\n                    return [2 /*return*/];\n                }\n                if (failedRequests.length > MAX_LOCAL_STORAGE_SIZE) {\n                    fireAndForget = true;\n                }\n                requestBodies = [];\n                try {\n                    requestBodies = JSON.parse(failedRequests);\n                    _loop_1 = function (requestBody) {\n                        if (requestBody != null &&\n                            requestBody.events &&\n                            Array.isArray(requestBody.events)) {\n                            this_1._network\n                                .postToEndpoint(StatsigNetwork_1.StatsigEndpoint.Rgstr, requestBody)\n                                .then(function (response) {\n                                if (!response.ok) {\n                                    throw Error(response.status + '');\n                                }\n                            })\n                                .catch(function (_e) {\n                                if (fireAndForget) {\n                                    return;\n                                }\n                                _this._addFailedRequest(requestBody);\n                            });\n                        }\n                    };\n                    this_1 = this;\n                    for (_i = 0, requestBodies_1 = requestBodies; _i < requestBodies_1.length; _i++) {\n                        requestBody = requestBodies_1[_i];\n                        _loop_1(requestBody);\n                    }\n                }\n                catch (_e) {\n                }\n                finally {\n                    this._clearLocalStorageRequests();\n                }\n                return [2 /*return*/];\n            });\n        });\n    };\n    StatsigLogger.prototype._init = function () {\n        var _this = this;\n        if (typeof window !== 'undefined' &&\n            typeof window.addEventListener === 'function') {\n            window.addEventListener('blur', function () { return _this.flush(true); });\n            window.addEventListener('beforeunload', function () { return _this.flush(true); });\n            window.addEventListener('load', function () {\n                setTimeout(function () { return _this.flush(); }, 100);\n                setTimeout(function () { return _this.flush(); }, 1000);\n            });\n        }\n        if (typeof document !== 'undefined' &&\n            typeof document.addEventListener === 'function') {\n            document.addEventListener('visibilitychange', function () {\n                _this.flush(document.visibilityState !== 'visible');\n            });\n        }\n        if (!this._options.ignoreWindowUndefined &&\n            (typeof window === 'undefined' || window == null)) {\n            // dont set the flush interval outside of client browser environments\n            return;\n        }\n        if (this._options.localMode) {\n            // unnecessary interval in local mode since logs dont flush anyway\n            return;\n        }\n        var me = this;\n        this._flushInterval = setInterval(function () {\n            me.flush();\n        }, this._options.loggingIntervalMillis);\n        // Quick flush\n        setTimeout(function () { return _this.flush(); }, 100);\n        setTimeout(function () { return _this.flush(); }, 1000);\n    };\n    StatsigLogger.prototype._shouldLogExposure = function (key) {\n        var lastTime = this._exposureDedupeKeys[key];\n        var now = Date.now();\n        if (lastTime == null) {\n            this._exposureDedupeKeys[key] = now;\n            return true;\n        }\n        if (lastTime >= now - 600 * 1000) {\n            return false;\n        }\n        this._exposureDedupeKeys[key] = now;\n        return true;\n    };\n    StatsigLogger.prototype._saveFailedRequests = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var requestsCopy;\n            return __generator(this, function (_a) {\n                if (this._failedLogEvents.length > 0) {\n                    requestsCopy = JSON.stringify(this._failedLogEvents);\n                    if (requestsCopy.length > MAX_LOCAL_STORAGE_SIZE) {\n                        this._clearLocalStorageRequests();\n                        return [2 /*return*/];\n                    }\n                    StatsigLocalStorage_1.default.setItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY, requestsCopy);\n                }\n                return [2 /*return*/];\n            });\n        });\n    };\n    StatsigLogger.prototype._addFailedRequest = function (requestBody) {\n        if (requestBody.time < Date.now() - MS_RETRY_LOGS_CUTOFF) {\n            return;\n        }\n        if (this._failedLogEvents.length > MAX_BATCHES_TO_RETRY) {\n            return;\n        }\n        var additionalEvents = requestBody.events.length;\n        if (this._failedLogEventCount + additionalEvents > MAX_FAILED_EVENTS) {\n            return;\n        }\n        this._failedLogEvents.push(requestBody);\n        this._failedLogEventCount += additionalEvents;\n    };\n    StatsigLogger.prototype._clearLocalStorageRequests = function () {\n        StatsigLocalStorage_1.default.removeItem(Constants_1.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY);\n    };\n    StatsigLogger.prototype._newFailedRequest = function (name, queue) {\n        if (this._loggedErrors.has(name)) {\n            return;\n        }\n        this._loggedErrors.add(name);\n        this._failedLogEvents.push({\n            events: queue,\n            statsigMetadata: this._identity._statsigMetadata,\n            time: Date.now(),\n        });\n        this._saveFailedRequests().then(function () { });\n    };\n    return StatsigLogger;\n}());\nexports.default = StatsigLogger;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatsigEndpoint = void 0;\nvar StatsigEndpoint;\n(function (StatsigEndpoint) {\n    StatsigEndpoint[\"Initialize\"] = \"initialize\";\n    StatsigEndpoint[\"Rgstr\"] = \"rgstr\";\n    StatsigEndpoint[\"LogEventBeacon\"] = \"log_event_beacon\";\n})(StatsigEndpoint = exports.StatsigEndpoint || (exports.StatsigEndpoint = {}));\nvar NO_CONTENT = 204;\nvar StatsigNetwork = /** @class */ (function () {\n    function StatsigNetwork(options, identity, errorBoundary) {\n        this.retryCodes = {\n            408: true,\n            500: true,\n            502: true,\n            503: true,\n            504: true,\n            522: true,\n            524: true,\n            599: true,\n        };\n        this.canUseKeepalive = false;\n        this._options = options;\n        this._identity = identity;\n        this._errorBoundary = errorBoundary;\n        this.leakyBucket = {};\n        this._init();\n    }\n    StatsigNetwork.prototype.fetchValues = function (user, sinceTime, timeout) {\n        var input = {\n            user: user,\n            statsigMetadata: this._identity._statsigMetadata,\n            sinceTime: sinceTime !== null && sinceTime !== void 0 ? sinceTime : undefined,\n            hash: 'djb2',\n        };\n        return this._postWithTimeout(StatsigEndpoint.Initialize, input, timeout, // timeout for early returns\n        3);\n    };\n    StatsigNetwork.prototype.sendLogBeacon = function (payload) {\n        if (this._options.localMode) {\n            return true;\n        }\n        var url = new URL(this._options.eventLoggingApi + StatsigEndpoint.LogEventBeacon);\n        url.searchParams.append('k', this._identity._sdkKey);\n        payload.clientTime = Date.now() + '';\n        var stringPayload = null;\n        try {\n            stringPayload = JSON.stringify(payload);\n        }\n        catch (_e) {\n            return false;\n        }\n        return navigator.sendBeacon(url.toString(), stringPayload);\n    };\n    StatsigNetwork.prototype.postToEndpoint = function (endpointName, body, retries, backoff, useKeepalive) {\n        if (retries === void 0) { retries = 0; }\n        if (backoff === void 0) { backoff = 1000; }\n        if (useKeepalive === void 0) { useKeepalive = false; }\n        return __awaiter(this, void 0, void 0, function () {\n            var api, url, counter, postBody, statsigMetadata, params;\n            var _this = this;\n            return __generator(this, function (_a) {\n                if (this._options.localMode) {\n                    return [2 /*return*/, Promise.reject('no network requests in localMode')];\n                }\n                if (typeof fetch !== 'function') {\n                    // fetch is not defined in this environment, short circuit\n                    return [2 /*return*/, Promise.reject('fetch is not defined')];\n                }\n                if (typeof window === 'undefined' && !this._options.ignoreWindowUndefined) {\n                    // by default, dont issue requests from the server\n                    return [2 /*return*/, Promise.reject('window is not defined')];\n                }\n                api = [StatsigEndpoint.Initialize].includes(endpointName)\n                    ? this._options.api\n                    : this._options.eventLoggingApi;\n                url = api + endpointName;\n                counter = this.leakyBucket[url];\n                if (counter != null && counter >= 30) {\n                    return [2 /*return*/, Promise.reject(new Error('Request failed because you are making the same request too frequently.'))];\n                }\n                if (counter == null) {\n                    this.leakyBucket[url] = 1;\n                }\n                else {\n                    this.leakyBucket[url] = counter + 1;\n                }\n                postBody = JSON.stringify(body);\n                statsigMetadata = this._identity._statsigMetadata;\n                params = {\n                    method: 'POST',\n                    body: postBody,\n                    headers: {\n                        'Content-type': 'application/json; charset=UTF-8',\n                        'STATSIG-API-KEY': this._identity._sdkKey,\n                        'STATSIG-CLIENT-TIME': Date.now() + '',\n                        'STATSIG-SDK-TYPE': statsigMetadata.sdkType,\n                        'STATSIG-SDK-VERSION': statsigMetadata.sdkVersion,\n                    },\n                };\n                if (this.canUseKeepalive && useKeepalive) {\n                    params.keepalive = true;\n                }\n                return [2 /*return*/, fetch(url, params)\n                        .then(function (res) { return __awaiter(_this, void 0, void 0, function () {\n                        var networkResponse, text, errorText;\n                        return __generator(this, function (_a) {\n                            switch (_a.label) {\n                                case 0:\n                                    if (!res.ok) return [3 /*break*/, 4];\n                                    networkResponse = res;\n                                    if (!(res.status === NO_CONTENT)) return [3 /*break*/, 1];\n                                    networkResponse.data = { has_updates: false, is_no_content: true };\n                                    return [3 /*break*/, 3];\n                                case 1: return [4 /*yield*/, res.text()];\n                                case 2:\n                                    text = _a.sent();\n                                    networkResponse.data = JSON.parse(text);\n                                    _a.label = 3;\n                                case 3: return [2 /*return*/, Promise.resolve(networkResponse)];\n                                case 4:\n                                    if (!this.retryCodes[res.status]) {\n                                        retries = 0;\n                                    }\n                                    return [4 /*yield*/, res.text()];\n                                case 5:\n                                    errorText = _a.sent();\n                                    return [2 /*return*/, Promise.reject(new Error(\"\".concat(res.status, \": \").concat(errorText)))];\n                            }\n                        });\n                    }); })\n                        .catch(function (e) {\n                        if (retries > 0) {\n                            return new Promise(function (resolve, reject) {\n                                setTimeout(function () {\n                                    _this.leakyBucket[url] = Math.max(_this.leakyBucket[url] - 1, 0);\n                                    _this.postToEndpoint(endpointName, body, retries - 1, backoff * 2, useKeepalive)\n                                        .then(resolve)\n                                        .catch(reject);\n                                }, backoff);\n                            });\n                        }\n                        return Promise.reject(e);\n                    })\n                        .finally(function () {\n                        _this.leakyBucket[url] = Math.max(_this.leakyBucket[url] - 1, 0);\n                    })];\n            });\n        });\n    };\n    StatsigNetwork.prototype.supportsKeepalive = function () {\n        return this.canUseKeepalive;\n    };\n    StatsigNetwork.prototype._init = function () {\n        if (!this._options.disableNetworkKeepalive) {\n            try {\n                this.canUseKeepalive = 'keepalive' in new Request('');\n            }\n            catch (_e) { }\n        }\n    };\n    StatsigNetwork.prototype._postWithTimeout = function (endpointName, body, timeout, retries, backoff) {\n        var _this = this;\n        if (timeout === void 0) { timeout = 0; }\n        if (retries === void 0) { retries = 0; }\n        if (backoff === void 0) { backoff = 1000; }\n        var hasTimedOut = false;\n        var timer = null;\n        var cachedReturnValue = null;\n        var eventuals = [];\n        var eventually = function (boundScope) { return function (fn) {\n            if (hasTimedOut && cachedReturnValue) {\n                fn(cachedReturnValue);\n            }\n            else {\n                eventuals.push(fn);\n            }\n            return boundScope;\n        }; };\n        if (timeout != 0) {\n            timer = new Promise(function (resolve, reject) {\n                setTimeout(function () {\n                    hasTimedOut = true;\n                    reject(new Error(\"The initialization timeout of \".concat(timeout, \"ms has been hit before the network request has completed.\")));\n                }, timeout);\n            });\n        }\n        var fetchPromise = this.postToEndpoint(endpointName, body, retries, backoff)\n            .then(function (res) {\n            if (!res.ok) {\n                return Promise.reject(new Error(\"Request to \".concat(endpointName, \" failed with status \").concat(res.status)));\n            }\n            if (typeof res.data !== 'object') {\n                var error = new Error(\"Request to \".concat(endpointName, \" received invalid response type. Expected 'object' but got '\").concat(typeof res.data, \"'\"));\n                _this._errorBoundary._logError('postWithTimeoutInvalidRes', error, function () { return __awaiter(_this, void 0, void 0, function () {\n                    return __generator(this, function (_a) {\n                        return [2 /*return*/, this._getErrorData(endpointName, body, retries, backoff, res)];\n                    });\n                }); });\n                return Promise.reject(error);\n            }\n            var json = res.data;\n            return _this._errorBoundary._capture('postWithTimeout', function () { return __awaiter(_this, void 0, void 0, function () {\n                return __generator(this, function (_a) {\n                    cachedReturnValue = json;\n                    if (hasTimedOut) {\n                        eventuals.forEach(function (fn) { return fn(json); });\n                        eventuals = [];\n                    }\n                    return [2 /*return*/, Promise.resolve(json)];\n                });\n            }); }, function () {\n                return Promise.resolve({});\n            }, function () { return __awaiter(_this, void 0, void 0, function () {\n                return __generator(this, function (_a) {\n                    return [2 /*return*/, this._getErrorData(endpointName, body, retries, backoff, res)];\n                });\n            }); });\n        })\n            .catch(function (e) {\n            return Promise.reject(e);\n        });\n        var racingPromise = (timer ? Promise.race([fetchPromise, timer]) : fetchPromise);\n        racingPromise.eventually = eventually(racingPromise);\n        return racingPromise;\n    };\n    StatsigNetwork.prototype._getErrorData = function (endpointName, body, retries, backoff, res) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function () {\n            var headers_1;\n            return __generator(this, function (_b) {\n                try {\n                    headers_1 = {};\n                    ((_a = res.headers) !== null && _a !== void 0 ? _a : []).forEach(function (value, key) {\n                        headers_1[key] = value;\n                    });\n                    return [2 /*return*/, {\n                            responseInfo: {\n                                headers: headers_1,\n                                status: res.status,\n                                statusText: res.statusText,\n                                type: res.type,\n                                url: res.url,\n                                redirected: res.redirected,\n                                bodySnippet: res.data ? JSON.stringify(res.data).slice(0, 500) : null,\n                            },\n                            requestInfo: {\n                                endpointName: endpointName,\n                                bodySnippet: JSON.stringify(body).slice(0, 500),\n                                retries: retries,\n                                backoff: backoff,\n                            },\n                        }];\n                }\n                catch (_e) {\n                    return [2 /*return*/, {\n                            statusText: 'statsig::failed to extract extra data',\n                        }];\n                }\n                return [2 /*return*/];\n            });\n        });\n    };\n    return StatsigNetwork;\n}());\nexports.default = StatsigNetwork;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.INIT_TIMEOUT_DEFAULT_MS = void 0;\nvar DEFAULT_FEATURE_GATE_API = 'https://featuregates.org/v1/';\nvar DEFAULT_EVENT_LOGGING_API = 'https://events.statsigapi.net/v1/';\nexports.INIT_TIMEOUT_DEFAULT_MS = 3000;\nvar StatsigSDKOptions = /** @class */ (function () {\n    function StatsigSDKOptions(options) {\n        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n        if (options == null) {\n            options = {};\n        }\n        var api = (_a = options.api) !== null && _a !== void 0 ? _a : DEFAULT_FEATURE_GATE_API;\n        this.api = api.endsWith('/') ? api : api + '/';\n        this.disableCurrentPageLogging = (_b = options.disableCurrentPageLogging) !== null && _b !== void 0 ? _b : false;\n        this.environment = (_c = options.environment) !== null && _c !== void 0 ? _c : null;\n        this.loggingIntervalMillis = this.normalizeNumberInput(options.loggingIntervalMillis, {\n            default: 10000,\n            min: 1000,\n            max: 60000,\n        });\n        this.loggingBufferMaxSize = this.normalizeNumberInput(options.loggingBufferMaxSize, {\n            default: 100,\n            min: 2,\n            max: 500,\n        });\n        this.disableNetworkKeepalive = (_d = options.disableNetworkKeepalive) !== null && _d !== void 0 ? _d : false;\n        this.overrideStableID = (_e = options.overrideStableID) !== null && _e !== void 0 ? _e : null;\n        this.localMode = (_f = options.localMode) !== null && _f !== void 0 ? _f : false;\n        this.initTimeoutMs =\n            options.initTimeoutMs && options.initTimeoutMs >= 0\n                ? options.initTimeoutMs\n                : exports.INIT_TIMEOUT_DEFAULT_MS;\n        this.disableErrorLogging = (_g = options.disableErrorLogging) !== null && _g !== void 0 ? _g : false;\n        this.disableAutoMetricsLogging = (_h = options.disableAutoMetricsLogging) !== null && _h !== void 0 ? _h : false;\n        this.initializeValues = (_j = options.initializeValues) !== null && _j !== void 0 ? _j : null;\n        var eventLoggingApi = (_l = (_k = options.eventLoggingApi) !== null && _k !== void 0 ? _k : options.api) !== null && _l !== void 0 ? _l : DEFAULT_EVENT_LOGGING_API;\n        this.eventLoggingApi = eventLoggingApi.endsWith('/')\n            ? eventLoggingApi\n            : eventLoggingApi + '/';\n        this.disableLocalStorage = (_m = options.disableLocalStorage) !== null && _m !== void 0 ? _m : false;\n        this.ignoreWindowUndefined = (_o = options === null || options === void 0 ? void 0 : options.ignoreWindowUndefined) !== null && _o !== void 0 ? _o : false;\n        this.updateUserCompletionCallback = (_p = options === null || options === void 0 ? void 0 : options.updateUserCompletionCallback) !== null && _p !== void 0 ? _p : null;\n    }\n    StatsigSDKOptions.prototype.normalizeNumberInput = function (input, bounds) {\n        if (input == null) {\n            return bounds.default;\n        }\n        return Math.max(Math.min(input, bounds.max), bounds.min);\n    };\n    return StatsigSDKOptions;\n}());\nexports.default = StatsigSDKOptions;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EvaluationReason = void 0;\nvar DynamicConfig_1 = __importDefault(require(\"./DynamicConfig\"));\nvar Layer_1 = __importDefault(require(\"./Layer\"));\nvar BootstrapValidator_1 = __importDefault(require(\"./utils/BootstrapValidator\"));\nvar Constants_1 = require(\"./utils/Constants\");\nvar Hashing_1 = require(\"./utils/Hashing\");\nvar StatsigLocalStorage_1 = __importDefault(require(\"./utils/StatsigLocalStorage\"));\nvar EvaluationReason;\n(function (EvaluationReason) {\n    EvaluationReason[\"Network\"] = \"Network\";\n    EvaluationReason[\"Bootstrap\"] = \"Bootstrap\";\n    EvaluationReason[\"InvalidBootstrap\"] = \"InvalidBootstrap\";\n    EvaluationReason[\"Cache\"] = \"Cache\";\n    EvaluationReason[\"Unrecognized\"] = \"Unrecognized\";\n    EvaluationReason[\"Uninitialized\"] = \"Uninitialized\";\n    EvaluationReason[\"Error\"] = \"Error\";\n    EvaluationReason[\"NetworkNotModified\"] = \"NetworkNotModified\";\n})(EvaluationReason = exports.EvaluationReason || (exports.EvaluationReason = {}));\nvar MAX_USER_VALUE_CACHED = 10;\nvar StatsigStore = /** @class */ (function () {\n    function StatsigStore(identity, onDefaultValueFallback, initializeValues) {\n        this._identity = identity;\n        this._onDefaultValueFallback = onDefaultValueFallback;\n        this._userCacheKey = this._identity.getUserCacheKey();\n        this._values = {};\n        this._userValues = this._getDefaultUserCacheValues();\n        this._loaded = false;\n        this._reason = EvaluationReason.Uninitialized;\n        if (initializeValues) {\n            this.bootstrap(initializeValues);\n        }\n        else {\n            this._loadFromLocalStorage();\n        }\n    }\n    StatsigStore.prototype.updateUser = function () {\n        this._userCacheKey = this._identity.getUserCacheKey();\n        return this._setUserValueFromCache();\n    };\n    StatsigStore.prototype.bootstrap = function (initializeValues) {\n        var _a, _b, _c;\n        var key = this._identity.getUserCacheKey();\n        var user = this._identity._user;\n        var reason = BootstrapValidator_1.default.isValid(user, initializeValues)\n            ? EvaluationReason.Bootstrap\n            : EvaluationReason.InvalidBootstrap;\n        // clients are going to assume that the SDK is bootstrapped after this method runs\n        // if we fail to parse, we will fall back to defaults, but we dont want to throw\n        // when clients try to check gates/configs/etc after this point\n        this._loaded = true;\n        try {\n            this._userValues.feature_gates = (_a = initializeValues.feature_gates) !== null && _a !== void 0 ? _a : {};\n            this._userValues.dynamic_configs = (_b = initializeValues.dynamic_configs) !== null && _b !== void 0 ? _b : {};\n            this._userValues.layer_configs = (_c = initializeValues.layer_configs) !== null && _c !== void 0 ? _c : {};\n            this._userValues.evaluation_time = Date.now();\n            this._userValues.time = Date.now();\n            this._values[key] = this._userValues;\n            this._reason = reason;\n        }\n        catch (_e) {\n            return;\n        }\n    };\n    StatsigStore.prototype.isLoaded = function () {\n        return this._loaded;\n    };\n    StatsigStore.prototype.getLastUpdateTime = function (user) {\n        var userHash = (0, Hashing_1.getHashValue)(JSON.stringify(user));\n        if (this._userValues.user_hash == userHash) {\n            return this._userValues.time;\n        }\n        return null;\n    };\n    StatsigStore.prototype.setEvaluationReason = function (evalReason) {\n        this._reason = evalReason;\n    };\n    StatsigStore.prototype.save = function (user, jsonConfigs, updateState) {\n        if (updateState === void 0) { updateState = true; }\n        return __awaiter(this, void 0, void 0, function () {\n            var requestedUserCacheKey, initResponse, userValues, _a;\n            return __generator(this, function (_b) {\n                switch (_b.label) {\n                    case 0:\n                        requestedUserCacheKey = (0, Hashing_1.getUserCacheKey)(user);\n                        initResponse = jsonConfigs;\n                        this._mergeInitializeResponseIntoUserMap(initResponse, this._values, requestedUserCacheKey, user, function (userValues) { return userValues; });\n                        if (updateState) {\n                            userValues = this._values[requestedUserCacheKey];\n                            if (userValues &&\n                                requestedUserCacheKey &&\n                                requestedUserCacheKey == this._userCacheKey) {\n                                this._userValues = userValues;\n                                this._reason = EvaluationReason.Network;\n                            }\n                        }\n                        _a = this;\n                        return [4 /*yield*/, this._writeValuesToStorage(this._values)];\n                    case 1:\n                        _a._values = _b.sent();\n                        return [2 /*return*/];\n                }\n            });\n        });\n    };\n    StatsigStore.prototype.checkGate = function (gateName) {\n        var _a;\n        var gateNameHash = (0, Hashing_1.getHashValue)(gateName);\n        var gateValue = {\n            name: gateName,\n            value: false,\n            rule_id: '',\n            secondary_exposures: [],\n        };\n        var details;\n        var value = (_a = this._userValues) === null || _a === void 0 ? void 0 : _a.feature_gates[gateNameHash];\n        if (value) {\n            gateValue = value;\n        }\n        details = this._getEvaluationDetails(value != null);\n        return { evaluationDetails: details, gate: gateValue };\n    };\n    StatsigStore.prototype.getConfig = function (configName) {\n        var _a, _b;\n        var configNameHash = (0, Hashing_1.getHashValue)(configName);\n        var configValue;\n        var details;\n        if (((_a = this._userValues) === null || _a === void 0 ? void 0 : _a.dynamic_configs[configNameHash]) != null) {\n            var rawConfigValue = (_b = this._userValues) === null || _b === void 0 ? void 0 : _b.dynamic_configs[configNameHash];\n            details = this._getEvaluationDetails(true);\n            configValue = this._createDynamicConfig(configName, rawConfigValue, details);\n        }\n        else {\n            details = this._getEvaluationDetails(false);\n            configValue = new DynamicConfig_1.default(configName, {}, '', details);\n        }\n        return configValue;\n    };\n    StatsigStore.prototype.getLayer = function (logParameterFunction, layerName) {\n        var _a, _b, _c;\n        var latestValue = this._getLatestValue(layerName, 'layer_configs');\n        var details = this._getEvaluationDetails(latestValue != null);\n        return Layer_1.default._create(layerName, (_a = latestValue === null || latestValue === void 0 ? void 0 : latestValue.value) !== null && _a !== void 0 ? _a : {}, (_b = latestValue === null || latestValue === void 0 ? void 0 : latestValue.rule_id) !== null && _b !== void 0 ? _b : '', details, logParameterFunction, latestValue === null || latestValue === void 0 ? void 0 : latestValue.secondary_exposures, latestValue === null || latestValue === void 0 ? void 0 : latestValue.undelegated_secondary_exposures, (_c = latestValue === null || latestValue === void 0 ? void 0 : latestValue.allocated_experiment_name) !== null && _c !== void 0 ? _c : '', latestValue === null || latestValue === void 0 ? void 0 : latestValue.explicit_parameters);\n    };\n    StatsigStore.prototype.getGlobalEvaluationDetails = function () {\n        var _a, _b;\n        return {\n            reason: (_a = this._reason) !== null && _a !== void 0 ? _a : EvaluationReason.Uninitialized,\n            time: (_b = this._userValues.evaluation_time) !== null && _b !== void 0 ? _b : 0,\n        };\n    };\n    StatsigStore.prototype._loadFromLocalStorage = function () {\n        this._parseCachedValues(StatsigLocalStorage_1.default.getItem(Constants_1.INTERNAL_STORE_KEY));\n        this._loaded = true;\n    };\n    StatsigStore.prototype._parseCachedValues = function (allValues) {\n        try {\n            this._values = allValues ? JSON.parse(allValues) : this._values;\n            this._setUserValueFromCache();\n        }\n        catch (e) {\n            // Cached value corrupted, remove cache\n            this._removeFromStorage(Constants_1.INTERNAL_STORE_KEY);\n        }\n    };\n    StatsigStore.prototype._setUserValueFromCache = function () {\n        var _a;\n        var cachedValues = this._values[this._userCacheKey];\n        if (cachedValues == null) {\n            this._resetUserValues();\n            this._reason = EvaluationReason.Uninitialized;\n            return null;\n        }\n        this._userValues = cachedValues;\n        this._reason = EvaluationReason.Cache;\n        return (_a = cachedValues.evaluation_time) !== null && _a !== void 0 ? _a : 0;\n    };\n    StatsigStore.prototype._removeFromStorage = function (key) {\n        StatsigLocalStorage_1.default.removeItem(key);\n    };\n    /**\n     * Merges the provided init configs into the provided config map, according to the provided merge function\n     */\n    StatsigStore.prototype._mergeInitializeResponseIntoUserMap = function (data, configMap, requestedUserCacheKey, user, mergeFn) {\n        if (requestedUserCacheKey) {\n            var requestedUserValues = this._convertAPIDataToCacheValues(data, requestedUserCacheKey);\n            if (data.has_updates && data.time) {\n                var userHash = (0, Hashing_1.getHashValue)(JSON.stringify(user));\n                requestedUserValues.user_hash = userHash;\n            }\n            configMap[requestedUserCacheKey] = mergeFn(requestedUserValues, requestedUserCacheKey);\n        }\n    };\n    StatsigStore.prototype._getDefaultUserCacheValues = function () {\n        return {\n            feature_gates: {},\n            layer_configs: {},\n            dynamic_configs: {},\n            time: 0,\n            evaluation_time: 0,\n            has_updates: false,\n        };\n    };\n    /**\n     * Writes the provided values to storage, truncating down to\n     * MAX_USER_VALUE_CACHED number entries.\n     * @returns The truncated entry list\n     */\n    StatsigStore.prototype._writeValuesToStorage = function (valuesToWrite) {\n        return __awaiter(this, void 0, void 0, function () {\n            var filteredValues;\n            return __generator(this, function (_a) {\n                filteredValues = Object.entries(valuesToWrite)\n                    .sort(function (_a, _b) {\n                    var _c, _d;\n                    var a = _a[1];\n                    var b = _b[1];\n                    if (a == null) {\n                        return 1;\n                    }\n                    if (b == null) {\n                        return -1;\n                    }\n                    return (((_c = b === null || b === void 0 ? void 0 : b.evaluation_time) !== null && _c !== void 0 ? _c : b === null || b === void 0 ? void 0 : b.time) - ((_d = a === null || a === void 0 ? void 0 : a.evaluation_time) !== null && _d !== void 0 ? _d : a === null || a === void 0 ? void 0 : a.time));\n                })\n                    .slice(0, MAX_USER_VALUE_CACHED);\n                valuesToWrite = Object.fromEntries(filteredValues);\n                StatsigLocalStorage_1.default.setItem(Constants_1.INTERNAL_STORE_KEY, JSON.stringify(valuesToWrite));\n                return [2 /*return*/, valuesToWrite];\n            });\n        });\n    };\n    StatsigStore.prototype._getLatestValue = function (name, topLevelKey) {\n        var _a, _b, _c, _d, _f;\n        var hash = (0, Hashing_1.getHashValue)(name);\n        return ((_c = (_b = (_a = this._userValues) === null || _a === void 0 ? void 0 : _a[topLevelKey]) === null || _b === void 0 ? void 0 : _b[hash]) !== null && _c !== void 0 ? _c : (_f = (_d = this._userValues) === null || _d === void 0 ? void 0 : _d[topLevelKey]) === null || _f === void 0 ? void 0 : _f[name]);\n    };\n    StatsigStore.prototype._createDynamicConfig = function (name, apiConfig, details) {\n        var _a, _b, _c;\n        return new DynamicConfig_1.default(name, (_a = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.value) !== null && _a !== void 0 ? _a : {}, (_b = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.rule_id) !== null && _b !== void 0 ? _b : '', details, apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.secondary_exposures, (_c = apiConfig === null || apiConfig === void 0 ? void 0 : apiConfig.allocated_experiment_name) !== null && _c !== void 0 ? _c : '', this._makeOnConfigDefaultValueFallback(this._identity._user));\n    };\n    StatsigStore.prototype._getEvaluationDetails = function (valueExists, reasonOverride) {\n        var _a;\n        if (valueExists) {\n            return {\n                reason: this._reason,\n                time: (_a = this._userValues.evaluation_time) !== null && _a !== void 0 ? _a : Date.now(),\n            };\n        }\n        else {\n            return {\n                reason: reasonOverride !== null && reasonOverride !== void 0 ? reasonOverride : (this._reason == EvaluationReason.Uninitialized\n                    ? EvaluationReason.Uninitialized\n                    : EvaluationReason.Unrecognized),\n                time: Date.now(),\n            };\n        }\n    };\n    StatsigStore.prototype._resetUserValues = function () {\n        this._userValues = this._getDefaultUserCacheValues();\n    };\n    StatsigStore.prototype._convertAPIDataToCacheValues = function (data, cacheKey) {\n        // Specifically pulling keys from data here to avoid pulling in unwanted keys\n        return {\n            feature_gates: data.feature_gates,\n            layer_configs: data.layer_configs,\n            dynamic_configs: data.dynamic_configs,\n            time: data.time == null || isNaN(data.time) ? 0 : data.time,\n            evaluation_time: Date.now(),\n        };\n    };\n    StatsigStore.prototype._makeOnConfigDefaultValueFallback = function (user) {\n        var _this = this;\n        return function (config, parameter, defaultValueType, valueType) {\n            if (!_this.isLoaded()) {\n                return;\n            }\n            _this._onDefaultValueFallback(user, \"Parameter \".concat(parameter, \" is a value of type \").concat(valueType, \".\\n          Returning requested defaultValue type \").concat(defaultValueType), {\n                name: config._name,\n                ruleID: config._ruleID,\n                parameter: parameter,\n                defaultValueType: defaultValueType,\n                valueType: valueType,\n            });\n        };\n    };\n    return StatsigStore;\n}());\nexports.default = StatsigStore;\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n    function verb(n) { return function (v) { return step([n, v]); }; }\n    function step(op) {\n        if (f) throw new TypeError(\"Generator is already executing.\");\n        while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n            if (y = 0, t) op = [op[0] & 2, t.value];\n            switch (op[0]) {\n                case 0: case 1: t = op; break;\n                case 4: _.label++; return { value: op[1], done: false };\n                case 5: _.label++; y = op[1]; op = [0]; continue;\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                default:\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                    if (t[2]) _.ops.pop();\n                    _.trys.pop(); continue;\n            }\n            op = body.call(thisArg, _);\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n    }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EvaluationReason = exports.DynamicConfig = void 0;\nvar Errors_1 = require(\"./Errors\");\nvar StatsigClient_1 = __importDefault(require(\"./StatsigClient\"));\nvar StatsigStore_1 = require(\"./StatsigStore\");\nvar DynamicConfig_1 = require(\"./DynamicConfig\");\nObject.defineProperty(exports, \"DynamicConfig\", { enumerable: true, get: function () { return __importDefault(DynamicConfig_1).default; } });\nvar StatsigStore_2 = require(\"./StatsigStore\");\nObject.defineProperty(exports, \"EvaluationReason\", { enumerable: true, get: function () { return StatsigStore_2.EvaluationReason; } });\nvar Statsig = /** @class */ (function () {\n    function Statsig() {\n    }\n    Statsig.initialize = function (sdkKey, user, options) {\n        var _a;\n        return __awaiter(this, void 0, void 0, function () {\n            var inst;\n            return __generator(this, function (_b) {\n                inst = (_a = Statsig.instance) !== null && _a !== void 0 ? _a : new StatsigClient_1.default(sdkKey, user, options);\n                if (!Statsig.instance) {\n                    Statsig.instance = inst;\n                }\n                return [2 /*return*/, inst.initializeAsync()];\n            });\n        });\n    };\n    Statsig.setInitializeValues = function (initializeValues) {\n        Statsig._getClientX().setInitializeValues(initializeValues);\n    };\n    // Gate\n    Statsig.checkGate = function (gateName) {\n        return Statsig._getClientX().checkGate(gateName);\n    };\n    Statsig.checkGateWithExposureLoggingDisabled = function (gateName) {\n        return Statsig._getClientX().checkGateWithExposureLoggingDisabled(gateName);\n    };\n    Statsig.manuallyLogGateExposure = function (gateName) {\n        Statsig._getClientX().logGateExposure(gateName);\n    };\n    // Config\n    Statsig.getConfig = function (configName) {\n        return Statsig._getClientX().getConfig(configName);\n    };\n    Statsig.getConfigWithExposureLoggingDisabled = function (configName) {\n        return Statsig._getClientX().getConfigWithExposureLoggingDisabled(configName);\n    };\n    Statsig.manuallyLogConfigExposure = function (configName) {\n        Statsig._getClientX().logConfigExposure(configName);\n    };\n    // Experiment\n    Statsig.getExperiment = function (experimentName) {\n        return Statsig._getClientX().getExperiment(experimentName);\n    };\n    Statsig.getExperimentWithExposureLoggingDisabled = function (experimentName) {\n        return Statsig._getClientX().getExperimentWithExposureLoggingDisabled(experimentName);\n    };\n    Statsig.manuallyLogExperimentExposure = function (configName) {\n        Statsig._getClientX().logExperimentExposure(configName);\n    };\n    // Layer\n    Statsig.getLayer = function (layerName) {\n        return Statsig._getClientX().getLayer(layerName);\n    };\n    Statsig.getLayerWithExposureLoggingDisabled = function (layerName) {\n        return Statsig._getClientX().getLayerWithExposureLoggingDisabled(layerName);\n    };\n    Statsig.manuallyLogLayerParameterExposure = function (layerName, parameterName) {\n        Statsig._getClientX().logLayerParameterExposure(layerName, parameterName);\n    };\n    Statsig.logEvent = function (eventName, value, metadata) {\n        if (value === void 0) { value = null; }\n        if (metadata === void 0) { metadata = null; }\n        return Statsig._getClientX().logEvent(eventName, value, metadata);\n    };\n    Statsig.updateUser = function (user) {\n        return Statsig._getClientX().updateUser(user);\n    };\n    Statsig.updateUserWithValues = function (user, values) {\n        return Statsig._getClientX().updateUserWithValues(user, values);\n    };\n    Statsig.shutdown = function () {\n        Statsig._getClientX().shutdown();\n        Statsig.instance = null;\n    };\n    /**\n     * @returns The Statsig stable ID used for device level experiments\n     */\n    Statsig.getStableID = function () {\n        return Statsig._getClientX().getStableID();\n    };\n    /**\n     *\n     * @returns The reason and time associated with the evaluation for the current set\n     * of gates and configs\n     */\n    Statsig.getEvaluationDetails = function () {\n        var _a, _b;\n        return ((_b = (_a = Statsig.instance) === null || _a === void 0 ? void 0 : _a.getEvaluationDetails()) !== null && _b !== void 0 ? _b : {\n            reason: StatsigStore_1.EvaluationReason.Uninitialized,\n            time: 0,\n        });\n    };\n    /**\n     *\n     * @returns true if initialize has already been called, false otherwise\n     */\n    Statsig.initializeCalled = function () {\n        return Statsig.instance != null && Statsig.instance.initializeCalled();\n    };\n    Statsig._getClientX = function () {\n        if (!Statsig.instance) {\n            throw new Errors_1.StatsigUninitializedError();\n        }\n        return Statsig.instance;\n    };\n    Statsig.instance = null;\n    return Statsig;\n}());\nexports.default = Statsig;\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 });\nvar BootstrapValidator = /** @class */ (function () {\n    function BootstrapValidator() {\n    }\n    BootstrapValidator.isValid = function (user, values) {\n        try {\n            var evaluatedKeys = values['evaluated_keys'];\n            if (!evaluatedKeys || typeof evaluatedKeys !== 'object') {\n                return true;\n            }\n            var evaluatedKeysRecord = this.copyObject(evaluatedKeys);\n            var userToCompare = user == null ? null : this.copyObject(user);\n            return (BootstrapValidator.validate(evaluatedKeysRecord, userToCompare) &&\n                BootstrapValidator.validate(userToCompare, evaluatedKeysRecord));\n        }\n        catch (error) {\n            // This is best-effort. If we fail, return true.\n        }\n        return true;\n    };\n    BootstrapValidator.validate = function (one, two) {\n        if (one == null) {\n            return two == null;\n        }\n        else if (two == null) {\n            return false;\n        }\n        for (var _i = 0, _a = Object.entries(one); _i < _a.length; _i++) {\n            var _b = _a[_i], key = _b[0], value = _b[1];\n            if (key === 'stableID') {\n                continue;\n            }\n            if (typeof value !== typeof two[key]) {\n                return false;\n            }\n            if (typeof value === 'string') {\n                if (value !== two[key]) {\n                    return false;\n                }\n            }\n            else if (typeof value === 'object') {\n                return this.validate(value, two[key]);\n            }\n            else {\n                // unexpected\n                return false;\n            }\n        }\n        return true;\n    };\n    BootstrapValidator.copyObject = function (obj) {\n        if (obj == null) {\n            return null;\n        }\n        var copy = {};\n        if (obj === null || obj === void 0 ? void 0 : obj.userID) {\n            copy['userID'] = obj === null || obj === void 0 ? void 0 : obj.userID;\n        }\n        if (obj === null || obj === void 0 ? void 0 : obj.customIDs) {\n            var customIDs = __assign({}, obj.customIDs);\n            delete customIDs['stableID'];\n            if (Object.keys(customIDs).length !== 0) {\n                copy['customIDs'] = customIDs;\n            }\n        }\n        return copy;\n    };\n    return BootstrapValidator;\n}());\nexports.default = BootstrapValidator;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LOCAL_STORAGE_KEYS = exports.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY = exports.STATSIG_STABLE_ID_KEY = exports.INTERNAL_STORE_KEY = void 0;\nexports.INTERNAL_STORE_KEY = 'STATSIG_STORE';\nexports.STATSIG_STABLE_ID_KEY = 'STATSIG_STABLE_ID';\nexports.STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY = 'STATSIG_LOGS';\nexports.LOCAL_STORAGE_KEYS = {\n    INTERNAL_STORE_KEY: true,\n    STATSIG_STABLE_ID_KEY: true,\n    STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY: true,\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUserCacheKey = exports.getHashValue = exports.SimpleHash = void 0;\nfunction SimpleHash(value) {\n    var hash = 0;\n    for (var i = 0; i < value.length; i++) {\n        var character = value.charCodeAt(i);\n        hash = (hash << 5) - hash + character;\n        hash = hash & hash; // Convert to 32bit integer\n    }\n    return String(hash >>> 0);\n}\nexports.SimpleHash = SimpleHash;\nfunction getHashValue(value) {\n    return SimpleHash(value);\n}\nexports.getHashValue = getHashValue;\nfunction getUserCacheKey(user) {\n    var _a;\n    var key = \"userID:\".concat(String((_a = user === null || user === void 0 ? void 0 : user.userID) !== null && _a !== void 0 ? _a : ''));\n    var customIDs = user === null || user === void 0 ? void 0 : user.customIDs;\n    if (customIDs != null) {\n        for (var _i = 0, _b = Object.entries(customIDs); _i < _b.length; _i++) {\n            var _c = _b[_i], type = _c[0], value = _c[1];\n            key += \";\".concat(type, \":\").concat(value);\n        }\n    }\n    return SimpleHash(key);\n}\nexports.getUserCacheKey = getUserCacheKey;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar StatsigLocalStorage = /** @class */ (function () {\n    function StatsigLocalStorage() {\n    }\n    StatsigLocalStorage.getItem = function (key) {\n        var _a;\n        try {\n            if (this.isStorageAccessible()) {\n                return window.localStorage.getItem(key);\n            }\n        }\n        catch (e) { }\n        return (_a = this.fallbackSessionCache[key]) !== null && _a !== void 0 ? _a : null;\n    };\n    StatsigLocalStorage.setItem = function (key, value) {\n        try {\n            if (this.isStorageAccessible()) {\n                window.localStorage.setItem(key, value);\n                return;\n            }\n        }\n        catch (e) { }\n        this.fallbackSessionCache[key] = value;\n    };\n    StatsigLocalStorage.removeItem = function (key) {\n        try {\n            if (this.isStorageAccessible()) {\n                window.localStorage.removeItem(key);\n                return;\n            }\n        }\n        catch (e) { }\n        delete this.fallbackSessionCache[key];\n    };\n    StatsigLocalStorage.isStorageAccessible = function (ignoreDisabledOption) {\n        if (ignoreDisabledOption === void 0) { ignoreDisabledOption = false; }\n        if (this.canAccessStorageAccessible == null) {\n            this.canAccessStorageAccessible =\n                typeof Storage !== 'undefined' &&\n                    typeof window !== 'undefined' &&\n                    window != null &&\n                    window.localStorage != null;\n        }\n        var canAccess = this.canAccessStorageAccessible;\n        if (ignoreDisabledOption) {\n            return canAccess;\n        }\n        return !this.disabled && canAccess;\n    };\n    StatsigLocalStorage.disabled = false;\n    StatsigLocalStorage.fallbackSessionCache = {};\n    StatsigLocalStorage.canAccessStorageAccessible = null;\n    return StatsigLocalStorage;\n}());\nexports.default = StatsigLocalStorage;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.difference = exports.now = void 0;\nfunction now() {\n    if (typeof performance === 'undefined' || !performance) {\n        return Date.now();\n    }\n    return performance.now() | 0;\n}\nexports.now = now;\nfunction difference(time) {\n    return now() - time;\n}\nexports.difference = difference;\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.size = exports.default = exports.IconWrapper = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _styledComponents = _interopRequireDefault(require(\"styled-components\"));\n\nvar _uuid = _interopRequireDefault(require(\"uuid\"));\n\nvar _theme = require(\"@atlaskit/theme\");\n\nvar _constants = require(\"../constants\");\n\nvar getSize = function getSize(props) {\n  if (props.size) {\n    return \"height: \".concat(_constants.sizes[props.size], \"; width: \").concat(_constants.sizes[props.size], \";\");\n  }\n\n  return null;\n};\n\nvar IconWrapper = _styledComponents.default.span.withConfig({\n  displayName: \"Icon__IconWrapper\",\n  componentId: \"dyhwwi-0\"\n})([\"\\n  \", \" color: \", \";\\n  display: inline-block;\\n  fill: \", \";\\n  flex-shrink: 0;\\n  line-height: 1;\\n\\n  > svg {\\n    \", \" max-height: 100%;\\n    max-width: 100%;\\n    overflow: hidden;\\n    pointer-events: none;\\n    vertical-align: bottom;\\n  }\\n  /* Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n   * rule) and then override it with currentColor for the color changes to be picked up.\\n   */\\n  stop {\\n    stop-color: currentColor;\\n  }\\n\"], getSize, function (p) {\n  return p.primaryColor || 'currentColor';\n}, function (p) {\n  return p.secondaryColor || _theme.colors.background;\n}, getSize);\n\nexports.IconWrapper = IconWrapper;\n\nvar Icon =\n/*#__PURE__*/\nfunction (_Component) {\n  (0, _inherits2.default)(Icon, _Component);\n\n  function Icon() {\n    (0, _classCallCheck2.default)(this, Icon);\n    return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Icon).apply(this, arguments));\n  }\n\n  (0, _createClass2.default)(Icon, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          Glyph = _this$props.glyph,\n          dangerouslySetGlyph = _this$props.dangerouslySetGlyph,\n          primaryColor = _this$props.primaryColor,\n          secondaryColor = _this$props.secondaryColor,\n          size = _this$props.size; // handling the glyphs as strings\n\n      if (dangerouslySetGlyph) {\n        return _react.default.createElement(IconWrapper, {\n          primaryColor: primaryColor,\n          secondaryColor: secondaryColor,\n          size: size,\n          \"aria-label\": this.props.label,\n          dangerouslySetInnerHTML: {\n            __html: Icon.insertDynamicGradientID(dangerouslySetGlyph)\n          }\n        });\n      } // handling the glyphs when passed through as functions\n\n\n      return _react.default.createElement(IconWrapper, {\n        primaryColor: primaryColor,\n        secondaryColor: secondaryColor,\n        size: size,\n        \"aria-label\": this.props.label\n      }, Glyph ? _react.default.createElement(Glyph, {\n        role: \"presentation\"\n      }) : null);\n    }\n  }], [{\n    key: \"insertDynamicGradientID\",\n\n    /* Icons need unique gradient IDs across instances for different gradient definitions to work\n     * correctly.\n     * A step in the icon build process replaces linear gradient IDs and their references in paths\n     * to a placeholder string so we can replace them with a dynamic ID here.\n     * Replacing the original IDs with placeholders in the build process is more robust than not\n     * using placeholders as we do not have to rely on regular expressions to find specific element\n     * to replace.\n     */\n    value: function insertDynamicGradientID(svgStr) {\n      var id = (0, _uuid.default)();\n      var replacedSvgStr = svgStr.replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\".concat(id)).replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\".concat(id, \")\\\"\"));\n      return replacedSvgStr;\n    }\n  }]);\n  return Icon;\n}(_react.Component);\n\nexports.default = Icon;\nvar size = Object.keys(_constants.sizes).reduce(function (p, c) {\n  return Object.assign(p, (0, _defineProperty2.default)({}, c, c));\n}, {});\nexports.size = size;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.sizes = void 0;\nvar sizes = {\n  small: '16px',\n  medium: '24px',\n  large: '32px',\n  xlarge: '48px'\n};\nexports.sizes = sizes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronDownIcon = function ChevronDownIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><path d=\\\"M8.292 10.293a1.009 1.009 0 0 0 0 1.419l2.939 2.965c.218.215.5.322.779.322s.556-.107.769-.322l2.93-2.955a1.01 1.01 0 0 0 0-1.419.987.987 0 0 0-1.406 0l-2.298 2.317-2.307-2.327a.99.99 0 0 0-1.406 0z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/></svg>\"\n  }, props));\n};\n\nChevronDownIcon.displayName = 'ChevronDownIcon';\nvar _default = ChevronDownIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronLeftLargeIcon = function ChevronLeftLargeIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><path fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" d=\\\"M9.005 10.995l4.593-4.593a.99.99 0 1 1 1.4 1.4l-3.9 3.9 3.9 3.9a.99.99 0 0 1-1.4 1.4L9.005 12.41a1 1 0 0 1 0-1.414z\\\"/></svg>\"\n  }, props));\n};\n\nChevronLeftLargeIcon.displayName = 'ChevronLeftLargeIcon';\nvar _default = ChevronLeftLargeIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronUpIcon = function ChevronUpIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><path d=\\\"M11.221 9.322l-2.929 2.955a1.009 1.009 0 0 0 0 1.419.986.986 0 0 0 1.405 0l2.298-2.317 2.307 2.327a.989.989 0 0 0 1.407 0 1.01 1.01 0 0 0 0-1.419l-2.94-2.965A1.106 1.106 0 0 0 11.991 9c-.279 0-.557.107-.77.322z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/></svg>\"\n  }, props));\n};\n\nChevronUpIcon.displayName = 'ChevronUpIcon';\nvar _default = ChevronUpIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar CrossIcon = function CrossIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><path d=\\\"M12 10.586L6.707 5.293a1 1 0 0 0-1.414 1.414L10.586 12l-5.293 5.293a1 1 0 0 0 1.414 1.414L12 13.414l5.293 5.293a1 1 0 0 0 1.414-1.414L13.414 12l5.293-5.293a1 1 0 1 0-1.414-1.414L12 10.586z\\\" fill=\\\"currentColor\\\"/></svg>\"\n  }, props));\n};\n\nCrossIcon.displayName = 'CrossIcon';\nvar _default = CrossIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import * as colors from './colors';\n// Jira Portfolio\nexport const colorPalette8 = [\n    { background: colors.N800, text: colors.N0 },\n    { background: colors.R400, text: colors.N0 },\n    { background: colors.P400, text: colors.P50 },\n    { background: colors.B400, text: colors.B75 },\n    { background: colors.T300, text: colors.N800 },\n    { background: colors.G400, text: colors.N0 },\n    { background: colors.Y400, text: colors.N800 },\n    { background: colors.N70, text: colors.N800 },\n];\nexport const colorPalette16 = [\n    ...colorPalette8,\n    { background: colors.N500, text: colors.N0 },\n    { background: colors.R100, text: colors.N800 },\n    { background: colors.P75, text: colors.N800 },\n    { background: colors.B100, text: colors.N800 },\n    { background: colors.T100, text: colors.N800 },\n    { background: colors.G100, text: colors.G500 },\n    { background: colors.Y200, text: colors.N800 },\n    { background: colors.N0, text: colors.N800 },\n];\nexport const colorPalette24 = [\n    ...colorPalette16,\n    { background: colors.N100, text: colors.N0 },\n    { background: colors.N40, text: colors.N800 },\n    { background: colors.N50, text: colors.R500 },\n    { background: colors.P50, text: colors.P500 },\n    { background: colors.B50, text: colors.B500 },\n    { background: colors.T75, text: colors.N800 },\n    { background: colors.G50, text: colors.G500 },\n    { background: colors.Y75, text: colors.N800 },\n];\nexport const colorPalette = (palette = '8') => {\n    switch (palette) {\n        case '8':\n            return colorPalette8;\n        case '16':\n            return colorPalette16;\n        case '24':\n            return colorPalette24;\n        default:\n            throw new Error('The only available color palette is 8, 16, 24');\n    }\n};\n//# sourceMappingURL=color-palettes.js.map","import * as colors from './colors';\nimport themed from './utils/themed';\n// Cards on a board\nexport const e100 = themed({\n    light: `box-shadow: 0 1px 1px ${colors.N50A}, 0 0 1px 0 ${colors.N60A};`,\n    dark: `box-shadow: 0 1px 1px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Inline dialogs\nexport const e200 = themed({\n    light: `box-shadow: 0 4px 8px -2px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 4px 8px -2px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Modals\nexport const e300 = themed({\n    light: `box-shadow: 0 8px 16px -4px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 8px 16px -4px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Panels\nexport const e400 = themed({\n    light: `box-shadow: 0 12px 24px -6px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 12px 24px -6px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Flag messages (notifications)\nexport const e500 = themed({\n    light: `box-shadow: 0 20px 32px -8px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 20px 32px -8px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n//# sourceMappingURL=elevation.js.map","import { css } from 'styled-components';\nimport * as colors from './colors';\nimport { gridSize, fontSize } from './constants';\nconst baseHeading = (size, lineHeight) => `\n  font-size: ${size / fontSize()}em;\n  font-style: inherit;\n  line-height: ${lineHeight / size};\n`;\nexport const headingSizes = {\n    h900: {\n        size: 35,\n        lineHeight: 40,\n    },\n    h800: {\n        size: 29,\n        lineHeight: 32,\n    },\n    h700: {\n        size: 24,\n        lineHeight: 28,\n    },\n    h600: {\n        size: 20,\n        lineHeight: 24,\n    },\n    h500: {\n        size: 16,\n        lineHeight: 20,\n    },\n    h400: {\n        size: 14,\n        lineHeight: 16,\n    },\n    h300: {\n        size: 12,\n        lineHeight: 16,\n    },\n    h200: {\n        size: 12,\n        lineHeight: 16,\n    },\n    h100: {\n        size: 11,\n        lineHeight: 16,\n    },\n};\nexport const h900 = () => css `\n  ${baseHeading(headingSizes.h900.size, headingSizes.h900.lineHeight)}\n  color: ${colors.heading};\n  font-weight: 500;\n  letter-spacing: -0.01em;\n  margin-top: ${gridSize() * 6.5}px;\n`;\nexport const h800 = () => css `\n  ${baseHeading(headingSizes.h800.size, headingSizes.h800.lineHeight)}\n  color: ${colors.heading};\n  font-weight: 600;\n  letter-spacing: -0.01em;\n  margin-top: ${gridSize() * 5}px;\n`;\nexport const h700 = () => css `\n  ${baseHeading(headingSizes.h700.size, headingSizes.h700.lineHeight)}\n  color: ${colors.heading};\n  font-weight: 500;\n  letter-spacing: -0.01em;\n  margin-top: ${gridSize() * 5}px;\n`;\nexport const h600 = () => css `\n  ${baseHeading(headingSizes.h600.size, headingSizes.h600.lineHeight)}\n  color: ${colors.heading};\n  font-weight: 500;\n  letter-spacing: -0.008em;\n  margin-top: ${gridSize() * 3.5}px;\n`;\nexport const h500 = () => css `\n  ${baseHeading(headingSizes.h500.size, headingSizes.h500.lineHeight)}\n  color: ${colors.heading};\n  font-weight: 600;\n  letter-spacing: -0.006em;\n  margin-top: ${gridSize() * 3}px;\n`;\nexport const h400 = () => css `\n  ${baseHeading(headingSizes.h400.size, headingSizes.h400.lineHeight)}\n  color: ${colors.heading};\n  font-weight: 600;\n  letter-spacing: -0.003em;\n  margin-top: ${gridSize() * 2}px;\n`;\nexport const h300 = () => css `\n  ${baseHeading(headingSizes.h300.size, headingSizes.h300.lineHeight)}\n  color: ${colors.heading};\n  font-weight: 600;\n  margin-top: ${gridSize() * 2.5}px;\n  text-transform: uppercase;\n`;\nexport const h200 = () => css `\n  ${baseHeading(headingSizes.h200.size, headingSizes.h200.lineHeight)}\n  color: ${colors.subtleHeading};\n  font-weight: 600;\n  margin-top: ${gridSize() * 2}px;\n`;\nexport const h100 = () => css `\n  ${baseHeading(headingSizes.h100.size, headingSizes.h100.lineHeight)}\n  color: ${colors.subtleHeading};\n  font-weight: 700;\n  margin-top: ${gridSize() * 2}px;\n`;\n//# sourceMappingURL=typography.js.map","// If a generic is used here, props can be inferred never and passed up (even with defaults)\nexport function add(fn, addend) {\n    return (props) => fn(props) + addend;\n}\nexport function subtract(fn, subtrahend) {\n    return (props) => fn(props) - subtrahend;\n}\nexport function multiply(fn, factor) {\n    return (props) => fn(props) * factor;\n}\nexport function divide(fn, divisor) {\n    return (props) => fn(props) / divisor;\n}\n//# sourceMappingURL=math.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n   based on those props. An example of this default theme function is one that produces the standard\n   appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n   that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n    const emptyThemeFn = (getTokens, props) => getTokens(props);\n    /* Internally, Theme uses React Context, with internal providers and consumers.\n       The React Context passes only a function that gets props, and turns them into tokens. This\n          function gets mixed as more Providers with their own themes are added. This mixed function\n          is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n          the theme. */\n    const ThemeContext = createContext(defaultGetTokens);\n    // The Theme Consumer takes a function as its child - this function takes tokens, and the\n    // return value is generally a set of nodes with the tokens applied appropriately.\n    function Consumer(props) {\n        const { children, ...themeProps } = props;\n        const theme = useContext(ThemeContext);\n        const themeFn = theme || emptyThemeFn;\n        // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n        // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n        const tokens = themeFn(themeProps);\n        // We add a fragment to ensure we don't break people upgrading.\n        // Previously they may have been able to pass in undefined without things blowing up.\n        return React.createElement(React.Fragment, null, children(tokens));\n    }\n    /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n       - The theme function takes a set of props, as well as a function (getTokens) that can\n          turn props into tokens.\n       - The getTokens function isn't called immediately - instead the props are passed\n          through a mix of parent theming functions\n       Children of this provider will receive this mixed theme\n    */\n    function Provider(props) {\n        const themeFn = useContext(ThemeContext);\n        const valueFn = props.value || emptyThemeFn;\n        const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n        return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n    }\n    return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n    mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { ThemeProvider } from 'styled-components';\nimport exenv from 'exenv';\nimport * as colors from '../colors';\nimport { CHANNEL, DEFAULT_THEME_MODE } from '../constants';\n// For forward-compat until everything is upgraded.\nimport Theme from './Theme';\nfunction getStylesheetResetCSS(state) {\n    const backgroundColor = colors.background(state);\n    return `\n    body { background: ${backgroundColor}; }\n  `;\n}\nfunction buildThemeState(mode) {\n    return { theme: { [CHANNEL]: { mode } } };\n}\nconst LegacyReset = styled.div `\n  background-color: ${colors.background};\n  color: ${colors.text};\n\n  a {\n    color: ${colors.link};\n  }\n  a:hover {\n    color: ${colors.linkHover};\n  }\n  a:active {\n    color: ${colors.linkActive};\n  }\n  a:focus {\n    outline-color: ${colors.linkOutline};\n  }\n  h1 {\n    color: ${colors.heading};\n  }\n  h2 {\n    color: ${colors.heading};\n  }\n  h3 {\n    color: ${colors.heading};\n  }\n  h4 {\n    color: ${colors.heading};\n  }\n  h5 {\n    color: ${colors.heading};\n  }\n  h6 {\n    color: ${colors.subtleHeading};\n  }\n  small {\n    color: ${colors.subtleText};\n  }\n`;\nexport default class AtlaskitThemeProvider extends Component {\n    constructor(props) {\n        super(props);\n        /**\n         * This function never changes its reference because it accesses\n         * `this` in the function call - thereby sidestepping the need for\n         * creating a new reference everytime theme state changes.\n         * NOTE: When moving to hooks watch out for this regressing.\n         */\n        this.getThemeMode = () => ({ mode: this.state.theme[CHANNEL].mode });\n        this.state = buildThemeState(props.mode);\n    }\n    getChildContext() {\n        return { hasAtlaskitThemeProvider: true };\n    }\n    UNSAFE_componentWillMount() {\n        if (!this.context.hasAtlaskitThemeProvider && exenv.canUseDOM) {\n            const css = getStylesheetResetCSS(this.state);\n            this.stylesheet = document.createElement('style');\n            this.stylesheet.type = 'text/css';\n            this.stylesheet.innerHTML = css;\n            if (document && document.head) {\n                document.head.appendChild(this.stylesheet);\n            }\n        }\n    }\n    UNSAFE_componentWillReceiveProps(newProps) {\n        if (newProps.mode !== this.props.mode) {\n            const newThemeState = buildThemeState(newProps.mode);\n            if (this.stylesheet) {\n                const css = getStylesheetResetCSS(newThemeState);\n                this.stylesheet.innerHTML = css;\n            }\n            this.setState(newThemeState);\n        }\n    }\n    componentWillUnmount() {\n        if (this.stylesheet && document && document.head) {\n            document.head.removeChild(this.stylesheet);\n            delete this.stylesheet;\n        }\n    }\n    render() {\n        const { children } = this.props;\n        const { theme } = this.state;\n        return (\n        /* Wrapping the new provider around the old one provides forward\n        compatibility when using the old provider for styled components. This\n        allows us to use components converted to use the new API with consumers\n        using the old provider along side components that may still be using the\n        old theming API. */\n        React.createElement(Theme.Provider, { value: this.getThemeMode },\n            React.createElement(ThemeProvider, { theme: theme },\n                React.createElement(LegacyReset, null, children))));\n    }\n}\nAtlaskitThemeProvider.defaultProps = {\n    mode: DEFAULT_THEME_MODE,\n};\nAtlaskitThemeProvider.childContextTypes = {\n    hasAtlaskitThemeProvider: PropTypes.bool,\n};\nAtlaskitThemeProvider.contextTypes = {\n    hasAtlaskitThemeProvider: PropTypes.bool,\n};\n//# sourceMappingURL=AtlaskitThemeProvider.js.map","export default ({ children, props, theme }) => {\n    const appearance = typeof props === 'object' ? 'default' : props;\n    const merged = typeof props === 'object' ? { ...props } : {};\n    Object.keys(theme).forEach(key => {\n        if (!(key in merged)) {\n            merged[key] = theme[key]({ appearance });\n        }\n    });\n    return children(merged);\n};\n//# sourceMappingURL=Appearance.js.map","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport * as colors from '../colors';\nimport { createTheme } from '../utils/createTheme';\nconst orTextColor = (preferred) => (p) => p[preferred] || p.textColor;\nconst Div = styled.div `\n  ${(p) => css `\n    background-color: ${p.backgroundColor};\n    color: ${p.textColor};\n\n    a {\n      color: ${orTextColor('linkColor')};\n    }\n    a:hover {\n      color: ${orTextColor('linkColorHover')};\n    }\n    a:active {\n      color: ${orTextColor('linkColorActive')};\n    }\n    a:focus {\n      outline-color: ${orTextColor('linkColorOutline')};\n    }\n    h1,\n    h2,\n    h3,\n    h4,\n    h5 {\n      color: ${orTextColor('headingColor')};\n    }\n    h6 {\n      color: ${orTextColor('subtleHeadingColor')};\n    }\n    small {\n      color: ${orTextColor('subtleTextColor')};\n    }\n  `};\n`;\nexport const ResetTheme = createTheme(() => ({\n    backgroundColor: colors.N0,\n    linkColor: colors.B400,\n    linkColorHover: colors.B300,\n    linkColorActive: colors.B500,\n    linkColorOutline: colors.B100,\n    headingColor: colors.N800,\n    subtleHeadingColor: colors.N200,\n    subtleTextColor: colors.N200,\n    textColor: colors.N900,\n}));\nexport function Reset(props) {\n    return (React.createElement(ResetTheme.Provider, { value: props.theme },\n        React.createElement(ResetTheme.Consumer, null, (tokens) => {\n            return (React.createElement(Div, Object.assign({}, { ...tokens, mode: undefined }, props), props.children));\n        })));\n}\n//# sourceMappingURL=Reset.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n    return function ComponentWithTheme(props) {\n        return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n    };\n}\n//# sourceMappingURL=hoc.js.map","import * as colors from './colors';\nimport * as colorPalettes from './color-palettes';\nimport * as elevation from './elevation';\nimport * as typography from './typography';\nimport * as math from './utils/math';\nimport getTheme from './utils/getTheme';\nimport themed from './utils/themed';\nimport AtlaskitThemeProvider from './components/AtlaskitThemeProvider';\nexport { colors, colorPalettes, elevation, typography, math, getTheme, themed, AtlaskitThemeProvider, };\nexport { default as Appearance } from './components/Appearance';\n// backwards-compatible export with old Atlaskit case\nexport const AtlasKitThemeProvider = AtlaskitThemeProvider;\nexport * from './constants';\n// New API\nexport * from './components/Reset';\nexport { default } from './components/Theme';\nexport * from './hoc';\nexport * from './utils/createTheme';\n//# sourceMappingURL=index.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n  /* istanbul ignore next */\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction createStyleElement(options) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', options.key);\n\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce);\n  }\n\n  tag.appendChild(document.createTextNode(''));\n  tag.setAttribute('data-s', '');\n  return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  function StyleSheet(options) {\n    var _this = this;\n\n    this._insertTag = function (tag) {\n      var before;\n\n      if (_this.tags.length === 0) {\n        if (_this.insertionPoint) {\n          before = _this.insertionPoint.nextSibling;\n        } else if (_this.prepend) {\n          before = _this.container.firstChild;\n        } else {\n          before = _this.before;\n        }\n      } else {\n        before = _this.tags[_this.tags.length - 1].nextSibling;\n      }\n\n      _this.container.insertBefore(tag, before);\n\n      _this.tags.push(tag);\n    };\n\n    this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n    this.tags = [];\n    this.ctr = 0;\n    this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n    this.key = options.key;\n    this.container = options.container;\n    this.prepend = options.prepend;\n    this.insertionPoint = options.insertionPoint;\n    this.before = null;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.hydrate = function hydrate(nodes) {\n    nodes.forEach(this._insertTag);\n  };\n\n  _proto.insert = function insert(rule) {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this));\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    if (process.env.NODE_ENV !== 'production') {\n      var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n      }\n      this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n    }\n\n    if (this.isSpeedy) {\n      var sheet = sheetForTag(tag);\n\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n          console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule));\n    }\n\n    this.ctr++;\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode && tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0;\n\n    if (process.env.NODE_ENV !== 'production') {\n      this._alreadyInsertedOrderInsensitiveRule = false;\n    }\n  };\n\n  return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n  var previous = 0;\n  var character = 0;\n\n  while (true) {\n    previous = character;\n    character = peek(); // &\\f\n\n    if (previous === 38 && character === 12) {\n      points[index] = 1;\n    }\n\n    if (token(character)) {\n      break;\n    }\n\n    next();\n  }\n\n  return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n  // pretend we've started with a comma\n  var index = -1;\n  var character = 44;\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1;\n        }\n\n        parsed[index] += identifierWithPointTracking(position - 1, points, index);\n        break;\n\n      case 2:\n        parsed[index] += delimit(character);\n        break;\n\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : '';\n          points[index] = parsed[index].length;\n          break;\n        }\n\n      // fallthrough\n\n      default:\n        parsed[index] += from(character);\n    }\n  } while (character = next());\n\n  return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n  return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n  if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n  // negative .length indicates that this rule has been already prefixed\n  element.length < 1) {\n    return;\n  }\n\n  var value = element.value,\n      parent = element.parent;\n  var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent;\n    if (!parent) return;\n  } // short-circuit for the simplest case\n\n\n  if (element.props.length === 1 && value.charCodeAt(0) !== 58\n  /* colon */\n  && !fixedElements.get(parent)) {\n    return;\n  } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n  if (isImplicitRule) {\n    return;\n  }\n\n  fixedElements.set(element, true);\n  var points = [];\n  var rules = getRules(value, points);\n  var parentRules = parent.props;\n\n  for (var i = 0, k = 0; i < rules.length; i++) {\n    for (var j = 0; j < parentRules.length; j++, k++) {\n      element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n    }\n  }\n};\nvar removeLabel = function removeLabel(element) {\n  if (element.type === 'decl') {\n    var value = element.value;\n\n    if ( // charcode for l\n    value.charCodeAt(0) === 108 && // charcode for b\n    value.charCodeAt(2) === 98) {\n      // this ignores label\n      element[\"return\"] = '';\n      element.value = '';\n    }\n  }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n  return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n  return function (element, index, children) {\n    if (element.type !== 'rule' || cache.compat) return;\n    var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n    if (unsafePseudoClasses) {\n      var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n\n      var commentContainer = isNested ? element.parent.children : // global rule at the root level\n      children;\n\n      for (var i = commentContainer.length - 1; i >= 0; i--) {\n        var node = commentContainer[i];\n\n        if (node.line < element.line) {\n          break;\n        } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n\n\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return;\n          }\n\n          break;\n        }\n      }\n\n      unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n        console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n      });\n    }\n  };\n};\n\nvar isImportRule = function isImportRule(element) {\n  return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n  for (var i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n  element.type = '';\n  element.value = '';\n  element[\"return\"] = '';\n  element.children = '';\n  element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n  if (!isImportRule(element)) {\n    return;\n  }\n\n  if (element.parent) {\n    console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n    nullifyElement(element);\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n    nullifyElement(element);\n  }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value;\n    // appearance, user-select, transform, hyphens, text-size-adjust\n\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value;\n    // flex, flex-direction\n\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value;\n    // order\n\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value;\n    // align-items\n\n    case 5187:\n      return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n    // align-self\n\n    case 5443:\n      return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n    // align-content\n\n    case 4675:\n      return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n    // flex-shrink\n\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n    // flex-basis\n\n    case 5292:\n      return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n    // flex-grow\n\n    case 6060:\n      return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n    // transition\n\n    case 4554:\n      return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n    // cursor\n\n    case 6187:\n      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n    // background, background-image\n\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // justify-content\n\n    case 4968:\n      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n    // (margin|padding)-inline-(start|end)\n\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (m)ax-content, (m)in-content\n        case 109:\n          // -\n          if (charat(value, length + 4) !== 45) break;\n        // (f)ill-available, (f)it-content\n\n        case 102:\n          return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n        // (s)tretch\n\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n    // position: sticky\n\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break;\n    // display: (flex|inline-flex)\n\n    case 6444:\n      switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value;\n        // (inline-)?fl(e)x\n\n        case 101:\n          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n      }\n\n      break;\n    // writing-mode\n\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n        // vertical-r(l)\n\n        case 108:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n        // horizontal(-)tb\n\n        case 45:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n      }\n\n      return WEBKIT + value + MS + value + value;\n  }\n\n  return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n  if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n    case DECLARATION:\n      element[\"return\"] = prefix(element.value, element.length);\n      break;\n\n    case KEYFRAMES:\n      return serialize([copy(element, {\n        value: replace(element.value, '@', '@' + WEBKIT)\n      })], callback);\n\n    case RULESET:\n      if (element.length) return combine(element.props, function (value) {\n        switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n          // :read-(only|write)\n          case ':read-only':\n          case ':read-write':\n            return serialize([copy(element, {\n              props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n            })], callback);\n          // :placeholder\n\n          case '::placeholder':\n            return serialize([copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n            })], callback);\n        }\n\n        return '';\n      });\n  }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n  var key = options.key;\n\n  if (process.env.NODE_ENV !== 'production' && !key) {\n    throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n  }\n\n  if (key === 'css') {\n    var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n\n    Array.prototype.forEach.call(ssrStyles, function (node) {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return;\n      }\n      document.head.appendChild(node);\n      node.setAttribute('data-s', '');\n    });\n  }\n\n  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var inserted = {};\n  var container;\n  var nodesToHydrate = [];\n\n  {\n    container = options.container || document.head;\n    Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n    document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n      var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n      for (var i = 1; i < attrib.length; i++) {\n        inserted[attrib[i]] = true;\n      }\n\n      nodesToHydrate.push(node);\n    });\n  }\n\n  var _insert;\n\n  var omnipresentPlugins = [compat, removeLabel];\n\n  if (process.env.NODE_ENV !== 'production') {\n    omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n      get compat() {\n        return cache.compat;\n      }\n\n    }), incorrectImportAlarm);\n  }\n\n  {\n    var currentSheet;\n    var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n      if (!element.root) {\n        if (element[\"return\"]) {\n          currentSheet.insert(element[\"return\"]);\n        } else if (element.value && element.type !== COMMENT) {\n          // insert empty rule in non-production environments\n          // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n          currentSheet.insert(element.value + \"{}\");\n        }\n      }\n    } : rulesheet(function (rule) {\n      currentSheet.insert(rule);\n    })];\n    var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n    var stylis = function stylis(styles) {\n      return serialize(compile(styles), serializer);\n    };\n\n    _insert = function insert(selector, serialized, sheet, shouldCache) {\n      currentSheet = sheet;\n\n      if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n        currentSheet = {\n          insert: function insert(rule) {\n            sheet.insert(rule + serialized.map);\n          }\n        };\n      }\n\n      stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true;\n      }\n    };\n  }\n\n  var cache = {\n    key: key,\n    sheet: new StyleSheet({\n      key: key,\n      container: container,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted: inserted,\n    registered: {},\n    insert: _insert\n  };\n  cache.sheet.hydrate(nodesToHydrate);\n  return cache;\n};\n\nexport { createCache as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","const themedBackground = {\n  light: \"var(--ds-surface, #FFFFFF)\",\n  dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n  small: '16px',\n  medium: '24px',\n  large: '32px',\n  xlarge: '48px'\n};\nexport const sizeMap = {\n  small: 'small',\n  medium: 'medium',\n  large: 'large',\n  xlarge: 'xlarge'\n};\nexport const dimensions = {\n  small: {\n    width: sizes.small,\n    height: sizes.small\n  },\n  medium: {\n    width: sizes.medium,\n    height: sizes.medium\n  },\n  large: {\n    width: sizes.large,\n    height: sizes.large\n  },\n  xlarge: {\n    width: sizes.xlarge,\n    height: sizes.xlarge\n  }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n  overflow: 'hidden',\n  pointerEvents: 'none',\n  /**\n   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n   * rule) and then override it with currentColor for the color changes to be picked up.\n   */\n  stop: {\n    stopColor: 'currentColor'\n  }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n  small: smallStyles,\n  medium: mediumStyles,\n  large: largeStyles,\n  xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n  width,\n  height,\n  size\n}) => {\n  if (width && height) {\n    return {\n      width,\n      height\n    };\n  }\n  if (size) {\n    return dimensions[size];\n  }\n  return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n  display: 'inline-block',\n  flexShrink: 0,\n  lineHeight: 1,\n  // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n  '> svg': {\n    ...commonSVGStyles,\n    maxWidth: '100%',\n    maxHeight: '100%',\n    color: 'var(--icon-primary-color)',\n    fill: 'var(--icon-secondary-color)',\n    verticalAlign: 'bottom'\n  }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      filter: 'grayscale(1)',\n      '--icon-primary-color': 'CanvasText',\n      // foreground\n      '--icon-secondary-color': 'Canvas' // background\n    }\n  }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      // if the primaryColor is the same as the secondaryColor we\n      // set the --icon-primary-color to Canvas\n      // this is usually to convey state i.e. Checkbox checked -> not checked\n      '--icon-primary-color': 'Canvas' // foreground\n    }\n  }\n});\n\nconst secondaryTransparentHcmStyles = css({\n  '@media screen and (forced-colors: active)': {\n    // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n    '> svg': {\n      '--icon-secondary-color': 'transparent' // background\n    }\n  }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n  const {\n    glyph: Glyph,\n    dangerouslySetGlyph,\n    primaryColor = 'currentColor',\n    secondaryColor,\n    size,\n    testId,\n    label,\n    width,\n    height\n  } = props;\n  const glyphProps = dangerouslySetGlyph ? {\n    dangerouslySetInnerHTML: {\n      __html: dangerouslySetGlyph\n    }\n  } : {\n    children: Glyph ? jsx(Glyph, {\n      role: \"presentation\"\n    }) : null\n  };\n  const dimensions = getIconSize({\n    width,\n    height,\n    size\n  });\n  const {\n    mode\n  } = useGlobalTheme();\n  return jsx(\"span\", _extends({\n    \"data-testid\": testId,\n    role: label ? 'img' : undefined,\n    \"aria-label\": label ? label : undefined,\n    \"aria-hidden\": label ? undefined : true,\n    style: {\n      '--icon-primary-color': primaryColor,\n      '--icon-secondary-color': secondaryColor || getBackground(mode)\n    }\n  }, glyphProps, {\n    css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n    // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n    // We could then simplify how common styles are dealt with simply by encapsualting them\n    // at their appropriate level and/or having a singular approach to css variables in the package\n    dimensions &&\n    // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n    css({\n      width: dimensions.width,\n      height: dimensions.height,\n      '> svg': dimensions\n    })]\n  }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst AddIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><path d=\"M13 11V3.993A.997.997 0 0012 3c-.556 0-1 .445-1 .993V11H3.993A.997.997 0 003 12c0 .557.445 1 .993 1H11v7.007c0 .548.448.993 1 .993.556 0 1-.445 1-.993V13h7.007A.997.997 0 0021 12c0-.556-.445-1-.993-1H13z\" fill=\"currentColor\" fill-rule=\"evenodd\"/></svg>`\n}, props));\n\nAddIcon.displayName = 'AddIcon';\nvar _default = AddIcon;\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 AppSwitcherIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><path fill=\"currentColor\" fill-rule=\"evenodd\" d=\"M4 5.01C4 4.451 4.443 4 5.01 4h1.98C7.549 4 8 4.443 8 5.01v1.98C8 7.549 7.557 8 6.99 8H5.01C4.451 8 4 7.557 4 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C8 13.549 7.557 14 6.99 14H5.01C4.451 14 4 13.557 4 12.99v-1.98zm6-6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C14 7.549 13.557 8 12.99 8h-1.98C10.451 8 10 7.557 10 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm6-6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C20 7.549 19.557 8 18.99 8h-1.98C16.451 8 16 7.557 16 6.99V5.01zm0 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm-12 6c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98C8 19.549 7.557 20 6.99 20H5.01C4.451 20 4 19.557 4 18.99v-1.98zm6 0c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98zm6 0c0-.558.443-1.01 1.01-1.01h1.98c.558 0 1.01.443 1.01 1.01v1.98c0 .558-.443 1.01-1.01 1.01h-1.98c-.558 0-1.01-.443-1.01-1.01v-1.98z\"/></svg>`\n}, props));\n\nAppSwitcherIcon.displayName = 'AppSwitcherIcon';\nvar _default = AppSwitcherIcon;\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 CheckCircleOutlineIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill=\"currentColor\" fill-rule=\"evenodd\"><path d=\"M12 20a8 8 0 100-16 8 8 0 000 16zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\" fill-rule=\"nonzero\"/><path d=\"M9.707 11.293a1 1 0 10-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 10-1.414-1.414L11 12.586l-1.293-1.293z\"/></g></svg>`\n}, props));\n\nCheckCircleOutlineIcon.displayName = 'CheckCircleOutlineIcon';\nvar _default = CheckCircleOutlineIcon;\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 CheckCircleIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><circle fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M9.707 11.293a1 1 0 10-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 10-1.414-1.414L11 12.586l-1.293-1.293z\" fill=\"inherit\"/></g></svg>`\n}, props));\n\nCheckCircleIcon.displayName = 'CheckCircleIcon';\nvar _default = CheckCircleIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CrossCircleIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><circle fill=\"currentColor\" cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M13.477 9.113l-4.36 4.386a1 1 0 101.418 1.41l4.36-4.386a1 1 0 00-1.418-1.41z\" fill=\"inherit\"/><path d=\"M9.084 10.501l4.358 4.377a1 1 0 101.418-1.411L10.5 9.09a1 1 0 00-1.417 1.411z\" fill=\"inherit\"/></g></svg>`\n}, props));\n\nCrossCircleIcon.displayName = 'CrossCircleIcon';\nvar _default = CrossCircleIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CrossIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><path d=\"M12 10.586L6.707 5.293a1 1 0 00-1.414 1.414L10.586 12l-5.293 5.293a1 1 0 001.414 1.414L12 13.414l5.293 5.293a1 1 0 001.414-1.414L13.414 12l5.293-5.293a1 1 0 10-1.414-1.414L12 10.586z\" fill=\"currentColor\"/></svg>`\n}, props));\n\nCrossIcon.displayName = 'CrossIcon';\nvar _default = CrossIcon;\nexports.default = _default;","\"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 EditorPanelIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><path d=\"M12 19a7 7 0 110-14 7 7 0 010 14zm0-1.5a5.5 5.5 0 100-11 5.5 5.5 0 000 11zm0-6a1 1 0 011 1v2a1 1 0 01-2 0v-2a1 1 0 011-1zm0-3a1 1 0 110 2 1 1 0 010-2z\" fill=\"currentColor\" fill-rule=\"evenodd\"/></svg>`\n}, props));\n\nEditorPanelIcon.displayName = 'EditorPanelIcon';\nvar _default = EditorPanelIcon;\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 EmailIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill=\"currentColor\" fill-rule=\"evenodd\"><path d=\"M5 7v10h14V7H5zm14-2c1.1 0 2 .9 2 2v10c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V7c0-1.1.9-2 2-2h14z\" fill-rule=\"nonzero\"/><path d=\"M5.498 6.5H3.124c.149.44.399.854.75 1.205l5.882 5.881a3.117 3.117 0 004.41 0l5.882-5.881c.35-.351.6-.765.749-1.205h-2.373l-5.672 5.672a1.119 1.119 0 01-1.583 0L5.498 6.5z\"/></g></svg>`\n}, props));\n\nEmailIcon.displayName = 'EmailIcon';\nvar _default = EmailIcon;\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 InfoIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><path d=\"M2 12c0 5.523 4.477 10 10 10s10-4.477 10-10S17.523 2 12 2 2 6.477 2 12z\" fill=\"currentColor\"/><rect fill=\"inherit\" x=\"11\" y=\"10\" width=\"2\" height=\"7\" rx=\"1\"/><circle fill=\"inherit\" cx=\"12\" cy=\"8\" r=\"1\"/></g></svg>`\n}, props));\n\nInfoIcon.displayName = 'InfoIcon';\nvar _default = InfoIcon;\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 RefreshIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill=\"currentColor\" fill-rule=\"evenodd\"><path d=\"M8 6.003v2.995a1 1 0 102 0V5.102C10 4.494 9.507 4 8.9 4H5a1 1 0 000 2.003h3z\" fill-rule=\"nonzero\"/><path d=\"M9.428 18.018C7.351 16.989 6 14.807 6 12.37c0-2.266 1.167-4.319 3.02-5.425.48-.286.646-.922.371-1.421a.979.979 0 00-1.364-.386C5.557 6.611 4 9.35 4 12.37c0 3.248 1.802 6.158 4.57 7.529.498.247 1.095.026 1.332-.493.237-.52.025-1.141-.474-1.388z\" fill-rule=\"nonzero\"/><path d=\"M14 15.002v3.896c0 .608.493 1.102 1.1 1.102H19a1 1 0 000-2.003h-3v-2.995a1 1 0 10-2 0z\"/><path d=\"M14.097 4.596c-.237.52-.025 1.14.474 1.387 2.077 1.029 3.428 3.21 3.428 5.647 0 2.266-1.167 4.32-3.021 5.425a1.063 1.063 0 00-.37 1.42c.274.5.885.673 1.364.387 2.47-1.473 4.027-4.212 4.027-7.232 0-3.248-1.802-6.158-4.57-7.528A.957.957 0 0015.002 4a1 1 0 00-.905.596z\"/></g></svg>`\n}, props));\n\nRefreshIcon.displayName = 'RefreshIcon';\nvar _default = RefreshIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst WarningIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n  dangerouslySetGlyph: `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"presentation\"><g fill-rule=\"evenodd\"><path d=\"M12.938 4.967c-.518-.978-1.36-.974-1.876 0L3.938 18.425c-.518.978-.045 1.771 1.057 1.771h14.01c1.102 0 1.573-.797 1.057-1.771L12.938 4.967z\" fill=\"currentColor\"/><path d=\"M12 15a1 1 0 01-1-1V9a1 1 0 012 0v5a1 1 0 01-1 1m0 3a1 1 0 010-2 1 1 0 010 2\" fill=\"inherit\"/></g></svg>`\n}, props));\n\nWarningIcon.displayName = 'WarningIcon';\nvar _default = WarningIcon;\nexports.default = _default;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importStar(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n    var size = _a.size;\n    return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n  \", \" color: \", \";\\n  display: inline-block;\\n  fill: \", \";\\n  flex-shrink: 0;\\n  line-height: 1;\\n\\n  > svg {\\n    \", \" max-height: 100%;\\n    max-width: 100%;\\n    overflow: hidden;\\n    pointer-events: none;\\n    vertical-align: bottom;\\n  }\\n  /* Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n   * rule) and then override it with currentColor for the color changes to be picked up.\\n   */\\n  stop {\\n    stop-color: currentColor;\\n  }\\n\"], [\"\\n  \", \" color: \", \";\\n  display: inline-block;\\n  fill: \", \";\\n  flex-shrink: 0;\\n  line-height: 1;\\n\\n  > svg {\\n    \", \" max-height: 100%;\\n    max-width: 100%;\\n    overflow: hidden;\\n    pointer-events: none;\\n    vertical-align: bottom;\\n  }\\n  /* Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n   * rule) and then override it with currentColor for the color changes to be picked up.\\n   */\\n  stop {\\n    stop-color: currentColor;\\n  }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\nvar Icon = /** @class */ (function (_super) {\n    tslib_1.__extends(Icon, _super);\n    function Icon() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    /* Icons need unique gradient IDs across instances for different gradient definitions to work\n     * correctly.\n     * A step in the icon build process replaces linear gradient IDs and their references in paths\n     * to a placeholder string so we can replace them with a dynamic ID here.\n     * Replacing the original IDs with placeholders in the build process is more robust than not\n     * using placeholders as we do not have to rely on regular expressions to find specific element\n     * to replace.\n     */\n    Icon.insertDynamicGradientID = function (svgStr) {\n        var id = uuid_1.default();\n        var replacedSvgStr = svgStr\n            .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n            .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n        return replacedSvgStr;\n    };\n    Icon.prototype.render = function () {\n        var _a = this.props, Glyph = _a.glyph, dangerouslySetGlyph = _a.dangerouslySetGlyph, primaryColor = _a.primaryColor, secondaryColor = _a.secondaryColor, size = _a.size;\n        // handling the glyphs as strings\n        if (dangerouslySetGlyph) {\n            return (react_1.default.createElement(exports.IconWrapper, { primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"aria-label\": this.props.label, dangerouslySetInnerHTML: {\n                    __html: Icon.insertDynamicGradientID(dangerouslySetGlyph),\n                } }));\n        }\n        // handling the glyphs when passed through as functions\n        return (react_1.default.createElement(exports.IconWrapper, { primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"aria-label\": this.props.label }, Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null));\n    };\n    return Icon;\n}(react_1.Component));\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n    small: '16px',\n    medium: '24px',\n    large: '32px',\n    xlarge: '48px',\n};\nexports.sizeMap = {\n    small: 'small',\n    medium: 'medium',\n    large: 'large',\n    xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar HipchatChevronDownIcon = function HipchatChevronDownIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><path d=\\\"M6.744 8.744a1.053 1.053 0 0 0 0 1.49l4.547 4.557a1 1 0 0 0 1.416 0l4.55-4.558a1.051 1.051 0 1 0-1.488-1.488l-3.77 3.776-3.768-3.776a1.051 1.051 0 0 0-1.487 0z\\\" fill=\\\"currentColor\\\"/></svg>\"\n  }, props));\n};\n\nHipchatChevronDownIcon.displayName = 'HipchatChevronDownIcon';\nvar _default = HipchatChevronDownIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar SelectClearIcon = function SelectClearIcon(props) {\n  return _react.default.createElement(_Icon.default, _extends({\n    dangerouslySetGlyph: \"<svg width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" focusable=\\\"false\\\" role=\\\"presentation\\\"><g fill-rule=\\\"evenodd\\\"><circle fill=\\\"currentColor\\\" cx=\\\"12\\\" cy=\\\"12\\\" r=\\\"9\\\"/><path d=\\\"M16.155 14.493a1.174 1.174 0 1 1-1.662 1.663L12 13.662l-2.494 2.494a1.172 1.172 0 0 1-1.662 0 1.176 1.176 0 0 1 0-1.663L10.337 12 7.844 9.507a1.176 1.176 0 0 1 1.662-1.662L12 10.338l2.493-2.493a1.174 1.174 0 1 1 1.662 1.662L13.662 12l2.493 2.493z\\\" fill=\\\"inherit\\\"/></g></svg>\"\n  }, props));\n};\n\nSelectClearIcon.displayName = 'SelectClearIcon';\nvar _default = SelectClearIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n    if (props && props.theme) {\n        // Theme is the global Atlaskit theme\n        if ('__ATLASKIT_THEME__' in props.theme) {\n            return props.theme.__ATLASKIT_THEME__;\n        }\n        // User has provided alternative modes\n        else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n            return props.theme;\n        }\n    }\n    // If format not supported (or no theme provided), return standard theme\n    return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n    return (props) => {\n        const theme = getTheme(props);\n        if (props && props[variantProp] && variants) {\n            const modes = variants[props[variantProp]];\n            if (modes && modes[theme.mode]) {\n                const value = modes[theme.mode];\n                if (value)\n                    return value; // TS believes value can be undefined\n            }\n        }\n        return '';\n    };\n}\nexport default function themed(modesOrVariant, variantModes) {\n    if (typeof modesOrVariant === 'string') {\n        return themedVariants(modesOrVariant, variantModes);\n    }\n    const modes = modesOrVariant;\n    return (props) => {\n        // Get theme from the user's props\n        const theme = getTheme(props);\n        // User isn't required to provide both light and dark values\n        if (theme.mode in modes) {\n            const value = modes[theme.mode]; // TS believes value can be undefined\n            if (value)\n                return value;\n        }\n        return '';\n    };\n}\n//# sourceMappingURL=themed.js.map","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n  if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n  if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n  return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n  if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n  // fast-deep-equal index.js 2.0.1\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    var arrA = isArray(a)\n      , arrB = isArray(b)\n      , i\n      , length\n      , key;\n\n    if (arrA && arrB) {\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    if (arrA != arrB) return false;\n\n    var dateA = a instanceof Date\n      , dateB = b instanceof Date;\n    if (dateA != dateB) return false;\n    if (dateA && dateB) return a.getTime() == b.getTime();\n\n    var regexpA = a instanceof RegExp\n      , regexpB = b instanceof RegExp;\n    if (regexpA != regexpB) return false;\n    if (regexpA && regexpB) return a.toString() == b.toString();\n\n    var keys = keyList(a);\n    length = keys.length;\n\n    if (length !== keyList(b).length)\n      return false;\n\n    for (i = length; i-- !== 0;)\n      if (!hasProp.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 && b instanceof Element)\n      return a === b;\n\n    // custom handling for React\n    for (i = length; i-- !== 0;) {\n      key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner.\n        //  _owner contains circular references\n        // and is not needed when comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of a react element\n        continue;\n      } else {\n        // all other properties should be traversed as usual\n        if (!equal(a[key], b[key])) return false;\n      }\n    }\n    // end react-fast-compare\n\n    // fast-deep-equal index.js 2.0.1\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\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('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n","/** @license React v17.0.2\n * react-is.production.min.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'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _addClass.default)(node, c);\n  });\n};\n\nvar removeClass = function removeClass(node, classes) {\n  return node && classes && classes.split(' ').forEach(function (c) {\n    return (0, _removeClass.default)(node, c);\n  });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n *         <div>\n *           {\"I'll receive my-node-* classes\"}\n *         </div>\n *       </CSSTransition>\n *       <button type=\"button\" onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n *   opacity: 0;\n * }\n * .my-node-enter-active {\n *   opacity: 1;\n *   transition: opacity 200ms;\n * }\n * .my-node-exit {\n *   opacity: 1;\n * }\n * .my-node-exit-active {\n *   opacity: 0;\n *   transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(CSSTransition, _React$Component);\n\n  function CSSTransition() {\n    var _this;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n    _this.onEnter = function (node, appearing) {\n      var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          className = _this$getClassNames.className;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, className);\n\n      if (_this.props.onEnter) {\n        _this.props.onEnter(node, appearing);\n      }\n    };\n\n    _this.onEntering = function (node, appearing) {\n      var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n          activeClassName = _this$getClassNames2.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onEntering) {\n        _this.props.onEntering(node, appearing);\n      }\n    };\n\n    _this.onEntered = function (node, appearing) {\n      var appearClassName = _this.getClassNames('appear').doneClassName;\n\n      var enterClassName = _this.getClassNames('enter').doneClassName;\n\n      var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n      _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onEntered) {\n        _this.props.onEntered(node, appearing);\n      }\n    };\n\n    _this.onExit = function (node) {\n      var _this$getClassNames3 = _this.getClassNames('exit'),\n          className = _this$getClassNames3.className;\n\n      _this.removeClasses(node, 'appear');\n\n      _this.removeClasses(node, 'enter');\n\n      addClass(node, className);\n\n      if (_this.props.onExit) {\n        _this.props.onExit(node);\n      }\n    };\n\n    _this.onExiting = function (node) {\n      var _this$getClassNames4 = _this.getClassNames('exit'),\n          activeClassName = _this$getClassNames4.activeClassName;\n\n      _this.reflowAndAddClass(node, activeClassName);\n\n      if (_this.props.onExiting) {\n        _this.props.onExiting(node);\n      }\n    };\n\n    _this.onExited = function (node) {\n      var _this$getClassNames5 = _this.getClassNames('exit'),\n          doneClassName = _this$getClassNames5.doneClassName;\n\n      _this.removeClasses(node, 'exit');\n\n      addClass(node, doneClassName);\n\n      if (_this.props.onExited) {\n        _this.props.onExited(node);\n      }\n    };\n\n    _this.getClassNames = function (type) {\n      var classNames = _this.props.classNames;\n      var isStringClassNames = typeof classNames === 'string';\n      var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n      var className = isStringClassNames ? prefix + type : classNames[type];\n      var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n      var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n      return {\n        className: className,\n        activeClassName: activeClassName,\n        doneClassName: doneClassName\n      };\n    };\n\n    return _this;\n  }\n\n  var _proto = CSSTransition.prototype;\n\n  _proto.removeClasses = function removeClasses(node, type) {\n    var _this$getClassNames6 = this.getClassNames(type),\n        className = _this$getClassNames6.className,\n        activeClassName = _this$getClassNames6.activeClassName,\n        doneClassName = _this$getClassNames6.doneClassName;\n\n    className && removeClass(node, className);\n    activeClassName && removeClass(node, activeClassName);\n    doneClassName && removeClass(node, doneClassName);\n  };\n\n  _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n    // This is for to force a repaint,\n    // which is necessary in order to transition styles when adding a class name.\n    if (className) {\n      /* eslint-disable no-unused-expressions */\n      node && node.scrollTop;\n      /* eslint-enable no-unused-expressions */\n\n      addClass(node, className);\n    }\n  };\n\n  _proto.render = function render() {\n    var props = _extends({}, this.props);\n\n    delete props.classNames;\n    return _react.default.createElement(_Transition.default, _extends({}, props, {\n      onEnter: this.onEnter,\n      onEntered: this.onEntered,\n      onEntering: this.onEntering,\n      onExit: this.onExit,\n      onExiting: this.onExiting,\n      onExited: this.onExited\n    }));\n  };\n\n  return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n  classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n  /**\n   * The animation classNames applied to the component as it enters, exits or\n   * has finished the transition. A single name can be provided and it will be\n   * suffixed for each stage: e.g.\n   *\n   * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n   * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n   * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n   *\n   * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n   * This allows you to define different behavior for when appearing is done and\n   * when regular entering is done, using selectors like\n   * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n   * epic entrance animation when element first appears in the DOM using\n   * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n   * simply use `fade-enter-done` for defining both cases.\n   *\n   * Each individual classNames can also be specified independently like:\n   *\n   * ```js\n   * classNames={{\n   *  appear: 'my-appear',\n   *  appearActive: 'my-active-appear',\n   *  appearDone: 'my-done-appear',\n   *  enter: 'my-enter',\n   *  enterActive: 'my-active-enter',\n   *  enterDone: 'my-done-enter',\n   *  exit: 'my-exit',\n   *  exitActive: 'my-active-exit',\n   *  exitDone: 'my-done-exit',\n   * }}\n   * ```\n   *\n   * If you want to set these classes using CSS Modules:\n   *\n   * ```js\n   * import styles from './styles.css';\n   * ```\n   *\n   * you might want to use camelCase in your CSS file, that way could simply\n   * spread them instead of listing them one by one:\n   *\n   * ```js\n   * classNames={{ ...styles }}\n   * ```\n   *\n   * @type {string | {\n   *  appear?: string,\n   *  appearActive?: string,\n   *  appearDone?: string,\n   *  enter?: string,\n   *  enterActive?: string,\n   *  enterDone?: string,\n   *  exit?: string,\n   *  exitActive?: string,\n   *  exitDone?: string,\n   * }}\n   */\n  classNames: _PropTypes.classNamesShape,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter-active' or\n   * 'appear-active' class is applied.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'enter' or\n   * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' class is\n   * applied.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * A `<Transition>` callback fired immediately after the 'exit' classes\n   * are **removed** and the `exit-done` class is added to the DOM node.\n   *\n   * @type Function(node: HtmlElement)\n   */\n  onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `<ReplaceTransition>` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * <ReplaceTransition in>\n *   <Fade><div>I appear first</div></Fade>\n *   <Fade><div>I replace the above</div></Fade>\n * </ReplaceTransition>\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(ReplaceTransition, _React$Component);\n\n  function ReplaceTransition() {\n    var _this;\n\n    for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n      _args[_key] = arguments[_key];\n    }\n\n    _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n    _this.handleEnter = function () {\n      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      return _this.handleLifecycle('onEnter', 0, args);\n    };\n\n    _this.handleEntering = function () {\n      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n        args[_key3] = arguments[_key3];\n      }\n\n      return _this.handleLifecycle('onEntering', 0, args);\n    };\n\n    _this.handleEntered = function () {\n      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n        args[_key4] = arguments[_key4];\n      }\n\n      return _this.handleLifecycle('onEntered', 0, args);\n    };\n\n    _this.handleExit = function () {\n      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n        args[_key5] = arguments[_key5];\n      }\n\n      return _this.handleLifecycle('onExit', 1, args);\n    };\n\n    _this.handleExiting = function () {\n      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n        args[_key6] = arguments[_key6];\n      }\n\n      return _this.handleLifecycle('onExiting', 1, args);\n    };\n\n    _this.handleExited = function () {\n      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n        args[_key7] = arguments[_key7];\n      }\n\n      return _this.handleLifecycle('onExited', 1, args);\n    };\n\n    return _this;\n  }\n\n  var _proto = ReplaceTransition.prototype;\n\n  _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n    var _child$props;\n\n    var children = this.props.children;\n\n    var child = _react.default.Children.toArray(children)[idx];\n\n    if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n    if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        children = _this$props.children,\n        inProp = _this$props.in,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n    var _React$Children$toArr = _react.default.Children.toArray(children),\n        first = _React$Children$toArr[0],\n        second = _React$Children$toArr[1];\n\n    delete props.onEnter;\n    delete props.onEntering;\n    delete props.onEntered;\n    delete props.onExit;\n    delete props.onExiting;\n    delete props.onExited;\n    return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n      key: 'first',\n      onEnter: this.handleEnter,\n      onEntering: this.handleEntering,\n      onEntered: this.handleEntered\n    }) : _react.default.cloneElement(second, {\n      key: 'second',\n      onEnter: this.handleExit,\n      onEntering: this.handleExiting,\n      onEntered: this.handleExited\n    }));\n  };\n\n  return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  in: _propTypes.default.bool.isRequired,\n  children: function children(props, propName) {\n    if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n    return null;\n  }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n *   transition: `opacity ${duration}ms ease-in-out`,\n *   opacity: 0,\n * }\n *\n * const transitionStyles = {\n *   entering: { opacity: 0 },\n *   entered:  { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n *  - `'entering'`\n *  - `'entered'`\n *  - `'exiting'`\n *  - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(Transition, _React$Component);\n\n  function Transition(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n    var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n    var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n    var initialStatus;\n    _this.appearStatus = null;\n\n    if (props.in) {\n      if (appear) {\n        initialStatus = EXITED;\n        _this.appearStatus = ENTERING;\n      } else {\n        initialStatus = ENTERED;\n      }\n    } else {\n      if (props.unmountOnExit || props.mountOnEnter) {\n        initialStatus = UNMOUNTED;\n      } else {\n        initialStatus = EXITED;\n      }\n    }\n\n    _this.state = {\n      status: initialStatus\n    };\n    _this.nextCallback = null;\n    return _this;\n  }\n\n  var _proto = Transition.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: null // allows for nested Transitions\n\n    };\n  };\n\n  Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n    var nextIn = _ref.in;\n\n    if (nextIn && prevState.status === UNMOUNTED) {\n      return {\n        status: EXITED\n      };\n    }\n\n    return null;\n  }; // getSnapshotBeforeUpdate(prevProps) {\n  //   let nextStatus = null\n  //   if (prevProps !== this.props) {\n  //     const { status } = this.state\n  //     if (this.props.in) {\n  //       if (status !== ENTERING && status !== ENTERED) {\n  //         nextStatus = ENTERING\n  //       }\n  //     } else {\n  //       if (status === ENTERING || status === ENTERED) {\n  //         nextStatus = EXITING\n  //       }\n  //     }\n  //   }\n  //   return { nextStatus }\n  // }\n\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.updateStatus(true, this.appearStatus);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var nextStatus = null;\n\n    if (prevProps !== this.props) {\n      var status = this.state.status;\n\n      if (this.props.in) {\n        if (status !== ENTERING && status !== ENTERED) {\n          nextStatus = ENTERING;\n        }\n      } else {\n        if (status === ENTERING || status === ENTERED) {\n          nextStatus = EXITING;\n        }\n      }\n    }\n\n    this.updateStatus(false, nextStatus);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.cancelNextCallback();\n  };\n\n  _proto.getTimeouts = function getTimeouts() {\n    var timeout = this.props.timeout;\n    var exit, enter, appear;\n    exit = enter = appear = timeout;\n\n    if (timeout != null && typeof timeout !== 'number') {\n      exit = timeout.exit;\n      enter = timeout.enter; // TODO: remove fallback for next major\n\n      appear = timeout.appear !== undefined ? timeout.appear : enter;\n    }\n\n    return {\n      exit: exit,\n      enter: enter,\n      appear: appear\n    };\n  };\n\n  _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n    if (mounting === void 0) {\n      mounting = false;\n    }\n\n    if (nextStatus !== null) {\n      // nextStatus will always be ENTERING or EXITING.\n      this.cancelNextCallback();\n\n      var node = _reactDom.default.findDOMNode(this);\n\n      if (nextStatus === ENTERING) {\n        this.performEnter(node, mounting);\n      } else {\n        this.performExit(node);\n      }\n    } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n      this.setState({\n        status: UNMOUNTED\n      });\n    }\n  };\n\n  _proto.performEnter = function performEnter(node, mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n    var timeouts = this.getTimeouts();\n    var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n    // if we are mounting and running this it means appear _must_ be set\n\n    if (!mounting && !enter) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(node);\n      });\n      return;\n    }\n\n    this.props.onEnter(node, appearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(node, appearing);\n\n      _this2.onTransitionEnd(node, enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(node, appearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit(node) {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n    if (!exit) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(node);\n      });\n      return;\n    }\n\n    this.props.onExit(node);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(node);\n\n      _this3.onTransitionEnd(node, timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(node);\n        });\n      });\n    });\n  };\n\n  _proto.cancelNextCallback = function cancelNextCallback() {\n    if (this.nextCallback !== null) {\n      this.nextCallback.cancel();\n      this.nextCallback = null;\n    }\n  };\n\n  _proto.safeSetState = function safeSetState(nextState, callback) {\n    // This shouldn't be necessary, but there are weird race conditions with\n    // setState callbacks and unmounting in testing, so always make sure that\n    // we can cancel any pending setState callbacks after we unmount.\n    callback = this.setNextCallback(callback);\n    this.setState(nextState, callback);\n  };\n\n  _proto.setNextCallback = function setNextCallback(callback) {\n    var _this4 = this;\n\n    var active = true;\n\n    this.nextCallback = function (event) {\n      if (active) {\n        active = false;\n        _this4.nextCallback = null;\n        callback(event);\n      }\n    };\n\n    this.nextCallback.cancel = function () {\n      active = false;\n    };\n\n    return this.nextCallback;\n  };\n\n  _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n    this.setNextCallback(handler);\n    var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n    if (!node || doesNotHaveTimeoutOrListener) {\n      setTimeout(this.nextCallback, 0);\n      return;\n    }\n\n    if (this.props.addEndListener) {\n      this.props.addEndListener(node, this.nextCallback);\n    }\n\n    if (timeout != null) {\n      setTimeout(this.nextCallback, timeout);\n    }\n  };\n\n  _proto.render = function render() {\n    var status = this.state.status;\n\n    if (status === UNMOUNTED) {\n      return null;\n    }\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n    delete childProps.in;\n    delete childProps.mountOnEnter;\n    delete childProps.unmountOnExit;\n    delete childProps.appear;\n    delete childProps.enter;\n    delete childProps.exit;\n    delete childProps.timeout;\n    delete childProps.addEndListener;\n    delete childProps.onEnter;\n    delete childProps.onEntering;\n    delete childProps.onEntered;\n    delete childProps.onExit;\n    delete childProps.onExiting;\n    delete childProps.onExited;\n\n    if (typeof children === 'function') {\n      return children(status, childProps);\n    }\n\n    var child = _react.default.Children.only(children);\n\n    return _react.default.cloneElement(child, childProps);\n  };\n\n  return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n  transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n  transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * A `function` child can be used instead of a React element. This function is\n   * called with the current transition status (`'entering'`, `'entered'`,\n   * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\n   * ```\n   */\n  children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n  /**\n   * Show the component; triggers the enter or exit states\n   */\n  in: PropTypes.bool,\n\n  /**\n   * By default the child component is mounted immediately along with\n   * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n   * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n   */\n  mountOnEnter: PropTypes.bool,\n\n  /**\n   * By default the child component stays mounted after it reaches the `'exited'` state.\n   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n   */\n  unmountOnExit: PropTypes.bool,\n\n  /**\n   * Normally a component is not transitioned if it is shown when the `<Transition>` component mounts.\n   * If you want to transition on the first mount set `appear` to `true`, and the\n   * component will transition in as soon as the `<Transition>` mounts.\n   *\n   * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * Enable or disable enter transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * Enable or disable exit transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * The duration of the transition, in milliseconds.\n   * Required unless `addEndListener` is provided.\n   *\n   * You may specify a single timeout for all transitions:\n   *\n   * ```jsx\n   * timeout={500}\n   * ```\n   *\n   * or individually:\n   *\n   * ```jsx\n   * timeout={{\n   *  appear: 500,\n   *  enter: 300,\n   *  exit: 500,\n   * }}\n   * ```\n   *\n   * - `appear` defaults to the value of `enter`\n   * - `enter` defaults to `0`\n   * - `exit` defaults to `0`\n   *\n   * @type {number | { enter?: number, exit?: number, appear?: number }}\n   */\n  timeout: function timeout(props) {\n    var pt = _PropTypes.timeoutsShape;\n    if (!props.addEndListener) pt = pt.isRequired;\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return pt.apply(void 0, [props].concat(args));\n  },\n\n  /**\n   * Add a custom transition end trigger. Called with the transitioning\n   * DOM node and a `done` callback. Allows for more fine grained transition end\n   * logic. **Note:** Timeouts are still used as a fallback if provided.\n   *\n   * ```jsx\n   * addEndListener={(node, done) => {\n   *   // use the css transitionend event to mark the finish of a transition\n   *   node.addEventListener('transitionend', done, false);\n   * }}\n   * ```\n   */\n  addEndListener: PropTypes.func,\n\n  /**\n   * Callback fired before the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entered\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * Callback fired before the \"exiting\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exited\" status is applied.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n  in: false,\n  mountOnEnter: false,\n  unmountOnExit: false,\n  appear: false,\n  enter: true,\n  exit: true,\n  onEnter: noop,\n  onEntering: noop,\n  onEntered: noop,\n  onExit: noop,\n  onExiting: noop,\n  onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n  return Object.keys(obj).map(function (k) {\n    return obj[k];\n  });\n};\n\nvar defaultProps = {\n  component: 'div',\n  childFactory: function childFactory(child) {\n    return child;\n  }\n  /**\n   * The `<TransitionGroup>` component manages a set of transition components\n   * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n   * components, `<TransitionGroup>` is a state machine for managing the mounting\n   * and unmounting of components over time.\n   *\n   * Consider the example below. As items are removed or added to the TodoList the\n   * `in` prop is toggled automatically by the `<TransitionGroup>`.\n   *\n   * Note that `<TransitionGroup>`  does not define any animation behavior!\n   * Exactly _how_ a list item animates is up to the individual transition\n   * component. This means you can mix and match animations across different list\n   * items.\n   */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n  _inheritsLoose(TransitionGroup, _React$Component);\n\n  function TransitionGroup(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n\n    var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n    _this.state = {\n      handleExited: handleExited,\n      firstRender: true\n    };\n    return _this;\n  }\n\n  var _proto = TransitionGroup.prototype;\n\n  _proto.getChildContext = function getChildContext() {\n    return {\n      transitionGroup: {\n        isMounting: !this.appeared\n      }\n    };\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.appeared = true;\n    this.mounted = true;\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.mounted = false;\n  };\n\n  TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n    var prevChildMapping = _ref.children,\n        handleExited = _ref.handleExited,\n        firstRender = _ref.firstRender;\n    return {\n      children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n      firstRender: false\n    };\n  };\n\n  _proto.handleExited = function handleExited(child, node) {\n    var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n    if (child.key in currentChildMapping) return;\n\n    if (child.props.onExited) {\n      child.props.onExited(node);\n    }\n\n    if (this.mounted) {\n      this.setState(function (state) {\n        var children = _extends({}, state.children);\n\n        delete children[child.key];\n        return {\n          children: children\n        };\n      });\n    }\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        Component = _this$props.component,\n        childFactory = _this$props.childFactory,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n    var children = values(this.state.children).map(childFactory);\n    delete props.appear;\n    delete props.enter;\n    delete props.exit;\n\n    if (Component === null) {\n      return children;\n    }\n\n    return _react.default.createElement(Component, props, children);\n  };\n\n  return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n  transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * `<TransitionGroup>` renders a `<div>` by default. You can change this\n   * behavior by providing a `component` prop.\n   * If you use React v16+ and would like to avoid a wrapping `<div>` element\n   * you can pass in `component={null}`. This is useful if the wrapping div\n   * borks your css styles.\n   */\n  component: _propTypes.default.any,\n\n  /**\n   * A set of `<Transition>` components, that are toggled `in` and out as they\n   * leave. the `<TransitionGroup>` will inject specific transition props, so\n   * remember to spread them through if you are wrapping the `<Transition>` as\n   * with our `<Fade>` example.\n   *\n   * While this component is meant for multiple `Transition` or `CSSTransition`\n   * children, sometimes you may want to have a single transition child with\n   * content that you want to be transitioned out and in when you change it\n   * (e.g. routes, images etc.) In that case you can change the `key` prop of\n   * the transition child as you change its content, this will cause\n   * `TransitionGroup` to transition the child out and back in.\n   */\n  children: _propTypes.default.node,\n\n  /**\n   * A convenience prop that enables or disables appear animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  appear: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables enter animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  enter: _propTypes.default.bool,\n\n  /**\n   * A convenience prop that enables or disables exit animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  exit: _propTypes.default.bool,\n\n  /**\n   * You may need to apply reactive updates to a child as it is exiting.\n   * This is generally done by using `cloneElement` however in the case of an exiting\n   * child the element has already been removed and not accessible to the consumer.\n   *\n   * If you do need to update a child as it leaves you can provide a `childFactory`\n   * to wrap every child, even the ones that are leaving.\n   *\n   * @type Function(child: ReactElement) -> ReactElement\n   */\n  childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n  Transition: _Transition.default,\n  TransitionGroup: _TransitionGroup.default,\n  ReplaceTransition: _ReplaceTransition.default,\n  CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n  var mapper = function mapper(child) {\n    return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n  };\n\n  var result = Object.create(null);\n  if (children) _react.Children.map(children, function (c) {\n    return c;\n  }).forEach(function (child) {\n    // run the map function here instead so that the key is the computed one\n    result[child.key] = mapper(child);\n  });\n  return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n  prev = prev || {};\n  next = next || {};\n\n  function getValueForKey(key) {\n    return key in next ? next[key] : prev[key];\n  } // For each key of `next`, the list of keys to insert before that key in\n  // the combined list\n\n\n  var nextKeysPending = Object.create(null);\n  var pendingKeys = [];\n\n  for (var prevKey in prev) {\n    if (prevKey in next) {\n      if (pendingKeys.length) {\n        nextKeysPending[prevKey] = pendingKeys;\n        pendingKeys = [];\n      }\n    } else {\n      pendingKeys.push(prevKey);\n    }\n  }\n\n  var i;\n  var childMapping = {};\n\n  for (var nextKey in next) {\n    if (nextKeysPending[nextKey]) {\n      for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n        var pendingNextKey = nextKeysPending[nextKey][i];\n        childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n      }\n    }\n\n    childMapping[nextKey] = getValueForKey(nextKey);\n  } // Finally, add the keys which didn't appear before any key in `next`\n\n\n  for (i = 0; i < pendingKeys.length; i++) {\n    childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n  }\n\n  return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n  return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n  return getChildMapping(props.children, function (child) {\n    return (0, _react.cloneElement)(child, {\n      onExited: onExited.bind(null, child),\n      in: true,\n      appear: getProp(child, 'appear', props),\n      enter: getProp(child, 'enter', props),\n      exit: getProp(child, 'exit', props)\n    });\n  });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n  var nextChildMapping = getChildMapping(nextProps.children);\n  var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n  Object.keys(children).forEach(function (key) {\n    var child = children[key];\n    if (!(0, _react.isValidElement)(child)) return;\n    var hasPrev = key in prevChildMapping;\n    var hasNext = key in nextChildMapping;\n    var prevChild = prevChildMapping[key];\n    var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n    if (hasNext && (!hasPrev || isLeaving)) {\n      // console.log('entering', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        onExited: onExited.bind(null, child),\n        in: true,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    } else if (!hasNext && hasPrev && !isLeaving) {\n      // item is old (exiting)\n      // console.log('leaving', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        in: false\n      });\n    } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n      // item hasn't changed transition states\n      // copy over the last transition props;\n      // console.log('unchanged', key)\n      children[key] = (0, _react.cloneElement)(child, {\n        onExited: onExited.bind(null, child),\n        in: prevChild.props.in,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    }\n  });\n  return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n  enter: _propTypes.default.number,\n  exit: _propTypes.default.number,\n  appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  active: _propTypes.default.string\n}), _propTypes.default.shape({\n  enter: _propTypes.default.string,\n  enterDone: _propTypes.default.string,\n  enterActive: _propTypes.default.string,\n  exit: _propTypes.default.string,\n  exitDone: _propTypes.default.string,\n  exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n    extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","function memoize(fn) {\n  var cache = {};\n  return function (arg) {\n    if (cache[arg] === undefined) cache[arg] = fn(arg);\n    return cache[arg];\n  };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n  return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n  /* o */\n  && prop.charCodeAt(1) === 110\n  /* n */\n  && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","var unitlessKeys = {\n  animationIterationCount: 1,\n  borderImageOutset: 1,\n  borderImageSlice: 1,\n  borderImageWidth: 1,\n  boxFlex: 1,\n  boxFlexGroup: 1,\n  boxOrdinalGroup: 1,\n  columnCount: 1,\n  columns: 1,\n  flex: 1,\n  flexGrow: 1,\n  flexPositive: 1,\n  flexShrink: 1,\n  flexNegative: 1,\n  flexOrder: 1,\n  gridRow: 1,\n  gridRowEnd: 1,\n  gridRowSpan: 1,\n  gridRowStart: 1,\n  gridColumn: 1,\n  gridColumnEnd: 1,\n  gridColumnSpan: 1,\n  gridColumnStart: 1,\n  msGridRow: 1,\n  msGridRowSpan: 1,\n  msGridColumn: 1,\n  msGridColumnSpan: 1,\n  fontWeight: 1,\n  lineHeight: 1,\n  opacity: 1,\n  order: 1,\n  orphans: 1,\n  tabSize: 1,\n  widows: 1,\n  zIndex: 1,\n  zoom: 1,\n  WebkitLineClamp: 1,\n  // SVG-related properties\n  fillOpacity: 1,\n  floodOpacity: 1,\n  stopOpacity: 1,\n  strokeDasharray: 1,\n  strokeDashoffset: 1,\n  strokeMiterlimit: 1,\n  strokeOpacity: 1,\n  strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n  return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n  return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n  return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n  switch (key) {\n    case 'animation':\n    case 'animationName':\n      {\n        if (typeof value === 'string') {\n          return value.replace(animationRegex, function (match, p1, p2) {\n            cursor = {\n              name: p1,\n              styles: p2,\n              next: cursor\n            };\n            return p1;\n          });\n        }\n      }\n  }\n\n  if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n    return value + 'px';\n  }\n\n  return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n  var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n  var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n  var oldProcessStyleValue = processStyleValue;\n  var msPattern = /^-ms-/;\n  var hyphenPattern = /-(.)/g;\n  var hyphenatedCache = {};\n\n  processStyleValue = function processStyleValue(key, value) {\n    if (key === 'content') {\n      if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n        console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n      }\n    }\n\n    var processed = oldProcessStyleValue(key, value);\n\n    if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n      hyphenatedCache[key] = true;\n      console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n        return _char.toUpperCase();\n      }) + \"?\");\n    }\n\n    return processed;\n  };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n  if (interpolation == null) {\n    return '';\n  }\n\n  if (interpolation.__emotion_styles !== undefined) {\n    if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n      throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n    }\n\n    return interpolation;\n  }\n\n  switch (typeof interpolation) {\n    case 'boolean':\n      {\n        return '';\n      }\n\n    case 'object':\n      {\n        if (interpolation.anim === 1) {\n          cursor = {\n            name: interpolation.name,\n            styles: interpolation.styles,\n            next: cursor\n          };\n          return interpolation.name;\n        }\n\n        if (interpolation.styles !== undefined) {\n          var next = interpolation.next;\n\n          if (next !== undefined) {\n            // not the most efficient thing ever but this is a pretty rare case\n            // and there will be very few iterations of this generally\n            while (next !== undefined) {\n              cursor = {\n                name: next.name,\n                styles: next.styles,\n                next: cursor\n              };\n              next = next.next;\n            }\n          }\n\n          var styles = interpolation.styles + \";\";\n\n          if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n            styles += interpolation.map;\n          }\n\n          return styles;\n        }\n\n        return createStringFromObject(mergedProps, registered, interpolation);\n      }\n\n    case 'function':\n      {\n        if (mergedProps !== undefined) {\n          var previousCursor = cursor;\n          var result = interpolation(mergedProps);\n          cursor = previousCursor;\n          return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n        } else if (process.env.NODE_ENV !== 'production') {\n          console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n        }\n\n        break;\n      }\n\n    case 'string':\n      if (process.env.NODE_ENV !== 'production') {\n        var matched = [];\n        var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n          var fakeVarName = \"animation\" + matched.length;\n          matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n          return \"${\" + fakeVarName + \"}\";\n        });\n\n        if (matched.length) {\n          console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n        }\n      }\n\n      break;\n  } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n  if (registered == null) {\n    return interpolation;\n  }\n\n  var cached = registered[interpolation];\n\n  if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n    console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n    shouldWarnAboutInterpolatingClassNameFromCss = false;\n  }\n\n  return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n  var string = '';\n\n  if (Array.isArray(obj)) {\n    for (var i = 0; i < obj.length; i++) {\n      string += handleInterpolation(mergedProps, registered, obj[i], false);\n    }\n  } else {\n    for (var _key in obj) {\n      var value = obj[_key];\n\n      if (typeof value !== 'object') {\n        if (registered != null && registered[value] !== undefined) {\n          string += _key + \"{\" + registered[value] + \"}\";\n        } else if (isProcessableValue(value)) {\n          string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n        }\n      } else {\n        if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n          throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n        }\n\n        if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n          for (var _i = 0; _i < value.length; _i++) {\n            if (isProcessableValue(value[_i])) {\n              string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n            }\n          }\n        } else {\n          var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n          switch (_key) {\n            case 'animation':\n            case 'animationName':\n              {\n                string += processStyleName(_key) + \":\" + interpolated + \";\";\n                break;\n              }\n\n            default:\n              {\n                if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n                  console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n                }\n\n                string += _key + \"{\" + interpolated + \"}\";\n              }\n          }\n        }\n      }\n    }\n  }\n\n  return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n  sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n  if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n    return args[0];\n  }\n\n  var stringMode = true;\n  var styles = '';\n  cursor = undefined;\n  var strings = args[0];\n\n  if (strings == null || strings.raw === undefined) {\n    stringMode = false;\n    styles += handleInterpolation(mergedProps, registered, strings, false);\n  } else {\n    if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n      console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n    }\n\n    styles += strings[0];\n  } // we start at 1 since we've already handled the first arg\n\n\n  for (var i = 1; i < args.length; i++) {\n    styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n    if (stringMode) {\n      if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n        console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n      }\n\n      styles += strings[i];\n    }\n  }\n\n  var sourceMap;\n\n  if (process.env.NODE_ENV !== 'production') {\n    styles = styles.replace(sourceMapPattern, function (match) {\n      sourceMap = match;\n      return '';\n    });\n  } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n  labelPattern.lastIndex = 0;\n  var identifierName = '';\n  var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n  while ((match = labelPattern.exec(styles)) !== null) {\n    identifierName += '-' + // $FlowFixMe we know it's not null\n    match[1];\n  }\n\n  var name = hashString(styles) + identifierName;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n    return {\n      name: name,\n      styles: styles,\n      map: sourceMap,\n      next: cursor,\n      toString: function toString() {\n        return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n      }\n    };\n  }\n\n  return {\n    name: name,\n    styles: styles,\n    next: cursor\n  };\n};\n\nexport { serializeStyles };\n","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { createElement, Fragment } from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/core';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n  return key !== 'theme' && key !== 'innerRef';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n  return typeof tag === 'string' && // 96 is one less than the char code\n  // for \"a\" so this is checking that\n  // it's a lowercase character\n  tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Noop = function Noop() {\n  return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n  if (process.env.NODE_ENV !== 'production') {\n    if (tag === undefined) {\n      throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n    }\n  }\n\n  var identifierName;\n  var shouldForwardProp;\n  var targetClassName;\n\n  if (options !== undefined) {\n    identifierName = options.label;\n    targetClassName = options.target;\n    shouldForwardProp = tag.__emotion_forwardProp && options.shouldForwardProp ? function (propName) {\n      return tag.__emotion_forwardProp(propName) && // $FlowFixMe\n      options.shouldForwardProp(propName);\n    } : options.shouldForwardProp;\n  }\n\n  var isReal = tag.__emotion_real === tag;\n  var baseTag = isReal && tag.__emotion_base || tag;\n\n  if (typeof shouldForwardProp !== 'function' && isReal) {\n    shouldForwardProp = tag.__emotion_forwardProp;\n  }\n\n  var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n  var shouldUseAs = !defaultShouldForwardProp('as');\n  return function () {\n    var args = arguments;\n    var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n    if (identifierName !== undefined) {\n      styles.push(\"label:\" + identifierName + \";\");\n    }\n\n    if (args[0] == null || args[0].raw === undefined) {\n      styles.push.apply(styles, args);\n    } else {\n      if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n        console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n      }\n\n      styles.push(args[0][0]);\n      var len = args.length;\n      var i = 1;\n\n      for (; i < len; i++) {\n        if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n          console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n        }\n\n        styles.push(args[i], args[0][i]);\n      }\n    } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n    var Styled = withEmotionCache(function (props, context, ref) {\n      return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n        var finalTag = shouldUseAs && props.as || baseTag;\n        var className = '';\n        var classInterpolations = [];\n        var mergedProps = props;\n\n        if (props.theme == null) {\n          mergedProps = {};\n\n          for (var key in props) {\n            mergedProps[key] = props[key];\n          }\n\n          mergedProps.theme = theme;\n        }\n\n        if (typeof props.className === 'string') {\n          className = getRegisteredStyles(context.registered, classInterpolations, props.className);\n        } else if (props.className != null) {\n          className = props.className + \" \";\n        }\n\n        var serialized = serializeStyles(styles.concat(classInterpolations), context.registered, mergedProps);\n        var rules = insertStyles(context, serialized, typeof finalTag === 'string');\n        className += context.key + \"-\" + serialized.name;\n\n        if (targetClassName !== undefined) {\n          className += \" \" + targetClassName;\n        }\n\n        var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp;\n        var newProps = {};\n\n        for (var _key in props) {\n          if (shouldUseAs && _key === 'as') continue;\n\n          if ( // $FlowFixMe\n          finalShouldForwardProp(_key)) {\n            newProps[_key] = props[_key];\n          }\n        }\n\n        newProps.className = className;\n        newProps.ref = ref || props.innerRef;\n\n        if (process.env.NODE_ENV !== 'production' && props.innerRef) {\n          console.error('`innerRef` is deprecated and will be removed in a future major version of Emotion, please use the `ref` prop instead' + (identifierName === undefined ? '' : \" in the usage of `\" + identifierName + \"`\"));\n        }\n\n        var ele = /*#__PURE__*/createElement(finalTag, newProps);\n        var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n        return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n      });\n    });\n    Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n    Styled.defaultProps = tag.defaultProps;\n    Styled.__emotion_real = Styled;\n    Styled.__emotion_base = baseTag;\n    Styled.__emotion_styles = styles;\n    Styled.__emotion_forwardProp = shouldForwardProp;\n    Object.defineProperty(Styled, 'toString', {\n      value: function value() {\n        if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n          return 'NO_COMPONENT_SELECTOR';\n        } // $FlowFixMe: coerce undefined to string\n\n\n        return \".\" + targetClassName;\n      }\n    });\n\n    Styled.withComponent = function (nextTag, nextOptions) {\n      return createStyled(nextTag, nextOptions !== undefined ? _objectSpread({}, options || {}, {}, nextOptions) : options).apply(void 0, styles);\n    };\n\n    return Styled;\n  };\n};\n\nexport default createStyled;\n","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 { isPropValid as default };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React 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  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 = React.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__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n        cache: cache,\n        serialized: serialized,\n        isStringTag: typeof FinalTag === 'string'\n      }), /*#__PURE__*/React.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 { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\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 { newStyled as default };\n","function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if(\"production\"!==process.env.NODE_ENV){var i=Y[n],o=i?\"function\"==typeof i?i.apply(null,t):i:\"unknown error nr: \"+n;throw Error(\"[Immer] \"+o)}throw Error(\"[Immer] minified error nr: \"+n+(t.length?\" \"+t.map((function(n){return\"'\"+n+\"'\"})).join(\",\"):\"\")+\". Find the full error at: https://bit.ly/3cXEKWf\")}function r(n){return!!n&&!!n[Q]}function t(n){var r;return!!n&&(function(n){if(!n||\"object\"!=typeof n)return!1;var r=Object.getPrototypeOf(n);if(null===r)return!0;var t=Object.hasOwnProperty.call(r,\"constructor\")&&r.constructor;return t===Object||\"function\"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v(n))}function e(t){return r(t)||n(23,t),t[Q].t}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&\"symbol\"==typeof e||r(e,n[e],n)})):n.forEach((function(t,e){return r(e,t,n)}))}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]})}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)||(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2)}function y(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return\"production\"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b(\"Patches\"),n.u=[],n.s=[],n.v=r)}function g(n){O(n),n.p.forEach(S),n.p=null}function O(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b(\"ES5\").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b(\"Patches\").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b(\"Patches\").N(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s,v){if(\"production\"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r(p))return;e.m=!1}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function N(n,r,t){var e=s(r)?b(\"MapSet\").F(r,t):v(r)?b(\"MapSet\").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b(\"ES5\").J(r,t);return(t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b(\"ES5\").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return\"production\"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];\"production\"!==process.env.NODE_ENV&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e<r.length;e++)if(!r.hasOwnProperty(e))return!0;return!1}function f(r){r.g&&n(3,JSON.stringify(p(r)))}var s={};m(\"ES5\",{J:function(n,r){var e=Array.isArray(n),i=function(n,r){if(n){for(var e=Array(r.length),i=0;i<r.length;i++)Object.defineProperty(e,\"\"+i,t(i,!0));return e}var o=rn(r);delete o[Q];for(var u=nn(o),a=0;a<u.length;a++){var f=u[a];o[f]=t(f,n||!!o[f].enumerable)}return Object.create(Object.getPrototypeOf(r),o)}(e,n),o={i:e?5:4,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:i,o:null,g:!1,C:!1};return Object.defineProperty(i,Q,{value:o,writable:!0}),i},S:function(n,t,o){o?r(t)&&t[Q].A===n&&e(n.p):(n.u&&function n(r){if(r&&\"object\"==typeof r){var t=r[Q];if(t){var e=t.t,o=t.k,f=t.R,c=t.i;if(4===c)i(o,(function(r){r!==Q&&(void 0!==e[r]||u(e,r)?f[r]||n(o[r]):(f[r]=!0,k(t)))})),i(e,(function(n){void 0!==o[n]||u(o,n)||(f[n]=!1,k(t))}));else if(5===c){if(a(t)&&(k(t),f.length=!0),o.length<e.length)for(var s=o.length;s<e.length;s++)f[s]=!1;else for(var v=e.length;v<o.length;v++)f[v]=!0;for(var p=Math.min(o.length,e.length),l=0;l<p;l++)o.hasOwnProperty(l)||(f[l]=!0),void 0===f[l]&&n(o[l])}}}}(n.p[0]),e(n.p))},K:function(n){return 4===n.i?o(n):a(n)}})}function T(){function e(n){if(!t(n))return n;if(Array.isArray(n))return n.map(e);if(s(n))return new Map(Array.from(n.entries()).map((function(n){return[n[0],e(n[1])]})));if(v(n))return new Set(Array.from(n).map(e));var r=Object.create(Object.getPrototypeOf(n));for(var i in n)r[i]=e(n[i]);return u(n,L)&&(r[L]=n[L]),r}function f(n){return r(n)?e(n):n}var c=\"add\";m(\"Patches\",{$:function(r,t){return t.forEach((function(t){for(var i=t.path,u=t.op,f=r,s=0;s<i.length-1;s++){var v=o(f),p=i[s];\"string\"!=typeof p&&\"number\"!=typeof p&&(p=\"\"+p),0!==v&&1!==v||\"__proto__\"!==p&&\"constructor\"!==p||n(24),\"function\"==typeof f&&\"prototype\"===p&&n(24),\"object\"!=typeof(f=a(f,p))&&n(15,i.join(\"/\"))}var l=o(f),d=e(t.value),h=i[i.length-1];switch(u){case\"replace\":switch(l){case 2:return f.set(h,d);case 3:n(16);default:return f[h]=d}case c:switch(l){case 1:return\"-\"===h?f.push(d):f.splice(h,0,d);case 2:return f.set(h,d);case 3:return f.add(d);default:return f[h]=d}case\"remove\":switch(l){case 1:return f.splice(h,1);case 2:return f.delete(h);case 3:return f.delete(t.value);default:return delete f[h]}default:n(17,u)}})),r},N:function(n,r,t,e){switch(n.i){case 0:case 4:case 2:return function(n,r,t,e){var o=n.t,s=n.o;i(n.R,(function(n,i){var v=a(o,n),p=a(s,n),l=i?u(o,n)?\"replace\":c:\"remove\";if(v!==p||\"replace\"!==l){var d=r.concat(n);t.push(\"remove\"===l?{op:l,path:d}:{op:l,path:d,value:p}),e.push(l===c?{op:\"remove\",path:d}:\"remove\"===l?{op:c,path:d,value:f(v)}:{op:\"replace\",path:d,value:f(v)})}}))}(n,r,t,e);case 5:case 1:return function(n,r,t,e){var i=n.t,o=n.R,u=n.o;if(u.length<i.length){var a=[u,i];i=a[0],u=a[1];var s=[e,t];t=s[0],e=s[1]}for(var v=0;v<i.length;v++)if(o[v]&&u[v]!==i[v]){var p=r.concat([v]);t.push({op:\"replace\",path:p,value:f(u[v])}),e.push({op:\"replace\",path:p,value:f(i[v])})}for(var l=i.length;l<u.length;l++){var d=r.concat([l]);t.push({op:c,path:d,value:f(u[l])})}i.length<u.length&&e.push({op:\"replace\",path:r.concat([\"length\"]),value:i.length})}(n,r,t,e);case 3:return function(n,r,t,e){var i=n.t,o=n.o,u=0;i.forEach((function(n){if(!o.has(n)){var i=r.concat([u]);t.push({op:\"remove\",path:i,value:n}),e.unshift({op:c,path:i,value:n})}u++})),u=0,o.forEach((function(n){if(!i.has(n)){var o=r.concat([u]);t.push({op:c,path:o,value:n}),e.unshift({op:\"remove\",path:o,value:n})}u++}))}(n,r,t,e)}},M:function(n,r,t,e){t.push({op:\"replace\",path:[],value:r===H?void 0:r}),e.push({op:\"replace\",path:[],value:n})}})}function C(){function r(n,r){function t(){this.constructor=n}a(n,r),n.prototype=(t.prototype=r.prototype,new t)}function e(n){n.o||(n.R=new Map,n.o=new Map(n.t))}function o(n){n.o||(n.o=new Set,n.t.forEach((function(r){if(t(r)){var e=N(n.A.h,r,n);n.p.set(r,e),n.o.add(e)}else n.o.add(r)})))}function u(r){r.g&&n(3,JSON.stringify(p(r)))}var a=function(n,r){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var t in r)r.hasOwnProperty(t)&&(n[t]=r[t])})(n,r)},f=function(){function n(n,r){return this[Q]={i:2,l:r,A:r?r.A:_(),P:!1,I:!1,o:void 0,R:void 0,t:n,k:this,C:!1,g:!1},this}r(n,Map);var o=n.prototype;return Object.defineProperty(o,\"size\",{get:function(){return p(this[Q]).size}}),o.has=function(n){return p(this[Q]).has(n)},o.set=function(n,r){var t=this[Q];return u(t),p(t).has(n)&&p(t).get(n)===r||(e(t),k(t),t.R.set(n,!0),t.o.set(n,r),t.R.set(n,!0)),this},o.delete=function(n){if(!this.has(n))return!1;var r=this[Q];return u(r),e(r),k(r),r.t.has(n)?r.R.set(n,!1):r.R.delete(n),r.o.delete(n),!0},o.clear=function(){var n=this[Q];u(n),p(n).size&&(e(n),k(n),n.R=new Map,i(n.t,(function(r){n.R.set(r,!1)})),n.o.clear())},o.forEach=function(n,r){var t=this;p(this[Q]).forEach((function(e,i){n.call(r,t.get(i),i,t)}))},o.get=function(n){var r=this[Q];u(r);var i=p(r).get(n);if(r.I||!t(i))return i;if(i!==r.t.get(n))return i;var o=N(r.A.h,i,r);return e(r),r.o.set(n,o),o},o.keys=function(){return p(this[Q]).keys()},o.values=function(){var n,r=this,t=this.keys();return(n={})[V]=function(){return r.values()},n.next=function(){var n=t.next();return n.done?n:{done:!1,value:r.get(n.value)}},n},o.entries=function(){var n,r=this,t=this.keys();return(n={})[V]=function(){return r.entries()},n.next=function(){var n=t.next();if(n.done)return n;var e=r.get(n.value);return{done:!1,value:[n.value,e]}},n},o[V]=function(){return this.entries()},n}(),c=function(){function n(n,r){return this[Q]={i:3,l:r,A:r?r.A:_(),P:!1,I:!1,o:void 0,t:n,k:this,p:new Map,g:!1,C:!1},this}r(n,Set);var t=n.prototype;return Object.defineProperty(t,\"size\",{get:function(){return p(this[Q]).size}}),t.has=function(n){var r=this[Q];return u(r),r.o?!!r.o.has(n)||!(!r.p.has(n)||!r.o.has(r.p.get(n))):r.t.has(n)},t.add=function(n){var r=this[Q];return u(r),this.has(n)||(o(r),k(r),r.o.add(n)),this},t.delete=function(n){if(!this.has(n))return!1;var r=this[Q];return u(r),o(r),k(r),r.o.delete(n)||!!r.p.has(n)&&r.o.delete(r.p.get(n))},t.clear=function(){var n=this[Q];u(n),p(n).size&&(o(n),k(n),n.o.clear())},t.values=function(){var n=this[Q];return u(n),o(n),n.o.values()},t.entries=function(){var n=this[Q];return u(n),o(n),n.o.entries()},t.keys=function(){return this.values()},t[V]=function(){return this.values()},t.forEach=function(n,r){for(var t=this.values(),e=t.next();!e.done;)n.call(r,e.value,e.value,this),e=t.next()},n}();m(\"MapSet\",{F:function(n,r){return new f(n,r)},T:function(n,r){return new c(n,r)}})}function J(){F(),C(),T()}function K(n){return n}function $(n){return n}var G,U,W=\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol(\"x\"),X=\"undefined\"!=typeof Map,q=\"undefined\"!=typeof Set,B=\"undefined\"!=typeof Proxy&&void 0!==Proxy.revocable&&\"undefined\"!=typeof Reflect,H=W?Symbol.for(\"immer-nothing\"):((G={})[\"immer-nothing\"]=!0,G),L=W?Symbol.for(\"immer-draftable\"):\"__$immer_draftable\",Q=W?Symbol.for(\"immer-state\"):\"__$immer_state\",V=\"undefined\"!=typeof Symbol&&Symbol.iterator||\"@@iterator\",Y={0:\"Illegal state\",1:\"Immer drafts cannot have computed properties\",2:\"This object has been frozen and should not be mutated\",3:function(n){return\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \"+n},4:\"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",5:\"Immer forbids circular references\",6:\"The first or second argument to `produce` must be a function\",7:\"The third argument to `produce` must be a function or undefined\",8:\"First argument to `createDraft` must be a plain object, an array, or an immerable object\",9:\"First argument to `finishDraft` must be a draft returned by `createDraft`\",10:\"The given draft is already finalized\",11:\"Object.defineProperty() cannot be used on an Immer draft\",12:\"Object.setPrototypeOf() cannot be used on an Immer draft\",13:\"Immer only supports deleting array indices\",14:\"Immer only supports setting array indices and the 'length' property\",15:function(n){return\"Cannot apply patch, path doesn't resolve: \"+n},16:'Sets cannot have \"replace\" patches.',17:function(n){return\"Unsupported patch operation: \"+n},18:function(n){return\"The plugin for '\"+n+\"' has not been loaded into Immer. To enable the plugin, import and call `enable\"+n+\"()` when initializing your application.\"},20:\"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",21:function(n){return\"produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '\"+n+\"'\"},22:function(n){return\"'current' expects a draft, got: \"+n},23:function(n){return\"'original' expects a draft, got: \"+n},24:\"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"},Z=\"\"+Object.prototype.constructor,nn=\"undefined\"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t)})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?\"value\"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c(t,i)&&(void 0!==t||u(n.t,r)))return!0;E(n),k(n)}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||\"length\"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11)},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12)}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}})),on.deleteProperty=function(r,t){return\"production\"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return\"production\"!==process.env.NODE_ENV&&\"length\"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if(\"function\"==typeof r&&\"function\"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return(t=i).call.apply(t,[r,n].concat(e))}))}}var f;if(\"function\"!=typeof i&&n(6),void 0!==o&&\"function\"!=typeof o&&n(7),t(r)){var c=w(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1}finally{v?g(c):O(c)}return\"undefined\"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g(c),n})):(j(c,o),P(f,c))}if(!r||\"object\"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d(f,!0),o){var p=[],l=[];b(\"Patches\").M(r,f,p,l),o(p,l)}return f}n(21,r)},this.produceWithPatches=function(n,r){if(\"function\"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r}));return\"undefined\"!=typeof Promise&&o instanceof Promise?o.then((function(n){return[n,t,i]})):[o,t,i]},\"boolean\"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),\"boolean\"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze)}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=R(e));var i=w(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];\"production\"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n},i.setUseProxies=function(r){r&&!B&&n(20),this.O=r},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b(\"Patches\").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);export default fn;export{un as Immer,pn as applyPatches,K as castDraft,$ as castImmutable,ln as createDraft,R as current,J as enableAllPlugins,F as enableES5,C as enableMapSet,T as enablePatches,dn as finishDraft,d as freeze,L as immerable,r as isDraft,t as isDraftable,H as nothing,e as original,fn as produce,cn as produceWithPatches,sn as setAutoFreeze,vn as setUseProxies};\n//# sourceMappingURL=immer.esm.js.map\n","export default function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  }, _typeof(obj);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n  key = toPropertyKey(key);\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n  var key = toPrimitive(arg, \"string\");\n  return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n  if (_typeof(input) !== \"object\" || input === null) return input;\n  var prim = input[Symbol.toPrimitive];\n  if (prim !== undefined) {\n    var res = prim.call(input, hint || \"default\");\n    if (_typeof(res) !== \"object\") return res;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (hint === \"string\" ? String : Number)(input);\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    enumerableOnly && (symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    })), keys.push.apply(keys, symbols);\n  }\n  return keys;\n}\nexport default function _objectSpread2(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = null != arguments[i] ? arguments[i] : {};\n    i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n      defineProperty(target, key, source[key]);\n    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n    });\n  }\n  return target;\n}","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n  return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n  return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n  return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n  INIT: \"@@redux/INIT\" + randomString(),\n  REPLACE: \"@@redux/REPLACE\" + randomString(),\n  PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n    return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n  }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n  if (typeof obj !== 'object' || obj === null) return false;\n  var proto = obj;\n\n  while (Object.getPrototypeOf(proto) !== null) {\n    proto = Object.getPrototypeOf(proto);\n  }\n\n  return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n  if (val === void 0) return 'undefined';\n  if (val === null) return 'null';\n  var type = typeof val;\n\n  switch (type) {\n    case 'boolean':\n    case 'string':\n    case 'number':\n    case 'symbol':\n    case 'function':\n      {\n        return type;\n      }\n  }\n\n  if (Array.isArray(val)) return 'array';\n  if (isDate(val)) return 'date';\n  if (isError(val)) return 'error';\n  var constructorName = ctorName(val);\n\n  switch (constructorName) {\n    case 'Symbol':\n    case 'Promise':\n    case 'WeakMap':\n    case 'WeakSet':\n    case 'Map':\n    case 'Set':\n      return constructorName;\n  } // other\n\n\n  return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n  return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n  return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n  if (val instanceof Date) return true;\n  return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n  var typeOfVal = typeof val;\n\n  if (process.env.NODE_ENV !== 'production') {\n    typeOfVal = miniKindOf(val);\n  }\n\n  return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n  var _ref2;\n\n  if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n  }\n\n  if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n    enhancer = preloadedState;\n    preloadedState = undefined;\n  }\n\n  if (typeof enhancer !== 'undefined') {\n    if (typeof enhancer !== 'function') {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n    }\n\n    return enhancer(createStore)(reducer, preloadedState);\n  }\n\n  if (typeof reducer !== 'function') {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n  }\n\n  var currentReducer = reducer;\n  var currentState = preloadedState;\n  var currentListeners = [];\n  var nextListeners = currentListeners;\n  var isDispatching = false;\n  /**\n   * This makes a shallow copy of currentListeners so we can use\n   * nextListeners as a temporary list while dispatching.\n   *\n   * This prevents any bugs around consumers calling\n   * subscribe/unsubscribe in the middle of a dispatch.\n   */\n\n  function ensureCanMutateNextListeners() {\n    if (nextListeners === currentListeners) {\n      nextListeners = currentListeners.slice();\n    }\n  }\n  /**\n   * Reads the state tree managed by the store.\n   *\n   * @returns {any} The current state tree of your application.\n   */\n\n\n  function getState() {\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n    }\n\n    return currentState;\n  }\n  /**\n   * Adds a change listener. It will be called any time an action is dispatched,\n   * and some part of the state tree may potentially have changed. You may then\n   * call `getState()` to read the current state tree inside the callback.\n   *\n   * You may call `dispatch()` from a change listener, with the following\n   * caveats:\n   *\n   * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n   * If you subscribe or unsubscribe while the listeners are being invoked, this\n   * will not have any effect on the `dispatch()` that is currently in progress.\n   * However, the next `dispatch()` call, whether nested or not, will use a more\n   * recent snapshot of the subscription list.\n   *\n   * 2. The listener should not expect to see all state changes, as the state\n   * might have been updated multiple times during a nested `dispatch()` before\n   * the listener is called. It is, however, guaranteed that all subscribers\n   * registered before the `dispatch()` started will be called with the latest\n   * state by the time it exits.\n   *\n   * @param {Function} listener A callback to be invoked on every dispatch.\n   * @returns {Function} A function to remove this change listener.\n   */\n\n\n  function subscribe(listener) {\n    if (typeof listener !== 'function') {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n    }\n\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n    }\n\n    var isSubscribed = true;\n    ensureCanMutateNextListeners();\n    nextListeners.push(listener);\n    return function unsubscribe() {\n      if (!isSubscribed) {\n        return;\n      }\n\n      if (isDispatching) {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n      }\n\n      isSubscribed = false;\n      ensureCanMutateNextListeners();\n      var index = nextListeners.indexOf(listener);\n      nextListeners.splice(index, 1);\n      currentListeners = null;\n    };\n  }\n  /**\n   * Dispatches an action. It is the only way to trigger a state change.\n   *\n   * The `reducer` function, used to create the store, will be called with the\n   * current state tree and the given `action`. Its return value will\n   * be considered the **next** state of the tree, and the change listeners\n   * will be notified.\n   *\n   * The base implementation only supports plain object actions. If you want to\n   * dispatch a Promise, an Observable, a thunk, or something else, you need to\n   * wrap your store creating function into the corresponding middleware. For\n   * example, see the documentation for the `redux-thunk` package. Even the\n   * middleware will eventually dispatch plain object actions using this method.\n   *\n   * @param {Object} action A plain object representing “what changed”. It is\n   * a good idea to keep actions serializable so you can record and replay user\n   * sessions, or use the time travelling `redux-devtools`. An action must have\n   * a `type` property which may not be `undefined`. It is a good idea to use\n   * string constants for action types.\n   *\n   * @returns {Object} For convenience, the same action object you dispatched.\n   *\n   * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n   * return something else (for example, a Promise you can await).\n   */\n\n\n  function dispatch(action) {\n    if (!isPlainObject(action)) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n    }\n\n    if (typeof action.type === 'undefined') {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n    }\n\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n    }\n\n    try {\n      isDispatching = true;\n      currentState = currentReducer(currentState, action);\n    } finally {\n      isDispatching = false;\n    }\n\n    var listeners = currentListeners = nextListeners;\n\n    for (var i = 0; i < listeners.length; i++) {\n      var listener = listeners[i];\n      listener();\n    }\n\n    return action;\n  }\n  /**\n   * Replaces the reducer currently used by the store to calculate the state.\n   *\n   * You might need this if your app implements code splitting and you want to\n   * load some of the reducers dynamically. You might also need this if you\n   * implement a hot reloading mechanism for Redux.\n   *\n   * @param {Function} nextReducer The reducer for the store to use instead.\n   * @returns {void}\n   */\n\n\n  function replaceReducer(nextReducer) {\n    if (typeof nextReducer !== 'function') {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n    }\n\n    currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n    // Any reducers that existed in both the new and old rootReducer\n    // will receive the previous state. This effectively populates\n    // the new state tree with any relevant data from the old one.\n\n    dispatch({\n      type: ActionTypes.REPLACE\n    });\n  }\n  /**\n   * Interoperability point for observable/reactive libraries.\n   * @returns {observable} A minimal observable of state changes.\n   * For more information, see the observable proposal:\n   * https://github.com/tc39/proposal-observable\n   */\n\n\n  function observable() {\n    var _ref;\n\n    var outerSubscribe = subscribe;\n    return _ref = {\n      /**\n       * The minimal observable subscription method.\n       * @param {Object} observer Any object that can be used as an observer.\n       * The observer object should have a `next` method.\n       * @returns {subscription} An object with an `unsubscribe` method that can\n       * be used to unsubscribe the observable from the store, and prevent further\n       * emission of values from the observable.\n       */\n      subscribe: function subscribe(observer) {\n        if (typeof observer !== 'object' || observer === null) {\n          throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n        }\n\n        function observeState() {\n          if (observer.next) {\n            observer.next(getState());\n          }\n        }\n\n        observeState();\n        var unsubscribe = outerSubscribe(observeState);\n        return {\n          unsubscribe: unsubscribe\n        };\n      }\n    }, _ref[$$observable] = function () {\n      return this;\n    }, _ref;\n  } // When a store is created, an \"INIT\" action is dispatched so that every\n  // reducer returns their initial state. This effectively populates\n  // the initial state tree.\n\n\n  dispatch({\n    type: ActionTypes.INIT\n  });\n  return _ref2 = {\n    dispatch: dispatch,\n    subscribe: subscribe,\n    getState: getState,\n    replaceReducer: replaceReducer\n  }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n  /* eslint-disable no-console */\n  if (typeof console !== 'undefined' && typeof console.error === 'function') {\n    console.error(message);\n  }\n  /* eslint-enable no-console */\n\n\n  try {\n    // This error was thrown as a convenience so that if you enable\n    // \"break on all exceptions\" in your console,\n    // it would pause the execution at this line.\n    throw new Error(message);\n  } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n  var reducerKeys = Object.keys(reducers);\n  var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n  if (reducerKeys.length === 0) {\n    return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n  }\n\n  if (!isPlainObject(inputState)) {\n    return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n  }\n\n  var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n    return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n  });\n  unexpectedKeys.forEach(function (key) {\n    unexpectedKeyCache[key] = true;\n  });\n  if (action && action.type === ActionTypes.REPLACE) return;\n\n  if (unexpectedKeys.length > 0) {\n    return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n  }\n}\n\nfunction assertReducerShape(reducers) {\n  Object.keys(reducers).forEach(function (key) {\n    var reducer = reducers[key];\n    var initialState = reducer(undefined, {\n      type: ActionTypes.INIT\n    });\n\n    if (typeof initialState === 'undefined') {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n    }\n\n    if (typeof reducer(undefined, {\n      type: ActionTypes.PROBE_UNKNOWN_ACTION()\n    }) === 'undefined') {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n    }\n  });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n  var reducerKeys = Object.keys(reducers);\n  var finalReducers = {};\n\n  for (var i = 0; i < reducerKeys.length; i++) {\n    var key = reducerKeys[i];\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (typeof reducers[key] === 'undefined') {\n        warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n      }\n    }\n\n    if (typeof reducers[key] === 'function') {\n      finalReducers[key] = reducers[key];\n    }\n  }\n\n  var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n  // keys multiple times.\n\n  var unexpectedKeyCache;\n\n  if (process.env.NODE_ENV !== 'production') {\n    unexpectedKeyCache = {};\n  }\n\n  var shapeAssertionError;\n\n  try {\n    assertReducerShape(finalReducers);\n  } catch (e) {\n    shapeAssertionError = e;\n  }\n\n  return function combination(state, action) {\n    if (state === void 0) {\n      state = {};\n    }\n\n    if (shapeAssertionError) {\n      throw shapeAssertionError;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n      var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n      if (warningMessage) {\n        warning(warningMessage);\n      }\n    }\n\n    var hasChanged = false;\n    var nextState = {};\n\n    for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n      var _key = finalReducerKeys[_i];\n      var reducer = finalReducers[_key];\n      var previousStateForKey = state[_key];\n      var nextStateForKey = reducer(previousStateForKey, action);\n\n      if (typeof nextStateForKey === 'undefined') {\n        var actionType = action && action.type;\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n      }\n\n      nextState[_key] = nextStateForKey;\n      hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n    }\n\n    hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n    return hasChanged ? nextState : state;\n  };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n  return function () {\n    return dispatch(actionCreator.apply(this, arguments));\n  };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n  if (typeof actionCreators === 'function') {\n    return bindActionCreator(actionCreators, dispatch);\n  }\n\n  if (typeof actionCreators !== 'object' || actionCreators === null) {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n  }\n\n  var boundActionCreators = {};\n\n  for (var key in actionCreators) {\n    var actionCreator = actionCreators[key];\n\n    if (typeof actionCreator === 'function') {\n      boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n    }\n  }\n\n  return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n  for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n    funcs[_key] = arguments[_key];\n  }\n\n  if (funcs.length === 0) {\n    return function (arg) {\n      return arg;\n    };\n  }\n\n  if (funcs.length === 1) {\n    return funcs[0];\n  }\n\n  return funcs.reduce(function (a, b) {\n    return function () {\n      return a(b.apply(void 0, arguments));\n    };\n  });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n  for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n    middlewares[_key] = arguments[_key];\n  }\n\n  return function (createStore) {\n    return function () {\n      var store = createStore.apply(void 0, arguments);\n\n      var _dispatch = function dispatch() {\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n      };\n\n      var middlewareAPI = {\n        getState: store.getState,\n        dispatch: function dispatch() {\n          return _dispatch.apply(void 0, arguments);\n        }\n      };\n      var chain = middlewares.map(function (middleware) {\n        return middleware(middlewareAPI);\n      });\n      _dispatch = compose.apply(void 0, chain)(store.dispatch);\n      return _objectSpread(_objectSpread({}, store), {}, {\n        dispatch: _dispatch\n      });\n    };\n  };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n  // Standard Redux middleware definition pattern:\n  // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n  var middleware = function middleware(_ref) {\n    var dispatch = _ref.dispatch,\n        getState = _ref.getState;\n    return function (next) {\n      return function (action) {\n        // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n        // If this \"action\" is really a function, call it and return the result.\n        if (typeof action === 'function') {\n          // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n          return action(dispatch, getState, extraArgument);\n        } // Otherwise, pass the action down the middleware chain as usual\n\n\n        return next(action);\n      };\n    };\n  };\n\n  return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","var __extends = (this && this.__extends) || (function () {\r\n    var 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    return function (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\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\r\n    for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n        to[j] = from[i];\r\n    return to;\r\n};\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n    for (var prop in b || (b = {}))\r\n        if (__hasOwnProp.call(b, prop))\r\n            __defNormalProp(a, prop, b[prop]);\r\n    if (__getOwnPropSymbols)\r\n        for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n            var prop = _c[_i];\r\n            if (__propIsEnum.call(b, prop))\r\n                __defNormalProp(a, prop, b[prop]);\r\n        }\r\n    return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __async = function (__this, __arguments, generator) {\r\n    return new Promise(function (resolve, reject) {\r\n        var fulfilled = function (value) {\r\n            try {\r\n                step(generator.next(value));\r\n            }\r\n            catch (e) {\r\n                reject(e);\r\n            }\r\n        };\r\n        var rejected = function (value) {\r\n            try {\r\n                step(generator.throw(value));\r\n            }\r\n            catch (e) {\r\n                reject(e);\r\n            }\r\n        };\r\n        var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n        step((generator = generator.apply(__this, __arguments)).next());\r\n    });\r\n};\r\n// src/index.ts\r\nimport { enableES5 } from \"immer\";\r\nexport * from \"redux\";\r\nimport { default as default2, current as current2, freeze, original, isDraft as isDraft4 } from \"immer\";\r\nimport { createSelector as createSelector2 } from \"reselect\";\r\n// src/createDraftSafeSelector.ts\r\nimport { current, isDraft } from \"immer\";\r\nimport { createSelector } from \"reselect\";\r\nvar createDraftSafeSelector = function () {\r\n    var args = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        args[_i] = arguments[_i];\r\n    }\r\n    var selector = createSelector.apply(void 0, args);\r\n    var wrappedSelector = function (value) {\r\n        var rest = [];\r\n        for (var _i = 1; _i < arguments.length; _i++) {\r\n            rest[_i - 1] = arguments[_i];\r\n        }\r\n        return selector.apply(void 0, __spreadArray([isDraft(value) ? current(value) : value], rest));\r\n    };\r\n    return wrappedSelector;\r\n};\r\n// src/configureStore.ts\r\nimport { createStore, compose as compose2, applyMiddleware, combineReducers } from \"redux\";\r\n// src/devtoolsExtension.ts\r\nimport { compose } from \"redux\";\r\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\r\n    if (arguments.length === 0)\r\n        return void 0;\r\n    if (typeof arguments[0] === \"object\")\r\n        return compose;\r\n    return compose.apply(null, arguments);\r\n};\r\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\r\n    return function (noop2) {\r\n        return noop2;\r\n    };\r\n};\r\n// src/isPlainObject.ts\r\nfunction isPlainObject(value) {\r\n    if (typeof value !== \"object\" || value === null)\r\n        return false;\r\n    var proto = Object.getPrototypeOf(value);\r\n    if (proto === null)\r\n        return true;\r\n    var baseProto = proto;\r\n    while (Object.getPrototypeOf(baseProto) !== null) {\r\n        baseProto = Object.getPrototypeOf(baseProto);\r\n    }\r\n    return proto === baseProto;\r\n}\r\n// src/getDefaultMiddleware.ts\r\nimport thunkMiddleware from \"redux-thunk\";\r\n// src/utils.ts\r\nimport createNextState, { isDraftable } from \"immer\";\r\nfunction getTimeMeasureUtils(maxDelay, fnName) {\r\n    var elapsed = 0;\r\n    return {\r\n        measureTime: function (fn) {\r\n            var started = Date.now();\r\n            try {\r\n                return fn();\r\n            }\r\n            finally {\r\n                var finished = Date.now();\r\n                elapsed += finished - started;\r\n            }\r\n        },\r\n        warnIfExceeded: function () {\r\n            if (elapsed > maxDelay) {\r\n                console.warn(fnName + \" took \" + elapsed + \"ms, which is more than the warning threshold of \" + maxDelay + \"ms. \\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\\nIt is disabled in production builds, so you don't need to worry about that.\");\r\n            }\r\n        }\r\n    };\r\n}\r\nvar MiddlewareArray = /** @class */ (function (_super) {\r\n    __extends(MiddlewareArray, _super);\r\n    function MiddlewareArray() {\r\n        var args = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            args[_i] = arguments[_i];\r\n        }\r\n        var _this = _super.apply(this, args) || this;\r\n        Object.setPrototypeOf(_this, MiddlewareArray.prototype);\r\n        return _this;\r\n    }\r\n    Object.defineProperty(MiddlewareArray, Symbol.species, {\r\n        get: function () {\r\n            return MiddlewareArray;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    MiddlewareArray.prototype.concat = function () {\r\n        var arr = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            arr[_i] = arguments[_i];\r\n        }\r\n        return _super.prototype.concat.apply(this, arr);\r\n    };\r\n    MiddlewareArray.prototype.prepend = function () {\r\n        var arr = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            arr[_i] = arguments[_i];\r\n        }\r\n        if (arr.length === 1 && Array.isArray(arr[0])) {\r\n            return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n        }\r\n        return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();\r\n    };\r\n    return MiddlewareArray;\r\n}(Array));\r\nvar EnhancerArray = /** @class */ (function (_super) {\r\n    __extends(EnhancerArray, _super);\r\n    function EnhancerArray() {\r\n        var args = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            args[_i] = arguments[_i];\r\n        }\r\n        var _this = _super.apply(this, args) || this;\r\n        Object.setPrototypeOf(_this, EnhancerArray.prototype);\r\n        return _this;\r\n    }\r\n    Object.defineProperty(EnhancerArray, Symbol.species, {\r\n        get: function () {\r\n            return EnhancerArray;\r\n        },\r\n        enumerable: false,\r\n        configurable: true\r\n    });\r\n    EnhancerArray.prototype.concat = function () {\r\n        var arr = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            arr[_i] = arguments[_i];\r\n        }\r\n        return _super.prototype.concat.apply(this, arr);\r\n    };\r\n    EnhancerArray.prototype.prepend = function () {\r\n        var arr = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            arr[_i] = arguments[_i];\r\n        }\r\n        if (arr.length === 1 && Array.isArray(arr[0])) {\r\n            return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n        }\r\n        return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))();\r\n    };\r\n    return EnhancerArray;\r\n}(Array));\r\nfunction freezeDraftable(val) {\r\n    return isDraftable(val) ? createNextState(val, function () {\r\n    }) : val;\r\n}\r\n// src/immutableStateInvariantMiddleware.ts\r\nvar isProduction = process.env.NODE_ENV === \"production\";\r\nvar prefix = \"Invariant failed\";\r\nfunction invariant(condition, message) {\r\n    if (condition) {\r\n        return;\r\n    }\r\n    if (isProduction) {\r\n        throw new Error(prefix);\r\n    }\r\n    throw new Error(prefix + \": \" + (message || \"\"));\r\n}\r\nfunction stringify(obj, serializer, indent, decycler) {\r\n    return JSON.stringify(obj, getSerialize(serializer, decycler), indent);\r\n}\r\nfunction getSerialize(serializer, decycler) {\r\n    var stack = [], keys = [];\r\n    if (!decycler)\r\n        decycler = function (_, value) {\r\n            if (stack[0] === value)\r\n                return \"[Circular ~]\";\r\n            return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\r\n        };\r\n    return function (key, value) {\r\n        if (stack.length > 0) {\r\n            var thisPos = stack.indexOf(this);\r\n            ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\r\n            ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\r\n            if (~stack.indexOf(value))\r\n                value = decycler.call(this, key, value);\r\n        }\r\n        else\r\n            stack.push(value);\r\n        return serializer == null ? value : serializer.call(this, key, value);\r\n    };\r\n}\r\nfunction isImmutableDefault(value) {\r\n    return typeof value !== \"object\" || value == null || Object.isFrozen(value);\r\n}\r\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\r\n    var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\r\n    return {\r\n        detectMutations: function () {\r\n            return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\r\n        }\r\n    };\r\n}\r\nfunction trackProperties(isImmutable, ignorePaths, obj, path) {\r\n    if (ignorePaths === void 0) { ignorePaths = []; }\r\n    if (path === void 0) { path = \"\"; }\r\n    var tracked = { value: obj };\r\n    if (!isImmutable(obj)) {\r\n        tracked.children = {};\r\n        for (var key in obj) {\r\n            var childPath = path ? path + \".\" + key : key;\r\n            if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n                continue;\r\n            }\r\n            tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\r\n        }\r\n    }\r\n    return tracked;\r\n}\r\nfunction detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) {\r\n    if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n    if (sameParentRef === void 0) { sameParentRef = false; }\r\n    if (path === void 0) { path = \"\"; }\r\n    var prevObj = trackedProperty ? trackedProperty.value : void 0;\r\n    var sameRef = prevObj === obj;\r\n    if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n        return { wasMutated: true, path: path };\r\n    }\r\n    if (isImmutable(prevObj) || isImmutable(obj)) {\r\n        return { wasMutated: false };\r\n    }\r\n    var keysToDetect = {};\r\n    for (var key in trackedProperty.children) {\r\n        keysToDetect[key] = true;\r\n    }\r\n    for (var key in obj) {\r\n        keysToDetect[key] = true;\r\n    }\r\n    var hasIgnoredPaths = ignoredPaths.length > 0;\r\n    var _loop_1 = function (key) {\r\n        var nestedPath = path ? path + \".\" + key : key;\r\n        if (hasIgnoredPaths) {\r\n            var hasMatches = ignoredPaths.some(function (ignored) {\r\n                if (ignored instanceof RegExp) {\r\n                    return ignored.test(nestedPath);\r\n                }\r\n                return nestedPath === ignored;\r\n            });\r\n            if (hasMatches) {\r\n                return \"continue\";\r\n            }\r\n        }\r\n        var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath);\r\n        if (result.wasMutated) {\r\n            return { value: result };\r\n        }\r\n    };\r\n    for (var key in keysToDetect) {\r\n        var state_1 = _loop_1(key);\r\n        if (typeof state_1 === \"object\")\r\n            return state_1.value;\r\n    }\r\n    return { wasMutated: false };\r\n}\r\nfunction createImmutableStateInvariantMiddleware(options) {\r\n    if (options === void 0) { options = {}; }\r\n    if (process.env.NODE_ENV === \"production\") {\r\n        return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n    }\r\n    var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;\r\n    ignoredPaths = ignoredPaths || ignore;\r\n    var track = trackForMutations.bind(null, isImmutable, ignoredPaths);\r\n    return function (_c) {\r\n        var getState = _c.getState;\r\n        var state = getState();\r\n        var tracker = track(state);\r\n        var result;\r\n        return function (next) { return function (action) {\r\n            var measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\r\n            measureUtils.measureTime(function () {\r\n                state = getState();\r\n                result = tracker.detectMutations();\r\n                tracker = track(state);\r\n                invariant(!result.wasMutated, \"A state mutation was detected between dispatches, in the path '\" + (result.path || \"\") + \"'.  This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n            });\r\n            var dispatchedAction = next(action);\r\n            measureUtils.measureTime(function () {\r\n                state = getState();\r\n                result = tracker.detectMutations();\r\n                tracker = track(state);\r\n                result.wasMutated && invariant(!result.wasMutated, \"A state mutation was detected inside a dispatch, in the path: \" + (result.path || \"\") + \". Take a look at the reducer(s) handling the action \" + stringify(action) + \". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n            });\r\n            measureUtils.warnIfExceeded();\r\n            return dispatchedAction;\r\n        }; };\r\n    };\r\n}\r\n// src/serializableStateInvariantMiddleware.ts\r\nfunction isPlain(val) {\r\n    var type = typeof val;\r\n    return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) {\r\n    if (path === void 0) { path = \"\"; }\r\n    if (isSerializable === void 0) { isSerializable = isPlain; }\r\n    if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n    var foundNestedSerializable;\r\n    if (!isSerializable(value)) {\r\n        return {\r\n            keyPath: path || \"<root>\",\r\n            value: value\r\n        };\r\n    }\r\n    if (typeof value !== \"object\" || value === null) {\r\n        return false;\r\n    }\r\n    if (cache == null ? void 0 : cache.has(value))\r\n        return false;\r\n    var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n    var hasIgnoredPaths = ignoredPaths.length > 0;\r\n    var _loop_2 = function (key, nestedValue) {\r\n        var nestedPath = path ? path + \".\" + key : key;\r\n        if (hasIgnoredPaths) {\r\n            var hasMatches = ignoredPaths.some(function (ignored) {\r\n                if (ignored instanceof RegExp) {\r\n                    return ignored.test(nestedPath);\r\n                }\r\n                return nestedPath === ignored;\r\n            });\r\n            if (hasMatches) {\r\n                return \"continue\";\r\n            }\r\n        }\r\n        if (!isSerializable(nestedValue)) {\r\n            return { value: {\r\n                    keyPath: nestedPath,\r\n                    value: nestedValue\r\n                } };\r\n        }\r\n        if (typeof nestedValue === \"object\") {\r\n            foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache);\r\n            if (foundNestedSerializable) {\r\n                return { value: foundNestedSerializable };\r\n            }\r\n        }\r\n    };\r\n    for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n        var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];\r\n        var state_2 = _loop_2(key, nestedValue);\r\n        if (typeof state_2 === \"object\")\r\n            return state_2.value;\r\n    }\r\n    if (cache && isNestedFrozen(value))\r\n        cache.add(value);\r\n    return false;\r\n}\r\nfunction isNestedFrozen(value) {\r\n    if (!Object.isFrozen(value))\r\n        return false;\r\n    for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) {\r\n        var nestedValue = _c[_i];\r\n        if (typeof nestedValue !== \"object\" || nestedValue === null)\r\n            continue;\r\n        if (!isNestedFrozen(nestedValue))\r\n            return false;\r\n    }\r\n    return true;\r\n}\r\nfunction createSerializableStateInvariantMiddleware(options) {\r\n    if (options === void 0) { options = {}; }\r\n    if (process.env.NODE_ENV === \"production\") {\r\n        return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n    }\r\n    var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? [\"meta.arg\", \"meta.baseQueryMeta\"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k;\r\n    var cache = !disableCache && WeakSet ? new WeakSet() : void 0;\r\n    return function (storeAPI) { return function (next) { return function (action) {\r\n        var result = next(action);\r\n        var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n        if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\r\n            measureUtils.measureTime(function () {\r\n                var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths, cache);\r\n                if (foundActionNonSerializableValue) {\r\n                    var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;\r\n                    console.error(\"A non-serializable value was detected in an action, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\r\n                }\r\n            });\r\n        }\r\n        if (!ignoreState) {\r\n            measureUtils.measureTime(function () {\r\n                var state = storeAPI.getState();\r\n                var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths, cache);\r\n                if (foundStateNonSerializableValue) {\r\n                    var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;\r\n                    console.error(\"A non-serializable value was detected in the state, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the reducer(s) handling this action type: \" + action.type + \".\\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)\");\r\n                }\r\n            });\r\n            measureUtils.warnIfExceeded();\r\n        }\r\n        return result;\r\n    }; }; };\r\n}\r\n// src/getDefaultMiddleware.ts\r\nfunction isBoolean(x) {\r\n    return typeof x === \"boolean\";\r\n}\r\nfunction curryGetDefaultMiddleware() {\r\n    return function curriedGetDefaultMiddleware(options) {\r\n        return getDefaultMiddleware(options);\r\n    };\r\n}\r\nfunction getDefaultMiddleware(options) {\r\n    if (options === void 0) { options = {}; }\r\n    var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e;\r\n    var middlewareArray = new MiddlewareArray();\r\n    if (thunk) {\r\n        if (isBoolean(thunk)) {\r\n            middlewareArray.push(thunkMiddleware);\r\n        }\r\n        else {\r\n            middlewareArray.push(thunkMiddleware.withExtraArgument(thunk.extraArgument));\r\n        }\r\n    }\r\n    if (process.env.NODE_ENV !== \"production\") {\r\n        if (immutableCheck) {\r\n            var immutableOptions = {};\r\n            if (!isBoolean(immutableCheck)) {\r\n                immutableOptions = immutableCheck;\r\n            }\r\n            middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\r\n        }\r\n        if (serializableCheck) {\r\n            var serializableOptions = {};\r\n            if (!isBoolean(serializableCheck)) {\r\n                serializableOptions = serializableCheck;\r\n            }\r\n            middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\r\n        }\r\n    }\r\n    return middlewareArray;\r\n}\r\n// src/configureStore.ts\r\nvar IS_PRODUCTION = process.env.NODE_ENV === \"production\";\r\nfunction configureStore(options) {\r\n    var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();\r\n    var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;\r\n    var rootReducer;\r\n    if (typeof reducer === \"function\") {\r\n        rootReducer = reducer;\r\n    }\r\n    else if (isPlainObject(reducer)) {\r\n        rootReducer = combineReducers(reducer);\r\n    }\r\n    else {\r\n        throw new Error('\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');\r\n    }\r\n    var finalMiddleware = middleware;\r\n    if (typeof finalMiddleware === \"function\") {\r\n        finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);\r\n        if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n            throw new Error(\"when using a middleware builder function, an array of middleware must be returned\");\r\n        }\r\n    }\r\n    if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== \"function\"; })) {\r\n        throw new Error(\"each middleware provided to configureStore must be a function\");\r\n    }\r\n    var middlewareEnhancer = applyMiddleware.apply(void 0, finalMiddleware);\r\n    var finalCompose = compose2;\r\n    if (devTools) {\r\n        finalCompose = composeWithDevTools(__spreadValues({\r\n            trace: !IS_PRODUCTION\r\n        }, typeof devTools === \"object\" && devTools));\r\n    }\r\n    var defaultEnhancers = new EnhancerArray(middlewareEnhancer);\r\n    var storeEnhancers = defaultEnhancers;\r\n    if (Array.isArray(enhancers)) {\r\n        storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);\r\n    }\r\n    else if (typeof enhancers === \"function\") {\r\n        storeEnhancers = enhancers(defaultEnhancers);\r\n    }\r\n    var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n    return createStore(rootReducer, preloadedState, composedEnhancer);\r\n}\r\n// src/createAction.ts\r\nfunction createAction(type, prepareAction) {\r\n    function actionCreator() {\r\n        var args = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            args[_i] = arguments[_i];\r\n        }\r\n        if (prepareAction) {\r\n            var prepared = prepareAction.apply(void 0, args);\r\n            if (!prepared) {\r\n                throw new Error(\"prepareAction did not return an object\");\r\n            }\r\n            return __spreadValues(__spreadValues({\r\n                type: type,\r\n                payload: prepared.payload\r\n            }, \"meta\" in prepared && { meta: prepared.meta }), \"error\" in prepared && { error: prepared.error });\r\n        }\r\n        return { type: type, payload: args[0] };\r\n    }\r\n    actionCreator.toString = function () { return \"\" + type; };\r\n    actionCreator.type = type;\r\n    actionCreator.match = function (action) { return action.type === type; };\r\n    return actionCreator;\r\n}\r\nfunction isAction(action) {\r\n    return isPlainObject(action) && \"type\" in action;\r\n}\r\nfunction isFSA(action) {\r\n    return isAction(action) && typeof action.type === \"string\" && Object.keys(action).every(isValidKey);\r\n}\r\nfunction isValidKey(key) {\r\n    return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\r\n}\r\nfunction getType(actionCreator) {\r\n    return \"\" + actionCreator;\r\n}\r\n// src/createReducer.ts\r\nimport createNextState2, { isDraft as isDraft2, isDraftable as isDraftable2 } from \"immer\";\r\n// src/mapBuilders.ts\r\nfunction executeReducerBuilderCallback(builderCallback) {\r\n    var actionsMap = {};\r\n    var actionMatchers = [];\r\n    var defaultCaseReducer;\r\n    var builder = {\r\n        addCase: function (typeOrActionCreator, reducer) {\r\n            if (process.env.NODE_ENV !== \"production\") {\r\n                if (actionMatchers.length > 0) {\r\n                    throw new Error(\"`builder.addCase` should only be called before calling `builder.addMatcher`\");\r\n                }\r\n                if (defaultCaseReducer) {\r\n                    throw new Error(\"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\r\n                }\r\n            }\r\n            var type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\r\n            if (type in actionsMap) {\r\n                throw new Error(\"addCase cannot be called with two reducers for the same action type\");\r\n            }\r\n            actionsMap[type] = reducer;\r\n            return builder;\r\n        },\r\n        addMatcher: function (matcher, reducer) {\r\n            if (process.env.NODE_ENV !== \"production\") {\r\n                if (defaultCaseReducer) {\r\n                    throw new Error(\"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\r\n                }\r\n            }\r\n            actionMatchers.push({ matcher: matcher, reducer: reducer });\r\n            return builder;\r\n        },\r\n        addDefaultCase: function (reducer) {\r\n            if (process.env.NODE_ENV !== \"production\") {\r\n                if (defaultCaseReducer) {\r\n                    throw new Error(\"`builder.addDefaultCase` can only be called once\");\r\n                }\r\n            }\r\n            defaultCaseReducer = reducer;\r\n            return builder;\r\n        }\r\n    };\r\n    builderCallback(builder);\r\n    return [actionsMap, actionMatchers, defaultCaseReducer];\r\n}\r\n// src/createReducer.ts\r\nfunction isStateFunction(x) {\r\n    return typeof x === \"function\";\r\n}\r\nvar hasWarnedAboutObjectNotation = false;\r\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n    if (actionMatchers === void 0) { actionMatchers = []; }\r\n    if (process.env.NODE_ENV !== \"production\") {\r\n        if (typeof mapOrBuilderCallback === \"object\") {\r\n            if (!hasWarnedAboutObjectNotation) {\r\n                hasWarnedAboutObjectNotation = true;\r\n                console.warn(\"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\r\n            }\r\n        }\r\n    }\r\n    var _c = typeof mapOrBuilderCallback === \"function\" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];\r\n    var getInitialState;\r\n    if (isStateFunction(initialState)) {\r\n        getInitialState = function () { return freezeDraftable(initialState()); };\r\n    }\r\n    else {\r\n        var frozenInitialState_1 = freezeDraftable(initialState);\r\n        getInitialState = function () { return frozenInitialState_1; };\r\n    }\r\n    function reducer(state, action) {\r\n        if (state === void 0) { state = getInitialState(); }\r\n        var caseReducers = __spreadArray([\r\n            actionsMap[action.type]\r\n        ], finalActionMatchers.filter(function (_c) {\r\n            var matcher = _c.matcher;\r\n            return matcher(action);\r\n        }).map(function (_c) {\r\n            var reducer2 = _c.reducer;\r\n            return reducer2;\r\n        }));\r\n        if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {\r\n            caseReducers = [finalDefaultCaseReducer];\r\n        }\r\n        return caseReducers.reduce(function (previousState, caseReducer) {\r\n            if (caseReducer) {\r\n                if (isDraft2(previousState)) {\r\n                    var draft = previousState;\r\n                    var result = caseReducer(draft, action);\r\n                    if (result === void 0) {\r\n                        return previousState;\r\n                    }\r\n                    return result;\r\n                }\r\n                else if (!isDraftable2(previousState)) {\r\n                    var result = caseReducer(previousState, action);\r\n                    if (result === void 0) {\r\n                        if (previousState === null) {\r\n                            return previousState;\r\n                        }\r\n                        throw Error(\"A case reducer on a non-draftable value must not return undefined\");\r\n                    }\r\n                    return result;\r\n                }\r\n                else {\r\n                    return createNextState2(previousState, function (draft) {\r\n                        return caseReducer(draft, action);\r\n                    });\r\n                }\r\n            }\r\n            return previousState;\r\n        }, state);\r\n    }\r\n    reducer.getInitialState = getInitialState;\r\n    return reducer;\r\n}\r\n// src/createSlice.ts\r\nvar hasWarnedAboutObjectNotation2 = false;\r\nfunction getType2(slice, actionKey) {\r\n    return slice + \"/\" + actionKey;\r\n}\r\nfunction createSlice(options) {\r\n    var name = options.name;\r\n    if (!name) {\r\n        throw new Error(\"`name` is a required option for createSlice\");\r\n    }\r\n    if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n        if (options.initialState === void 0) {\r\n            console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\r\n        }\r\n    }\r\n    var initialState = typeof options.initialState == \"function\" ? options.initialState : freezeDraftable(options.initialState);\r\n    var reducers = options.reducers || {};\r\n    var reducerNames = Object.keys(reducers);\r\n    var sliceCaseReducersByName = {};\r\n    var sliceCaseReducersByType = {};\r\n    var actionCreators = {};\r\n    reducerNames.forEach(function (reducerName) {\r\n        var maybeReducerWithPrepare = reducers[reducerName];\r\n        var type = getType2(name, reducerName);\r\n        var caseReducer;\r\n        var prepareCallback;\r\n        if (\"reducer\" in maybeReducerWithPrepare) {\r\n            caseReducer = maybeReducerWithPrepare.reducer;\r\n            prepareCallback = maybeReducerWithPrepare.prepare;\r\n        }\r\n        else {\r\n            caseReducer = maybeReducerWithPrepare;\r\n        }\r\n        sliceCaseReducersByName[reducerName] = caseReducer;\r\n        sliceCaseReducersByType[type] = caseReducer;\r\n        actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);\r\n    });\r\n    function buildReducer() {\r\n        if (process.env.NODE_ENV !== \"production\") {\r\n            if (typeof options.extraReducers === \"object\") {\r\n                if (!hasWarnedAboutObjectNotation2) {\r\n                    hasWarnedAboutObjectNotation2 = true;\r\n                    console.warn(\"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\r\n                }\r\n            }\r\n        }\r\n        var _c = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;\r\n        var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);\r\n        return createReducer(initialState, function (builder) {\r\n            for (var key in finalCaseReducers) {\r\n                builder.addCase(key, finalCaseReducers[key]);\r\n            }\r\n            for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) {\r\n                var m = actionMatchers_1[_i];\r\n                builder.addMatcher(m.matcher, m.reducer);\r\n            }\r\n            if (defaultCaseReducer) {\r\n                builder.addDefaultCase(defaultCaseReducer);\r\n            }\r\n        });\r\n    }\r\n    var _reducer;\r\n    return {\r\n        name: name,\r\n        reducer: function (state, action) {\r\n            if (!_reducer)\r\n                _reducer = buildReducer();\r\n            return _reducer(state, action);\r\n        },\r\n        actions: actionCreators,\r\n        caseReducers: sliceCaseReducersByName,\r\n        getInitialState: function () {\r\n            if (!_reducer)\r\n                _reducer = buildReducer();\r\n            return _reducer.getInitialState();\r\n        }\r\n    };\r\n}\r\n// src/entities/entity_state.ts\r\nfunction getInitialEntityState() {\r\n    return {\r\n        ids: [],\r\n        entities: {}\r\n    };\r\n}\r\nfunction createInitialStateFactory() {\r\n    function getInitialState(additionalState) {\r\n        if (additionalState === void 0) { additionalState = {}; }\r\n        return Object.assign(getInitialEntityState(), additionalState);\r\n    }\r\n    return { getInitialState: getInitialState };\r\n}\r\n// src/entities/state_selectors.ts\r\nfunction createSelectorsFactory() {\r\n    function getSelectors(selectState) {\r\n        var selectIds = function (state) { return state.ids; };\r\n        var selectEntities = function (state) { return state.entities; };\r\n        var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });\r\n        var selectId = function (_, id) { return id; };\r\n        var selectById = function (entities, id) { return entities[id]; };\r\n        var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });\r\n        if (!selectState) {\r\n            return {\r\n                selectIds: selectIds,\r\n                selectEntities: selectEntities,\r\n                selectAll: selectAll,\r\n                selectTotal: selectTotal,\r\n                selectById: createDraftSafeSelector(selectEntities, selectId, selectById)\r\n            };\r\n        }\r\n        var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);\r\n        return {\r\n            selectIds: createDraftSafeSelector(selectState, selectIds),\r\n            selectEntities: selectGlobalizedEntities,\r\n            selectAll: createDraftSafeSelector(selectState, selectAll),\r\n            selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n            selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)\r\n        };\r\n    }\r\n    return { getSelectors: getSelectors };\r\n}\r\n// src/entities/state_adapter.ts\r\nimport createNextState3, { isDraft as isDraft3 } from \"immer\";\r\nfunction createSingleArgumentStateOperator(mutator) {\r\n    var operator = createStateOperator(function (_, state) { return mutator(state); });\r\n    return function operation(state) {\r\n        return operator(state, void 0);\r\n    };\r\n}\r\nfunction createStateOperator(mutator) {\r\n    return function operation(state, arg) {\r\n        function isPayloadActionArgument(arg2) {\r\n            return isFSA(arg2);\r\n        }\r\n        var runMutator = function (draft) {\r\n            if (isPayloadActionArgument(arg)) {\r\n                mutator(arg.payload, draft);\r\n            }\r\n            else {\r\n                mutator(arg, draft);\r\n            }\r\n        };\r\n        if (isDraft3(state)) {\r\n            runMutator(state);\r\n            return state;\r\n        }\r\n        else {\r\n            return createNextState3(state, runMutator);\r\n        }\r\n    };\r\n}\r\n// src/entities/utils.ts\r\nfunction selectIdValue(entity, selectId) {\r\n    var key = selectId(entity);\r\n    if (process.env.NODE_ENV !== \"production\" && key === void 0) {\r\n        console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\r\n    }\r\n    return key;\r\n}\r\nfunction ensureEntitiesArray(entities) {\r\n    if (!Array.isArray(entities)) {\r\n        entities = Object.values(entities);\r\n    }\r\n    return entities;\r\n}\r\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\r\n    newEntities = ensureEntitiesArray(newEntities);\r\n    var added = [];\r\n    var updated = [];\r\n    for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {\r\n        var entity = newEntities_1[_i];\r\n        var id = selectIdValue(entity, selectId);\r\n        if (id in state.entities) {\r\n            updated.push({ id: id, changes: entity });\r\n        }\r\n        else {\r\n            added.push(entity);\r\n        }\r\n    }\r\n    return [added, updated];\r\n}\r\n// src/entities/unsorted_state_adapter.ts\r\nfunction createUnsortedStateAdapter(selectId) {\r\n    function addOneMutably(entity, state) {\r\n        var key = selectIdValue(entity, selectId);\r\n        if (key in state.entities) {\r\n            return;\r\n        }\r\n        state.ids.push(key);\r\n        state.entities[key] = entity;\r\n    }\r\n    function addManyMutably(newEntities, state) {\r\n        newEntities = ensureEntitiesArray(newEntities);\r\n        for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {\r\n            var entity = newEntities_2[_i];\r\n            addOneMutably(entity, state);\r\n        }\r\n    }\r\n    function setOneMutably(entity, state) {\r\n        var key = selectIdValue(entity, selectId);\r\n        if (!(key in state.entities)) {\r\n            state.ids.push(key);\r\n        }\r\n        state.entities[key] = entity;\r\n    }\r\n    function setManyMutably(newEntities, state) {\r\n        newEntities = ensureEntitiesArray(newEntities);\r\n        for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {\r\n            var entity = newEntities_3[_i];\r\n            setOneMutably(entity, state);\r\n        }\r\n    }\r\n    function setAllMutably(newEntities, state) {\r\n        newEntities = ensureEntitiesArray(newEntities);\r\n        state.ids = [];\r\n        state.entities = {};\r\n        addManyMutably(newEntities, state);\r\n    }\r\n    function removeOneMutably(key, state) {\r\n        return removeManyMutably([key], state);\r\n    }\r\n    function removeManyMutably(keys, state) {\r\n        var didMutate = false;\r\n        keys.forEach(function (key) {\r\n            if (key in state.entities) {\r\n                delete state.entities[key];\r\n                didMutate = true;\r\n            }\r\n        });\r\n        if (didMutate) {\r\n            state.ids = state.ids.filter(function (id) { return id in state.entities; });\r\n        }\r\n    }\r\n    function removeAllMutably(state) {\r\n        Object.assign(state, {\r\n            ids: [],\r\n            entities: {}\r\n        });\r\n    }\r\n    function takeNewKey(keys, update, state) {\r\n        var original2 = state.entities[update.id];\r\n        var updated = Object.assign({}, original2, update.changes);\r\n        var newKey = selectIdValue(updated, selectId);\r\n        var hasNewKey = newKey !== update.id;\r\n        if (hasNewKey) {\r\n            keys[update.id] = newKey;\r\n            delete state.entities[update.id];\r\n        }\r\n        state.entities[newKey] = updated;\r\n        return hasNewKey;\r\n    }\r\n    function updateOneMutably(update, state) {\r\n        return updateManyMutably([update], state);\r\n    }\r\n    function updateManyMutably(updates, state) {\r\n        var newKeys = {};\r\n        var updatesPerEntity = {};\r\n        updates.forEach(function (update) {\r\n            if (update.id in state.entities) {\r\n                updatesPerEntity[update.id] = {\r\n                    id: update.id,\r\n                    changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)\r\n                };\r\n            }\r\n        });\r\n        updates = Object.values(updatesPerEntity);\r\n        var didMutateEntities = updates.length > 0;\r\n        if (didMutateEntities) {\r\n            var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\r\n            if (didMutateIds) {\r\n                state.ids = Object.keys(state.entities);\r\n            }\r\n        }\r\n    }\r\n    function upsertOneMutably(entity, state) {\r\n        return upsertManyMutably([entity], state);\r\n    }\r\n    function upsertManyMutably(newEntities, state) {\r\n        var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n        updateManyMutably(updated, state);\r\n        addManyMutably(added, state);\r\n    }\r\n    return {\r\n        removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n        addOne: createStateOperator(addOneMutably),\r\n        addMany: createStateOperator(addManyMutably),\r\n        setOne: createStateOperator(setOneMutably),\r\n        setMany: createStateOperator(setManyMutably),\r\n        setAll: createStateOperator(setAllMutably),\r\n        updateOne: createStateOperator(updateOneMutably),\r\n        updateMany: createStateOperator(updateManyMutably),\r\n        upsertOne: createStateOperator(upsertOneMutably),\r\n        upsertMany: createStateOperator(upsertManyMutably),\r\n        removeOne: createStateOperator(removeOneMutably),\r\n        removeMany: createStateOperator(removeManyMutably)\r\n    };\r\n}\r\n// src/entities/sorted_state_adapter.ts\r\nfunction createSortedStateAdapter(selectId, sort) {\r\n    var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;\r\n    function addOneMutably(entity, state) {\r\n        return addManyMutably([entity], state);\r\n    }\r\n    function addManyMutably(newEntities, state) {\r\n        newEntities = ensureEntitiesArray(newEntities);\r\n        var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\r\n        if (models.length !== 0) {\r\n            merge(models, state);\r\n        }\r\n    }\r\n    function setOneMutably(entity, state) {\r\n        return setManyMutably([entity], state);\r\n    }\r\n    function setManyMutably(newEntities, state) {\r\n        newEntities = ensureEntitiesArray(newEntities);\r\n        if (newEntities.length !== 0) {\r\n            merge(newEntities, state);\r\n        }\r\n    }\r\n    function setAllMutably(newEntities, state) {\r\n        newEntities = ensureEntitiesArray(newEntities);\r\n        state.entities = {};\r\n        state.ids = [];\r\n        addManyMutably(newEntities, state);\r\n    }\r\n    function updateOneMutably(update, state) {\r\n        return updateManyMutably([update], state);\r\n    }\r\n    function updateManyMutably(updates, state) {\r\n        var appliedUpdates = false;\r\n        for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) {\r\n            var update = updates_1[_i];\r\n            var entity = state.entities[update.id];\r\n            if (!entity) {\r\n                continue;\r\n            }\r\n            appliedUpdates = true;\r\n            Object.assign(entity, update.changes);\r\n            var newId = selectId(entity);\r\n            if (update.id !== newId) {\r\n                delete state.entities[update.id];\r\n                state.entities[newId] = entity;\r\n            }\r\n        }\r\n        if (appliedUpdates) {\r\n            resortEntities(state);\r\n        }\r\n    }\r\n    function upsertOneMutably(entity, state) {\r\n        return upsertManyMutably([entity], state);\r\n    }\r\n    function upsertManyMutably(newEntities, state) {\r\n        var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n        updateManyMutably(updated, state);\r\n        addManyMutably(added, state);\r\n    }\r\n    function areArraysEqual(a, b) {\r\n        if (a.length !== b.length) {\r\n            return false;\r\n        }\r\n        for (var i = 0; i < a.length && i < b.length; i++) {\r\n            if (a[i] === b[i]) {\r\n                continue;\r\n            }\r\n            return false;\r\n        }\r\n        return true;\r\n    }\r\n    function merge(models, state) {\r\n        models.forEach(function (model) {\r\n            state.entities[selectId(model)] = model;\r\n        });\r\n        resortEntities(state);\r\n    }\r\n    function resortEntities(state) {\r\n        var allEntities = Object.values(state.entities);\r\n        allEntities.sort(sort);\r\n        var newSortedIds = allEntities.map(selectId);\r\n        var ids = state.ids;\r\n        if (!areArraysEqual(ids, newSortedIds)) {\r\n            state.ids = newSortedIds;\r\n        }\r\n    }\r\n    return {\r\n        removeOne: removeOne,\r\n        removeMany: removeMany,\r\n        removeAll: removeAll,\r\n        addOne: createStateOperator(addOneMutably),\r\n        updateOne: createStateOperator(updateOneMutably),\r\n        upsertOne: createStateOperator(upsertOneMutably),\r\n        setOne: createStateOperator(setOneMutably),\r\n        setMany: createStateOperator(setManyMutably),\r\n        setAll: createStateOperator(setAllMutably),\r\n        addMany: createStateOperator(addManyMutably),\r\n        updateMany: createStateOperator(updateManyMutably),\r\n        upsertMany: createStateOperator(upsertManyMutably)\r\n    };\r\n}\r\n// src/entities/create_adapter.ts\r\nfunction createEntityAdapter(options) {\r\n    if (options === void 0) { options = {}; }\r\n    var _c = __spreadValues({\r\n        sortComparer: false,\r\n        selectId: function (instance) { return instance.id; }\r\n    }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;\r\n    var stateFactory = createInitialStateFactory();\r\n    var selectorsFactory = createSelectorsFactory();\r\n    var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\r\n    return __spreadValues(__spreadValues(__spreadValues({\r\n        selectId: selectId,\r\n        sortComparer: sortComparer\r\n    }, stateFactory), selectorsFactory), stateAdapter);\r\n}\r\n// src/nanoid.ts\r\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\r\nvar nanoid = function (size) {\r\n    if (size === void 0) { size = 21; }\r\n    var id = \"\";\r\n    var i = size;\r\n    while (i--) {\r\n        id += urlAlphabet[Math.random() * 64 | 0];\r\n    }\r\n    return id;\r\n};\r\n// src/createAsyncThunk.ts\r\nvar commonProperties = [\r\n    \"name\",\r\n    \"message\",\r\n    \"stack\",\r\n    \"code\"\r\n];\r\nvar RejectWithValue = /** @class */ (function () {\r\n    function RejectWithValue(payload, meta) {\r\n        this.payload = payload;\r\n        this.meta = meta;\r\n    }\r\n    return RejectWithValue;\r\n}());\r\nvar FulfillWithMeta = /** @class */ (function () {\r\n    function FulfillWithMeta(payload, meta) {\r\n        this.payload = payload;\r\n        this.meta = meta;\r\n    }\r\n    return FulfillWithMeta;\r\n}());\r\nvar miniSerializeError = function (value) {\r\n    if (typeof value === \"object\" && value !== null) {\r\n        var simpleError = {};\r\n        for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {\r\n            var property = commonProperties_1[_i];\r\n            if (typeof value[property] === \"string\") {\r\n                simpleError[property] = value[property];\r\n            }\r\n        }\r\n        return simpleError;\r\n    }\r\n    return { message: String(value) };\r\n};\r\nvar createAsyncThunk = (function () {\r\n    function createAsyncThunk2(typePrefix, payloadCreator, options) {\r\n        var fulfilled = createAction(typePrefix + \"/fulfilled\", function (payload, requestId, arg, meta) { return ({\r\n            payload: payload,\r\n            meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n                arg: arg,\r\n                requestId: requestId,\r\n                requestStatus: \"fulfilled\"\r\n            })\r\n        }); });\r\n        var pending = createAction(typePrefix + \"/pending\", function (requestId, arg, meta) { return ({\r\n            payload: void 0,\r\n            meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n                arg: arg,\r\n                requestId: requestId,\r\n                requestStatus: \"pending\"\r\n            })\r\n        }); });\r\n        var rejected = createAction(typePrefix + \"/rejected\", function (error, requestId, arg, payload, meta) { return ({\r\n            payload: payload,\r\n            error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\r\n            meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n                arg: arg,\r\n                requestId: requestId,\r\n                rejectedWithValue: !!payload,\r\n                requestStatus: \"rejected\",\r\n                aborted: (error == null ? void 0 : error.name) === \"AbortError\",\r\n                condition: (error == null ? void 0 : error.name) === \"ConditionError\"\r\n            })\r\n        }); });\r\n        var displayedWarning = false;\r\n        var AC = typeof AbortController !== \"undefined\" ? AbortController : /** @class */ (function () {\r\n            function class_1() {\r\n                this.signal = {\r\n                    aborted: false,\r\n                    addEventListener: function () {\r\n                    },\r\n                    dispatchEvent: function () {\r\n                        return false;\r\n                    },\r\n                    onabort: function () {\r\n                    },\r\n                    removeEventListener: function () {\r\n                    },\r\n                    reason: void 0,\r\n                    throwIfAborted: function () {\r\n                    }\r\n                };\r\n            }\r\n            class_1.prototype.abort = function () {\r\n                if (process.env.NODE_ENV !== \"production\") {\r\n                    if (!displayedWarning) {\r\n                        displayedWarning = true;\r\n                        console.info(\"This platform does not implement AbortController. \\nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.\");\r\n                    }\r\n                }\r\n            };\r\n            return class_1;\r\n        }());\r\n        function actionCreator(arg) {\r\n            return function (dispatch, getState, extra) {\r\n                var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();\r\n                var abortController = new AC();\r\n                var abortReason;\r\n                var started = false;\r\n                function abort(reason) {\r\n                    abortReason = reason;\r\n                    abortController.abort();\r\n                }\r\n                var promise2 = function () {\r\n                    return __async(this, null, function () {\r\n                        var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch;\r\n                        return __generator(this, function (_c) {\r\n                            switch (_c.label) {\r\n                                case 0:\r\n                                    _c.trys.push([0, 4, , 5]);\r\n                                    conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });\r\n                                    if (!isThenable(conditionResult)) return [3 /*break*/, 2];\r\n                                    return [4 /*yield*/, conditionResult];\r\n                                case 1:\r\n                                    conditionResult = _c.sent();\r\n                                    _c.label = 2;\r\n                                case 2:\r\n                                    if (conditionResult === false || abortController.signal.aborted) {\r\n                                        throw {\r\n                                            name: \"ConditionError\",\r\n                                            message: \"Aborted due to condition callback returning false.\"\r\n                                        };\r\n                                    }\r\n                                    started = true;\r\n                                    abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({\r\n                                        name: \"AbortError\",\r\n                                        message: abortReason || \"Aborted\"\r\n                                    }); }); });\r\n                                    dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));\r\n                                    return [4 /*yield*/, Promise.race([\r\n                                            abortedPromise,\r\n                                            Promise.resolve(payloadCreator(arg, {\r\n                                                dispatch: dispatch,\r\n                                                getState: getState,\r\n                                                extra: extra,\r\n                                                requestId: requestId,\r\n                                                signal: abortController.signal,\r\n                                                abort: abort,\r\n                                                rejectWithValue: function (value, meta) {\r\n                                                    return new RejectWithValue(value, meta);\r\n                                                },\r\n                                                fulfillWithValue: function (value, meta) {\r\n                                                    return new FulfillWithMeta(value, meta);\r\n                                                }\r\n                                            })).then(function (result) {\r\n                                                if (result instanceof RejectWithValue) {\r\n                                                    throw result;\r\n                                                }\r\n                                                if (result instanceof FulfillWithMeta) {\r\n                                                    return fulfilled(result.payload, requestId, arg, result.meta);\r\n                                                }\r\n                                                return fulfilled(result, requestId, arg);\r\n                                            })\r\n                                        ])];\r\n                                case 3:\r\n                                    finalAction = _c.sent();\r\n                                    return [3 /*break*/, 5];\r\n                                case 4:\r\n                                    err_1 = _c.sent();\r\n                                    finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);\r\n                                    return [3 /*break*/, 5];\r\n                                case 5:\r\n                                    skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\r\n                                    if (!skipDispatch) {\r\n                                        dispatch(finalAction);\r\n                                    }\r\n                                    return [2 /*return*/, finalAction];\r\n                            }\r\n                        });\r\n                    });\r\n                }();\r\n                return Object.assign(promise2, {\r\n                    abort: abort,\r\n                    requestId: requestId,\r\n                    arg: arg,\r\n                    unwrap: function () {\r\n                        return promise2.then(unwrapResult);\r\n                    }\r\n                });\r\n            };\r\n        }\r\n        return Object.assign(actionCreator, {\r\n            pending: pending,\r\n            rejected: rejected,\r\n            fulfilled: fulfilled,\r\n            typePrefix: typePrefix\r\n        });\r\n    }\r\n    createAsyncThunk2.withTypes = function () { return createAsyncThunk2; };\r\n    return createAsyncThunk2;\r\n})();\r\nfunction unwrapResult(action) {\r\n    if (action.meta && action.meta.rejectedWithValue) {\r\n        throw action.payload;\r\n    }\r\n    if (action.error) {\r\n        throw action.error;\r\n    }\r\n    return action.payload;\r\n}\r\nfunction isThenable(value) {\r\n    return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\r\n}\r\n// src/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n    return v && typeof v.match === \"function\";\r\n};\r\n// src/matchers.ts\r\nvar matches = function (matcher, action) {\r\n    if (hasMatchFunction(matcher)) {\r\n        return matcher.match(action);\r\n    }\r\n    else {\r\n        return matcher(action);\r\n    }\r\n};\r\nfunction isAnyOf() {\r\n    var matchers = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        matchers[_i] = arguments[_i];\r\n    }\r\n    return function (action) {\r\n        return matchers.some(function (matcher) { return matches(matcher, action); });\r\n    };\r\n}\r\nfunction isAllOf() {\r\n    var matchers = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        matchers[_i] = arguments[_i];\r\n    }\r\n    return function (action) {\r\n        return matchers.every(function (matcher) { return matches(matcher, action); });\r\n    };\r\n}\r\nfunction hasExpectedRequestMetadata(action, validStatus) {\r\n    if (!action || !action.meta)\r\n        return false;\r\n    var hasValidRequestId = typeof action.meta.requestId === \"string\";\r\n    var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\r\n    return hasValidRequestId && hasValidRequestStatus;\r\n}\r\nfunction isAsyncThunkArray(a) {\r\n    return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\r\n}\r\nfunction isPending() {\r\n    var asyncThunks = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        asyncThunks[_i] = arguments[_i];\r\n    }\r\n    if (asyncThunks.length === 0) {\r\n        return function (action) { return hasExpectedRequestMetadata(action, [\"pending\"]); };\r\n    }\r\n    if (!isAsyncThunkArray(asyncThunks)) {\r\n        return isPending()(asyncThunks[0]);\r\n    }\r\n    return function (action) {\r\n        var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });\r\n        var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n        return combinedMatcher(action);\r\n    };\r\n}\r\nfunction isRejected() {\r\n    var asyncThunks = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        asyncThunks[_i] = arguments[_i];\r\n    }\r\n    if (asyncThunks.length === 0) {\r\n        return function (action) { return hasExpectedRequestMetadata(action, [\"rejected\"]); };\r\n    }\r\n    if (!isAsyncThunkArray(asyncThunks)) {\r\n        return isRejected()(asyncThunks[0]);\r\n    }\r\n    return function (action) {\r\n        var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });\r\n        var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n        return combinedMatcher(action);\r\n    };\r\n}\r\nfunction isRejectedWithValue() {\r\n    var asyncThunks = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        asyncThunks[_i] = arguments[_i];\r\n    }\r\n    var hasFlag = function (action) {\r\n        return action && action.meta && action.meta.rejectedWithValue;\r\n    };\r\n    if (asyncThunks.length === 0) {\r\n        return function (action) {\r\n            var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n            return combinedMatcher(action);\r\n        };\r\n    }\r\n    if (!isAsyncThunkArray(asyncThunks)) {\r\n        return isRejectedWithValue()(asyncThunks[0]);\r\n    }\r\n    return function (action) {\r\n        var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n        return combinedMatcher(action);\r\n    };\r\n}\r\nfunction isFulfilled() {\r\n    var asyncThunks = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        asyncThunks[_i] = arguments[_i];\r\n    }\r\n    if (asyncThunks.length === 0) {\r\n        return function (action) { return hasExpectedRequestMetadata(action, [\"fulfilled\"]); };\r\n    }\r\n    if (!isAsyncThunkArray(asyncThunks)) {\r\n        return isFulfilled()(asyncThunks[0]);\r\n    }\r\n    return function (action) {\r\n        var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });\r\n        var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n        return combinedMatcher(action);\r\n    };\r\n}\r\nfunction isAsyncThunkAction() {\r\n    var asyncThunks = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        asyncThunks[_i] = arguments[_i];\r\n    }\r\n    if (asyncThunks.length === 0) {\r\n        return function (action) { return hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]); };\r\n    }\r\n    if (!isAsyncThunkArray(asyncThunks)) {\r\n        return isAsyncThunkAction()(asyncThunks[0]);\r\n    }\r\n    return function (action) {\r\n        var matchers = [];\r\n        for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {\r\n            var asyncThunk = asyncThunks_1[_i];\r\n            matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);\r\n        }\r\n        var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n        return combinedMatcher(action);\r\n    };\r\n}\r\n// src/listenerMiddleware/utils.ts\r\nvar assertFunction = function (func, expected) {\r\n    if (typeof func !== \"function\") {\r\n        throw new TypeError(expected + \" is not a function\");\r\n    }\r\n};\r\nvar noop = function () {\r\n};\r\nvar catchRejection = function (promise2, onError) {\r\n    if (onError === void 0) { onError = noop; }\r\n    promise2.catch(onError);\r\n    return promise2;\r\n};\r\nvar addAbortSignalListener = function (abortSignal, callback) {\r\n    abortSignal.addEventListener(\"abort\", callback, { once: true });\r\n    return function () { return abortSignal.removeEventListener(\"abort\", callback); };\r\n};\r\nvar abortControllerWithReason = function (abortController, reason) {\r\n    var signal = abortController.signal;\r\n    if (signal.aborted) {\r\n        return;\r\n    }\r\n    if (!(\"reason\" in signal)) {\r\n        Object.defineProperty(signal, \"reason\", {\r\n            enumerable: true,\r\n            value: reason,\r\n            configurable: true,\r\n            writable: true\r\n        });\r\n    }\r\n    ;\r\n    abortController.abort(reason);\r\n};\r\n// src/listenerMiddleware/exceptions.ts\r\nvar task = \"task\";\r\nvar listener = \"listener\";\r\nvar completed = \"completed\";\r\nvar cancelled = \"cancelled\";\r\nvar taskCancelled = \"task-\" + cancelled;\r\nvar taskCompleted = \"task-\" + completed;\r\nvar listenerCancelled = listener + \"-\" + cancelled;\r\nvar listenerCompleted = listener + \"-\" + completed;\r\nvar TaskAbortError = /** @class */ (function () {\r\n    function TaskAbortError(code) {\r\n        this.code = code;\r\n        this.name = \"TaskAbortError\";\r\n        this.message = task + \" \" + cancelled + \" (reason: \" + code + \")\";\r\n    }\r\n    return TaskAbortError;\r\n}());\r\n// src/listenerMiddleware/task.ts\r\nvar validateActive = function (signal) {\r\n    if (signal.aborted) {\r\n        throw new TaskAbortError(signal.reason);\r\n    }\r\n};\r\nfunction raceWithSignal(signal, promise2) {\r\n    var cleanup = noop;\r\n    return new Promise(function (resolve, reject) {\r\n        var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };\r\n        if (signal.aborted) {\r\n            notifyRejection();\r\n            return;\r\n        }\r\n        cleanup = addAbortSignalListener(signal, notifyRejection);\r\n        promise2.finally(function () { return cleanup(); }).then(resolve, reject);\r\n    }).finally(function () {\r\n        cleanup = noop;\r\n    });\r\n}\r\nvar runTask = function (task2, cleanUp) { return __async(void 0, null, function () {\r\n    var value, error_1;\r\n    return __generator(this, function (_c) {\r\n        switch (_c.label) {\r\n            case 0:\r\n                _c.trys.push([0, 3, 4, 5]);\r\n                return [4 /*yield*/, Promise.resolve()];\r\n            case 1:\r\n                _c.sent();\r\n                return [4 /*yield*/, task2()];\r\n            case 2:\r\n                value = _c.sent();\r\n                return [2 /*return*/, {\r\n                        status: \"ok\",\r\n                        value: value\r\n                    }];\r\n            case 3:\r\n                error_1 = _c.sent();\r\n                return [2 /*return*/, {\r\n                        status: error_1 instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\r\n                        error: error_1\r\n                    }];\r\n            case 4:\r\n                cleanUp == null ? void 0 : cleanUp();\r\n                return [7 /*endfinally*/];\r\n            case 5: return [2 /*return*/];\r\n        }\r\n    });\r\n}); };\r\nvar createPause = function (signal) {\r\n    return function (promise2) {\r\n        return catchRejection(raceWithSignal(signal, promise2).then(function (output) {\r\n            validateActive(signal);\r\n            return output;\r\n        }));\r\n    };\r\n};\r\nvar createDelay = function (signal) {\r\n    var pause = createPause(signal);\r\n    return function (timeoutMs) {\r\n        return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));\r\n    };\r\n};\r\n// src/listenerMiddleware/index.ts\r\nvar assign = Object.assign;\r\nvar INTERNAL_NIL_TOKEN = {};\r\nvar alm = \"listenerMiddleware\";\r\nvar createFork = function (parentAbortSignal) {\r\n    var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };\r\n    return function (taskExecutor) {\r\n        assertFunction(taskExecutor, \"taskExecutor\");\r\n        var childAbortController = new AbortController();\r\n        linkControllers(childAbortController);\r\n        var result = runTask(function () { return __async(void 0, null, function () {\r\n            var result2;\r\n            return __generator(this, function (_c) {\r\n                switch (_c.label) {\r\n                    case 0:\r\n                        validateActive(parentAbortSignal);\r\n                        validateActive(childAbortController.signal);\r\n                        return [4 /*yield*/, taskExecutor({\r\n                                pause: createPause(childAbortController.signal),\r\n                                delay: createDelay(childAbortController.signal),\r\n                                signal: childAbortController.signal\r\n                            })];\r\n                    case 1:\r\n                        result2 = _c.sent();\r\n                        validateActive(childAbortController.signal);\r\n                        return [2 /*return*/, result2];\r\n                }\r\n            });\r\n        }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });\r\n        return {\r\n            result: createPause(parentAbortSignal)(result),\r\n            cancel: function () {\r\n                abortControllerWithReason(childAbortController, taskCancelled);\r\n            }\r\n        };\r\n    };\r\n};\r\nvar createTakePattern = function (startListening, signal) {\r\n    var take = function (predicate, timeout) { return __async(void 0, null, function () {\r\n        var unsubscribe, tuplePromise, promises, output;\r\n        return __generator(this, function (_c) {\r\n            switch (_c.label) {\r\n                case 0:\r\n                    validateActive(signal);\r\n                    unsubscribe = function () {\r\n                    };\r\n                    tuplePromise = new Promise(function (resolve, reject) {\r\n                        var stopListening = startListening({\r\n                            predicate: predicate,\r\n                            effect: function (action, listenerApi) {\r\n                                listenerApi.unsubscribe();\r\n                                resolve([\r\n                                    action,\r\n                                    listenerApi.getState(),\r\n                                    listenerApi.getOriginalState()\r\n                                ]);\r\n                            }\r\n                        });\r\n                        unsubscribe = function () {\r\n                            stopListening();\r\n                            reject();\r\n                        };\r\n                    });\r\n                    promises = [\r\n                        tuplePromise\r\n                    ];\r\n                    if (timeout != null) {\r\n                        promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));\r\n                    }\r\n                    _c.label = 1;\r\n                case 1:\r\n                    _c.trys.push([1, , 3, 4]);\r\n                    return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))];\r\n                case 2:\r\n                    output = _c.sent();\r\n                    validateActive(signal);\r\n                    return [2 /*return*/, output];\r\n                case 3:\r\n                    unsubscribe();\r\n                    return [7 /*endfinally*/];\r\n                case 4: return [2 /*return*/];\r\n            }\r\n        });\r\n    }); };\r\n    return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };\r\n};\r\nvar getListenerEntryPropsFrom = function (options) {\r\n    var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;\r\n    if (type) {\r\n        predicate = createAction(type).match;\r\n    }\r\n    else if (actionCreator) {\r\n        type = actionCreator.type;\r\n        predicate = actionCreator.match;\r\n    }\r\n    else if (matcher) {\r\n        predicate = matcher;\r\n    }\r\n    else if (predicate) {\r\n    }\r\n    else {\r\n        throw new Error(\"Creating or removing a listener requires one of the known fields for matching an action\");\r\n    }\r\n    assertFunction(effect, \"options.listener\");\r\n    return { predicate: predicate, type: type, effect: effect };\r\n};\r\nvar createListenerEntry = function (options) {\r\n    var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;\r\n    var id = nanoid();\r\n    var entry = {\r\n        id: id,\r\n        effect: effect,\r\n        type: type,\r\n        predicate: predicate,\r\n        pending: new Set(),\r\n        unsubscribe: function () {\r\n            throw new Error(\"Unsubscribe not initialized\");\r\n        }\r\n    };\r\n    return entry;\r\n};\r\nvar cancelActiveListeners = function (entry) {\r\n    entry.pending.forEach(function (controller) {\r\n        abortControllerWithReason(controller, listenerCancelled);\r\n    });\r\n};\r\nvar createClearListenerMiddleware = function (listenerMap) {\r\n    return function () {\r\n        listenerMap.forEach(cancelActiveListeners);\r\n        listenerMap.clear();\r\n    };\r\n};\r\nvar safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {\r\n    try {\r\n        errorHandler(errorToNotify, errorInfo);\r\n    }\r\n    catch (errorHandlerError) {\r\n        setTimeout(function () {\r\n            throw errorHandlerError;\r\n        }, 0);\r\n    }\r\n};\r\nvar addListener = createAction(alm + \"/add\");\r\nvar clearAllListeners = createAction(alm + \"/removeAll\");\r\nvar removeListener = createAction(alm + \"/remove\");\r\nvar defaultErrorHandler = function () {\r\n    var args = [];\r\n    for (var _i = 0; _i < arguments.length; _i++) {\r\n        args[_i] = arguments[_i];\r\n    }\r\n    console.error.apply(console, __spreadArray([alm + \"/error\"], args));\r\n};\r\nfunction createListenerMiddleware(middlewareOptions) {\r\n    var _this = this;\r\n    if (middlewareOptions === void 0) { middlewareOptions = {}; }\r\n    var listenerMap = new Map();\r\n    var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;\r\n    assertFunction(onError, \"onError\");\r\n    var insertEntry = function (entry) {\r\n        entry.unsubscribe = function () { return listenerMap.delete(entry.id); };\r\n        listenerMap.set(entry.id, entry);\r\n        return function (cancelOptions) {\r\n            entry.unsubscribe();\r\n            if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {\r\n                cancelActiveListeners(entry);\r\n            }\r\n        };\r\n    };\r\n    var findListenerEntry = function (comparator) {\r\n        for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {\r\n            var entry = _c[_i];\r\n            if (comparator(entry)) {\r\n                return entry;\r\n            }\r\n        }\r\n        return void 0;\r\n    };\r\n    var startListening = function (options) {\r\n        var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });\r\n        if (!entry) {\r\n            entry = createListenerEntry(options);\r\n        }\r\n        return insertEntry(entry);\r\n    };\r\n    var stopListening = function (options) {\r\n        var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;\r\n        var entry = findListenerEntry(function (entry2) {\r\n            var matchPredicateOrType = typeof type === \"string\" ? entry2.type === type : entry2.predicate === predicate;\r\n            return matchPredicateOrType && entry2.effect === effect;\r\n        });\r\n        if (entry) {\r\n            entry.unsubscribe();\r\n            if (options.cancelActive) {\r\n                cancelActiveListeners(entry);\r\n            }\r\n        }\r\n        return !!entry;\r\n    };\r\n    var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {\r\n        var internalTaskController, take, listenerError_1;\r\n        return __generator(this, function (_c) {\r\n            switch (_c.label) {\r\n                case 0:\r\n                    internalTaskController = new AbortController();\r\n                    take = createTakePattern(startListening, internalTaskController.signal);\r\n                    _c.label = 1;\r\n                case 1:\r\n                    _c.trys.push([1, 3, 4, 5]);\r\n                    entry.pending.add(internalTaskController);\r\n                    return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {\r\n                            getOriginalState: getOriginalState,\r\n                            condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },\r\n                            take: take,\r\n                            delay: createDelay(internalTaskController.signal),\r\n                            pause: createPause(internalTaskController.signal),\r\n                            extra: extra,\r\n                            signal: internalTaskController.signal,\r\n                            fork: createFork(internalTaskController.signal),\r\n                            unsubscribe: entry.unsubscribe,\r\n                            subscribe: function () {\r\n                                listenerMap.set(entry.id, entry);\r\n                            },\r\n                            cancelActiveListeners: function () {\r\n                                entry.pending.forEach(function (controller, _, set) {\r\n                                    if (controller !== internalTaskController) {\r\n                                        abortControllerWithReason(controller, listenerCancelled);\r\n                                        set.delete(controller);\r\n                                    }\r\n                                });\r\n                            }\r\n                        })))];\r\n                case 2:\r\n                    _c.sent();\r\n                    return [3 /*break*/, 5];\r\n                case 3:\r\n                    listenerError_1 = _c.sent();\r\n                    if (!(listenerError_1 instanceof TaskAbortError)) {\r\n                        safelyNotifyError(onError, listenerError_1, {\r\n                            raisedBy: \"effect\"\r\n                        });\r\n                    }\r\n                    return [3 /*break*/, 5];\r\n                case 4:\r\n                    abortControllerWithReason(internalTaskController, listenerCompleted);\r\n                    entry.pending.delete(internalTaskController);\r\n                    return [7 /*endfinally*/];\r\n                case 5: return [2 /*return*/];\r\n            }\r\n        });\r\n    }); };\r\n    var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\r\n    var middleware = function (api) { return function (next) { return function (action) {\r\n        if (!isAction(action)) {\r\n            return next(action);\r\n        }\r\n        if (addListener.match(action)) {\r\n            return startListening(action.payload);\r\n        }\r\n        if (clearAllListeners.match(action)) {\r\n            clearListenerMiddleware();\r\n            return;\r\n        }\r\n        if (removeListener.match(action)) {\r\n            return stopListening(action.payload);\r\n        }\r\n        var originalState = api.getState();\r\n        var getOriginalState = function () {\r\n            if (originalState === INTERNAL_NIL_TOKEN) {\r\n                throw new Error(alm + \": getOriginalState can only be called synchronously\");\r\n            }\r\n            return originalState;\r\n        };\r\n        var result;\r\n        try {\r\n            result = next(action);\r\n            if (listenerMap.size > 0) {\r\n                var currentState = api.getState();\r\n                var listenerEntries = Array.from(listenerMap.values());\r\n                for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {\r\n                    var entry = listenerEntries_1[_i];\r\n                    var runListener = false;\r\n                    try {\r\n                        runListener = entry.predicate(action, currentState, originalState);\r\n                    }\r\n                    catch (predicateError) {\r\n                        runListener = false;\r\n                        safelyNotifyError(onError, predicateError, {\r\n                            raisedBy: \"predicate\"\r\n                        });\r\n                    }\r\n                    if (!runListener) {\r\n                        continue;\r\n                    }\r\n                    notifyListener(entry, action, api, getOriginalState);\r\n                }\r\n            }\r\n        }\r\n        finally {\r\n            originalState = INTERNAL_NIL_TOKEN;\r\n        }\r\n        return result;\r\n    }; }; };\r\n    return {\r\n        middleware: middleware,\r\n        startListening: startListening,\r\n        stopListening: stopListening,\r\n        clearListeners: clearListenerMiddleware\r\n    };\r\n}\r\n// src/autoBatchEnhancer.ts\r\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\r\nvar prepareAutoBatched = function () { return function (payload) {\r\n    var _c;\r\n    return ({\r\n        payload: payload,\r\n        meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c)\r\n    });\r\n}; };\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n    throw err;\r\n}, 0); }); };\r\nvar createQueueWithTimer = function (timeout) {\r\n    return function (notify) {\r\n        setTimeout(notify, timeout);\r\n    };\r\n};\r\nvar rAF = typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10);\r\nvar autoBatchEnhancer = function (options) {\r\n    if (options === void 0) { options = { type: \"raf\" }; }\r\n    return function (next) { return function () {\r\n        var args = [];\r\n        for (var _i = 0; _i < arguments.length; _i++) {\r\n            args[_i] = arguments[_i];\r\n        }\r\n        var store = next.apply(void 0, args);\r\n        var notifying = true;\r\n        var shouldNotifyAtEndOfTick = false;\r\n        var notificationQueued = false;\r\n        var listeners = new Set();\r\n        var queueCallback = options.type === \"tick\" ? queueMicrotaskShim : options.type === \"raf\" ? rAF : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\r\n        var notifyListeners = function () {\r\n            notificationQueued = false;\r\n            if (shouldNotifyAtEndOfTick) {\r\n                shouldNotifyAtEndOfTick = false;\r\n                listeners.forEach(function (l) { return l(); });\r\n            }\r\n        };\r\n        return Object.assign({}, store, {\r\n            subscribe: function (listener2) {\r\n                var wrappedListener = function () { return notifying && listener2(); };\r\n                var unsubscribe = store.subscribe(wrappedListener);\r\n                listeners.add(listener2);\r\n                return function () {\r\n                    unsubscribe();\r\n                    listeners.delete(listener2);\r\n                };\r\n            },\r\n            dispatch: function (action) {\r\n                var _a;\r\n                try {\r\n                    notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]);\r\n                    shouldNotifyAtEndOfTick = !notifying;\r\n                    if (shouldNotifyAtEndOfTick) {\r\n                        if (!notificationQueued) {\r\n                            notificationQueued = true;\r\n                            queueCallback(notifyListeners);\r\n                        }\r\n                    }\r\n                    return store.dispatch(action);\r\n                }\r\n                finally {\r\n                    notifying = true;\r\n                }\r\n            }\r\n        });\r\n    }; };\r\n};\r\n// src/index.ts\r\nenableES5();\r\nexport { EnhancerArray, MiddlewareArray, SHOULD_AUTOBATCH, TaskAbortError, addListener, autoBatchEnhancer, clearAllListeners, configureStore, createAction, createAsyncThunk, createDraftSafeSelector, createEntityAdapter, createImmutableStateInvariantMiddleware, createListenerMiddleware, default2 as createNextState, createReducer, createSelector2 as createSelector, createSerializableStateInvariantMiddleware, createSlice, current2 as current, findNonSerializableValue, freeze, getDefaultMiddleware, getType, isAction, isAllOf, isAnyOf, isAsyncThunkAction, isDraft4 as isDraft, isFSA as isFluxStandardAction, isFulfilled, isImmutableDefault, isPending, isPlain, isPlainObject, isRejected, isRejectedWithValue, miniSerializeError, nanoid, original, prepareAutoBatched, removeListener, unwrapResult };\r\n//# sourceMappingURL=redux-toolkit.esm.js.map","'use strict';\n\nfunction find(array, predicate, context) {\n  if (typeof Array.prototype.find === 'function') {\n    return array.find(predicate, context);\n  }\n\n  context = context || this;\n  var length = array.length;\n  var i;\n\n  if (typeof predicate !== 'function') {\n    throw new TypeError(predicate + ' is not a function');\n  }\n\n  for (i = 0; i < length; i++) {\n    if (predicate.call(context, array[i], i, array)) {\n      return array[i];\n    }\n  }\n}\n\nmodule.exports = find;\n","// Packages\nvar retrier = require('retry');\n\nfunction retry(fn, opts) {\n  function run(resolve, reject) {\n    var options = opts || {};\n    var op;\n\n    // Default `randomize` to true\n    if (!('randomize' in options)) {\n      options.randomize = true;\n    }\n\n    op = retrier.operation(options);\n\n    // We allow the user to abort retrying\n    // this makes sense in the cases where\n    // knowledge is obtained that retrying\n    // would be futile (e.g.: auth errors)\n\n    function bail(err) {\n      reject(err || new Error('Aborted'));\n    }\n\n    function onError(err, num) {\n      if (err.bail) {\n        bail(err);\n        return;\n      }\n\n      if (!op.retry(err)) {\n        reject(op.mainError());\n      } else if (options.onRetry) {\n        options.onRetry(err, num);\n      }\n    }\n\n    function runAttempt(num) {\n      var val;\n\n      try {\n        val = fn(bail, num);\n      } catch (err) {\n        onError(err, num);\n        return;\n      }\n\n      Promise.resolve(val)\n        .then(resolve)\n        .catch(function catchIt(err) {\n          onError(err, num);\n        });\n    }\n\n    op.attempt(runAttempt);\n  }\n\n  return new Promise(run);\n}\n\nmodule.exports = retry;\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","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,r){\"use strict\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"};t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"};t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"};t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"};t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:\"BROWSER_MAP\",get:function(){return s.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return s.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return s.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach((function(t){var a=e[t];\"string\"==typeof a?(i[t]=a,s+=1):\"object\"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n  if (x === y) {\n    return x !== 0 || 1 / x === 1 / y;\n  } else {\n    return x !== x && y !== y;\n  }\n}\n\nfunction createEventEmitter(value) {\n  var handlers = [];\n  return {\n    on: function on(handler) {\n      handlers.push(handler);\n    },\n    off: function off(handler) {\n      handlers = handlers.filter(function (h) {\n        return h !== handler;\n      });\n    },\n    get: function get() {\n      return value;\n    },\n    set: function set(newValue, changedBits) {\n      value = newValue;\n      handlers.forEach(function (handler) {\n        return handler(value, changedBits);\n      });\n    }\n  };\n}\n\nfunction onlyChild(children) {\n  return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n  var _Provider$childContex, _Consumer$contextType;\n\n  var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n  var Provider = function (_Component) {\n    _inherits(Provider, _Component);\n\n    function Provider() {\n      var _temp, _this, _ret;\n\n      _classCallCheck(this, Provider);\n\n      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n    }\n\n    Provider.prototype.getChildContext = function getChildContext() {\n      var _ref;\n\n      return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n    };\n\n    Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n      if (this.props.value !== nextProps.value) {\n        var oldValue = this.props.value;\n        var newValue = nextProps.value;\n        var changedBits = void 0;\n\n        if (objectIs(oldValue, newValue)) {\n          changedBits = 0; // No change\n        } else {\n          changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n          if (process.env.NODE_ENV !== 'production') {\n            (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n          }\n\n          changedBits |= 0;\n\n          if (changedBits !== 0) {\n            this.emitter.set(nextProps.value, changedBits);\n          }\n        }\n      }\n    };\n\n    Provider.prototype.render = function render() {\n      return this.props.children;\n    };\n\n    return Provider;\n  }(_react.Component);\n\n  Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n  var Consumer = function (_Component2) {\n    _inherits(Consumer, _Component2);\n\n    function Consumer() {\n      var _temp2, _this2, _ret2;\n\n      _classCallCheck(this, Consumer);\n\n      for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        args[_key2] = arguments[_key2];\n      }\n\n      return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n        value: _this2.getValue()\n      }, _this2.onUpdate = function (newValue, changedBits) {\n        var observedBits = _this2.observedBits | 0;\n        if ((observedBits & changedBits) !== 0) {\n          _this2.setState({ value: _this2.getValue() });\n        }\n      }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n    }\n\n    Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n      var observedBits = nextProps.observedBits;\n\n      this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n      : observedBits;\n    };\n\n    Consumer.prototype.componentDidMount = function componentDidMount() {\n      if (this.context[contextProp]) {\n        this.context[contextProp].on(this.onUpdate);\n      }\n      var observedBits = this.props.observedBits;\n\n      this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n      : observedBits;\n    };\n\n    Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n      if (this.context[contextProp]) {\n        this.context[contextProp].off(this.onUpdate);\n      }\n    };\n\n    Consumer.prototype.getValue = function getValue() {\n      if (this.context[contextProp]) {\n        return this.context[contextProp].get();\n      } else {\n        return defaultValue;\n      }\n    };\n\n    Consumer.prototype.render = function render() {\n      return onlyChild(this.props.children)(this.state.value);\n    };\n\n    return Consumer;\n  }(_react.Component);\n\n  Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n  return {\n    Provider: Provider,\n    Consumer: Consumer\n  };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","/*!\n  Copyright (c) 2015 Jed Watson.\n  Based on code that is Copyright 2013-2015, Facebook, Inc.\n  All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","import { getIn } from 'final-form';\n\n//      \n\n/**\n * Predicate to identify inputs that can have focus() called on them\n */\nvar isFocusableInput = function isFocusableInput(wtf) {\n  return !!(wtf && typeof wtf.focus === 'function');\n};\n\n//      \n/**\n * Gets all the inputs inside all forms on the page\n */\n\nvar getAllInputs = function getAllInputs() {\n  if (typeof document === 'undefined') {\n    return [];\n  }\n\n  return Array.prototype.slice.call(document.forms).reduce(function (accumulator, form) {\n    return accumulator.concat(Array.prototype.slice.call(form).filter(isFocusableInput));\n  }, []);\n};\n\n//      \n/**\n * Finds the input by looking if the name attribute path is existing in the errors object\n */\n\nvar findInput = function findInput(inputs, errors) {\n  return inputs.find(function (input) {\n    return input.name && getIn(errors, input.name);\n  });\n};\n\n//      \n\nvar noop = function noop() {};\n\nvar createDecorator = function createDecorator(getInputs, findInput$$1) {\n  return function (form) {\n    var focusOnFirstError = function focusOnFirstError(errors) {\n      if (!getInputs) {\n        getInputs = getAllInputs;\n      }\n\n      if (!findInput$$1) {\n        findInput$$1 = findInput;\n      }\n\n      var firstInput = findInput$$1(getInputs(), errors);\n\n      if (firstInput) {\n        firstInput.focus();\n      }\n    }; // Save original submit function\n\n\n    var originalSubmit = form.submit; // Subscribe to errors, and keep a local copy of them\n\n    var state = {};\n    var unsubscribe = form.subscribe(function (nextState) {\n      state = nextState;\n    }, {\n      errors: true,\n      submitErrors: true\n    }); // What to do after submit\n\n    var afterSubmit = function afterSubmit() {\n      var _state = state,\n          errors = _state.errors,\n          submitErrors = _state.submitErrors;\n\n      if (errors && Object.keys(errors).length) {\n        focusOnFirstError(errors);\n      } else if (submitErrors && Object.keys(submitErrors).length) {\n        focusOnFirstError(submitErrors);\n      }\n    }; // Rewrite submit function\n\n\n    form.submit = function () {\n      var result = originalSubmit.call(form);\n\n      if (result && typeof result.then === 'function') {\n        // async\n        result.then(afterSubmit, noop);\n      } else {\n        // sync\n        afterSubmit();\n      }\n\n      return result;\n    };\n\n    return function () {\n      unsubscribe();\n      form.submit = originalSubmit;\n    };\n  };\n};\n\n//      \n/**\n * Generates a function to get all the inputs in a form with the specified name\n */\n\nvar getFormInputs = function getFormInputs(name) {\n  return function () {\n    if (typeof document === 'undefined') {\n      return [];\n    } // $FlowFixMe\n\n\n    var form = document.forms[name];\n    return form && form.length ? Array.prototype.slice.call(form).filter(isFocusableInput) : []; // cast cheat to get from HTMLFormElement children to FocusableInput\n  };\n};\n\n//\n\nexport default createDecorator;\nexport { getFormInputs };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\n//      \n\nvar charCodeOfDot = \".\".charCodeAt(0);\nvar reEscapeChar = /\\\\(\\\\)?/g;\nvar rePropName = RegExp(\n// Match anything that isn't a dot or bracket.\n\"[^.[\\\\]]+\" + \"|\" +\n// Or match property names within brackets.\n\"\\\\[(?:\" +\n// Match a non-string expression.\n\"([^\\\"'][^[]*)\" + \"|\" +\n// Or match strings (supports escaping characters).\n\"([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2\" + \")\\\\]\" + \"|\" +\n// Or match \"\" as the space between consecutive dots or empty brackets.\n\"(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))\", \"g\");\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = function stringToPath(string) {\n  var result = [];\n  if (string.charCodeAt(0) === charCodeOfDot) {\n    result.push(\"\");\n  }\n  string.replace(rePropName, function (match, expression, quote, subString) {\n    var key = match;\n    if (quote) {\n      key = subString.replace(reEscapeChar, \"$1\");\n    } else if (expression) {\n      key = expression.trim();\n    }\n    result.push(key);\n  });\n  return result;\n};\nvar keysCache = {};\nvar keysRegex = /[.[\\]]+/;\nvar toPath = function toPath(key) {\n  if (key === null || key === undefined || !key.length) {\n    return [];\n  }\n  if (typeof key !== \"string\") {\n    throw new Error(\"toPath() expects a string\");\n  }\n  if (keysCache[key] == null) {\n    /**\n     * The following patch fixes issue 456, introduced since v4.20.3:\n     *\n     * Before v4.20.3, i.e. in v4.20.2, a `key` like 'choices[]' would map to ['choices']\n     * (e.g. an array of choices used where 'choices[]' is name attribute of an input of type checkbox).\n     *\n     * Since v4.20.3, a `key` like 'choices[]' would map to ['choices', ''] which is wrong and breaks\n     * this kind of inputs e.g. in React.\n     *\n     * v4.20.3 introduced an unwanted breaking change, this patch fixes it, see the issue at the link below.\n     *\n     * @see https://github.com/final-form/final-form/issues/456\n     */\n    if (key.endsWith(\"[]\")) {\n      // v4.20.2 (a `key` like 'choices[]' should map to ['choices'], which is fine).\n      keysCache[key] = key.split(keysRegex).filter(Boolean);\n    } else {\n      // v4.20.3 (a `key` like 'choices[]' maps to ['choices', ''], which breaks applications relying on inputs like `<input type=\"checkbox\" name=\"choices[]\" />`).\n      keysCache[key] = stringToPath(key);\n    }\n  }\n  return keysCache[key];\n};\n\n//      \nvar getIn = function getIn(state, complexKey) {\n  // Intentionally using iteration rather than recursion\n  var path = toPath(complexKey);\n  var current = state;\n  for (var i = 0; i < path.length; i++) {\n    var key = path[i];\n    if (current === undefined || current === null || typeof current !== \"object\" || Array.isArray(current) && isNaN(key)) {\n      return undefined;\n    }\n    current = current[key];\n  }\n  return current;\n};\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar setInRecursor = function setInRecursor(current, index, path, value, destroyArrays) {\n  if (index >= path.length) {\n    // end of recursion\n    return value;\n  }\n  var key = path[index];\n\n  // determine type of key\n  if (isNaN(key)) {\n    var _extends2;\n    // object set\n    if (current === undefined || current === null) {\n      var _ref;\n      // recurse\n      var _result = setInRecursor(undefined, index + 1, path, value, destroyArrays);\n\n      // delete or create an object\n      return _result === undefined ? undefined : (_ref = {}, _ref[key] = _result, _ref);\n    }\n    if (Array.isArray(current)) {\n      throw new Error(\"Cannot set a non-numeric property on an array\");\n    }\n    // current exists, so make a copy of all its values, and add/update the new one\n    var _result2 = setInRecursor(current[key], index + 1, path, value, destroyArrays);\n    if (_result2 === undefined) {\n      var numKeys = Object.keys(current).length;\n      if (current[key] === undefined && numKeys === 0) {\n        // object was already empty\n        return undefined;\n      }\n      if (current[key] !== undefined && numKeys <= 1) {\n        // only key we had was the one we are deleting\n        if (!isNaN(path[index - 1]) && !destroyArrays) {\n          // we are in an array, so return an empty object\n          return {};\n        } else {\n          return undefined;\n        }\n      }\n      current[key];\n        var _final = _objectWithoutPropertiesLoose(current, [key].map(_toPropertyKey));\n      return _final;\n    }\n    // set result in key\n    return _extends({}, current, (_extends2 = {}, _extends2[key] = _result2, _extends2));\n  }\n  // array set\n  var numericKey = Number(key);\n  if (current === undefined || current === null) {\n    // recurse\n    var _result3 = setInRecursor(undefined, index + 1, path, value, destroyArrays);\n\n    // if nothing returned, delete it\n    if (_result3 === undefined) {\n      return undefined;\n    }\n\n    // create an array\n    var _array = [];\n    _array[numericKey] = _result3;\n    return _array;\n  }\n  if (!Array.isArray(current)) {\n    throw new Error(\"Cannot set a numeric property on an object\");\n  }\n  // recurse\n  var existingValue = current[numericKey];\n  var result = setInRecursor(existingValue, index + 1, path, value, destroyArrays);\n\n  // current exists, so make a copy of all its values, and add/update the new one\n  var array = [].concat(current);\n  if (destroyArrays && result === undefined) {\n    array.splice(numericKey, 1);\n    if (array.length === 0) {\n      return undefined;\n    }\n  } else {\n    array[numericKey] = result;\n  }\n  return array;\n};\nvar setIn = function setIn(state, key, value, destroyArrays) {\n  if (destroyArrays === void 0) {\n    destroyArrays = false;\n  }\n  if (state === undefined || state === null) {\n    throw new Error(\"Cannot call setIn() with \" + String(state) + \" state\");\n  }\n  if (key === undefined || key === null) {\n    throw new Error(\"Cannot call setIn() with \" + String(key) + \" key\");\n  }\n  // Recursive function needs to accept and return State, but public API should\n  // only deal with Objects\n  return setInRecursor(state, 0, toPath(key), value, destroyArrays);\n};\n\nvar FORM_ERROR = \"FINAL_FORM/form-error\";\nvar ARRAY_ERROR = \"FINAL_FORM/array-error\";\n\n//      \n\n\n/**\n * Converts internal field state to published field state\n */\nfunction publishFieldState(formState, field) {\n  var errors = formState.errors,\n    initialValues = formState.initialValues,\n    lastSubmittedValues = formState.lastSubmittedValues,\n    submitErrors = formState.submitErrors,\n    submitFailed = formState.submitFailed,\n    submitSucceeded = formState.submitSucceeded,\n    submitting = formState.submitting,\n    values = formState.values;\n  var active = field.active,\n    blur = field.blur,\n    change = field.change,\n    data = field.data,\n    focus = field.focus,\n    modified = field.modified,\n    modifiedSinceLastSubmit = field.modifiedSinceLastSubmit,\n    name = field.name,\n    touched = field.touched,\n    validating = field.validating,\n    visited = field.visited;\n  var value = getIn(values, name);\n  var error = getIn(errors, name);\n  if (error && error[ARRAY_ERROR]) {\n    error = error[ARRAY_ERROR];\n  }\n  var submitError = submitErrors && getIn(submitErrors, name);\n  var initial = initialValues && getIn(initialValues, name);\n  var pristine = field.isEqual(initial, value);\n  var dirtySinceLastSubmit = !!(lastSubmittedValues && !field.isEqual(getIn(lastSubmittedValues, name), value));\n  var valid = !error && !submitError;\n  return {\n    active: active,\n    blur: blur,\n    change: change,\n    data: data,\n    dirty: !pristine,\n    dirtySinceLastSubmit: dirtySinceLastSubmit,\n    error: error,\n    focus: focus,\n    initial: initial,\n    invalid: !valid,\n    length: Array.isArray(value) ? value.length : undefined,\n    modified: modified,\n    modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n    name: name,\n    pristine: pristine,\n    submitError: submitError,\n    submitFailed: submitFailed,\n    submitSucceeded: submitSucceeded,\n    submitting: submitting,\n    touched: touched,\n    valid: valid,\n    value: value,\n    visited: visited,\n    validating: validating\n  };\n}\n\n//      \nvar fieldSubscriptionItems = [\"active\", \"data\", \"dirty\", \"dirtySinceLastSubmit\", \"error\", \"initial\", \"invalid\", \"length\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitError\", \"submitFailed\", \"submitSucceeded\", \"submitting\", \"touched\", \"valid\", \"value\", \"visited\", \"validating\"];\n\n//      \n\nvar shallowEqual = function shallowEqual(a, b) {\n  if (a === b) {\n    return true;\n  }\n  if (typeof a !== \"object\" || !a || typeof b !== \"object\" || !b) {\n    return false;\n  }\n  var keysA = Object.keys(a);\n  var keysB = Object.keys(b);\n  if (keysA.length !== keysB.length) {\n    return false;\n  }\n  var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(b);\n  for (var idx = 0; idx < keysA.length; idx++) {\n    var key = keysA[idx];\n    if (!bHasOwnProperty(key) || a[key] !== b[key]) {\n      return false;\n    }\n  }\n  return true;\n};\n\n//      \nfunction subscriptionFilter (dest, src, previous, subscription, keys, shallowEqualKeys) {\n  var different = false;\n  keys.forEach(function (key) {\n    if (subscription[key]) {\n      dest[key] = src[key];\n      if (!previous || (~shallowEqualKeys.indexOf(key) ? !shallowEqual(src[key], previous[key]) : src[key] !== previous[key])) {\n        different = true;\n      }\n    }\n  });\n  return different;\n}\n\n//      \nvar shallowEqualKeys$1 = [\"data\"];\n\n/**\n * Filters items in a FieldState based on a FieldSubscription\n */\nvar filterFieldState = function filterFieldState(state, previousState, subscription, force) {\n  var result = {\n    blur: state.blur,\n    change: state.change,\n    focus: state.focus,\n    name: state.name\n  };\n  var different = subscriptionFilter(result, state, previousState, subscription, fieldSubscriptionItems, shallowEqualKeys$1) || !previousState;\n  return different || force ? result : undefined;\n};\n\n//      \nvar formSubscriptionItems = [\"active\", \"dirty\", \"dirtyFields\", \"dirtyFieldsSinceLastSubmit\", \"dirtySinceLastSubmit\", \"error\", \"errors\", \"hasSubmitErrors\", \"hasValidationErrors\", \"initialValues\", \"invalid\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitting\", \"submitError\", \"submitErrors\", \"submitFailed\", \"submitSucceeded\", \"touched\", \"valid\", \"validating\", \"values\", \"visited\"];\n\n//      \nvar shallowEqualKeys = [\"touched\", \"visited\"];\n\n/**\n * Filters items in a FormState based on a FormSubscription\n */\nfunction filterFormState(state, previousState, subscription, force) {\n  var result = {};\n  var different = subscriptionFilter(result, state, previousState, subscription, formSubscriptionItems, shallowEqualKeys) || !previousState;\n  return different || force ? result : undefined;\n}\n\n//      \nvar memoize = function memoize(fn) {\n  var lastArgs;\n  var lastResult;\n  return function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    if (!lastArgs || args.length !== lastArgs.length || args.some(function (arg, index) {\n      return !shallowEqual(lastArgs[index], arg);\n    })) {\n      lastArgs = args;\n      lastResult = fn.apply(void 0, args);\n    }\n    return lastResult;\n  };\n};\n\nvar isPromise = (function (obj) {\n  return !!obj && (typeof obj === \"object\" || typeof obj === \"function\") && typeof obj.then === \"function\";\n});\n\nvar version = \"4.20.10\";\n\nvar configOptions = [\"debug\", \"initialValues\", \"keepDirtyOnReinitialize\", \"mutators\", \"onSubmit\", \"validate\", \"validateOnBlur\"];\nvar tripleEquals = function tripleEquals(a, b) {\n  return a === b;\n};\nvar hasAnyError = function hasAnyError(errors) {\n  return Object.keys(errors).some(function (key) {\n    var value = errors[key];\n    if (value && typeof value === \"object\" && !(value instanceof Error)) {\n      return hasAnyError(value);\n    }\n    return typeof value !== \"undefined\";\n  });\n};\nfunction convertToExternalFormState(_ref) {\n  var active = _ref.active,\n    dirtySinceLastSubmit = _ref.dirtySinceLastSubmit,\n    modifiedSinceLastSubmit = _ref.modifiedSinceLastSubmit,\n    error = _ref.error,\n    errors = _ref.errors,\n    initialValues = _ref.initialValues,\n    pristine = _ref.pristine,\n    submitting = _ref.submitting,\n    submitFailed = _ref.submitFailed,\n    submitSucceeded = _ref.submitSucceeded,\n    submitError = _ref.submitError,\n    submitErrors = _ref.submitErrors,\n    valid = _ref.valid,\n    validating = _ref.validating,\n    values = _ref.values;\n  return {\n    active: active,\n    dirty: !pristine,\n    dirtySinceLastSubmit: dirtySinceLastSubmit,\n    modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n    error: error,\n    errors: errors,\n    hasSubmitErrors: !!(submitError || submitErrors && hasAnyError(submitErrors)),\n    hasValidationErrors: !!(error || hasAnyError(errors)),\n    invalid: !valid,\n    initialValues: initialValues,\n    pristine: pristine,\n    submitting: submitting,\n    submitFailed: submitFailed,\n    submitSucceeded: submitSucceeded,\n    submitError: submitError,\n    submitErrors: submitErrors,\n    valid: valid,\n    validating: validating > 0,\n    values: values\n  };\n}\nfunction notifySubscriber(subscriber, subscription, state, lastState, filter, force) {\n  var notification = filter(state, lastState, subscription, force);\n  if (notification) {\n    subscriber(notification);\n    return true;\n  }\n  return false;\n}\nfunction notify(_ref2, state, lastState, filter, force) {\n  var entries = _ref2.entries;\n  Object.keys(entries).forEach(function (key) {\n    var entry = entries[Number(key)];\n    // istanbul ignore next\n    if (entry) {\n      var subscription = entry.subscription,\n        subscriber = entry.subscriber,\n        notified = entry.notified;\n      if (notifySubscriber(subscriber, subscription, state, lastState, filter, force || !notified)) {\n        entry.notified = true;\n      }\n    }\n  });\n}\nfunction createForm(config) {\n  if (!config) {\n    throw new Error(\"No config specified\");\n  }\n  var debug = config.debug,\n    destroyOnUnregister = config.destroyOnUnregister,\n    keepDirtyOnReinitialize = config.keepDirtyOnReinitialize,\n    initialValues = config.initialValues,\n    mutators = config.mutators,\n    onSubmit = config.onSubmit,\n    validate = config.validate,\n    validateOnBlur = config.validateOnBlur;\n  if (!onSubmit) {\n    throw new Error(\"No onSubmit function specified\");\n  }\n  var state = {\n    subscribers: {\n      index: 0,\n      entries: {}\n    },\n    fieldSubscribers: {},\n    fields: {},\n    formState: {\n      asyncErrors: {},\n      dirtySinceLastSubmit: false,\n      modifiedSinceLastSubmit: false,\n      errors: {},\n      initialValues: initialValues && _extends({}, initialValues),\n      invalid: false,\n      pristine: true,\n      submitting: false,\n      submitFailed: false,\n      submitSucceeded: false,\n      resetWhileSubmitting: false,\n      valid: true,\n      validating: 0,\n      values: initialValues ? _extends({}, initialValues) : {}\n    },\n    lastFormState: undefined\n  };\n  var inBatch = 0;\n  var validationPaused = false;\n  var validationBlocked = false;\n  var preventNotificationWhileValidationPaused = false;\n  var nextAsyncValidationKey = 0;\n  var asyncValidationPromises = {};\n  var clearAsyncValidationPromise = function clearAsyncValidationPromise(key) {\n    return function (result) {\n      delete asyncValidationPromises[key];\n      return result;\n    };\n  };\n  var changeValue = function changeValue(state, name, mutate) {\n    var before = getIn(state.formState.values, name);\n    var after = mutate(before);\n    state.formState.values = setIn(state.formState.values, name, after) || {};\n  };\n  var renameField = function renameField(state, from, to) {\n    if (state.fields[from]) {\n      var _extends2, _extends3;\n      state.fields = _extends({}, state.fields, (_extends2 = {}, _extends2[to] = _extends({}, state.fields[from], {\n        name: to,\n        // rebind event handlers\n        blur: function blur() {\n          return api.blur(to);\n        },\n        change: function change(value) {\n          return api.change(to, value);\n        },\n        focus: function focus() {\n          return api.focus(to);\n        },\n        lastFieldState: undefined\n      }), _extends2));\n      delete state.fields[from];\n      state.fieldSubscribers = _extends({}, state.fieldSubscribers, (_extends3 = {}, _extends3[to] = state.fieldSubscribers[from], _extends3));\n      delete state.fieldSubscribers[from];\n      var value = getIn(state.formState.values, from);\n      state.formState.values = setIn(state.formState.values, from, undefined) || {};\n      state.formState.values = setIn(state.formState.values, to, value);\n      delete state.lastFormState;\n    }\n  };\n\n  // bind state to mutators\n  var getMutatorApi = function getMutatorApi(key) {\n    return function () {\n      // istanbul ignore next\n      if (mutators) {\n        // ^^ causes branch coverage warning, but needed to appease the Flow gods\n        var mutatableState = {\n          formState: state.formState,\n          fields: state.fields,\n          fieldSubscribers: state.fieldSubscribers,\n          lastFormState: state.lastFormState\n        };\n        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n          args[_key] = arguments[_key];\n        }\n        var returnValue = mutators[key](args, mutatableState, {\n          changeValue: changeValue,\n          getIn: getIn,\n          renameField: renameField,\n          resetFieldState: api.resetFieldState,\n          setIn: setIn,\n          shallowEqual: shallowEqual\n        });\n        state.formState = mutatableState.formState;\n        state.fields = mutatableState.fields;\n        state.fieldSubscribers = mutatableState.fieldSubscribers;\n        state.lastFormState = mutatableState.lastFormState;\n        runValidation(undefined, function () {\n          notifyFieldListeners();\n          notifyFormListeners();\n        });\n        return returnValue;\n      }\n    };\n  };\n  var mutatorsApi = mutators ? Object.keys(mutators).reduce(function (result, key) {\n    result[key] = getMutatorApi(key);\n    return result;\n  }, {}) : {};\n  var runRecordLevelValidation = function runRecordLevelValidation(setErrors) {\n    var promises = [];\n    if (validate) {\n      var errorsOrPromise = validate(_extends({}, state.formState.values)); // clone to avoid writing\n      if (isPromise(errorsOrPromise)) {\n        promises.push(errorsOrPromise.then(function (errors) {\n          return setErrors(errors, true);\n        }));\n      } else {\n        setErrors(errorsOrPromise, false);\n      }\n    }\n    return promises;\n  };\n  var getValidators = function getValidators(field) {\n    return Object.keys(field.validators).reduce(function (result, index) {\n      var validator = field.validators[Number(index)]();\n      if (validator) {\n        result.push(validator);\n      }\n      return result;\n    }, []);\n  };\n  var runFieldLevelValidation = function runFieldLevelValidation(field, setError) {\n    var promises = [];\n    var validators = getValidators(field);\n    if (validators.length) {\n      var error;\n      validators.forEach(function (validator) {\n        var errorOrPromise = validator(getIn(state.formState.values, field.name), state.formState.values, validator.length === 0 || validator.length === 3 ? publishFieldState(state.formState, state.fields[field.name]) : undefined);\n        if (errorOrPromise && isPromise(errorOrPromise)) {\n          field.validating = true;\n          var promise = errorOrPromise.then(function (error) {\n            if (state.fields[field.name]) {\n              state.fields[field.name].validating = false;\n              setError(error);\n            }\n          }); // errors must be resolved, not rejected\n          promises.push(promise);\n        } else if (!error) {\n          // first registered validator wins\n          error = errorOrPromise;\n        }\n      });\n      setError(error);\n    }\n    return promises;\n  };\n  var runValidation = function runValidation(fieldChanged, callback) {\n    if (validationPaused) {\n      validationBlocked = true;\n      callback();\n      return;\n    }\n    var fields = state.fields,\n      formState = state.formState;\n    var safeFields = _extends({}, fields);\n    var fieldKeys = Object.keys(safeFields);\n    if (!validate && !fieldKeys.some(function (key) {\n      return getValidators(safeFields[key]).length;\n    })) {\n      callback();\n      return; // no validation rules\n    }\n\n    // pare down field keys to actually validate\n    var limitedFieldLevelValidation = false;\n    if (fieldChanged) {\n      var changedField = safeFields[fieldChanged];\n      if (changedField) {\n        var validateFields = changedField.validateFields;\n        if (validateFields) {\n          limitedFieldLevelValidation = true;\n          fieldKeys = validateFields.length ? validateFields.concat(fieldChanged) : [fieldChanged];\n        }\n      }\n    }\n    var recordLevelErrors = {};\n    var asyncRecordLevelErrors = {};\n    var fieldLevelErrors = {};\n    var promises = [].concat(runRecordLevelValidation(function (errors, wasAsync) {\n      if (wasAsync) {\n        asyncRecordLevelErrors = errors || {};\n      } else {\n        recordLevelErrors = errors || {};\n      }\n    }), fieldKeys.reduce(function (result, name) {\n      return result.concat(runFieldLevelValidation(fields[name], function (error) {\n        fieldLevelErrors[name] = error;\n      }));\n    }, []));\n    var hasAsyncValidations = promises.length > 0;\n    var asyncValidationPromiseKey = ++nextAsyncValidationKey;\n    var promise = Promise.all(promises).then(clearAsyncValidationPromise(asyncValidationPromiseKey));\n\n    // backwards-compat: add promise to submit-blocking promises iff there are any promises to await\n    if (hasAsyncValidations) {\n      asyncValidationPromises[asyncValidationPromiseKey] = promise;\n    }\n    var processErrors = function processErrors(afterAsync) {\n      var merged = _extends({}, limitedFieldLevelValidation ? formState.errors : {}, recordLevelErrors, afterAsync ? asyncRecordLevelErrors // new async errors\n      : formState.asyncErrors);\n      var forEachError = function forEachError(fn) {\n        fieldKeys.forEach(function (name) {\n          if (fields[name]) {\n            // make sure field is still registered\n            // field-level errors take precedent over record-level errors\n            var recordLevelError = getIn(recordLevelErrors, name);\n            var errorFromParent = getIn(merged, name);\n            var hasFieldLevelValidation = getValidators(safeFields[name]).length;\n            var fieldLevelError = fieldLevelErrors[name];\n            fn(name, hasFieldLevelValidation && fieldLevelError || validate && recordLevelError || (!recordLevelError && !limitedFieldLevelValidation ? errorFromParent : undefined));\n          }\n        });\n      };\n      forEachError(function (name, error) {\n        merged = setIn(merged, name, error) || {};\n      });\n      forEachError(function (name, error) {\n        if (error && error[ARRAY_ERROR]) {\n          var existing = getIn(merged, name);\n          var copy = [].concat(existing);\n          copy[ARRAY_ERROR] = error[ARRAY_ERROR];\n          merged = setIn(merged, name, copy);\n        }\n      });\n      if (!shallowEqual(formState.errors, merged)) {\n        formState.errors = merged;\n      }\n      if (afterAsync) {\n        formState.asyncErrors = asyncRecordLevelErrors;\n      }\n      formState.error = recordLevelErrors[FORM_ERROR];\n    };\n    if (hasAsyncValidations) {\n      // async validations are running, ensure validating is true before notifying\n      state.formState.validating++;\n      callback();\n    }\n\n    // process sync errors\n    processErrors(false);\n    // sync errors have been set. notify listeners while we wait for others\n    callback();\n    if (hasAsyncValidations) {\n      var afterPromise = function afterPromise() {\n        state.formState.validating--;\n        callback();\n        // field async validation may affect formState validating\n        // so force notifyFormListeners if validating is still 0 after callback finished\n        // and lastFormState validating is true\n        if (state.formState.validating === 0 && state.lastFormState.validating) {\n          notifyFormListeners();\n        }\n      };\n      promise.then(function () {\n        if (nextAsyncValidationKey > asyncValidationPromiseKey) {\n          // if this async validator has been superseded by another, ignore its results\n          return;\n        }\n        processErrors(true);\n      }).then(afterPromise, afterPromise);\n    }\n  };\n  var notifyFieldListeners = function notifyFieldListeners(name) {\n    if (inBatch) {\n      return;\n    }\n    var fields = state.fields,\n      fieldSubscribers = state.fieldSubscribers,\n      formState = state.formState;\n    var safeFields = _extends({}, fields);\n    var notifyField = function notifyField(name) {\n      var field = safeFields[name];\n      var fieldState = publishFieldState(formState, field);\n      var lastFieldState = field.lastFieldState;\n      field.lastFieldState = fieldState;\n      var fieldSubscriber = fieldSubscribers[name];\n      if (fieldSubscriber) {\n        notify(fieldSubscriber, fieldState, lastFieldState, filterFieldState, lastFieldState === undefined);\n      }\n    };\n    if (name) {\n      notifyField(name);\n    } else {\n      Object.keys(safeFields).forEach(notifyField);\n    }\n  };\n  var markAllFieldsTouched = function markAllFieldsTouched() {\n    Object.keys(state.fields).forEach(function (key) {\n      state.fields[key].touched = true;\n    });\n  };\n  var hasSyncErrors = function hasSyncErrors() {\n    return !!(state.formState.error || hasAnyError(state.formState.errors));\n  };\n  var calculateNextFormState = function calculateNextFormState() {\n    var fields = state.fields,\n      formState = state.formState,\n      lastFormState = state.lastFormState;\n    var safeFields = _extends({}, fields);\n    var safeFieldKeys = Object.keys(safeFields);\n\n    // calculate dirty/pristine\n    var foundDirty = false;\n    var dirtyFields = safeFieldKeys.reduce(function (result, key) {\n      var dirty = !safeFields[key].isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n      if (dirty) {\n        foundDirty = true;\n        result[key] = true;\n      }\n      return result;\n    }, {});\n    var dirtyFieldsSinceLastSubmit = safeFieldKeys.reduce(function (result, key) {\n      // istanbul ignore next\n      var nonNullLastSubmittedValues = formState.lastSubmittedValues || {}; // || {} is for flow, but causes branch coverage complaint\n      if (!safeFields[key].isEqual(getIn(formState.values, key), getIn(nonNullLastSubmittedValues, key))) {\n        result[key] = true;\n      }\n      return result;\n    }, {});\n    formState.pristine = !foundDirty;\n    formState.dirtySinceLastSubmit = !!(formState.lastSubmittedValues && Object.values(dirtyFieldsSinceLastSubmit).some(function (value) {\n      return value;\n    }));\n    formState.modifiedSinceLastSubmit = !!(formState.lastSubmittedValues &&\n    // Object.values would treat values as mixed (facebook/flow#2221)\n    Object.keys(safeFields).some(function (value) {\n      return safeFields[value].modifiedSinceLastSubmit;\n    }));\n    formState.valid = !formState.error && !formState.submitError && !hasAnyError(formState.errors) && !(formState.submitErrors && hasAnyError(formState.submitErrors));\n    var nextFormState = convertToExternalFormState(formState);\n    var _safeFieldKeys$reduce = safeFieldKeys.reduce(function (result, key) {\n        result.modified[key] = safeFields[key].modified;\n        result.touched[key] = safeFields[key].touched;\n        result.visited[key] = safeFields[key].visited;\n        return result;\n      }, {\n        modified: {},\n        touched: {},\n        visited: {}\n      }),\n      modified = _safeFieldKeys$reduce.modified,\n      touched = _safeFieldKeys$reduce.touched,\n      visited = _safeFieldKeys$reduce.visited;\n    nextFormState.dirtyFields = lastFormState && shallowEqual(lastFormState.dirtyFields, dirtyFields) ? lastFormState.dirtyFields : dirtyFields;\n    nextFormState.dirtyFieldsSinceLastSubmit = lastFormState && shallowEqual(lastFormState.dirtyFieldsSinceLastSubmit, dirtyFieldsSinceLastSubmit) ? lastFormState.dirtyFieldsSinceLastSubmit : dirtyFieldsSinceLastSubmit;\n    nextFormState.modified = lastFormState && shallowEqual(lastFormState.modified, modified) ? lastFormState.modified : modified;\n    nextFormState.touched = lastFormState && shallowEqual(lastFormState.touched, touched) ? lastFormState.touched : touched;\n    nextFormState.visited = lastFormState && shallowEqual(lastFormState.visited, visited) ? lastFormState.visited : visited;\n    return lastFormState && shallowEqual(lastFormState, nextFormState) ? lastFormState : nextFormState;\n  };\n  var callDebug = function callDebug() {\n    return debug && \"development\" !== \"production\" && debug(calculateNextFormState(), Object.keys(state.fields).reduce(function (result, key) {\n      result[key] = state.fields[key];\n      return result;\n    }, {}));\n  };\n  var notifying = false;\n  var scheduleNotification = false;\n  var notifyFormListeners = function notifyFormListeners() {\n    if (notifying) {\n      scheduleNotification = true;\n    } else {\n      notifying = true;\n      callDebug();\n      if (!inBatch && !(validationPaused && preventNotificationWhileValidationPaused)) {\n        var lastFormState = state.lastFormState;\n        var nextFormState = calculateNextFormState();\n        if (nextFormState !== lastFormState) {\n          state.lastFormState = nextFormState;\n          notify(state.subscribers, nextFormState, lastFormState, filterFormState);\n        }\n      }\n      notifying = false;\n      if (scheduleNotification) {\n        scheduleNotification = false;\n        notifyFormListeners();\n      }\n    }\n  };\n  var beforeSubmit = function beforeSubmit() {\n    return Object.keys(state.fields).some(function (name) {\n      return state.fields[name].beforeSubmit && state.fields[name].beforeSubmit() === false;\n    });\n  };\n  var afterSubmit = function afterSubmit() {\n    return Object.keys(state.fields).forEach(function (name) {\n      return state.fields[name].afterSubmit && state.fields[name].afterSubmit();\n    });\n  };\n  var resetModifiedAfterSubmit = function resetModifiedAfterSubmit() {\n    return Object.keys(state.fields).forEach(function (key) {\n      return state.fields[key].modifiedSinceLastSubmit = false;\n    });\n  };\n\n  // generate initial errors\n  runValidation(undefined, function () {\n    notifyFormListeners();\n  });\n  var api = {\n    batch: function batch(fn) {\n      inBatch++;\n      fn();\n      inBatch--;\n      notifyFieldListeners();\n      notifyFormListeners();\n    },\n    blur: function blur(name) {\n      var fields = state.fields,\n        formState = state.formState;\n      var previous = fields[name];\n      if (previous) {\n        // can only blur registered fields\n        delete formState.active;\n        fields[name] = _extends({}, previous, {\n          active: false,\n          touched: true\n        });\n        if (validateOnBlur) {\n          runValidation(name, function () {\n            notifyFieldListeners();\n            notifyFormListeners();\n          });\n        } else {\n          notifyFieldListeners();\n          notifyFormListeners();\n        }\n      }\n    },\n    change: function change(name, value) {\n      var fields = state.fields,\n        formState = state.formState;\n      if (getIn(formState.values, name) !== value) {\n        changeValue(state, name, function () {\n          return value;\n        });\n        var previous = fields[name];\n        if (previous) {\n          // only track modified for registered fields\n          fields[name] = _extends({}, previous, {\n            modified: true,\n            modifiedSinceLastSubmit: !!formState.lastSubmittedValues\n          });\n        }\n        if (validateOnBlur) {\n          notifyFieldListeners();\n          notifyFormListeners();\n        } else {\n          runValidation(name, function () {\n            notifyFieldListeners();\n            notifyFormListeners();\n          });\n        }\n      }\n    },\n    get destroyOnUnregister() {\n      return !!destroyOnUnregister;\n    },\n    set destroyOnUnregister(value) {\n      destroyOnUnregister = value;\n    },\n    focus: function focus(name) {\n      var field = state.fields[name];\n      if (field && !field.active) {\n        state.formState.active = name;\n        field.active = true;\n        field.visited = true;\n        notifyFieldListeners();\n        notifyFormListeners();\n      }\n    },\n    mutators: mutatorsApi,\n    getFieldState: function getFieldState(name) {\n      var field = state.fields[name];\n      return field && field.lastFieldState;\n    },\n    getRegisteredFields: function getRegisteredFields() {\n      return Object.keys(state.fields);\n    },\n    getState: function getState() {\n      return calculateNextFormState();\n    },\n    initialize: function initialize(data) {\n      var fields = state.fields,\n        formState = state.formState;\n      var safeFields = _extends({}, fields);\n      var values = typeof data === \"function\" ? data(formState.values) : data;\n      if (!keepDirtyOnReinitialize) {\n        formState.values = values;\n      }\n      /**\n       * Hello, inquisitive code reader! Thanks for taking the time to dig in!\n       *\n       * The following code is the way it is to allow for non-registered deep\n       * field values to be set via initialize()\n       */\n\n      // save dirty values\n      var savedDirtyValues = keepDirtyOnReinitialize ? Object.keys(safeFields).reduce(function (result, key) {\n        var field = safeFields[key];\n        var pristine = field.isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n        if (!pristine) {\n          result[key] = getIn(formState.values, key);\n        }\n        return result;\n      }, {}) : {};\n      // update initalValues and values\n      formState.initialValues = values;\n      formState.values = values;\n      // restore the dirty values\n      Object.keys(savedDirtyValues).forEach(function (key) {\n        formState.values = setIn(formState.values, key, savedDirtyValues[key]) || {};\n      });\n      runValidation(undefined, function () {\n        notifyFieldListeners();\n        notifyFormListeners();\n      });\n    },\n    isValidationPaused: function isValidationPaused() {\n      return validationPaused;\n    },\n    pauseValidation: function pauseValidation(preventNotification) {\n      if (preventNotification === void 0) {\n        preventNotification = true;\n      }\n      validationPaused = true;\n      preventNotificationWhileValidationPaused = preventNotification;\n    },\n    registerField: function registerField(name, subscriber, subscription, fieldConfig) {\n      if (subscription === void 0) {\n        subscription = {};\n      }\n      if (!state.fieldSubscribers[name]) {\n        state.fieldSubscribers[name] = {\n          index: 0,\n          entries: {}\n        };\n      }\n      var index = state.fieldSubscribers[name].index++;\n\n      // save field subscriber callback\n      state.fieldSubscribers[name].entries[index] = {\n        subscriber: memoize(subscriber),\n        subscription: subscription,\n        notified: false\n      };\n\n      // create initial field state if not exists\n      var field = state.fields[name] || {\n        active: false,\n        afterSubmit: fieldConfig && fieldConfig.afterSubmit,\n        beforeSubmit: fieldConfig && fieldConfig.beforeSubmit,\n        data: fieldConfig && fieldConfig.data || {},\n        isEqual: fieldConfig && fieldConfig.isEqual || tripleEquals,\n        lastFieldState: undefined,\n        modified: false,\n        modifiedSinceLastSubmit: false,\n        name: name,\n        touched: false,\n        valid: true,\n        validateFields: fieldConfig && fieldConfig.validateFields,\n        validators: {},\n        validating: false,\n        visited: false\n      };\n      // Mutators can create a field in order to keep the field states\n      // We must update this field when registerField is called afterwards\n      field.blur = field.blur || function () {\n        return api.blur(name);\n      };\n      field.change = field.change || function (value) {\n        return api.change(name, value);\n      };\n      field.focus = field.focus || function () {\n        return api.focus(name);\n      };\n      state.fields[name] = field;\n      var haveValidator = false;\n      var silent = fieldConfig && fieldConfig.silent;\n      var notify = function notify() {\n        if (silent && state.fields[name]) {\n          notifyFieldListeners(name);\n        } else {\n          notifyFormListeners();\n          notifyFieldListeners();\n        }\n      };\n      if (fieldConfig) {\n        haveValidator = !!(fieldConfig.getValidator && fieldConfig.getValidator());\n        if (fieldConfig.getValidator) {\n          state.fields[name].validators[index] = fieldConfig.getValidator;\n        }\n        var noValueInFormState = getIn(state.formState.values, name) === undefined;\n        if (fieldConfig.initialValue !== undefined && (noValueInFormState || getIn(state.formState.values, name) === getIn(state.formState.initialValues, name))\n        // only initialize if we don't yet have any value for this field\n        ) {\n          state.formState.initialValues = setIn(state.formState.initialValues || {}, name, fieldConfig.initialValue);\n          state.formState.values = setIn(state.formState.values, name, fieldConfig.initialValue);\n          runValidation(undefined, notify);\n        }\n\n        // only use defaultValue if we don't yet have any value for this field\n        if (fieldConfig.defaultValue !== undefined && fieldConfig.initialValue === undefined && getIn(state.formState.initialValues, name) === undefined && noValueInFormState) {\n          state.formState.values = setIn(state.formState.values, name, fieldConfig.defaultValue);\n        }\n      }\n      if (haveValidator) {\n        runValidation(undefined, notify);\n      } else {\n        notify();\n      }\n      return function () {\n        var validatorRemoved = false;\n        // istanbul ignore next\n        if (state.fields[name]) {\n          // state.fields[name] may have been removed by a mutator\n          validatorRemoved = !!(state.fields[name].validators[index] && state.fields[name].validators[index]());\n          delete state.fields[name].validators[index];\n        }\n        var hasFieldSubscribers = !!state.fieldSubscribers[name];\n        if (hasFieldSubscribers) {\n          // state.fieldSubscribers[name] may have been removed by a mutator\n          delete state.fieldSubscribers[name].entries[index];\n        }\n        var lastOne = hasFieldSubscribers && !Object.keys(state.fieldSubscribers[name].entries).length;\n        if (lastOne) {\n          delete state.fieldSubscribers[name];\n          delete state.fields[name];\n          if (validatorRemoved) {\n            state.formState.errors = setIn(state.formState.errors, name, undefined) || {};\n          }\n          if (destroyOnUnregister) {\n            state.formState.values = setIn(state.formState.values, name, undefined, true) || {};\n          }\n        }\n        if (!silent) {\n          if (validatorRemoved) {\n            runValidation(undefined, function () {\n              notifyFormListeners();\n              notifyFieldListeners();\n            });\n          } else if (lastOne) {\n            // values or errors may have changed\n            notifyFormListeners();\n          }\n        }\n      };\n    },\n    reset: function reset(initialValues) {\n      if (initialValues === void 0) {\n        initialValues = state.formState.initialValues;\n      }\n      if (state.formState.submitting) {\n        state.formState.resetWhileSubmitting = true;\n      }\n      state.formState.submitFailed = false;\n      state.formState.submitSucceeded = false;\n      delete state.formState.submitError;\n      delete state.formState.submitErrors;\n      delete state.formState.lastSubmittedValues;\n      api.initialize(initialValues || {});\n    },\n    /**\n     * Resets all field flags (e.g. touched, visited, etc.) to their initial state\n     */\n    resetFieldState: function resetFieldState(name) {\n      state.fields[name] = _extends({}, state.fields[name], {\n        active: false,\n        lastFieldState: undefined,\n        modified: false,\n        touched: false,\n        valid: true,\n        validating: false,\n        visited: false\n      });\n      runValidation(undefined, function () {\n        notifyFieldListeners();\n        notifyFormListeners();\n      });\n    },\n    /**\n     * Returns the form to a clean slate; that is:\n     * - Clear all values\n     * - Resets all fields to their initial state\n     */\n    restart: function restart(initialValues) {\n      if (initialValues === void 0) {\n        initialValues = state.formState.initialValues;\n      }\n      api.batch(function () {\n        for (var name in state.fields) {\n          api.resetFieldState(name);\n          state.fields[name] = _extends({}, state.fields[name], {\n            active: false,\n            lastFieldState: undefined,\n            modified: false,\n            modifiedSinceLastSubmit: false,\n            touched: false,\n            valid: true,\n            validating: false,\n            visited: false\n          });\n        }\n        api.reset(initialValues);\n      });\n    },\n    resumeValidation: function resumeValidation() {\n      validationPaused = false;\n      preventNotificationWhileValidationPaused = false;\n      if (validationBlocked) {\n        // validation was attempted while it was paused, so run it now\n        runValidation(undefined, function () {\n          notifyFieldListeners();\n          notifyFormListeners();\n        });\n      }\n      validationBlocked = false;\n    },\n    setConfig: function setConfig(name, value) {\n      switch (name) {\n        case \"debug\":\n          debug = value;\n          break;\n        case \"destroyOnUnregister\":\n          destroyOnUnregister = value;\n          break;\n        case \"initialValues\":\n          api.initialize(value);\n          break;\n        case \"keepDirtyOnReinitialize\":\n          keepDirtyOnReinitialize = value;\n          break;\n        case \"mutators\":\n          mutators = value;\n          if (value) {\n            Object.keys(mutatorsApi).forEach(function (key) {\n              if (!(key in value)) {\n                delete mutatorsApi[key];\n              }\n            });\n            Object.keys(value).forEach(function (key) {\n              mutatorsApi[key] = getMutatorApi(key);\n            });\n          } else {\n            Object.keys(mutatorsApi).forEach(function (key) {\n              delete mutatorsApi[key];\n            });\n          }\n          break;\n        case \"onSubmit\":\n          onSubmit = value;\n          break;\n        case \"validate\":\n          validate = value;\n          runValidation(undefined, function () {\n            notifyFieldListeners();\n            notifyFormListeners();\n          });\n          break;\n        case \"validateOnBlur\":\n          validateOnBlur = value;\n          break;\n        default:\n          throw new Error(\"Unrecognised option \" + name);\n      }\n    },\n    submit: function submit() {\n      var formState = state.formState;\n      if (formState.submitting) {\n        return;\n      }\n      delete formState.submitErrors;\n      delete formState.submitError;\n      formState.lastSubmittedValues = _extends({}, formState.values);\n      if (hasSyncErrors()) {\n        markAllFieldsTouched();\n        resetModifiedAfterSubmit();\n        state.formState.submitFailed = true;\n        notifyFormListeners();\n        notifyFieldListeners();\n        return; // no submit for you!!\n      }\n\n      var asyncValidationPromisesKeys = Object.keys(asyncValidationPromises);\n      if (asyncValidationPromisesKeys.length) {\n        // still waiting on async validation to complete...\n        Promise.all(asyncValidationPromisesKeys.map(function (key) {\n          return asyncValidationPromises[Number(key)];\n        })).then(api.submit, console.error);\n        return;\n      }\n      var submitIsBlocked = beforeSubmit();\n      if (submitIsBlocked) {\n        return;\n      }\n      var resolvePromise;\n      var completeCalled = false;\n      var complete = function complete(errors) {\n        formState.submitting = false;\n        var resetWhileSubmitting = formState.resetWhileSubmitting;\n        if (resetWhileSubmitting) {\n          formState.resetWhileSubmitting = false;\n        }\n        if (errors && hasAnyError(errors)) {\n          formState.submitFailed = true;\n          formState.submitSucceeded = false;\n          formState.submitErrors = errors;\n          formState.submitError = errors[FORM_ERROR];\n          markAllFieldsTouched();\n        } else {\n          if (!resetWhileSubmitting) {\n            formState.submitFailed = false;\n            formState.submitSucceeded = true;\n          }\n          afterSubmit();\n        }\n        notifyFormListeners();\n        notifyFieldListeners();\n        completeCalled = true;\n        if (resolvePromise) {\n          resolvePromise(errors);\n        }\n        return errors;\n      };\n      formState.submitting = true;\n      formState.submitFailed = false;\n      formState.submitSucceeded = false;\n      formState.lastSubmittedValues = _extends({}, formState.values);\n      resetModifiedAfterSubmit();\n\n      // onSubmit is either sync, callback or async with a Promise\n      var result = onSubmit(formState.values, api, complete);\n      if (!completeCalled) {\n        if (result && isPromise(result)) {\n          // onSubmit is async with a Promise\n          notifyFormListeners(); // let everyone know we are submitting\n          notifyFieldListeners(); // notify fields also\n          return result.then(complete, function (error) {\n            complete();\n            throw error;\n          });\n        } else if (onSubmit.length >= 3) {\n          // must be async, so we should return a Promise\n          notifyFormListeners(); // let everyone know we are submitting\n          notifyFieldListeners(); // notify fields also\n          return new Promise(function (resolve) {\n            resolvePromise = resolve;\n          });\n        } else {\n          // onSubmit is sync\n          complete(result);\n        }\n      }\n    },\n    subscribe: function subscribe(subscriber, subscription) {\n      if (!subscriber) {\n        throw new Error(\"No callback given.\");\n      }\n      if (!subscription) {\n        throw new Error(\"No subscription provided. What values do you want to listen to?\");\n      }\n      var memoized = memoize(subscriber);\n      var subscribers = state.subscribers;\n      var index = subscribers.index++;\n      subscribers.entries[index] = {\n        subscriber: memoized,\n        subscription: subscription,\n        notified: false\n      };\n      var nextFormState = calculateNextFormState();\n      notifySubscriber(memoized, subscription, nextFormState, nextFormState, filterFormState, true);\n      return function () {\n        delete subscribers.entries[index];\n      };\n    }\n  };\n  return api;\n}\n\nexport { ARRAY_ERROR, FORM_ERROR, configOptions, createForm, fieldSubscriptionItems, formSubscriptionItems, getIn, setIn, version };\n","(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global.map = factory());\n}(this, (function () { 'use strict';\n\n  // a timeout function that can be flushed and cancelled\n  var flushable = function flushable(onComplete, delay) {\n    var timeoutId = setTimeout(function () {\n      timeoutId = null;\n      onComplete(false);\n    }, delay);\n\n    var clearTimer = function clearTimer() {\n      if (timeoutId) {\n        clearTimeout(timeoutId);\n        timeoutId = null;\n      }\n    };\n\n    return {\n      cancel: clearTimer,\n      flush: function flush() {\n        if (!timeoutId) {\n          return;\n        }\n\n        clearTimer();\n        onComplete(true);\n      },\n      pending: function pending() {\n        return Boolean(timeoutId);\n      }\n    };\n  };\n\n  return flushable;\n\n})));\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n  // fast-deep-equal index.js 2.0.1\n  if (a === b) return true;\n\n  if (a && b && typeof a == 'object' && typeof b == 'object') {\n    var arrA = isArray(a)\n      , arrB = isArray(b)\n      , i\n      , length\n      , key;\n\n    if (arrA && arrB) {\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    if (arrA != arrB) return false;\n\n    var dateA = a instanceof Date\n      , dateB = b instanceof Date;\n    if (dateA != dateB) return false;\n    if (dateA && dateB) return a.getTime() == b.getTime();\n\n    var regexpA = a instanceof RegExp\n      , regexpB = b instanceof RegExp;\n    if (regexpA != regexpB) return false;\n    if (regexpA && regexpB) return a.toString() == b.toString();\n\n    var keys = keyList(a);\n    length = keys.length;\n\n    if (length !== keyList(b).length)\n      return false;\n\n    for (i = length; i-- !== 0;)\n      if (!hasProp.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 && b instanceof Element)\n      return a === b;\n\n    // custom handling for React\n    for (i = length; i-- !== 0;) {\n      key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner.\n        //  _owner contains circular references\n        // and is not needed when comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of a react element\n        continue;\n      } else {\n        // all other properties should be traversed as usual\n        if (!equal(a[key], b[key])) return false;\n      }\n    }\n    // end react-fast-compare\n\n    // fast-deep-equal index.js 2.0.1\n    return true;\n  }\n\n  return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\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('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n      return false;\n    }\n    // some other error. we should definitely know about these\n    throw error;\n  }\n};\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n  return global[key] = (global[key] || 0) + 1;\n};\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n  /**\r\n   * A POP indicates a change to an arbitrary index in the history stack, such\r\n   * as a back or forward navigation. It does not describe the direction of the\r\n   * navigation, only that the current index changed.\r\n   *\r\n   * Note: This is the default action for newly created history objects.\r\n   */\n  Action[\"Pop\"] = \"POP\";\n  /**\r\n   * A PUSH indicates a new entry being added to the history stack, such as when\r\n   * a link is clicked and a new page loads. When this happens, all subsequent\r\n   * entries in the stack are lost.\r\n   */\n\n  Action[\"Push\"] = \"PUSH\";\n  /**\r\n   * A REPLACE indicates the entry at the current index in the history stack\r\n   * being replaced by a new one.\r\n   */\n\n  Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n  return Object.freeze(obj);\n} : function (obj) {\n  return obj;\n};\n\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== 'undefined') console.warn(message);\n\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message); // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$window = _options.window,\n      window = _options$window === void 0 ? document.defaultView : _options$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _window$location = window.location,\n        pathname = _window$location.pathname,\n        search = _window$location.search,\n        hash = _window$location.hash;\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation[0],\n          nextLocation = _getIndexAndLocation[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better what\n          // is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop);\n  var action = Action.Pop;\n\n  var _getIndexAndLocation2 = getIndexAndLocation(),\n      index = _getIndexAndLocation2[0],\n      location = _getIndexAndLocation2[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  } // state defaults to `null` because `window.history.state` does\n\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation3 = getIndexAndLocation();\n\n    index = _getIndexAndLocation3[0];\n    location = _getIndexAndLocation3[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr[0],\n          url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr2[0],\n          url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options2 = options,\n      _options2$window = _options2.window,\n      window = _options2$window === void 0 ? document.defaultView : _options2$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _parsePath = parsePath(window.location.hash.substr(1)),\n        _parsePath$pathname = _parsePath.pathname,\n        pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n        _parsePath$search = _parsePath.search,\n        search = _parsePath$search === void 0 ? '' : _parsePath$search,\n        _parsePath$hash = _parsePath.hash,\n        hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation4 = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation4[0],\n          nextLocation = _getIndexAndLocation4[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better\n          // what is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n  // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n  window.addEventListener(HashChangeEventType, function () {\n    var _getIndexAndLocation5 = getIndexAndLocation(),\n        nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n    if (createPath(nextLocation) !== createPath(location)) {\n      handlePop();\n    }\n  });\n  var action = Action.Pop;\n\n  var _getIndexAndLocation6 = getIndexAndLocation(),\n      index = _getIndexAndLocation6[0],\n      location = _getIndexAndLocation6[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function getBaseHref() {\n    var base = document.querySelector('base');\n    var href = '';\n\n    if (base && base.getAttribute('href')) {\n      var url = window.location.href;\n      var hashIndex = url.indexOf('#');\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n\n    return href;\n  }\n\n  function createHref(to) {\n    return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation7 = getIndexAndLocation();\n\n    index = _getIndexAndLocation7[0];\n    location = _getIndexAndLocation7[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr3[0],\n          url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr4[0],\n          url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options3 = options,\n      _options3$initialEntr = _options3.initialEntries,\n      initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n      initialIndex = _options3.initialIndex;\n  var entries = initialEntries.map(function (entry) {\n    var location = readOnly(_extends({\n      pathname: '/',\n      search: '',\n      hash: '',\n      state: null,\n      key: createKey()\n    }, typeof entry === 'string' ? parsePath(entry) : entry));\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n    return location;\n  });\n  var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n  var action = Action.Pop;\n  var location = entries[index];\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      search: '',\n      hash: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction, nextLocation) {\n    action = nextAction;\n    location = nextLocation;\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      entries[index] = nextLocation;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function go(delta) {\n    var nextIndex = clamp(index + delta, 0, entries.length - 1);\n    var nextAction = Action.Pop;\n    var nextLocation = entries[nextIndex];\n\n    function retry() {\n      go(delta);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index = nextIndex;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  var history = {\n    get index() {\n      return index;\n    },\n\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      return blockers.push(blocker);\n    }\n  };\n  return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n  return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n  // Cancel the event.\n  event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n  event.returnValue = '';\n}\n\nfunction createEvents() {\n  var handlers = [];\n  return {\n    get length() {\n      return handlers.length;\n    },\n\n    push: function push(fn) {\n      handlers.push(fn);\n      return function () {\n        handlers = handlers.filter(function (handler) {\n          return handler !== fn;\n        });\n      };\n    },\n    call: function call(arg) {\n      handlers.forEach(function (fn) {\n        return fn && fn(arg);\n      });\n    }\n  };\n}\n\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n  var _ref$pathname = _ref.pathname,\n      pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n      _ref$search = _ref.search,\n      search = _ref$search === void 0 ? '' : _ref$search,\n      _ref$hash = _ref.hash,\n      hash = _ref$hash === void 0 ? '' : _ref$hash;\n  if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n  if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n  return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n  var parsedPath = {};\n\n  if (path) {\n    var hashIndex = path.indexOf('#');\n\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n\n    var searchIndex = path.indexOf('?');\n\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n\n  return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","// the whatwg-fetch polyfill installs the fetch() function\n// on the global object (window or self)\n//\n// Return that as the export for use in Webpack, Browserify etc.\nrequire('whatwg-fetch');\nmodule.exports = self.fetch.bind(self);\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n  var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n  for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n    if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n      return 1;\n    }\n  }\n  return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n  var called = false;\n  return function () {\n    if (called) {\n      return;\n    }\n    called = true;\n    window.Promise.resolve().then(function () {\n      called = false;\n      fn();\n    });\n  };\n}\n\nfunction taskDebounce(fn) {\n  var scheduled = false;\n  return function () {\n    if (!scheduled) {\n      scheduled = true;\n      setTimeout(function () {\n        scheduled = false;\n        fn();\n      }, timeoutDuration);\n    }\n  };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n  var getType = {};\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n  if (element.nodeType !== 1) {\n    return [];\n  }\n  // NOTE: 1 DOM access here\n  var window = element.ownerDocument.defaultView;\n  var css = window.getComputedStyle(element, null);\n  return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n  if (element.nodeName === 'HTML') {\n    return element;\n  }\n  return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n  if (!element) {\n    return document.body;\n  }\n\n  switch (element.nodeName) {\n    case 'HTML':\n    case 'BODY':\n      return element.ownerDocument.body;\n    case '#document':\n      return element.body;\n  }\n\n  // Firefox want us to check `-x` and `-y` variations as well\n\n  var _getStyleComputedProp = getStyleComputedProperty(element),\n      overflow = _getStyleComputedProp.overflow,\n      overflowX = _getStyleComputedProp.overflowX,\n      overflowY = _getStyleComputedProp.overflowY;\n\n  if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n    return element;\n  }\n\n  return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n  return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n  if (version === 11) {\n    return isIE11;\n  }\n  if (version === 10) {\n    return isIE10;\n  }\n  return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n  if (!element) {\n    return document.documentElement;\n  }\n\n  var noOffsetParent = isIE(10) ? document.body : null;\n\n  // NOTE: 1 DOM access here\n  var offsetParent = element.offsetParent || null;\n  // Skip hidden elements which don't have an offsetParent\n  while (offsetParent === noOffsetParent && element.nextElementSibling) {\n    offsetParent = (element = element.nextElementSibling).offsetParent;\n  }\n\n  var nodeName = offsetParent && offsetParent.nodeName;\n\n  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n    return element ? element.ownerDocument.documentElement : document.documentElement;\n  }\n\n  // .offsetParent will return the closest TH, TD or TABLE in case\n  // no offsetParent is present, I hate this job...\n  if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n    return getOffsetParent(offsetParent);\n  }\n\n  return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY') {\n    return false;\n  }\n  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n  if (node.parentNode !== null) {\n    return getRoot(node.parentNode);\n  }\n\n  return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n    return document.documentElement;\n  }\n\n  // Here we make sure to give as \"start\" the element that comes first in the DOM\n  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n  var start = order ? element1 : element2;\n  var end = order ? element2 : element1;\n\n  // Get common ancestor container\n  var range = document.createRange();\n  range.setStart(start, 0);\n  range.setEnd(end, 0);\n  var commonAncestorContainer = range.commonAncestorContainer;\n\n  // Both nodes are inside #document\n\n  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n    if (isOffsetContainer(commonAncestorContainer)) {\n      return commonAncestorContainer;\n    }\n\n    return getOffsetParent(commonAncestorContainer);\n  }\n\n  // one of the nodes is inside shadowDOM, find which one\n  var element1root = getRoot(element1);\n  if (element1root.host) {\n    return findCommonOffsetParent(element1root.host, element2);\n  } else {\n    return findCommonOffsetParent(element1, getRoot(element2).host);\n  }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n  var nodeName = element.nodeName;\n\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    var html = element.ownerDocument.documentElement;\n    var scrollingElement = element.ownerDocument.scrollingElement || html;\n    return scrollingElement[upperSide];\n  }\n\n  return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var scrollTop = getScroll(element, 'top');\n  var scrollLeft = getScroll(element, 'left');\n  var modifier = subtract ? -1 : 1;\n  rect.top += scrollTop * modifier;\n  rect.bottom += scrollTop * modifier;\n  rect.left += scrollLeft * modifier;\n  rect.right += scrollLeft * modifier;\n  return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n  var sideA = axis === 'x' ? 'Left' : 'Top';\n  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n  return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n  var body = document.body;\n  var html = document.documentElement;\n  var computedStyle = isIE(10) && getComputedStyle(html);\n\n  return {\n    height: getSize('Height', body, html, computedStyle),\n    width: getSize('Width', body, html, computedStyle)\n  };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n};\n\nvar createClass = function () {\n  function defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  return function (Constructor, protoProps, staticProps) {\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) defineProperties(Constructor, staticProps);\n    return Constructor;\n  };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n\n    for (var key in source) {\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\n        target[key] = source[key];\n      }\n    }\n  }\n\n  return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n  return _extends({}, offsets, {\n    right: offsets.left + offsets.width,\n    bottom: offsets.top + offsets.height\n  });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n  var rect = {};\n\n  // IE10 10 FIX: Please, don't ask, the element isn't\n  // considered in DOM in some circumstances...\n  // This isn't reproducible in IE10 compatibility mode of IE11\n  try {\n    if (isIE(10)) {\n      rect = element.getBoundingClientRect();\n      var scrollTop = getScroll(element, 'top');\n      var scrollLeft = getScroll(element, 'left');\n      rect.top += scrollTop;\n      rect.left += scrollLeft;\n      rect.bottom += scrollTop;\n      rect.right += scrollLeft;\n    } else {\n      rect = element.getBoundingClientRect();\n    }\n  } catch (e) {}\n\n  var result = {\n    left: rect.left,\n    top: rect.top,\n    width: rect.right - rect.left,\n    height: rect.bottom - rect.top\n  };\n\n  // subtract scrollbar size from sizes\n  var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n  var width = sizes.width || element.clientWidth || result.width;\n  var height = sizes.height || element.clientHeight || result.height;\n\n  var horizScrollbar = element.offsetWidth - width;\n  var vertScrollbar = element.offsetHeight - height;\n\n  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n  // we make this check conditional for performance reasons\n  if (horizScrollbar || vertScrollbar) {\n    var styles = getStyleComputedProperty(element);\n    horizScrollbar -= getBordersSize(styles, 'x');\n    vertScrollbar -= getBordersSize(styles, 'y');\n\n    result.width -= horizScrollbar;\n    result.height -= vertScrollbar;\n  }\n\n  return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n  var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n  var isIE10 = isIE(10);\n  var isHTML = parent.nodeName === 'HTML';\n  var childrenRect = getBoundingClientRect(children);\n  var parentRect = getBoundingClientRect(parent);\n  var scrollParent = getScrollParent(children);\n\n  var styles = getStyleComputedProperty(parent);\n  var borderTopWidth = parseFloat(styles.borderTopWidth);\n  var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n  // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n  if (fixedPosition && isHTML) {\n    parentRect.top = Math.max(parentRect.top, 0);\n    parentRect.left = Math.max(parentRect.left, 0);\n  }\n  var offsets = getClientRect({\n    top: childrenRect.top - parentRect.top - borderTopWidth,\n    left: childrenRect.left - parentRect.left - borderLeftWidth,\n    width: childrenRect.width,\n    height: childrenRect.height\n  });\n  offsets.marginTop = 0;\n  offsets.marginLeft = 0;\n\n  // Subtract margins of documentElement in case it's being used as parent\n  // we do this only on HTML because it's the only element that behaves\n  // differently when margins are applied to it. The margins are included in\n  // the box of the documentElement, in the other cases not.\n  if (!isIE10 && isHTML) {\n    var marginTop = parseFloat(styles.marginTop);\n    var marginLeft = parseFloat(styles.marginLeft);\n\n    offsets.top -= borderTopWidth - marginTop;\n    offsets.bottom -= borderTopWidth - marginTop;\n    offsets.left -= borderLeftWidth - marginLeft;\n    offsets.right -= borderLeftWidth - marginLeft;\n\n    // Attach marginTop and marginLeft because in some circumstances we may need them\n    offsets.marginTop = marginTop;\n    offsets.marginLeft = marginLeft;\n  }\n\n  if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n    offsets = includeScroll(offsets, parent);\n  }\n\n  return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n  var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var html = element.ownerDocument.documentElement;\n  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n  var width = Math.max(html.clientWidth, window.innerWidth || 0);\n  var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n  var scrollTop = !excludeScroll ? getScroll(html) : 0;\n  var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n  var offset = {\n    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n    width: width,\n    height: height\n  };\n\n  return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n  var nodeName = element.nodeName;\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\n    return false;\n  }\n  if (getStyleComputedProperty(element, 'position') === 'fixed') {\n    return true;\n  }\n  var parentNode = getParentNode(element);\n  if (!parentNode) {\n    return false;\n  }\n  return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n  if (!element || !element.parentElement || isIE()) {\n    return document.documentElement;\n  }\n  var el = element.parentElement;\n  while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n    el = el.parentElement;\n  }\n  return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n  var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n  // NOTE: 1 DOM access here\n\n  var boundaries = { top: 0, left: 0 };\n  var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n  // Handle viewport case\n  if (boundariesElement === 'viewport') {\n    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n  } else {\n    // Handle other cases based on DOM element used as boundaries\n    var boundariesNode = void 0;\n    if (boundariesElement === 'scrollParent') {\n      boundariesNode = getScrollParent(getParentNode(reference));\n      if (boundariesNode.nodeName === 'BODY') {\n        boundariesNode = popper.ownerDocument.documentElement;\n      }\n    } else if (boundariesElement === 'window') {\n      boundariesNode = popper.ownerDocument.documentElement;\n    } else {\n      boundariesNode = boundariesElement;\n    }\n\n    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n    // In case of HTML, we need a different computation\n    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n      var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n          height = _getWindowSizes.height,\n          width = _getWindowSizes.width;\n\n      boundaries.top += offsets.top - offsets.marginTop;\n      boundaries.bottom = height + offsets.top;\n      boundaries.left += offsets.left - offsets.marginLeft;\n      boundaries.right = width + offsets.left;\n    } else {\n      // for all the other DOM elements, this one is good\n      boundaries = offsets;\n    }\n  }\n\n  // Add paddings\n  padding = padding || 0;\n  var isPaddingNumber = typeof padding === 'number';\n  boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n  boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n  boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n  boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n  return boundaries;\n}\n\nfunction getArea(_ref) {\n  var width = _ref.width,\n      height = _ref.height;\n\n  return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n  if (placement.indexOf('auto') === -1) {\n    return placement;\n  }\n\n  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n  var rects = {\n    top: {\n      width: boundaries.width,\n      height: refRect.top - boundaries.top\n    },\n    right: {\n      width: boundaries.right - refRect.right,\n      height: boundaries.height\n    },\n    bottom: {\n      width: boundaries.width,\n      height: boundaries.bottom - refRect.bottom\n    },\n    left: {\n      width: refRect.left - boundaries.left,\n      height: boundaries.height\n    }\n  };\n\n  var sortedAreas = Object.keys(rects).map(function (key) {\n    return _extends({\n      key: key\n    }, rects[key], {\n      area: getArea(rects[key])\n    });\n  }).sort(function (a, b) {\n    return b.area - a.area;\n  });\n\n  var filteredAreas = sortedAreas.filter(function (_ref2) {\n    var width = _ref2.width,\n        height = _ref2.height;\n    return width >= popper.clientWidth && height >= popper.clientHeight;\n  });\n\n  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n  var variation = placement.split('-')[1];\n\n  return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n  var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n  var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n  var window = element.ownerDocument.defaultView;\n  var styles = window.getComputedStyle(element);\n  var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n  var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n  var result = {\n    width: element.offsetWidth + y,\n    height: element.offsetHeight + x\n  };\n  return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n  placement = placement.split('-')[0];\n\n  // Get popper node sizes\n  var popperRect = getOuterSizes(popper);\n\n  // Add position, width and height to our offsets object\n  var popperOffsets = {\n    width: popperRect.width,\n    height: popperRect.height\n  };\n\n  // depending by the popper placement we have to compute its offsets slightly differently\n  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n  var mainSide = isHoriz ? 'top' : 'left';\n  var secondarySide = isHoriz ? 'left' : 'top';\n  var measurement = isHoriz ? 'height' : 'width';\n  var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n  if (placement === secondarySide) {\n    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n  } else {\n    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n  }\n\n  return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n  // use native find if supported\n  if (Array.prototype.find) {\n    return arr.find(check);\n  }\n\n  // use `filter` to obtain the same behavior of `find`\n  return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n  // use native findIndex if supported\n  if (Array.prototype.findIndex) {\n    return arr.findIndex(function (cur) {\n      return cur[prop] === value;\n    });\n  }\n\n  // use `find` + `indexOf` if `findIndex` isn't supported\n  var match = find(arr, function (obj) {\n    return obj[prop] === value;\n  });\n  return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n  modifiersToRun.forEach(function (modifier) {\n    if (modifier['function']) {\n      // eslint-disable-line dot-notation\n      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n    }\n    var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n    if (modifier.enabled && isFunction(fn)) {\n      // Add properties to offsets to make them a complete clientRect object\n      // we do this before each modifier to make sure the previous one doesn't\n      // mess with these values\n      data.offsets.popper = getClientRect(data.offsets.popper);\n      data.offsets.reference = getClientRect(data.offsets.reference);\n\n      data = fn(data, modifier);\n    }\n  });\n\n  return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n  // if popper is destroyed, don't perform any further update\n  if (this.state.isDestroyed) {\n    return;\n  }\n\n  var data = {\n    instance: this,\n    styles: {},\n    arrowStyles: {},\n    attributes: {},\n    flipped: false,\n    offsets: {}\n  };\n\n  // compute reference element offsets\n  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n  // store the computed placement inside `originalPlacement`\n  data.originalPlacement = data.placement;\n\n  data.positionFixed = this.options.positionFixed;\n\n  // compute the popper offsets\n  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n  data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n  // run the modifiers\n  data = runModifiers(this.modifiers, data);\n\n  // the first `update` will call `onCreate` callback\n  // the other ones will call `onUpdate` callback\n  if (!this.state.isCreated) {\n    this.state.isCreated = true;\n    this.options.onCreate(data);\n  } else {\n    this.options.onUpdate(data);\n  }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n  return modifiers.some(function (_ref) {\n    var name = _ref.name,\n        enabled = _ref.enabled;\n    return enabled && name === modifierName;\n  });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n  for (var i = 0; i < prefixes.length; i++) {\n    var prefix = prefixes[i];\n    var toCheck = prefix ? '' + prefix + upperProp : property;\n    if (typeof document.body.style[toCheck] !== 'undefined') {\n      return toCheck;\n    }\n  }\n  return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n  this.state.isDestroyed = true;\n\n  // touch DOM only if `applyStyle` modifier is enabled\n  if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n    this.popper.removeAttribute('x-placement');\n    this.popper.style.position = '';\n    this.popper.style.top = '';\n    this.popper.style.left = '';\n    this.popper.style.right = '';\n    this.popper.style.bottom = '';\n    this.popper.style.willChange = '';\n    this.popper.style[getSupportedPropertyName('transform')] = '';\n  }\n\n  this.disableEventListeners();\n\n  // remove the popper if user explicitly asked for the deletion on destroy\n  // do not use `remove` because IE11 doesn't support it\n  if (this.options.removeOnDestroy) {\n    this.popper.parentNode.removeChild(this.popper);\n  }\n  return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n  var ownerDocument = element.ownerDocument;\n  return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n  var isBody = scrollParent.nodeName === 'BODY';\n  var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n  target.addEventListener(event, callback, { passive: true });\n\n  if (!isBody) {\n    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n  }\n  scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n  // Resize event listener on window\n  state.updateBound = updateBound;\n  getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n  // Scroll event listener on scroll parents\n  var scrollElement = getScrollParent(reference);\n  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n  state.scrollElement = scrollElement;\n  state.eventsEnabled = true;\n\n  return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n  if (!this.state.eventsEnabled) {\n    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n  }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n  // Remove resize event listener on window\n  getWindow(reference).removeEventListener('resize', state.updateBound);\n\n  // Remove scroll event listener on scroll parents\n  state.scrollParents.forEach(function (target) {\n    target.removeEventListener('scroll', state.updateBound);\n  });\n\n  // Reset state\n  state.updateBound = null;\n  state.scrollParents = [];\n  state.scrollElement = null;\n  state.eventsEnabled = false;\n  return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n  if (this.state.eventsEnabled) {\n    cancelAnimationFrame(this.scheduleUpdate);\n    this.state = removeEventListeners(this.reference, this.state);\n  }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n  Object.keys(styles).forEach(function (prop) {\n    var unit = '';\n    // add unit if the value is numeric and is one of the following\n    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n      unit = 'px';\n    }\n    element.style[prop] = styles[prop] + unit;\n  });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n  Object.keys(attributes).forEach(function (prop) {\n    var value = attributes[prop];\n    if (value !== false) {\n      element.setAttribute(prop, attributes[prop]);\n    } else {\n      element.removeAttribute(prop);\n    }\n  });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n  // any property present in `data.styles` will be applied to the popper,\n  // in this way we can make the 3rd party modifiers add custom styles to it\n  // Be aware, modifiers could override the properties defined in the previous\n  // lines of this modifier!\n  setStyles(data.instance.popper, data.styles);\n\n  // any property present in `data.attributes` will be applied to the popper,\n  // they will be set as HTML attributes of the element\n  setAttributes(data.instance.popper, data.attributes);\n\n  // if arrowElement is defined and arrowStyles has some properties\n  if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n    setStyles(data.arrowElement, data.arrowStyles);\n  }\n\n  return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n  // compute reference element offsets\n  var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n  // compute auto placement, store placement inside the data object,\n  // modifiers will be able to edit `placement` if needed\n  // and refer to originalPlacement to know the original value\n  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n  popper.setAttribute('x-placement', placement);\n\n  // Apply `position` to popper before anything else because\n  // without the position applied we can't guarantee correct computations\n  setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n  return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n  var round = Math.round,\n      floor = Math.floor;\n\n  var noRound = function noRound(v) {\n    return v;\n  };\n\n  var referenceWidth = round(reference.width);\n  var popperWidth = round(popper.width);\n\n  var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n  var isVariation = data.placement.indexOf('-') !== -1;\n  var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n  var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n  var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n  var verticalToInteger = !shouldRound ? noRound : round;\n\n  return {\n    left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n    top: verticalToInteger(popper.top),\n    bottom: verticalToInteger(popper.bottom),\n    right: horizontalToInteger(popper.right)\n  };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n  var x = options.x,\n      y = options.y;\n  var popper = data.offsets.popper;\n\n  // Remove this legacy support in Popper.js v2\n\n  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'applyStyle';\n  }).gpuAcceleration;\n  if (legacyGpuAccelerationOption !== undefined) {\n    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n  }\n  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n  var offsetParent = getOffsetParent(data.instance.popper);\n  var offsetParentRect = getBoundingClientRect(offsetParent);\n\n  // Styles\n  var styles = {\n    position: popper.position\n  };\n\n  var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n  var sideA = x === 'bottom' ? 'top' : 'bottom';\n  var sideB = y === 'right' ? 'left' : 'right';\n\n  // if gpuAcceleration is set to `true` and transform is supported,\n  //  we use `translate3d` to apply the position to the popper we\n  // automatically use the supported prefixed version if needed\n  var prefixedProperty = getSupportedPropertyName('transform');\n\n  // now, let's make a step back and look at this code closely (wtf?)\n  // If the content of the popper grows once it's been positioned, it\n  // may happen that the popper gets misplaced because of the new content\n  // overflowing its reference element\n  // To avoid this problem, we provide two options (x and y), which allow\n  // the consumer to define the offset origin.\n  // If we position a popper on top of a reference element, we can set\n  // `x` to `top` to make the popper grow towards its top instead of\n  // its bottom.\n  var left = void 0,\n      top = void 0;\n  if (sideA === 'bottom') {\n    // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n    // and not the bottom of the html element\n    if (offsetParent.nodeName === 'HTML') {\n      top = -offsetParent.clientHeight + offsets.bottom;\n    } else {\n      top = -offsetParentRect.height + offsets.bottom;\n    }\n  } else {\n    top = offsets.top;\n  }\n  if (sideB === 'right') {\n    if (offsetParent.nodeName === 'HTML') {\n      left = -offsetParent.clientWidth + offsets.right;\n    } else {\n      left = -offsetParentRect.width + offsets.right;\n    }\n  } else {\n    left = offsets.left;\n  }\n  if (gpuAcceleration && prefixedProperty) {\n    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n    styles[sideA] = 0;\n    styles[sideB] = 0;\n    styles.willChange = 'transform';\n  } else {\n    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n    var invertTop = sideA === 'bottom' ? -1 : 1;\n    var invertLeft = sideB === 'right' ? -1 : 1;\n    styles[sideA] = top * invertTop;\n    styles[sideB] = left * invertLeft;\n    styles.willChange = sideA + ', ' + sideB;\n  }\n\n  // Attributes\n  var attributes = {\n    'x-placement': data.placement\n  };\n\n  // Update `data` attributes, styles and arrowStyles\n  data.attributes = _extends({}, attributes, data.attributes);\n  data.styles = _extends({}, styles, data.styles);\n  data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n  return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n  var requesting = find(modifiers, function (_ref) {\n    var name = _ref.name;\n    return name === requestingName;\n  });\n\n  var isRequired = !!requesting && modifiers.some(function (modifier) {\n    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n  });\n\n  if (!isRequired) {\n    var _requesting = '`' + requestingName + '`';\n    var requested = '`' + requestedName + '`';\n    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n  }\n  return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n  var _data$offsets$arrow;\n\n  // arrow depends on keepTogether in order to work\n  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n    return data;\n  }\n\n  var arrowElement = options.element;\n\n  // if arrowElement is a string, suppose it's a CSS selector\n  if (typeof arrowElement === 'string') {\n    arrowElement = data.instance.popper.querySelector(arrowElement);\n\n    // if arrowElement is not found, don't run the modifier\n    if (!arrowElement) {\n      return data;\n    }\n  } else {\n    // if the arrowElement isn't a query selector we must check that the\n    // provided DOM node is child of its popper node\n    if (!data.instance.popper.contains(arrowElement)) {\n      console.warn('WARNING: `arrow.element` must be child of its popper element!');\n      return data;\n    }\n  }\n\n  var placement = data.placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n  var len = isVertical ? 'height' : 'width';\n  var sideCapitalized = isVertical ? 'Top' : 'Left';\n  var side = sideCapitalized.toLowerCase();\n  var altSide = isVertical ? 'left' : 'top';\n  var opSide = isVertical ? 'bottom' : 'right';\n  var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n  //\n  // extends keepTogether behavior making sure the popper and its\n  // reference have enough pixels in conjunction\n  //\n\n  // top/left side\n  if (reference[opSide] - arrowElementSize < popper[side]) {\n    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n  }\n  // bottom/right side\n  if (reference[side] + arrowElementSize > popper[opSide]) {\n    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n  }\n  data.offsets.popper = getClientRect(data.offsets.popper);\n\n  // compute center of the popper\n  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n  // Compute the sideValue using the updated popper offsets\n  // take popper margin in account because we don't have this info available\n  var css = getStyleComputedProperty(data.instance.popper);\n  var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n  var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n  // prevent arrowElement from being placed not contiguously to its popper\n  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n  data.arrowElement = arrowElement;\n  data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n  return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n  if (variation === 'end') {\n    return 'start';\n  } else if (variation === 'start') {\n    return 'end';\n  }\n  return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  var index = validPlacements.indexOf(placement);\n  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n  return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n  FLIP: 'flip',\n  CLOCKWISE: 'clockwise',\n  COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n  // if `inner` modifier is enabled, we can't use the `flip` modifier\n  if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n    return data;\n  }\n\n  if (data.flipped && data.placement === data.originalPlacement) {\n    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n    return data;\n  }\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n  var placement = data.placement.split('-')[0];\n  var placementOpposite = getOppositePlacement(placement);\n  var variation = data.placement.split('-')[1] || '';\n\n  var flipOrder = [];\n\n  switch (options.behavior) {\n    case BEHAVIORS.FLIP:\n      flipOrder = [placement, placementOpposite];\n      break;\n    case BEHAVIORS.CLOCKWISE:\n      flipOrder = clockwise(placement);\n      break;\n    case BEHAVIORS.COUNTERCLOCKWISE:\n      flipOrder = clockwise(placement, true);\n      break;\n    default:\n      flipOrder = options.behavior;\n  }\n\n  flipOrder.forEach(function (step, index) {\n    if (placement !== step || flipOrder.length === index + 1) {\n      return data;\n    }\n\n    placement = data.placement.split('-')[0];\n    placementOpposite = getOppositePlacement(placement);\n\n    var popperOffsets = data.offsets.popper;\n    var refOffsets = data.offsets.reference;\n\n    // using floor because the reference offsets may contain decimals we are not going to consider here\n    var floor = Math.floor;\n    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n    // flip the variation if required\n    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n    // flips variation if reference element overflows boundaries\n    var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n    // flips variation if popper content overflows boundaries\n    var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n    var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n    if (overlapsRef || overflowsBoundaries || flippedVariation) {\n      // this boolean to detect any flip loop\n      data.flipped = true;\n\n      if (overlapsRef || overflowsBoundaries) {\n        placement = flipOrder[index + 1];\n      }\n\n      if (flippedVariation) {\n        variation = getOppositeVariation(variation);\n      }\n\n      data.placement = placement + (variation ? '-' + variation : '');\n\n      // this object contains `position`, we want to preserve it along with\n      // any additional property we may add in the future\n      data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n      data = runModifiers(data.instance.modifiers, data, 'flip');\n    }\n  });\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var placement = data.placement.split('-')[0];\n  var floor = Math.floor;\n  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n  var side = isVertical ? 'right' : 'bottom';\n  var opSide = isVertical ? 'left' : 'top';\n  var measurement = isVertical ? 'width' : 'height';\n\n  if (popper[side] < floor(reference[opSide])) {\n    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n  }\n  if (popper[opSide] > floor(reference[side])) {\n    data.offsets.popper[opSide] = floor(reference[side]);\n  }\n\n  return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n  // separate value from unit\n  var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n  var value = +split[1];\n  var unit = split[2];\n\n  // If it's not a number it's an operator, I guess\n  if (!value) {\n    return str;\n  }\n\n  if (unit.indexOf('%') === 0) {\n    var element = void 0;\n    switch (unit) {\n      case '%p':\n        element = popperOffsets;\n        break;\n      case '%':\n      case '%r':\n      default:\n        element = referenceOffsets;\n    }\n\n    var rect = getClientRect(element);\n    return rect[measurement] / 100 * value;\n  } else if (unit === 'vh' || unit === 'vw') {\n    // if is a vh or vw, we calculate the size based on the viewport\n    var size = void 0;\n    if (unit === 'vh') {\n      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n    } else {\n      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n    }\n    return size / 100 * value;\n  } else {\n    // if is an explicit pixel unit, we get rid of the unit and keep the value\n    // if is an implicit unit, it's px, and we return just the value\n    return value;\n  }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n  var offsets = [0, 0];\n\n  // Use height if placement is left or right and index is 0 otherwise use width\n  // in this way the first offset will use an axis and the second one\n  // will use the other one\n  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n  // Split the offset string to obtain a list of values and operands\n  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n  var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n    return frag.trim();\n  });\n\n  // Detect if the offset string contains a pair of values or a single one\n  // they could be separated by comma or space\n  var divider = fragments.indexOf(find(fragments, function (frag) {\n    return frag.search(/,|\\s/) !== -1;\n  }));\n\n  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n  }\n\n  // If divider is found, we divide the list of values and operands to divide\n  // them by ofset X and Y.\n  var splitRegex = /\\s*,\\s*|\\s+/;\n  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n  // Convert the values with units to absolute pixels to allow our computations\n  ops = ops.map(function (op, index) {\n    // Most of the units rely on the orientation of the popper\n    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n    var mergeWithPrevious = false;\n    return op\n    // This aggregates any `+` or `-` sign that aren't considered operators\n    // e.g.: 10 + +5 => [10, +, +5]\n    .reduce(function (a, b) {\n      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n        a[a.length - 1] = b;\n        mergeWithPrevious = true;\n        return a;\n      } else if (mergeWithPrevious) {\n        a[a.length - 1] += b;\n        mergeWithPrevious = false;\n        return a;\n      } else {\n        return a.concat(b);\n      }\n    }, [])\n    // Here we convert the string values into number values (in px)\n    .map(function (str) {\n      return toValue(str, measurement, popperOffsets, referenceOffsets);\n    });\n  });\n\n  // Loop trough the offsets arrays and execute the operations\n  ops.forEach(function (op, index) {\n    op.forEach(function (frag, index2) {\n      if (isNumeric(frag)) {\n        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n      }\n    });\n  });\n  return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n  var offset = _ref.offset;\n  var placement = data.placement,\n      _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var basePlacement = placement.split('-')[0];\n\n  var offsets = void 0;\n  if (isNumeric(+offset)) {\n    offsets = [+offset, 0];\n  } else {\n    offsets = parseOffset(offset, popper, reference, basePlacement);\n  }\n\n  if (basePlacement === 'left') {\n    popper.top += offsets[0];\n    popper.left -= offsets[1];\n  } else if (basePlacement === 'right') {\n    popper.top += offsets[0];\n    popper.left += offsets[1];\n  } else if (basePlacement === 'top') {\n    popper.left += offsets[0];\n    popper.top -= offsets[1];\n  } else if (basePlacement === 'bottom') {\n    popper.left += offsets[0];\n    popper.top += offsets[1];\n  }\n\n  data.popper = popper;\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n  // If offsetParent is the reference element, we really want to\n  // go one step up and use the next offsetParent as reference to\n  // avoid to make this modifier completely useless and look like broken\n  if (data.instance.reference === boundariesElement) {\n    boundariesElement = getOffsetParent(boundariesElement);\n  }\n\n  // NOTE: DOM access here\n  // resets the popper's position so that the document size can be calculated excluding\n  // the size of the popper element itself\n  var transformProp = getSupportedPropertyName('transform');\n  var popperStyles = data.instance.popper.style; // assignment to help minification\n  var top = popperStyles.top,\n      left = popperStyles.left,\n      transform = popperStyles[transformProp];\n\n  popperStyles.top = '';\n  popperStyles.left = '';\n  popperStyles[transformProp] = '';\n\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n  // NOTE: DOM access here\n  // restores the original style properties after the offsets have been computed\n  popperStyles.top = top;\n  popperStyles.left = left;\n  popperStyles[transformProp] = transform;\n\n  options.boundaries = boundaries;\n\n  var order = options.priority;\n  var popper = data.offsets.popper;\n\n  var check = {\n    primary: function primary(placement) {\n      var value = popper[placement];\n      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n        value = Math.max(popper[placement], boundaries[placement]);\n      }\n      return defineProperty({}, placement, value);\n    },\n    secondary: function secondary(placement) {\n      var mainSide = placement === 'right' ? 'left' : 'top';\n      var value = popper[mainSide];\n      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n      }\n      return defineProperty({}, mainSide, value);\n    }\n  };\n\n  order.forEach(function (placement) {\n    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n    popper = _extends({}, popper, check[side](placement));\n  });\n\n  data.offsets.popper = popper;\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var shiftvariation = placement.split('-')[1];\n\n  // if shift shiftvariation is specified, run the modifier\n  if (shiftvariation) {\n    var _data$offsets = data.offsets,\n        reference = _data$offsets.reference,\n        popper = _data$offsets.popper;\n\n    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n    var side = isVertical ? 'left' : 'top';\n    var measurement = isVertical ? 'width' : 'height';\n\n    var shiftOffsets = {\n      start: defineProperty({}, side, reference[side]),\n      end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n    };\n\n    data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n    return data;\n  }\n\n  var refRect = data.offsets.reference;\n  var bound = find(data.instance.modifiers, function (modifier) {\n    return modifier.name === 'preventOverflow';\n  }).boundaries;\n\n  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === true) {\n      return data;\n    }\n\n    data.hide = true;\n    data.attributes['x-out-of-boundaries'] = '';\n  } else {\n    // Avoid unnecessary DOM access if visibility hasn't changed\n    if (data.hide === false) {\n      return data;\n    }\n\n    data.hide = false;\n    data.attributes['x-out-of-boundaries'] = false;\n  }\n\n  return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n  var placement = data.placement;\n  var basePlacement = placement.split('-')[0];\n  var _data$offsets = data.offsets,\n      popper = _data$offsets.popper,\n      reference = _data$offsets.reference;\n\n  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n  data.placement = getOppositePlacement(placement);\n  data.offsets.popper = getClientRect(popper);\n\n  return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n  /**\n   * Modifier used to shift the popper on the start or end of its reference\n   * element.<br />\n   * It will read the variation of the `placement` property.<br />\n   * It can be one either `-end` or `-start`.\n   * @memberof modifiers\n   * @inner\n   */\n  shift: {\n    /** @prop {number} order=100 - Index used to define the order of execution */\n    order: 100,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: shift\n  },\n\n  /**\n   * The `offset` modifier can shift your popper on both its axis.\n   *\n   * It accepts the following units:\n   * - `px` or unit-less, interpreted as pixels\n   * - `%` or `%r`, percentage relative to the length of the reference element\n   * - `%p`, percentage relative to the length of the popper element\n   * - `vw`, CSS viewport width unit\n   * - `vh`, CSS viewport height unit\n   *\n   * For length is intended the main axis relative to the placement of the popper.<br />\n   * This means that if the placement is `top` or `bottom`, the length will be the\n   * `width`. In case of `left` or `right`, it will be the `height`.\n   *\n   * You can provide a single value (as `Number` or `String`), or a pair of values\n   * as `String` divided by a comma or one (or more) white spaces.<br />\n   * The latter is a deprecated method because it leads to confusion and will be\n   * removed in v2.<br />\n   * Additionally, it accepts additions and subtractions between different units.\n   * Note that multiplications and divisions aren't supported.\n   *\n   * Valid examples are:\n   * ```\n   * 10\n   * '10%'\n   * '10, 10'\n   * '10%, 10'\n   * '10 + 10%'\n   * '10 - 5vh + 3%'\n   * '-10px + 5vh, 5px - 6%'\n   * ```\n   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n   * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  offset: {\n    /** @prop {number} order=200 - Index used to define the order of execution */\n    order: 200,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: offset,\n    /** @prop {Number|String} offset=0\n     * The offset value as described in the modifier description\n     */\n    offset: 0\n  },\n\n  /**\n   * Modifier used to prevent the popper from being positioned outside the boundary.\n   *\n   * A scenario exists where the reference itself is not within the boundaries.<br />\n   * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n   * In this case we need to decide whether the popper should either:\n   *\n   * - detach from the reference and remain \"trapped\" in the boundaries, or\n   * - if it should ignore the boundary and \"escape with its reference\"\n   *\n   * When `escapeWithReference` is set to`true` and reference is completely\n   * outside its boundaries, the popper will overflow (or completely leave)\n   * the boundaries in order to remain attached to the edge of the reference.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  preventOverflow: {\n    /** @prop {number} order=300 - Index used to define the order of execution */\n    order: 300,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: preventOverflow,\n    /**\n     * @prop {Array} [priority=['left','right','top','bottom']]\n     * Popper will try to prevent overflow following these priorities by default,\n     * then, it could overflow on the left and on top of the `boundariesElement`\n     */\n    priority: ['left', 'right', 'top', 'bottom'],\n    /**\n     * @prop {number} padding=5\n     * Amount of pixel used to define a minimum distance between the boundaries\n     * and the popper. This makes sure the popper always has a little padding\n     * between the edges of its container\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='scrollParent'\n     * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n     * `viewport` or any DOM element.\n     */\n    boundariesElement: 'scrollParent'\n  },\n\n  /**\n   * Modifier used to make sure the reference and its popper stay near each other\n   * without leaving any gap between the two. Especially useful when the arrow is\n   * enabled and you want to ensure that it points to its reference element.\n   * It cares only about the first axis. You can still have poppers with margin\n   * between the popper and its reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  keepTogether: {\n    /** @prop {number} order=400 - Index used to define the order of execution */\n    order: 400,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: keepTogether\n  },\n\n  /**\n   * This modifier is used to move the `arrowElement` of the popper to make\n   * sure it is positioned between the reference element and its popper element.\n   * It will read the outer size of the `arrowElement` node to detect how many\n   * pixels of conjunction are needed.\n   *\n   * It has no effect if no `arrowElement` is provided.\n   * @memberof modifiers\n   * @inner\n   */\n  arrow: {\n    /** @prop {number} order=500 - Index used to define the order of execution */\n    order: 500,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: arrow,\n    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n    element: '[x-arrow]'\n  },\n\n  /**\n   * Modifier used to flip the popper's placement when it starts to overlap its\n   * reference element.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   *\n   * **NOTE:** this modifier will interrupt the current update cycle and will\n   * restart it if it detects the need to flip the placement.\n   * @memberof modifiers\n   * @inner\n   */\n  flip: {\n    /** @prop {number} order=600 - Index used to define the order of execution */\n    order: 600,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: flip,\n    /**\n     * @prop {String|Array} behavior='flip'\n     * The behavior used to change the popper's placement. It can be one of\n     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n     * placements (with optional variations)\n     */\n    behavior: 'flip',\n    /**\n     * @prop {number} padding=5\n     * The popper will flip if it hits the edges of the `boundariesElement`\n     */\n    padding: 5,\n    /**\n     * @prop {String|HTMLElement} boundariesElement='viewport'\n     * The element which will define the boundaries of the popper position.\n     * The popper will never be placed outside of the defined boundaries\n     * (except if `keepTogether` is enabled)\n     */\n    boundariesElement: 'viewport',\n    /**\n     * @prop {Boolean} flipVariations=false\n     * The popper will switch placement variation between `-start` and `-end` when\n     * the reference element overlaps its boundaries.\n     *\n     * The original placement should have a set variation.\n     */\n    flipVariations: false,\n    /**\n     * @prop {Boolean} flipVariationsByContent=false\n     * The popper will switch placement variation between `-start` and `-end` when\n     * the popper element overlaps its reference boundaries.\n     *\n     * The original placement should have a set variation.\n     */\n    flipVariationsByContent: false\n  },\n\n  /**\n   * Modifier used to make the popper flow toward the inner of the reference element.\n   * By default, when this modifier is disabled, the popper will be placed outside\n   * the reference element.\n   * @memberof modifiers\n   * @inner\n   */\n  inner: {\n    /** @prop {number} order=700 - Index used to define the order of execution */\n    order: 700,\n    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n    enabled: false,\n    /** @prop {ModifierFn} */\n    fn: inner\n  },\n\n  /**\n   * Modifier used to hide the popper when its reference element is outside of the\n   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n   * be used to hide with a CSS selector the popper when its reference is\n   * out of boundaries.\n   *\n   * Requires the `preventOverflow` modifier before it in order to work.\n   * @memberof modifiers\n   * @inner\n   */\n  hide: {\n    /** @prop {number} order=800 - Index used to define the order of execution */\n    order: 800,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: hide\n  },\n\n  /**\n   * Computes the style that will be applied to the popper element to gets\n   * properly positioned.\n   *\n   * Note that this modifier will not touch the DOM, it just prepares the styles\n   * so that `applyStyle` modifier can apply it. This separation is useful\n   * in case you need to replace `applyStyle` with a custom implementation.\n   *\n   * This modifier has `850` as `order` value to maintain backward compatibility\n   * with previous versions of Popper.js. Expect the modifiers ordering method\n   * to change in future major versions of the library.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  computeStyle: {\n    /** @prop {number} order=850 - Index used to define the order of execution */\n    order: 850,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: computeStyle,\n    /**\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3D transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties\n     */\n    gpuAcceleration: true,\n    /**\n     * @prop {string} [x='bottom']\n     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n     * Change this if your popper should grow in a direction different from `bottom`\n     */\n    x: 'bottom',\n    /**\n     * @prop {string} [x='left']\n     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n     * Change this if your popper should grow in a direction different from `right`\n     */\n    y: 'right'\n  },\n\n  /**\n   * Applies the computed styles to the popper element.\n   *\n   * All the DOM manipulations are limited to this modifier. This is useful in case\n   * you want to integrate Popper.js inside a framework or view library and you\n   * want to delegate all the DOM manipulations to it.\n   *\n   * Note that if you disable this modifier, you must make sure the popper element\n   * has its position set to `absolute` before Popper.js can do its work!\n   *\n   * Just disable this modifier and define your own to achieve the desired effect.\n   *\n   * @memberof modifiers\n   * @inner\n   */\n  applyStyle: {\n    /** @prop {number} order=900 - Index used to define the order of execution */\n    order: 900,\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n    enabled: true,\n    /** @prop {ModifierFn} */\n    fn: applyStyle,\n    /** @prop {Function} */\n    onLoad: applyStyleOnLoad,\n    /**\n     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n     * @prop {Boolean} gpuAcceleration=true\n     * If true, it uses the CSS 3D transformation to position the popper.\n     * Otherwise, it will use the `top` and `left` properties\n     */\n    gpuAcceleration: undefined\n  }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n *   modifiers: {\n *     preventOverflow: { enabled: false }\n *   }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n  /**\n   * Popper's placement.\n   * @prop {Popper.placements} placement='bottom'\n   */\n  placement: 'bottom',\n\n  /**\n   * Set this to true if you want popper to position it self in 'fixed' mode\n   * @prop {Boolean} positionFixed=false\n   */\n  positionFixed: false,\n\n  /**\n   * Whether events (resize, scroll) are initially enabled.\n   * @prop {Boolean} eventsEnabled=true\n   */\n  eventsEnabled: true,\n\n  /**\n   * Set to true if you want to automatically remove the popper when\n   * you call the `destroy` method.\n   * @prop {Boolean} removeOnDestroy=false\n   */\n  removeOnDestroy: false,\n\n  /**\n   * Callback called when the popper is created.<br />\n   * By default, it is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onCreate}\n   */\n  onCreate: function onCreate() {},\n\n  /**\n   * Callback called when the popper is updated. This callback is not called\n   * on the initialization/creation of the popper, but only on subsequent\n   * updates.<br />\n   * By default, it is set to no-op.<br />\n   * Access Popper.js instance with `data.instance`.\n   * @prop {onUpdate}\n   */\n  onUpdate: function onUpdate() {},\n\n  /**\n   * List of modifiers used to modify the offsets before they are applied to the popper.\n   * They provide most of the functionalities of Popper.js.\n   * @prop {modifiers}\n   */\n  modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n  /**\n   * Creates a new Popper.js instance.\n   * @class Popper\n   * @param {Element|referenceObject} reference - The reference element used to position the popper\n   * @param {Element} popper - The HTML / XML element used as the popper\n   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n   * @return {Object} instance - The generated Popper.js instance\n   */\n  function Popper(reference, popper) {\n    var _this = this;\n\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    classCallCheck(this, Popper);\n\n    this.scheduleUpdate = function () {\n      return requestAnimationFrame(_this.update);\n    };\n\n    // make update() debounced, so that it only runs at most once-per-tick\n    this.update = debounce(this.update.bind(this));\n\n    // with {} we create a new object with the options inside it\n    this.options = _extends({}, Popper.Defaults, options);\n\n    // init state\n    this.state = {\n      isDestroyed: false,\n      isCreated: false,\n      scrollParents: []\n    };\n\n    // get reference and popper elements (allow jQuery wrappers)\n    this.reference = reference && reference.jquery ? reference[0] : reference;\n    this.popper = popper && popper.jquery ? popper[0] : popper;\n\n    // Deep merge modifiers options\n    this.options.modifiers = {};\n    Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n      _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n    });\n\n    // Refactoring modifiers' list (Object => Array)\n    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n      return _extends({\n        name: name\n      }, _this.options.modifiers[name]);\n    })\n    // sort the modifiers by order\n    .sort(function (a, b) {\n      return a.order - b.order;\n    });\n\n    // modifiers have the ability to execute arbitrary code when Popper.js get inited\n    // such code is executed in the same order of its modifier\n    // they could add new properties to their options configuration\n    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n    this.modifiers.forEach(function (modifierOptions) {\n      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n      }\n    });\n\n    // fire the first update to position the popper in the right place\n    this.update();\n\n    var eventsEnabled = this.options.eventsEnabled;\n    if (eventsEnabled) {\n      // setup event listeners, they will take care of update the position in specific situations\n      this.enableEventListeners();\n    }\n\n    this.state.eventsEnabled = eventsEnabled;\n  }\n\n  // We can't use class properties because they don't get listed in the\n  // class prototype and break stuff like Sinon stubs\n\n\n  createClass(Popper, [{\n    key: 'update',\n    value: function update$$1() {\n      return update.call(this);\n    }\n  }, {\n    key: 'destroy',\n    value: function destroy$$1() {\n      return destroy.call(this);\n    }\n  }, {\n    key: 'enableEventListeners',\n    value: function enableEventListeners$$1() {\n      return enableEventListeners.call(this);\n    }\n  }, {\n    key: 'disableEventListeners',\n    value: function disableEventListeners$$1() {\n      return disableEventListeners.call(this);\n    }\n\n    /**\n     * Schedules an update. It will run on the next UI update available.\n     * @method scheduleUpdate\n     * @memberof Popper\n     */\n\n\n    /**\n     * Collection of utilities useful when writing custom modifiers.\n     * Starting from version 1.7, this method is available only if you\n     * include `popper-utils.js` before `popper.js`.\n     *\n     * **DEPRECATION**: This way to access PopperUtils is deprecated\n     * and will be removed in v2! Use the PopperUtils module directly instead.\n     * Due to the high instability of the methods contained in Utils, we can't\n     * guarantee them to follow semver. Use them at your own risk!\n     * @static\n     * @private\n     * @type {Object}\n     * @deprecated since version 1.8\n     * @member Utils\n     * @memberof Popper\n     */\n\n  }]);\n  return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * Based on Kendo UI Core expression code <https://github.com/telerik/kendo-ui-core#license-information>\n */\n'use strict'\n\nfunction Cache(maxSize) {\n  this._maxSize = maxSize\n  this.clear()\n}\nCache.prototype.clear = function () {\n  this._size = 0\n  this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n  return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n  this._size >= this._maxSize && this.clear()\n  if (!(key in this._values)) this._size++\n\n  return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n  DIGIT_REGEX = /^\\d+$/,\n  LEAD_DIGIT_REGEX = /^\\d/,\n  SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n  CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n  MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n  setCache = new Cache(MAX_CACHE_SIZE),\n  getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n  Cache: Cache,\n\n  split: split,\n\n  normalizePath: normalizePath,\n\n  setter: function (path) {\n    var parts = normalizePath(path)\n\n    return (\n      setCache.get(path) ||\n      setCache.set(path, function setter(obj, value) {\n        var index = 0\n        var len = parts.length\n        var data = obj\n\n        while (index < len - 1) {\n          var part = parts[index]\n          if (\n            part === '__proto__' ||\n            part === 'constructor' ||\n            part === 'prototype'\n          ) {\n            return obj\n          }\n\n          data = data[parts[index++]]\n        }\n        data[parts[index]] = value\n      })\n    )\n  },\n\n  getter: function (path, safe) {\n    var parts = normalizePath(path)\n    return (\n      getCache.get(path) ||\n      getCache.set(path, function getter(data) {\n        var index = 0,\n          len = parts.length\n        while (index < len) {\n          if (data != null || !safe) data = data[parts[index++]]\n          else return\n        }\n        return data\n      })\n    )\n  },\n\n  join: function (segments) {\n    return segments.reduce(function (path, part) {\n      return (\n        path +\n        (isQuoted(part) || DIGIT_REGEX.test(part)\n          ? '[' + part + ']'\n          : (path ? '.' : '') + part)\n      )\n    }, '')\n  },\n\n  forEach: function (path, cb, thisArg) {\n    forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n  },\n}\n\nfunction normalizePath(path) {\n  return (\n    pathCache.get(path) ||\n    pathCache.set(\n      path,\n      split(path).map(function (part) {\n        return part.replace(CLEAN_QUOTES_REGEX, '$2')\n      })\n    )\n  )\n}\n\nfunction split(path) {\n  return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n  var len = parts.length,\n    part,\n    idx,\n    isArray,\n    isBracket\n\n  for (idx = 0; idx < len; idx++) {\n    part = parts[idx]\n\n    if (part) {\n      if (shouldBeQuoted(part)) {\n        part = '\"' + part + '\"'\n      }\n\n      isBracket = isQuoted(part)\n      isArray = !isBracket && /^\\d+$/.test(part)\n\n      iter.call(thisArg, part, isBracket, isArray, idx, parts)\n    }\n  }\n}\n\nfunction isQuoted(str) {\n  return (\n    typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n  )\n}\n\nfunction hasLeadingNumber(part) {\n  return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n  return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n  return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","'use strict';\n\nfunction getText(rootChild) {\n  var res = '';\n  var rr = function rr(child) {\n    if (typeof child === 'string' || typeof child === 'number') {\n      res += child;\n    } else if (Array.isArray(child)) {\n      child.forEach(function (c) {\n        return rr(c);\n      });\n    } else if (child && child.props) {\n      var children = child.props.children;\n\n\n      if (Array.isArray(children)) {\n        children.forEach(function (c) {\n          return rr(c);\n        });\n      } else {\n        rr(children);\n      }\n    }\n  };\n\n  rr(rootChild);\n\n  return res;\n}\n\nmodule.exports = getText;","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","/* 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.3\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<Type> &&` 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    // START: Modifications:\n    // Apply guards for `Object.create(null)` handling. See:\n    // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n    // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n    if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n    if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n    // END: Modifications\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","import e,{createContext as t,useState as r,useRef as o,useEffect as n,useCallback as a,useMemo as c,useContext as i}from\"react\";\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */var s=function(){return s=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},s.apply(this,arguments)};function u(e,t,r,o){return new(r||(r=Promise))((function(n,a){function c(e){try{s(o.next(e))}catch(e){a(e)}}function i(e){try{s(o.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,i)}s((o=o.apply(e,t||[])).next())}))}function l(e,t){var r,o,n,a,c={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw new TypeError(\"Generator is already executing.\");for(;c;)try{if(r=1,o&&(n=2&a[0]?o.return:a[0]?o.throw||((n=o.return)&&n.call(o),0):o.next)&&!(n=n.call(o,a[1])).done)return n;switch(o=0,n&&(a=[2&a[0],n.value]),a[0]){case 0:case 1:n=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,o=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(n=c.trys,(n=n.length>0&&n[n.length-1])||6!==a[0]&&2!==a[0])){c=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1]<n[3])){c.label=a[1];break}if(6===a[0]&&c.label<n[1]){c.label=n[1],n=a;break}if(n&&c.label<n[2]){c.label=n[2],c.ops.push(a);break}n[2]&&c.ops.pop(),c.trys.pop();continue}a=t.call(e,c)}catch(e){a=[6,e],o=0}finally{r=n=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}var f,p=function(e){var t;e?function(e){if(e)for(;e.lastChild;)e.lastChild.remove()}(\"string\"==typeof e?document.getElementById(e):e):(t=document.querySelector(\".grecaptcha-badge\"))&&t.parentNode&&document.body.removeChild(t.parentNode)},d=function(e,t){p(t),window.___grecaptcha_cfg=void 0;var r=document.querySelector(\"#\"+e);r&&r.remove(),function(){var e=document.querySelector('script[src^=\"https://www.gstatic.com/recaptcha/releases\"]');e&&e.remove()}()},y=function(e){var t=e.render,r=e.onLoadCallbackName,o=e.language,n=e.onLoad,a=e.useRecaptchaNet,c=e.useEnterprise,i=e.scriptProps,s=void 0===i?{}:i,u=s.nonce,l=void 0===u?\"\":u,f=s.defer,p=void 0!==f&&f,d=s.async,y=void 0!==d&&d,m=s.id,v=void 0===m?\"\":m,b=s.appendTo,h=v||\"google-recaptcha-v3\";if(function(e){return!!document.querySelector(\"#\"+e)}(h))n();else{var g=function(e){return\"https://www.\"+(e.useRecaptchaNet?\"recaptcha.net\":\"google.com\")+\"/recaptcha/\"+(e.useEnterprise?\"enterprise.js\":\"api.js\")}({useEnterprise:c,useRecaptchaNet:a}),S=document.createElement(\"script\");S.id=h,S.src=g+\"?render=\"+t+(\"explicit\"===t?\"&onload=\"+r:\"\")+(o?\"&hl=\"+o:\"\"),l&&(S.nonce=l),S.defer=!!p,S.async=!!y,S.onload=n,(\"body\"===b?document.body:document.getElementsByTagName(\"head\")[0]).appendChild(S)}},m=function(e){\"undefined\"!=typeof process&&!!process.env&&\"production\"!==process.env.NODE_ENV||console.warn(e)};!function(e){e.SCRIPT_NOT_AVAILABLE=\"Recaptcha script is not available\"}(f||(f={}));var v=t({executeRecaptcha:function(){throw Error(\"GoogleReCaptcha Context has not yet been implemented, if you are using useGoogleReCaptcha hook, make sure the hook is called inside component wrapped by GoogleRecaptchaProvider\")}}),b=v.Consumer;function h(t){var i=t.reCaptchaKey,u=t.useEnterprise,l=void 0!==u&&u,p=t.useRecaptchaNet,b=void 0!==p&&p,h=t.scriptProps,g=t.language,S=t.container,w=t.children,$=r(null),C=$[0],P=$[1],x=o(i),E=JSON.stringify(h),R=JSON.stringify(null==S?void 0:S.parameters);n((function(){if(i){var e=(null==h?void 0:h.id)||\"google-recaptcha-v3\",t=(null==h?void 0:h.onLoadCallbackName)||\"onRecaptchaLoadCallback\";window[t]=function(){var e=l?window.grecaptcha.enterprise:window.grecaptcha,t=s({badge:\"inline\",size:\"invisible\",sitekey:i},(null==S?void 0:S.parameters)||{});x.current=e.render(null==S?void 0:S.element,t)};return y({render:(null==S?void 0:S.element)?\"explicit\":i,onLoadCallbackName:t,useEnterprise:l,useRecaptchaNet:b,scriptProps:h,language:g,onLoad:function(){if(window&&window.grecaptcha){var e=l?window.grecaptcha.enterprise:window.grecaptcha;e.ready((function(){P(e)}))}else m(\"<GoogleRecaptchaProvider /> \"+f.SCRIPT_NOT_AVAILABLE)},onError:function(){m(\"Error loading google recaptcha script\")}}),function(){d(e,null==S?void 0:S.element)}}m(\"<GoogleReCaptchaProvider /> recaptcha key not provided\")}),[l,b,E,R,g,i,null==S?void 0:S.element]);var M=a((function(e){if(!C||!C.execute)throw new Error(\"<GoogleReCaptchaProvider /> Google Recaptcha has not been loaded\");return C.execute(x.current,{action:e})}),[C,x]),N=c((function(){return{executeRecaptcha:C?M:void 0,container:null==S?void 0:S.element}}),[M,C,null==S?void 0:S.element]);return e.createElement(v.Provider,{value:N},w)}var g=function(){return i(v)};function S(t){var r=this,o=t.action,a=t.onVerify,c=t.refreshReCaptcha,i=g();n((function(){var e=i.executeRecaptcha;if(e){u(r,void 0,void 0,(function(){var t;return l(this,(function(r){switch(r.label){case 0:return[4,e(o)];case 1:return t=r.sent(),a?(a(t),[2]):(m(\"Please define an onVerify function\"),[2])}}))}))}}),[o,a,c,i]);var s=i.container;return\"string\"==typeof s?e.createElement(\"div\",{id:s}):null}function w(e,t){return e(t={exports:{}},t.exports),t.exports\n/** @license React v16.13.1\n * react-is.production.min.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 */}var $=\"function\"==typeof Symbol&&Symbol.for,C=$?Symbol.for(\"react.element\"):60103,P=$?Symbol.for(\"react.portal\"):60106,x=$?Symbol.for(\"react.fragment\"):60107,E=$?Symbol.for(\"react.strict_mode\"):60108,R=$?Symbol.for(\"react.profiler\"):60114,M=$?Symbol.for(\"react.provider\"):60109,N=$?Symbol.for(\"react.context\"):60110,O=$?Symbol.for(\"react.async_mode\"):60111,_=$?Symbol.for(\"react.concurrent_mode\"):60111,T=$?Symbol.for(\"react.forward_ref\"):60112,j=$?Symbol.for(\"react.suspense\"):60113,L=$?Symbol.for(\"react.suspense_list\"):60120,k=$?Symbol.for(\"react.memo\"):60115,F=$?Symbol.for(\"react.lazy\"):60116,A=$?Symbol.for(\"react.block\"):60121,V=$?Symbol.for(\"react.fundamental\"):60117,z=$?Symbol.for(\"react.responder\"):60118,G=$?Symbol.for(\"react.scope\"):60119;function I(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case C:switch(e=e.type){case O:case _:case x:case R:case E:case j:return e;default:switch(e=e&&e.$$typeof){case N:case T:case F:case k:case M:return e;default:return t}}case P:return t}}}function D(e){return I(e)===_}var q={AsyncMode:O,ConcurrentMode:_,ContextConsumer:N,ContextProvider:M,Element:C,ForwardRef:T,Fragment:x,Lazy:F,Memo:k,Portal:P,Profiler:R,StrictMode:E,Suspense:j,isAsyncMode:function(e){return D(e)||I(e)===O},isConcurrentMode:D,isContextConsumer:function(e){return I(e)===N},isContextProvider:function(e){return I(e)===M},isElement:function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===C},isForwardRef:function(e){return I(e)===T},isFragment:function(e){return I(e)===x},isLazy:function(e){return I(e)===F},isMemo:function(e){return I(e)===k},isPortal:function(e){return I(e)===P},isProfiler:function(e){return I(e)===R},isStrictMode:function(e){return I(e)===E},isSuspense:function(e){return I(e)===j},isValidElementType:function(e){return\"string\"==typeof e||\"function\"==typeof e||e===x||e===_||e===R||e===E||e===j||e===L||\"object\"==typeof e&&null!==e&&(e.$$typeof===F||e.$$typeof===k||e.$$typeof===M||e.$$typeof===N||e.$$typeof===T||e.$$typeof===V||e.$$typeof===z||e.$$typeof===G||e.$$typeof===A)},typeOf:I},B=w((function(e,t){\"production\"!==process.env.NODE_ENV&&function(){var e=\"function\"==typeof Symbol&&Symbol.for,r=e?Symbol.for(\"react.element\"):60103,o=e?Symbol.for(\"react.portal\"):60106,n=e?Symbol.for(\"react.fragment\"):60107,a=e?Symbol.for(\"react.strict_mode\"):60108,c=e?Symbol.for(\"react.profiler\"):60114,i=e?Symbol.for(\"react.provider\"):60109,s=e?Symbol.for(\"react.context\"):60110,u=e?Symbol.for(\"react.async_mode\"):60111,l=e?Symbol.for(\"react.concurrent_mode\"):60111,f=e?Symbol.for(\"react.forward_ref\"):60112,p=e?Symbol.for(\"react.suspense\"):60113,d=e?Symbol.for(\"react.suspense_list\"):60120,y=e?Symbol.for(\"react.memo\"):60115,m=e?Symbol.for(\"react.lazy\"):60116,v=e?Symbol.for(\"react.block\"):60121,b=e?Symbol.for(\"react.fundamental\"):60117,h=e?Symbol.for(\"react.responder\"):60118,g=e?Symbol.for(\"react.scope\"):60119;function S(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:var d=e.type;switch(d){case u:case l:case n:case c:case a:case p:return d;default:var v=d&&d.$$typeof;switch(v){case s:case f:case m:case y:case i:return v;default:return t}}case o:return t}}}var w=u,$=l,C=s,P=i,x=r,E=f,R=n,M=m,N=y,O=o,_=c,T=a,j=p,L=!1;function k(e){return S(e)===l}t.AsyncMode=w,t.ConcurrentMode=$,t.ContextConsumer=C,t.ContextProvider=P,t.Element=x,t.ForwardRef=E,t.Fragment=R,t.Lazy=M,t.Memo=N,t.Portal=O,t.Profiler=_,t.StrictMode=T,t.Suspense=j,t.isAsyncMode=function(e){return L||(L=!0,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.\")),k(e)||S(e)===u},t.isConcurrentMode=k,t.isContextConsumer=function(e){return S(e)===s},t.isContextProvider=function(e){return S(e)===i},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return S(e)===f},t.isFragment=function(e){return S(e)===n},t.isLazy=function(e){return S(e)===m},t.isMemo=function(e){return S(e)===y},t.isPortal=function(e){return S(e)===o},t.isProfiler=function(e){return S(e)===c},t.isStrictMode=function(e){return S(e)===a},t.isSuspense=function(e){return S(e)===p},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===n||e===l||e===c||e===a||e===p||e===d||\"object\"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===y||e.$$typeof===i||e.$$typeof===s||e.$$typeof===f||e.$$typeof===b||e.$$typeof===h||e.$$typeof===g||e.$$typeof===v)},t.typeOf=S}()})),J=(B.AsyncMode,B.ConcurrentMode,B.ContextConsumer,B.ContextProvider,B.Element,B.ForwardRef,B.Fragment,B.Lazy,B.Memo,B.Portal,B.Profiler,B.StrictMode,B.Suspense,B.isAsyncMode,B.isConcurrentMode,B.isContextConsumer,B.isContextProvider,B.isElement,B.isForwardRef,B.isFragment,B.isLazy,B.isMemo,B.isPortal,B.isProfiler,B.isStrictMode,B.isSuspense,B.isValidElementType,B.typeOf,w((function(e){\"production\"===process.env.NODE_ENV?e.exports=q:e.exports=B}))),K={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},U={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},H={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Q={};function W(e){return J.isMemo(e)?H:Q[e.$$typeof]||K}Q[J.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Q[J.Memo]=H;var X=Object.defineProperty,Y=Object.getOwnPropertyNames,Z=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,re=Object.prototype;var oe=function e(t,r,o){if(\"string\"!=typeof r){if(re){var n=te(r);n&&n!==re&&e(t,n,o)}var a=Y(r);Z&&(a=a.concat(Z(r)));for(var c=W(t),i=W(r),s=0;s<a.length;++s){var u=a[s];if(!(U[u]||o&&o[u]||i&&i[u]||c&&c[u])){var l=ee(r,u);try{X(t,u,l)}catch(e){}}}}return t},ne=function(t){var r=function(r){return e.createElement(b,null,(function(o){return e.createElement(t,s({},r,{googleReCaptchaProps:o}))}))};return r.displayName=\"withGoogleReCaptcha(\"+(t.displayName||t.name||\"Component\")+\")\",oe(r,t),r};export{S as GoogleReCaptcha,b as GoogleReCaptchaConsumer,v as GoogleReCaptchaContext,h as GoogleReCaptchaProvider,g as useGoogleReCaptcha,ne as withGoogleReCaptcha};\n//# sourceMappingURL=react-google-recaptcha-v3.esm.js.map\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\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 _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\t_createClass(AutosizeInput, null, [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(props, state) {\n\t\t\tvar id = props.id;\n\n\t\t\treturn id !== state.prevId ? { inputId: id || generateId(), prevId: id } : null;\n\t\t}\n\t}]);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId(),\n\t\t\tprevId: props.id\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n  // Call this.constructor.gDSFP to support sub-classes.\n  var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n  if (state !== null && state !== undefined) {\n    this.setState(state);\n  }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n  // Call this.constructor.gDSFP to support sub-classes.\n  // Use the setState() updater to ensure state isn't stale in certain edge cases.\n  function updater(prevState) {\n    var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n    return state !== null && state !== undefined ? state : null;\n  }\n  // Binding \"this\" is important for shallow renderer support.\n  this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n  try {\n    var prevProps = this.props;\n    var prevState = this.state;\n    this.props = nextProps;\n    this.state = nextState;\n    this.__reactInternalSnapshotFlag = true;\n    this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n      prevProps,\n      prevState\n    );\n  } finally {\n    this.props = prevProps;\n    this.state = prevState;\n  }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n  var prototype = Component.prototype;\n\n  if (!prototype || !prototype.isReactComponent) {\n    throw new Error('Can only polyfill class components');\n  }\n\n  if (\n    typeof Component.getDerivedStateFromProps !== 'function' &&\n    typeof prototype.getSnapshotBeforeUpdate !== 'function'\n  ) {\n    return Component;\n  }\n\n  // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n  // Error if any of these lifecycles are present,\n  // Because they would work differently between older and newer (16.3+) versions of React.\n  var foundWillMountName = null;\n  var foundWillReceivePropsName = null;\n  var foundWillUpdateName = null;\n  if (typeof prototype.componentWillMount === 'function') {\n    foundWillMountName = 'componentWillMount';\n  } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n    foundWillMountName = 'UNSAFE_componentWillMount';\n  }\n  if (typeof prototype.componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'componentWillReceiveProps';\n  } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n    foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n  }\n  if (typeof prototype.componentWillUpdate === 'function') {\n    foundWillUpdateName = 'componentWillUpdate';\n  } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n    foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n  }\n  if (\n    foundWillMountName !== null ||\n    foundWillReceivePropsName !== null ||\n    foundWillUpdateName !== null\n  ) {\n    var componentName = Component.displayName || Component.name;\n    var newApiName =\n      typeof Component.getDerivedStateFromProps === 'function'\n        ? 'getDerivedStateFromProps()'\n        : 'getSnapshotBeforeUpdate()';\n\n    throw Error(\n      'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n        componentName +\n        ' uses ' +\n        newApiName +\n        ' but also contains the following legacy lifecycles:' +\n        (foundWillMountName !== null ? '\\n  ' + foundWillMountName : '') +\n        (foundWillReceivePropsName !== null\n          ? '\\n  ' + foundWillReceivePropsName\n          : '') +\n        (foundWillUpdateName !== null ? '\\n  ' + foundWillUpdateName : '') +\n        '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n        'https://fb.me/react-async-component-lifecycle-hooks'\n    );\n  }\n\n  // React <= 16.2 does not support static getDerivedStateFromProps.\n  // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n  // Newer versions of React will ignore these lifecycles if gDSFP exists.\n  if (typeof Component.getDerivedStateFromProps === 'function') {\n    prototype.componentWillMount = componentWillMount;\n    prototype.componentWillReceiveProps = componentWillReceiveProps;\n  }\n\n  // React <= 16.2 does not support getSnapshotBeforeUpdate.\n  // As a workaround, use cWU to invoke the new lifecycle.\n  // Newer versions of React will ignore that lifecycle if gSBU exists.\n  if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n    if (typeof prototype.componentDidUpdate !== 'function') {\n      throw new Error(\n        'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n      );\n    }\n\n    prototype.componentWillUpdate = componentWillUpdate;\n\n    var componentDidUpdate = prototype.componentDidUpdate;\n\n    prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n      prevProps,\n      prevState,\n      maybeSnapshot\n    ) {\n      // 16.3+ will not execute our will-update method;\n      // It will pass a snapshot value to did-update though.\n      // Older versions will require our polyfilled will-update value.\n      // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n      // Because for <= 15.x versions this might be a \"prevContext\" object.\n      // We also can't just check \"__reactInternalSnapshot\",\n      // Because get-snapshot might return a falsy value.\n      // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n      var snapshot = this.__reactInternalSnapshotFlag\n        ? this.__reactInternalSnapshot\n        : maybeSnapshot;\n\n      componentDidUpdate.call(this, prevProps, prevState, snapshot);\n    };\n  }\n\n  return Component;\n}\n\nexport { polyfill };\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _reactDom = require('react-dom');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NodeResolver = function (_Component) {\n  _inherits(NodeResolver, _Component);\n\n  function NodeResolver() {\n    _classCallCheck(this, NodeResolver);\n\n    return _possibleConstructorReturn(this, (NodeResolver.__proto__ || Object.getPrototypeOf(NodeResolver)).apply(this, arguments));\n  }\n\n  _createClass(NodeResolver, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      this.props.innerRef((0, _reactDom.findDOMNode)(this));\n    }\n  }, {\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      this.props.innerRef(null);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      return this.props.children;\n    }\n  }]);\n\n  return NodeResolver;\n}(_react.Component);\n\nexports.default = NodeResolver;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _NodeResolver = require('./NodeResolver');\n\nObject.defineProperty(exports, 'default', {\n  enumerable: true,\n  get: function get() {\n    return _interopRequireDefault(_NodeResolver).default;\n  }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","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';\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 * 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;","/**\n * React Router DOM v6.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { useRef, useState, useLayoutEffect, createElement, forwardRef, useCallback, useMemo } from 'react';\nimport { createBrowserHistory, createHashHistory } from 'history';\nimport { Router, useHref, createPath, useLocation, useResolvedPath, useNavigate } from 'react-router';\nexport { MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, createPath, createRoutesFromChildren, generatePath, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes } from 'react-router';\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nconst _excluded = [\"onClick\", \"reloadDocument\", \"replace\", \"state\", \"target\", \"to\"],\n      _excluded2 = [\"aria-current\", \"caseSensitive\", \"className\", \"end\", \"style\", \"to\", \"children\"];\n\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== \"undefined\") console.warn(message);\n\n    try {\n      // Welcome to debugging React Router!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message); // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n} ////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nfunction BrowserRouter(_ref) {\n  let {\n    basename,\n    children,\n    window\n  } = _ref;\n  let historyRef = useRef();\n\n  if (historyRef.current == null) {\n    historyRef.current = createBrowserHistory({\n      window\n    });\n  }\n\n  let history = historyRef.current;\n  let [state, setState] = useState({\n    action: history.action,\n    location: history.location\n  });\n  useLayoutEffect(() => history.listen(setState), [history]);\n  return /*#__PURE__*/createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history\n  });\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nfunction HashRouter(_ref2) {\n  let {\n    basename,\n    children,\n    window\n  } = _ref2;\n  let historyRef = useRef();\n\n  if (historyRef.current == null) {\n    historyRef.current = createHashHistory({\n      window\n    });\n  }\n\n  let history = historyRef.current;\n  let [state, setState] = useState({\n    action: history.action,\n    location: history.location\n  });\n  useLayoutEffect(() => history.listen(setState), [history]);\n  return /*#__PURE__*/createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history\n  });\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter(_ref3) {\n  let {\n    basename,\n    children,\n    history\n  } = _ref3;\n  const [state, setState] = useState({\n    action: history.action,\n    location: history.location\n  });\n  useLayoutEffect(() => history.listen(setState), [history]);\n  return /*#__PURE__*/createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history\n  });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n  HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nfunction isModifiedEvent(event) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = /*#__PURE__*/forwardRef(function LinkWithRef(_ref4, ref) {\n  let {\n    onClick,\n    reloadDocument,\n    replace = false,\n    state,\n    target,\n    to\n  } = _ref4,\n      rest = _objectWithoutPropertiesLoose(_ref4, _excluded);\n\n  let href = useHref(to);\n  let internalOnClick = useLinkClickHandler(to, {\n    replace,\n    state,\n    target\n  });\n\n  function handleClick(event) {\n    if (onClick) onClick(event);\n\n    if (!event.defaultPrevented && !reloadDocument) {\n      internalOnClick(event);\n    }\n  }\n\n  return (\n    /*#__PURE__*/\n    // eslint-disable-next-line jsx-a11y/anchor-has-content\n    createElement(\"a\", _extends({}, rest, {\n      href: href,\n      onClick: handleClick,\n      ref: ref,\n      target: target\n    }))\n  );\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n  Link.displayName = \"Link\";\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = /*#__PURE__*/forwardRef(function NavLinkWithRef(_ref5, ref) {\n  let {\n    \"aria-current\": ariaCurrentProp = \"page\",\n    caseSensitive = false,\n    className: classNameProp = \"\",\n    end = false,\n    style: styleProp,\n    to,\n    children\n  } = _ref5,\n      rest = _objectWithoutPropertiesLoose(_ref5, _excluded2);\n\n  let location = useLocation();\n  let path = useResolvedPath(to);\n  let locationPathname = location.pathname;\n  let toPathname = path.pathname;\n\n  if (!caseSensitive) {\n    locationPathname = locationPathname.toLowerCase();\n    toPathname = toPathname.toLowerCase();\n  }\n\n  let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(toPathname.length) === \"/\";\n  let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n  let className;\n\n  if (typeof classNameProp === \"function\") {\n    className = classNameProp({\n      isActive\n    });\n  } else {\n    // If the className prop is not a function, we use a default `active`\n    // class for <NavLink />s that are active. In v5 `active` was the default\n    // value for `activeClassName`, but we are removing that API and can still\n    // use the old default behavior for a cleaner upgrade path and keep the\n    // simple styling rules working as they currently do.\n    className = [classNameProp, isActive ? \"active\" : null].filter(Boolean).join(\" \");\n  }\n\n  let style = typeof styleProp === \"function\" ? styleProp({\n    isActive\n  }) : styleProp;\n  return /*#__PURE__*/createElement(Link, _extends({}, rest, {\n    \"aria-current\": ariaCurrent,\n    className: className,\n    ref: ref,\n    style: style,\n    to: to\n  }), typeof children === \"function\" ? children({\n    isActive\n  }) : children);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n  NavLink.displayName = \"NavLink\";\n} ////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\n\n\nfunction useLinkClickHandler(to, _temp) {\n  let {\n    target,\n    replace: replaceProp,\n    state\n  } = _temp === void 0 ? {} : _temp;\n  let navigate = useNavigate();\n  let location = useLocation();\n  let path = useResolvedPath(to);\n  return useCallback(event => {\n    if (event.button === 0 && ( // Ignore everything but left clicks\n    !target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n    !isModifiedEvent(event) // Ignore clicks with modifier keys\n    ) {\n      event.preventDefault(); // If the URL hasn't changed, a regular <a> will do a replace instead of\n      // a push, so do the same here.\n\n      let replace = !!replaceProp || createPath(location) === createPath(path);\n      navigate(to, {\n        replace,\n        state\n      });\n    }\n  }, [location, navigate, path, replaceProp, state, target, to]);\n}\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\n\nfunction useSearchParams(defaultInit) {\n  process.env.NODE_ENV !== \"production\" ? warning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not \" + \"support the URLSearchParams API. If you need to support Internet \" + \"Explorer 11, we recommend you load a polyfill such as \" + \"https://github.com/ungap/url-search-params\\n\\n\" + \"If you're unsure how to load polyfills, we recommend you check out \" + \"https://polyfill.io/v3/ which provides some recommendations about how \" + \"to load polyfills only for users that need them, instead of for every \" + \"user.\") : void 0;\n  let defaultSearchParamsRef = useRef(createSearchParams(defaultInit));\n  let location = useLocation();\n  let searchParams = useMemo(() => {\n    let searchParams = createSearchParams(location.search);\n\n    for (let key of defaultSearchParamsRef.current.keys()) {\n      if (!searchParams.has(key)) {\n        defaultSearchParamsRef.current.getAll(key).forEach(value => {\n          searchParams.append(key, value);\n        });\n      }\n    }\n\n    return searchParams;\n  }, [location.search]);\n  let navigate = useNavigate();\n  let setSearchParams = useCallback((nextInit, navigateOptions) => {\n    navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n  }, [navigate]);\n  return [searchParams, setSearchParams];\n}\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n *   let searchParams = new URLSearchParams([\n *     ['sort', 'name'],\n *     ['sort', 'price']\n *   ]);\n *\n * you can do:\n *\n *   let searchParams = createSearchParams({\n *     sort: ['name', 'price']\n *   });\n */\nfunction createSearchParams(init) {\n  if (init === void 0) {\n    init = \"\";\n  }\n\n  return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n    let value = init[key];\n    return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n  }, []));\n}\n\nexport { BrowserRouter, HashRouter, Link, NavLink, createSearchParams, HistoryRouter as unstable_HistoryRouter, useLinkClickHandler, useSearchParams };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router v6.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { parsePath, createMemoryHistory, Action } from 'history';\nexport { Action as NavigationType, createPath, parsePath } from 'history';\nimport { createContext, useContext, useMemo, useRef, useEffect, useCallback, createElement, useState, useLayoutEffect, Children, isValidElement, Fragment } from 'react';\n\nconst NavigationContext = /*#__PURE__*/createContext(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n  NavigationContext.displayName = \"Navigation\";\n}\n\nconst LocationContext = /*#__PURE__*/createContext(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n  LocationContext.displayName = \"Location\";\n}\n\nconst RouteContext = /*#__PURE__*/createContext({\n  outlet: null,\n  matches: []\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n  RouteContext.displayName = \"Route\";\n}\n\nfunction invariant(cond, message) {\n  if (!cond) throw new Error(message);\n}\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== \"undefined\") console.warn(message);\n\n    try {\n      // Welcome to debugging React Router!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message); // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n  if (!cond && !alreadyWarned[key]) {\n    alreadyWarned[key] = true;\n    process.env.NODE_ENV !== \"production\" ? warning(false, message) : void 0;\n  }\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nfunction generatePath(path, params) {\n  if (params === void 0) {\n    params = {};\n  }\n\n  return path.replace(/:(\\w+)/g, (_, key) => {\n    !(params[key] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Missing \\\":\" + key + \"\\\" param\") : invariant(false) : void 0;\n    return params[key];\n  }).replace(/\\/*\\*$/, _ => params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\"));\n}\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n  if (basename === void 0) {\n    basename = \"/\";\n  }\n\n  let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n  let pathname = stripBasename(location.pathname || \"/\", basename);\n\n  if (pathname == null) {\n    return null;\n  }\n\n  let branches = flattenRoutes(routes);\n  rankRouteBranches(branches);\n  let matches = null;\n\n  for (let i = 0; matches == null && i < branches.length; ++i) {\n    matches = matchRouteBranch(branches[i], pathname);\n  }\n\n  return matches;\n}\n\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n  if (branches === void 0) {\n    branches = [];\n  }\n\n  if (parentsMeta === void 0) {\n    parentsMeta = [];\n  }\n\n  if (parentPath === void 0) {\n    parentPath = \"\";\n  }\n\n  routes.forEach((route, index) => {\n    let meta = {\n      relativePath: route.path || \"\",\n      caseSensitive: route.caseSensitive === true,\n      childrenIndex: index,\n      route\n    };\n\n    if (meta.relativePath.startsWith(\"/\")) {\n      !meta.relativePath.startsWith(parentPath) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\") : invariant(false) : void 0;\n      meta.relativePath = meta.relativePath.slice(parentPath.length);\n    }\n\n    let path = joinPaths([parentPath, meta.relativePath]);\n    let routesMeta = parentsMeta.concat(meta); // Add the children before adding this route to the array so we traverse the\n    // route tree depth-first and child routes appear before their parents in\n    // the \"flattened\" version.\n\n    if (route.children && route.children.length > 0) {\n      !(route.index !== true) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\")) : invariant(false) : void 0;\n      flattenRoutes(route.children, branches, routesMeta, path);\n    } // Routes without a path shouldn't ever match by themselves unless they are\n    // index routes, so don't add them to the list of possible branches.\n\n\n    if (route.path == null && !route.index) {\n      return;\n    }\n\n    branches.push({\n      path,\n      score: computeScore(path, route.index),\n      routesMeta\n    });\n  });\n  return branches;\n}\n\nfunction rankRouteBranches(branches) {\n  branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n  : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\n\nconst isSplat = s => s === \"*\";\n\nfunction computeScore(path, index) {\n  let segments = path.split(\"/\");\n  let initialScore = segments.length;\n\n  if (segments.some(isSplat)) {\n    initialScore += splatPenalty;\n  }\n\n  if (index) {\n    initialScore += indexRouteValue;\n  }\n\n  return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\n\nfunction compareIndexes(a, b) {\n  let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n  return siblings ? // If two routes are siblings, we should try to match the earlier sibling\n  // first. This allows people to have fine-grained control over the matching\n  // behavior by simply putting routes with identical paths in the order they\n  // want them tried.\n  a[a.length - 1] - b[b.length - 1] : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n  // so they sort equally.\n  0;\n}\n\nfunction matchRouteBranch(branch, pathname) {\n  let {\n    routesMeta\n  } = branch;\n  let matchedParams = {};\n  let matchedPathname = \"/\";\n  let matches = [];\n\n  for (let i = 0; i < routesMeta.length; ++i) {\n    let meta = routesMeta[i];\n    let end = i === routesMeta.length - 1;\n    let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n    let match = matchPath({\n      path: meta.relativePath,\n      caseSensitive: meta.caseSensitive,\n      end\n    }, remainingPathname);\n    if (!match) return null;\n    Object.assign(matchedParams, match.params);\n    let route = meta.route;\n    matches.push({\n      params: matchedParams,\n      pathname: joinPaths([matchedPathname, match.pathname]),\n      pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n      route\n    });\n\n    if (match.pathnameBase !== \"/\") {\n      matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n    }\n  }\n\n  return matches;\n}\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\n\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nfunction matchPath(pattern, pathname) {\n  if (typeof pattern === \"string\") {\n    pattern = {\n      path: pattern,\n      caseSensitive: false,\n      end: true\n    };\n  }\n\n  let [matcher, paramNames] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n  let match = pathname.match(matcher);\n  if (!match) return null;\n  let matchedPathname = match[0];\n  let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n  let captureGroups = match.slice(1);\n  let params = paramNames.reduce((memo, paramName, index) => {\n    // We need to compute the pathnameBase here using the raw splat value\n    // instead of using params[\"*\"] later because it will be decoded then\n    if (paramName === \"*\") {\n      let splatValue = captureGroups[index] || \"\";\n      pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n    }\n\n    memo[paramName] = safelyDecodeURIComponent(captureGroups[index] || \"\", paramName);\n    return memo;\n  }, {});\n  return {\n    params,\n    pathname: matchedPathname,\n    pathnameBase,\n    pattern\n  };\n}\n\nfunction compilePath(path, caseSensitive, end) {\n  if (caseSensitive === void 0) {\n    caseSensitive = false;\n  }\n\n  if (end === void 0) {\n    end = true;\n  }\n\n  process.env.NODE_ENV !== \"production\" ? warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\")) : void 0;\n  let paramNames = [];\n  let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n  .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n  .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n  .replace(/:(\\w+)/g, (_, paramName) => {\n    paramNames.push(paramName);\n    return \"([^\\\\/]+)\";\n  });\n\n  if (path.endsWith(\"*\")) {\n    paramNames.push(\"*\");\n    regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n    : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n  } else {\n    regexpSource += end ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n    : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n    // parent routes to matching only their own words and nothing more, e.g. parent\n    // route \"/home\" should not match \"/home2\".\n    // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n    // but do not consume the character in the matched path so they can match against\n    // nested paths.\n    \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n  }\n\n  let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n  return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value, paramName) {\n  try {\n    return decodeURIComponent(value);\n  } catch (error) {\n    process.env.NODE_ENV !== \"production\" ? warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\")) : void 0;\n    return value;\n  }\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\n\n\nfunction resolvePath(to, fromPathname) {\n  if (fromPathname === void 0) {\n    fromPathname = \"/\";\n  }\n\n  let {\n    pathname: toPathname,\n    search = \"\",\n    hash = \"\"\n  } = typeof to === \"string\" ? parsePath(to) : to;\n  let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n  return {\n    pathname,\n    search: normalizeSearch(search),\n    hash: normalizeHash(hash)\n  };\n}\n\nfunction resolvePathname(relativePath, fromPathname) {\n  let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n  let relativeSegments = relativePath.split(\"/\");\n  relativeSegments.forEach(segment => {\n    if (segment === \"..\") {\n      // Keep the root \"\" segment so the pathname starts at /\n      if (segments.length > 1) segments.pop();\n    } else if (segment !== \".\") {\n      segments.push(segment);\n    }\n  });\n  return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(toArg, routePathnames, locationPathname) {\n  let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n  let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname; // If a pathname is explicitly provided in `to`, it should be relative to the\n  // route context. This is explained in `Note on `<Link to>` values` in our\n  // migration guide from v5 as a means of disambiguation between `to` values\n  // that begin with `/` and those that do not. However, this is problematic for\n  // `to` values that do not provide a pathname. `to` can simply be a search or\n  // hash string, in which case we should assume that the navigation is relative\n  // to the current location's pathname and *not* the route pathname.\n\n  let from;\n\n  if (toPathname == null) {\n    from = locationPathname;\n  } else {\n    let routePathnameIndex = routePathnames.length - 1;\n\n    if (toPathname.startsWith(\"..\")) {\n      let toSegments = toPathname.split(\"/\"); // Each leading .. segment means \"go up one route\" instead of \"go up one\n      // URL segment\".  This is a key difference from how <a href> works and a\n      // major reason we call this a \"to\" value instead of a \"href\".\n\n      while (toSegments[0] === \"..\") {\n        toSegments.shift();\n        routePathnameIndex -= 1;\n      }\n\n      to.pathname = toSegments.join(\"/\");\n    } // If there are more \"..\" segments than parent routes, resolve relative to\n    // the root / URL.\n\n\n    from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n  }\n\n  let path = resolvePath(to, from); // Ensure the pathname has a trailing slash if the original to value had one.\n\n  if (toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\") && !path.pathname.endsWith(\"/\")) {\n    path.pathname += \"/\";\n  }\n\n  return path;\n}\nfunction getToPathname(to) {\n  // Empty strings should be treated the same as / paths\n  return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\nfunction stripBasename(pathname, basename) {\n  if (basename === \"/\") return pathname;\n\n  if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n    return null;\n  }\n\n  let nextChar = pathname.charAt(basename.length);\n\n  if (nextChar && nextChar !== \"/\") {\n    // pathname does not start with basename/\n    return null;\n  }\n\n  return pathname.slice(basename.length) || \"/\";\n}\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\n\nfunction useHref(to) {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useHref() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n  let {\n    basename,\n    navigator\n  } = useContext(NavigationContext);\n  let {\n    hash,\n    pathname,\n    search\n  } = useResolvedPath(to);\n  let joinedPathname = pathname;\n\n  if (basename !== \"/\") {\n    let toPathname = getToPathname(to);\n    let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n    joinedPathname = pathname === \"/\" ? basename + (endsWithSlash ? \"/\" : \"\") : joinPaths([basename, pathname]);\n  }\n\n  return navigator.createHref({\n    pathname: joinedPathname,\n    search,\n    hash\n  });\n}\n/**\n * Returns true if this component is a descendant of a <Router>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\n\nfunction useInRouterContext() {\n  return useContext(LocationContext) != null;\n}\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\n\nfunction useLocation() {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useLocation() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n  return useContext(LocationContext).location;\n}\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\n\nfunction useNavigationType() {\n  return useContext(LocationContext).navigationType;\n}\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * <NavLink>.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\n\nfunction useMatch(pattern) {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useMatch() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n  let {\n    pathname\n  } = useLocation();\n  return useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\n/**\n * Returns an imperative method for changing the location. Used by <Link>s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nfunction useNavigate() {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useNavigate() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n  let {\n    basename,\n    navigator\n  } = useContext(NavigationContext);\n  let {\n    matches\n  } = useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let routePathnamesJson = JSON.stringify(matches.map(match => match.pathnameBase));\n  let activeRef = useRef(false);\n  useEffect(() => {\n    activeRef.current = true;\n  });\n  let navigate = useCallback(function (to, options) {\n    if (options === void 0) {\n      options = {};\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(activeRef.current, \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\") : void 0;\n    if (!activeRef.current) return;\n\n    if (typeof to === \"number\") {\n      navigator.go(to);\n      return;\n    }\n\n    let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname);\n\n    if (basename !== \"/\") {\n      path.pathname = joinPaths([basename, path.pathname]);\n    }\n\n    (!!options.replace ? navigator.replace : navigator.push)(path, options.state);\n  }, [basename, navigator, routePathnamesJson, locationPathname]);\n  return navigate;\n}\nconst OutletContext = /*#__PURE__*/createContext(null);\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\n\nfunction useOutletContext() {\n  return useContext(OutletContext);\n}\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by <Outlet> to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\n\nfunction useOutlet(context) {\n  let outlet = useContext(RouteContext).outlet;\n\n  if (outlet) {\n    return /*#__PURE__*/createElement(OutletContext.Provider, {\n      value: context\n    }, outlet);\n  }\n\n  return outlet;\n}\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\n\nfunction useParams() {\n  let {\n    matches\n  } = useContext(RouteContext);\n  let routeMatch = matches[matches.length - 1];\n  return routeMatch ? routeMatch.params : {};\n}\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\n\nfunction useResolvedPath(to) {\n  let {\n    matches\n  } = useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let routePathnamesJson = JSON.stringify(matches.map(match => match.pathnameBase));\n  return useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname), [to, routePathnamesJson, locationPathname]);\n}\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an <Outlet> to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\n\nfunction useRoutes(routes, locationArg) {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useRoutes() may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n  let {\n    matches: parentMatches\n  } = useContext(RouteContext);\n  let routeMatch = parentMatches[parentMatches.length - 1];\n  let parentParams = routeMatch ? routeMatch.params : {};\n  let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n  let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n  let parentRoute = routeMatch && routeMatch.route;\n\n  if (process.env.NODE_ENV !== \"production\") {\n    // You won't get a warning about 2 different <Routes> under a <Route>\n    // without a trailing *, but this is a best-effort warning anyway since we\n    // cannot even give the warning unless they land at the parent route.\n    //\n    // Example:\n    //\n    // <Routes>\n    //   {/* This route path MUST end with /* because otherwise\n    //       it will never match /blog/post/123 */}\n    //   <Route path=\"blog\" element={<Blog />} />\n    //   <Route path=\"blog/feed\" element={<BlogFeed />} />\n    // </Routes>\n    //\n    // function Blog() {\n    //   return (\n    //     <Routes>\n    //       <Route path=\"post/:id\" element={<Post />} />\n    //     </Routes>\n    //   );\n    // }\n    let parentPath = parentRoute && parentRoute.path || \"\";\n    warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant <Routes> (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under <Route path=\\\"\" + parentPath + \"\\\">) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent <Route path=\\\"\" + parentPath + \"\\\"> to <Route \") + (\"path=\\\"\" + (parentPath === \"/\" ? \"*\" : parentPath + \"/*\") + \"\\\">.\"));\n  }\n\n  let locationFromContext = useLocation();\n  let location;\n\n  if (locationArg) {\n    var _parsedLocationArg$pa;\n\n    let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n    !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : invariant(false) : void 0;\n    location = parsedLocationArg;\n  } else {\n    location = locationFromContext;\n  }\n\n  let pathname = location.pathname || \"/\";\n  let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n  let matches = matchRoutes(routes, {\n    pathname: remainingPathname\n  });\n\n  if (process.env.NODE_ENV !== \"production\") {\n    process.env.NODE_ENV !== \"production\" ? warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n    process.env.NODE_ENV !== \"production\" ? warning(matches == null || matches[matches.length - 1].route.element !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" does not have an element. \" + \"This means it will render an <Outlet /> with a null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n  }\n\n  return _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n    params: Object.assign({}, parentParams, match.params),\n    pathname: joinPaths([parentPathnameBase, match.pathname]),\n    pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase, match.pathnameBase])\n  })), parentMatches);\n}\nfunction _renderMatches(matches, parentMatches) {\n  if (parentMatches === void 0) {\n    parentMatches = [];\n  }\n\n  if (matches == null) return null;\n  return matches.reduceRight((outlet, match, index) => {\n    return /*#__PURE__*/createElement(RouteContext.Provider, {\n      children: match.route.element !== undefined ? match.route.element : outlet,\n      value: {\n        outlet,\n        matches: parentMatches.concat(matches.slice(0, index + 1))\n      }\n    });\n  }, null);\n}\n\n/**\n * A <Router> that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nfunction MemoryRouter(_ref) {\n  let {\n    basename,\n    children,\n    initialEntries,\n    initialIndex\n  } = _ref;\n  let historyRef = useRef();\n\n  if (historyRef.current == null) {\n    historyRef.current = createMemoryHistory({\n      initialEntries,\n      initialIndex\n    });\n  }\n\n  let history = historyRef.current;\n  let [state, setState] = useState({\n    action: history.action,\n    location: history.location\n  });\n  useLayoutEffect(() => history.listen(setState), [history]);\n  return /*#__PURE__*/createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history\n  });\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nfunction Navigate(_ref2) {\n  let {\n    to,\n    replace,\n    state\n  } = _ref2;\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of\n  // the router loaded. We can help them understand how to avoid that.\n  \"<Navigate> may be used only in the context of a <Router> component.\") : invariant(false) : void 0;\n  process.env.NODE_ENV !== \"production\" ? warning(!useContext(NavigationContext).static, \"<Navigate> must not be used on the initial render in a <StaticRouter>. \" + \"This is a no-op, but you should modify your code so the <Navigate> is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n  let navigate = useNavigate();\n  useEffect(() => {\n    navigate(to, {\n      replace,\n      state\n    });\n  });\n  return null;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nfunction Outlet(props) {\n  return useOutlet(props.context);\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nfunction Route(_props) {\n   process.env.NODE_ENV !== \"production\" ? invariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, \" + \"never rendered directly. Please wrap your <Route> in a <Routes>.\") : invariant(false) ;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a <Router> directly. Instead, you'll render a\n * router that is more specific to your environment such as a <BrowserRouter>\n * in web browsers or a <StaticRouter> for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nfunction Router(_ref3) {\n  let {\n    basename: basenameProp = \"/\",\n    children = null,\n    location: locationProp,\n    navigationType = Action.Pop,\n    navigator,\n    static: staticProp = false\n  } = _ref3;\n  !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot render a <Router> inside another <Router>.\" + \" You should never have more than one in your app.\") : invariant(false) : void 0;\n  let basename = normalizePathname(basenameProp);\n  let navigationContext = useMemo(() => ({\n    basename,\n    navigator,\n    static: staticProp\n  }), [basename, navigator, staticProp]);\n\n  if (typeof locationProp === \"string\") {\n    locationProp = parsePath(locationProp);\n  }\n\n  let {\n    pathname = \"/\",\n    search = \"\",\n    hash = \"\",\n    state = null,\n    key = \"default\"\n  } = locationProp;\n  let location = useMemo(() => {\n    let trailingPathname = stripBasename(pathname, basename);\n\n    if (trailingPathname == null) {\n      return null;\n    }\n\n    return {\n      pathname: trailingPathname,\n      search,\n      hash,\n      state,\n      key\n    };\n  }, [basename, pathname, search, hash, state, key]);\n  process.env.NODE_ENV !== \"production\" ? warning(location != null, \"<Router basename=\\\"\" + basename + \"\\\"> is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the <Router> won't render anything.\") : void 0;\n\n  if (location == null) {\n    return null;\n  }\n\n  return /*#__PURE__*/createElement(NavigationContext.Provider, {\n    value: navigationContext\n  }, /*#__PURE__*/createElement(LocationContext.Provider, {\n    children: children,\n    value: {\n      location,\n      navigationType\n    }\n  }));\n}\n\n/**\n * A container for a nested tree of <Route> elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nfunction Routes(_ref4) {\n  let {\n    children,\n    location\n  } = _ref4;\n  return useRoutes(createRoutesFromChildren(children), location);\n} ///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\n\nfunction createRoutesFromChildren(children) {\n  let routes = [];\n  Children.forEach(children, element => {\n    if (! /*#__PURE__*/isValidElement(element)) {\n      // Ignore non-elements. This allows people to more easily inline\n      // conditionals in their route config.\n      return;\n    }\n\n    if (element.type === Fragment) {\n      // Transparently support React.Fragment and its children.\n      routes.push.apply(routes, createRoutesFromChildren(element.props.children));\n      return;\n    }\n\n    !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>\") : invariant(false) : void 0;\n    let route = {\n      caseSensitive: element.props.caseSensitive,\n      element: element.props.element,\n      index: element.props.index,\n      path: element.props.path\n    };\n\n    if (element.props.children) {\n      route.children = createRoutesFromChildren(element.props.children);\n    }\n\n    routes.push(route);\n  });\n  return routes;\n}\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\n\nfunction renderMatches(matches) {\n  return _renderMatches(matches);\n}\n\nexport { MemoryRouter, Navigate, Outlet, Route, Router, Routes, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, createRoutesFromChildren, generatePath, matchPath, matchRoutes, renderMatches, resolvePath, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes };\n//# sourceMappingURL=index.js.map\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}","export default {\n  disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n  return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n *   transition: `opacity ${duration}ms ease-in-out`,\n *   opacity: 0,\n * }\n *\n * const transitionStyles = {\n *   entering: { opacity: 1 },\n *   entered:  { opacity: 1 },\n *   exiting:  { opacity: 0 },\n *   exited:  { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n *  - `'entering'`\n *  - `'entered'`\n *  - `'exiting'`\n *  - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(Transition, _React$Component);\n\n  function Transition(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n    var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n    var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n    var initialStatus;\n    _this.appearStatus = null;\n\n    if (props.in) {\n      if (appear) {\n        initialStatus = EXITED;\n        _this.appearStatus = ENTERING;\n      } else {\n        initialStatus = ENTERED;\n      }\n    } else {\n      if (props.unmountOnExit || props.mountOnEnter) {\n        initialStatus = UNMOUNTED;\n      } else {\n        initialStatus = EXITED;\n      }\n    }\n\n    _this.state = {\n      status: initialStatus\n    };\n    _this.nextCallback = null;\n    return _this;\n  }\n\n  Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n    var nextIn = _ref.in;\n\n    if (nextIn && prevState.status === UNMOUNTED) {\n      return {\n        status: EXITED\n      };\n    }\n\n    return null;\n  } // getSnapshotBeforeUpdate(prevProps) {\n  //   let nextStatus = null\n  //   if (prevProps !== this.props) {\n  //     const { status } = this.state\n  //     if (this.props.in) {\n  //       if (status !== ENTERING && status !== ENTERED) {\n  //         nextStatus = ENTERING\n  //       }\n  //     } else {\n  //       if (status === ENTERING || status === ENTERED) {\n  //         nextStatus = EXITING\n  //       }\n  //     }\n  //   }\n  //   return { nextStatus }\n  // }\n  ;\n\n  var _proto = Transition.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.updateStatus(true, this.appearStatus);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var nextStatus = null;\n\n    if (prevProps !== this.props) {\n      var status = this.state.status;\n\n      if (this.props.in) {\n        if (status !== ENTERING && status !== ENTERED) {\n          nextStatus = ENTERING;\n        }\n      } else {\n        if (status === ENTERING || status === ENTERED) {\n          nextStatus = EXITING;\n        }\n      }\n    }\n\n    this.updateStatus(false, nextStatus);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.cancelNextCallback();\n  };\n\n  _proto.getTimeouts = function getTimeouts() {\n    var timeout = this.props.timeout;\n    var exit, enter, appear;\n    exit = enter = appear = timeout;\n\n    if (timeout != null && typeof timeout !== 'number') {\n      exit = timeout.exit;\n      enter = timeout.enter; // TODO: remove fallback for next major\n\n      appear = timeout.appear !== undefined ? timeout.appear : enter;\n    }\n\n    return {\n      exit: exit,\n      enter: enter,\n      appear: appear\n    };\n  };\n\n  _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n    if (mounting === void 0) {\n      mounting = false;\n    }\n\n    if (nextStatus !== null) {\n      // nextStatus will always be ENTERING or EXITING.\n      this.cancelNextCallback();\n\n      if (nextStatus === ENTERING) {\n        if (this.props.unmountOnExit || this.props.mountOnEnter) {\n          var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n          // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n          // To make the animation happen,  we have to separate each rendering and avoid being processed as batched.\n\n          if (node) forceReflow(node);\n        }\n\n        this.performEnter(mounting);\n      } else {\n        this.performExit();\n      }\n    } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n      this.setState({\n        status: UNMOUNTED\n      });\n    }\n  };\n\n  _proto.performEnter = function performEnter(mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context ? this.context.isMounting : mounting;\n\n    var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n        maybeNode = _ref2[0],\n        maybeAppearing = _ref2[1];\n\n    var timeouts = this.getTimeouts();\n    var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n    // if we are mounting and running this it means appear _must_ be set\n\n    if (!mounting && !enter || config.disabled) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onEnter(maybeNode, maybeAppearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(maybeNode, maybeAppearing);\n\n      _this2.onTransitionEnd(enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(maybeNode, maybeAppearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit() {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts();\n    var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n    if (!exit || config.disabled) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onExit(maybeNode);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(maybeNode);\n\n      _this3.onTransitionEnd(timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(maybeNode);\n        });\n      });\n    });\n  };\n\n  _proto.cancelNextCallback = function cancelNextCallback() {\n    if (this.nextCallback !== null) {\n      this.nextCallback.cancel();\n      this.nextCallback = null;\n    }\n  };\n\n  _proto.safeSetState = function safeSetState(nextState, callback) {\n    // This shouldn't be necessary, but there are weird race conditions with\n    // setState callbacks and unmounting in testing, so always make sure that\n    // we can cancel any pending setState callbacks after we unmount.\n    callback = this.setNextCallback(callback);\n    this.setState(nextState, callback);\n  };\n\n  _proto.setNextCallback = function setNextCallback(callback) {\n    var _this4 = this;\n\n    var active = true;\n\n    this.nextCallback = function (event) {\n      if (active) {\n        active = false;\n        _this4.nextCallback = null;\n        callback(event);\n      }\n    };\n\n    this.nextCallback.cancel = function () {\n      active = false;\n    };\n\n    return this.nextCallback;\n  };\n\n  _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n    this.setNextCallback(handler);\n    var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n    var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n    if (!node || doesNotHaveTimeoutOrListener) {\n      setTimeout(this.nextCallback, 0);\n      return;\n    }\n\n    if (this.props.addEndListener) {\n      var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n          maybeNode = _ref3[0],\n          maybeNextCallback = _ref3[1];\n\n      this.props.addEndListener(maybeNode, maybeNextCallback);\n    }\n\n    if (timeout != null) {\n      setTimeout(this.nextCallback, timeout);\n    }\n  };\n\n  _proto.render = function render() {\n    var status = this.state.status;\n\n    if (status === UNMOUNTED) {\n      return null;\n    }\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        _in = _this$props.in,\n        _mountOnEnter = _this$props.mountOnEnter,\n        _unmountOnExit = _this$props.unmountOnExit,\n        _appear = _this$props.appear,\n        _enter = _this$props.enter,\n        _exit = _this$props.exit,\n        _timeout = _this$props.timeout,\n        _addEndListener = _this$props.addEndListener,\n        _onEnter = _this$props.onEnter,\n        _onEntering = _this$props.onEntering,\n        _onEntered = _this$props.onEntered,\n        _onExit = _this$props.onExit,\n        _onExiting = _this$props.onExiting,\n        _onExited = _this$props.onExited,\n        _nodeRef = _this$props.nodeRef,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n    return (\n      /*#__PURE__*/\n      // allows for nested Transitions\n      React.createElement(TransitionGroupContext.Provider, {\n        value: null\n      }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n    );\n  };\n\n  return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * A React reference to DOM element that need to transition:\n   * https://stackoverflow.com/a/51127130/4671932\n   *\n   *   - When `nodeRef` prop is used, `node` is not passed to callback functions\n   *      (e.g. `onEnter`) because user already has direct access to the node.\n   *   - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n   *     `nodeRef` need to be provided to `Transition` with changed `key` prop\n   *     (see\n   *     [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n   */\n  nodeRef: PropTypes.shape({\n    current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n      var value = propValue[key];\n      return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n    }\n  }),\n\n  /**\n   * A `function` child can be used instead of a React element. This function is\n   * called with the current transition status (`'entering'`, `'entered'`,\n   * `'exiting'`, `'exited'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\n   * ```\n   */\n  children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n  /**\n   * Show the component; triggers the enter or exit states\n   */\n  in: PropTypes.bool,\n\n  /**\n   * By default the child component is mounted immediately along with\n   * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n   * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n   */\n  mountOnEnter: PropTypes.bool,\n\n  /**\n   * By default the child component stays mounted after it reaches the `'exited'` state.\n   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n   */\n  unmountOnExit: PropTypes.bool,\n\n  /**\n   * By default the child component does not perform the enter transition when\n   * it first mounts, regardless of the value of `in`. If you want this\n   * behavior, set both `appear` and `in` to `true`.\n   *\n   * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n   * > only adds an additional enter transition. However, in the\n   * > `<CSSTransition>` component that first enter transition does result in\n   * > additional `.appear-*` classes, that way you can choose to style it\n   * > differently.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * Enable or disable enter transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * Enable or disable exit transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * The duration of the transition, in milliseconds.\n   * Required unless `addEndListener` is provided.\n   *\n   * You may specify a single timeout for all transitions:\n   *\n   * ```jsx\n   * timeout={500}\n   * ```\n   *\n   * or individually:\n   *\n   * ```jsx\n   * timeout={{\n   *  appear: 500,\n   *  enter: 300,\n   *  exit: 500,\n   * }}\n   * ```\n   *\n   * - `appear` defaults to the value of `enter`\n   * - `enter` defaults to `0`\n   * - `exit` defaults to `0`\n   *\n   * @type {number | { enter?: number, exit?: number, appear?: number }}\n   */\n  timeout: function timeout(props) {\n    var pt = timeoutsShape;\n    if (!props.addEndListener) pt = pt.isRequired;\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return pt.apply(void 0, [props].concat(args));\n  },\n\n  /**\n   * Add a custom transition end trigger. Called with the transitioning\n   * DOM node and a `done` callback. Allows for more fine grained transition end\n   * logic. Timeouts are still used as a fallback if provided.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * ```jsx\n   * addEndListener={(node, done) => {\n   *   // use the css transitionend event to mark the finish of a transition\n   *   node.addEventListener('transitionend', done, false);\n   * }}\n   * ```\n   */\n  addEndListener: PropTypes.func,\n\n  /**\n   * Callback fired before the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entered\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * Callback fired before the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exited\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n  in: false,\n  mountOnEnter: false,\n  unmountOnExit: false,\n  appear: false,\n  enter: true,\n  exit: true,\n  onEnter: noop,\n  onEntering: noop,\n  onEntered: noop,\n  onExit: noop,\n  onExiting: noop,\n  onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","module.exports = require('./lib/retry');","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n  var timeouts = exports.timeouts(options);\n  return new RetryOperation(timeouts, {\n      forever: options && (options.forever || options.retries === Infinity),\n      unref: options && options.unref,\n      maxRetryTime: options && options.maxRetryTime\n  });\n};\n\nexports.timeouts = function(options) {\n  if (options instanceof Array) {\n    return [].concat(options);\n  }\n\n  var opts = {\n    retries: 10,\n    factor: 2,\n    minTimeout: 1 * 1000,\n    maxTimeout: Infinity,\n    randomize: false\n  };\n  for (var key in options) {\n    opts[key] = options[key];\n  }\n\n  if (opts.minTimeout > opts.maxTimeout) {\n    throw new Error('minTimeout is greater than maxTimeout');\n  }\n\n  var timeouts = [];\n  for (var i = 0; i < opts.retries; i++) {\n    timeouts.push(this.createTimeout(i, opts));\n  }\n\n  if (options && options.forever && !timeouts.length) {\n    timeouts.push(this.createTimeout(i, opts));\n  }\n\n  // sort the array numerically ascending\n  timeouts.sort(function(a,b) {\n    return a - b;\n  });\n\n  return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n  var random = (opts.randomize)\n    ? (Math.random() + 1)\n    : 1;\n\n  var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n  timeout = Math.min(timeout, opts.maxTimeout);\n\n  return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n  if (options instanceof Array) {\n    methods = options;\n    options = null;\n  }\n\n  if (!methods) {\n    methods = [];\n    for (var key in obj) {\n      if (typeof obj[key] === 'function') {\n        methods.push(key);\n      }\n    }\n  }\n\n  for (var i = 0; i < methods.length; i++) {\n    var method   = methods[i];\n    var original = obj[method];\n\n    obj[method] = function retryWrapper(original) {\n      var op       = exports.operation(options);\n      var args     = Array.prototype.slice.call(arguments, 1);\n      var callback = args.pop();\n\n      args.push(function(err) {\n        if (op.retry(err)) {\n          return;\n        }\n        if (err) {\n          arguments[0] = op.mainError();\n        }\n        callback.apply(this, arguments);\n      });\n\n      op.attempt(function() {\n        original.apply(obj, args);\n      });\n    }.bind(obj, original);\n    obj[method].options = options;\n  }\n};\n","function RetryOperation(timeouts, options) {\n  // Compatibility for the old (timeouts, retryForever) signature\n  if (typeof options === 'boolean') {\n    options = { forever: options };\n  }\n\n  this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n  this._timeouts = timeouts;\n  this._options = options || {};\n  this._maxRetryTime = options && options.maxRetryTime || Infinity;\n  this._fn = null;\n  this._errors = [];\n  this._attempts = 1;\n  this._operationTimeout = null;\n  this._operationTimeoutCb = null;\n  this._timeout = null;\n  this._operationStart = null;\n  this._timer = null;\n\n  if (this._options.forever) {\n    this._cachedTimeouts = this._timeouts.slice(0);\n  }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n  this._attempts = 1;\n  this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n  if (this._timeout) {\n    clearTimeout(this._timeout);\n  }\n  if (this._timer) {\n    clearTimeout(this._timer);\n  }\n\n  this._timeouts       = [];\n  this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n  if (this._timeout) {\n    clearTimeout(this._timeout);\n  }\n\n  if (!err) {\n    return false;\n  }\n  var currentTime = new Date().getTime();\n  if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n    this._errors.push(err);\n    this._errors.unshift(new Error('RetryOperation timeout occurred'));\n    return false;\n  }\n\n  this._errors.push(err);\n\n  var timeout = this._timeouts.shift();\n  if (timeout === undefined) {\n    if (this._cachedTimeouts) {\n      // retry forever, only keep last error\n      this._errors.splice(0, this._errors.length - 1);\n      timeout = this._cachedTimeouts.slice(-1);\n    } else {\n      return false;\n    }\n  }\n\n  var self = this;\n  this._timer = setTimeout(function() {\n    self._attempts++;\n\n    if (self._operationTimeoutCb) {\n      self._timeout = setTimeout(function() {\n        self._operationTimeoutCb(self._attempts);\n      }, self._operationTimeout);\n\n      if (self._options.unref) {\n          self._timeout.unref();\n      }\n    }\n\n    self._fn(self._attempts);\n  }, timeout);\n\n  if (this._options.unref) {\n      this._timer.unref();\n  }\n\n  return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n  this._fn = fn;\n\n  if (timeoutOps) {\n    if (timeoutOps.timeout) {\n      this._operationTimeout = timeoutOps.timeout;\n    }\n    if (timeoutOps.cb) {\n      this._operationTimeoutCb = timeoutOps.cb;\n    }\n  }\n\n  var self = this;\n  if (this._operationTimeoutCb) {\n    this._timeout = setTimeout(function() {\n      self._operationTimeoutCb();\n    }, self._operationTimeout);\n  }\n\n  this._operationStart = new Date().getTime();\n\n  this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n  console.log('Using RetryOperation.try() is deprecated');\n  this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n  console.log('Using RetryOperation.start() is deprecated');\n  this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n  return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n  return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n  if (this._errors.length === 0) {\n    return null;\n  }\n\n  var counts = {};\n  var mainError = null;\n  var mainErrorCount = 0;\n\n  for (var i = 0; i < this._errors.length; i++) {\n    var error = this._errors[i];\n    var message = error.message;\n    var count = (counts[message] || 0) + 1;\n\n    counts[message] = count;\n\n    if (count >= mainErrorCount) {\n      mainError = error;\n      mainErrorCount = count;\n    }\n  }\n\n  return mainError;\n};\n","import FeatureGates, {\n    ClientOptions,\n    FeatureGateEnvironment,\n    Identifiers,\n    CustomAttributes,\n} from \"@atlassian/feature-gate-js-client\";\nimport { FeatureGatesInitialization } from \"@atlassian/feature-gates-react\";\nimport { PropsWithChildren } from \"react\";\n\n// wac statsig api keys - https://developer.atlassian.com/platform/frontend-feature-flags/resources/api-keys/#statsig-only-supported\nconst EnvironmentApiKeyMapping = new Map([\n    [\n        FeatureGateEnvironment.Development,\n        \"ab9944a4-9eb2-482b-b997-36f41f3a1edf\",\n    ],\n    [FeatureGateEnvironment.Staging, \"ff9c70b0-ab7e-4abc-be4f-53f9c3fd37d6\"],\n    [FeatureGateEnvironment.Production, \"4e18bcb9-52fb-4f76-b7b6-a0d9d8e56f8f\"],\n]);\n\n/**\n * Initializes the feature gate client with the given configuration values.\n * @param @FeatureGateProps\n */\nexport const FeatureGatesInitializationProvider = ({\n    environment,\n    identifiers,\n    customAttributes,\n    initializingComponent,\n    clientOptions = {} as ClientOptions,\n    children,\n}: FeatureGateProps) => {\n    const apiKey = EnvironmentApiKeyMapping.get(environment) ?? \"\";\n\n    return (\n        <FeatureGatesInitialization\n            enabled={true}\n            options={{\n                ...clientOptions,\n                apiKey,\n                environment,\n            }}\n            identifiers={identifiers}\n            customAttributes={customAttributes}\n            initializingComponent={initializingComponent}\n        >\n            {children}\n        </FeatureGatesInitialization>\n    );\n};\n\nexport type FeatureGateProps = PropsWithChildren<{\n    environment: FeatureGateEnvironment;\n    identifiers: Identifiers;\n    customAttributes?: CustomAttributes;\n    initializingComponent?: JSX.Element;\n    clientOptions?: ClientOptions;\n}>;\n\nexport const Experiments = FeatureGates;\n","export * from \"./feature-gate-client\";\nexport * from \"./use-experiment\";\nexport * from \"./use-feature-gate\";\nexport * from \"@atlassian/feature-gate-js-client\";\n","import { useMemo } from \"react\";\n\nimport { Experiments } from \".\";\n\n/**\n * Represents a hook to retrieve an experiment.\n * @param name The name of the experiment.\n * @param fireExperimentExposure Boolean indicating if an exposure event should be fired.\n * @returns The configuration for the experiment.\n */\nexport const useExperiment = (\n    name: string,\n    fireExperimentExposure: boolean = true\n) => {\n    return useMemo(\n        () =>\n            fireExperimentExposure\n                ? Experiments.getExperiment(name)\n                : Experiments.getExperimentWithExposureLoggingDisabled(name),\n        [name, fireExperimentExposure]\n    );\n};\n\n/**\n * Represents a hook to retrieve an experiment cohort.\n * @param name The name of the experiment.\n * @param defaultValue The default value.\n * @param fireExperimentExposure Boolean indicating if an exposure event should be fired.\n * @returns The configuration for the experiment.\n */\nexport const useExperimentCohort = (\n    name: string,\n    defaultValue: string,\n    fireExperimentExposure?: boolean\n) => {\n    return useMemo(\n        () =>\n            Experiments.getExperimentCohort(\n                name,\n                defaultValue,\n                fireExperimentExposure\n            ),\n        [name, defaultValue, fireExperimentExposure]\n    );\n};\n","import { useMemo } from \"react\";\n\nimport { Experiments } from \".\";\n\n/**\n * Represents a hook to retrieve a feature gate.\n * @param name The name of the feature gate.\n * @returns Boolean indicating if the feature gate is enabled.\n */\nexport const useFeatureGate = (name: string) => {\n    return useMemo(() => Experiments.checkGate(name), [name]);\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n    return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n    __assign = Object.assign || function __assign(t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    }\r\n    return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                t[p[i]] = s[p[i]];\r\n        }\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [op[0] & 2, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n    if (k2 === undefined) k2 = k;\r\n    o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n    if (m) return m.call(o);\r\n    if (o && typeof o.length === \"number\") return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n    throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n    for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n            r[k] = a[j];\r\n    return r;\r\n};\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator], i;\r\n    return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n    if (mod && mod.__esModule) return mod;\r\n    var result = {};\r\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n    result.default = mod;\r\n    return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n    return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to get private field on non-instance\");\r\n    }\r\n    return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n    if (!privateMap.has(receiver)) {\r\n        throw new TypeError(\"attempted to set private field on non-instance\");\r\n    }\r\n    privateMap.set(receiver, value);\r\n    return value;\r\n}\r\n","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n    __extends(UIAnalyticsEvent, _super);\n    function UIAnalyticsEvent(props) {\n        var _this = _super.call(this, props) || this;\n        _this.clone = function () {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn(\"Cannot clone an event after it's been fired.\");\n                return null;\n            }\n            var context = __spread(_this.context);\n            var handlers = __spread(_this.handlers);\n            /**\n             * A hacky \"deep clone\" of the object. This is limited in that it wont\n             * support functions, regexs, Maps, Sets, etc, but none of those need to\n             * be represented in our payload.\n             */\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n        };\n        _this.fire = function (channel) {\n            if (_this.hasFired) {\n                // eslint-disable-next-line no-console\n                console.warn('Cannot fire an event twice.');\n                return;\n            }\n            _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n            _this.hasFired = true;\n        };\n        _this.context = props.context || [];\n        _this.handlers = props.handlers || [];\n        _this.hasFired = false;\n        return _this;\n    }\n    UIAnalyticsEvent.prototype.update = function (updater) {\n        if (this.hasFired) {\n            // eslint-disable-next-line no-console\n            console.warn(\"Cannot update an event after it's been fired.\");\n            return this;\n        }\n        return _super.prototype.update.call(this, updater);\n    };\n    return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n    function AnalyticsEvent(props) {\n        var _this = this;\n        this.clone = function () {\n            // We stringify and parse here to get a hacky \"deep clone\" of the object.\n            // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n            // but none of those need to be represented in our payload, so we consider this fine\n            var payload = JSON.parse(JSON.stringify(_this.payload));\n            return new AnalyticsEvent({ payload: payload });\n        };\n        this.payload = props.payload;\n    }\n    AnalyticsEvent.prototype.update = function (updater) {\n        if (typeof updater === 'function') {\n            this.payload = updater(this.payload);\n        }\n        if (typeof updater === 'object') {\n            this.payload = __assign(__assign({}, this.payload), updater);\n        }\n        return this;\n    };\n    return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n    __extends(AnalyticsContextConsumer, _super);\n    function AnalyticsContextConsumer(props) {\n        var _this = _super.call(this, props) || this;\n        /**\n         * Store references to the original and patched event props so we can\n         * determine when to update the patched props\n         */\n        _this.originalEventProps = {};\n        _this.patchedEventProps = {};\n        // Update patched event props only if the original props have changed\n        _this.updatePatchedEventProps = function (props) {\n            var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n            if (changedPropCallbacks.length > 0) {\n                _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n                changedPropCallbacks.forEach(function (p) {\n                    _this.originalEventProps[p] = props[p];\n                });\n            }\n            return _this.patchedEventProps;\n        };\n        _this.mapCreateEventsToProps = function (changedPropNames, props) {\n            return changedPropNames.reduce(function (modified, propCallbackName) {\n                var _a;\n                var eventCreator = _this.props.createEventMap[propCallbackName];\n                var providedCallback = props[propCallbackName];\n                if (!['object', 'function'].includes(typeof eventCreator)) {\n                    return modified;\n                }\n                var modifiedCallback = function () {\n                    var args = [];\n                    for (var _i = 0; _i < arguments.length; _i++) {\n                        args[_i] = arguments[_i];\n                    }\n                    var analyticsEvent = typeof eventCreator === 'function'\n                        ? eventCreator(_this.createAnalyticsEvent, props)\n                        : _this.createAnalyticsEvent(eventCreator);\n                    if (providedCallback) {\n                        providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n                    }\n                };\n                return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n            }, {});\n        };\n        _this.createAnalyticsEvent = function (payload) {\n            var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n            return new UIAnalyticsEvent({\n                context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n                    getAtlaskitAnalyticsContext()) ||\n                    [],\n                handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n                    getAtlaskitAnalyticsEventHandlers()) ||\n                    [],\n                payload: payload,\n            });\n        };\n        Object.keys(_this.props.createEventMap).forEach(function (p) {\n            _this.originalEventProps[p] = props.wrappedComponentProps[p];\n        });\n        _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n        return _this;\n    }\n    AnalyticsContextConsumer.prototype.render = function () {\n        var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n        return this.props.children({\n            createAnalyticsEvent: this.createAnalyticsEvent,\n            patchedEventProps: patchedEventProps,\n        });\n    };\n    AnalyticsContextConsumer.contextTypes = {\n        getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n        getAtlaskitAnalyticsContext: PropTypes.func,\n    };\n    AnalyticsContextConsumer.defaultProps = {\n        createEventMap: {},\n    };\n    return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n    var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n        var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n        return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n    })); });\n    // @ts-ignore\n    WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n        WrappedComponent.name) + \")\";\n    return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export function getInitials(fullName: string): string {\n  return fullName.split(/[^\\w]+/).reduce((result, part) => {\n    if (result.length < 3 && part.length > 0) {\n      return result + part[0].toUpperCase();\n    } else {\n      return result;\n    }\n  }, '');\n}\n","import Avatar from '@atlaskit/avatar';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getInitials } from '../utils/initials';\n\nexport type UserAvatarProps = {\n  readonly userName: string;\n  readonly avatarSrc?: string;\n  readonly enableTooltip?: boolean;\n  readonly isDisabled?: boolean;\n  readonly isFocus?: boolean;\n};\n\nexport function UserAvatar({\n  userName,\n  avatarSrc,\n  enableTooltip = false,\n  isDisabled = false,\n  isFocus = false\n}: UserAvatarProps) {\n  if (avatarSrc !== undefined) {\n    return (\n      <Avatar\n        src={avatarSrc}\n        name={userName}\n        size=\"small\"\n        enableTooltip={enableTooltip}\n        isDisabled={isDisabled}\n        isFocus={isFocus}\n      />\n    );\n  } else {\n    return (\n      <Avatar\n        component={({ className, ...props }) => (\n          <div className={className}>\n            <Initials {...props}>{getInitials(userName)}</Initials>\n          </div>\n        )}\n        name={userName}\n        size=\"small\"\n        isDisabled={isDisabled}\n        isFocus={isFocus}\n        enableTooltip={enableTooltip}\n      />\n    );\n  }\n}\n\nconst Initials = styled.span`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  font-family: ${fontFamily};\n  font-size: 10px;\n  line-height: 10px;\n  color: ${colors.N500};\n\n  width: 100%;\n  height: 100%;\n  background-color: ${colors.N40};\n  border-radius: 50%;\n`;\n","import { defineMessages } from 'react-intl';\n\nexport const messages = defineMessages({\n  getStarted: {\n    id: 'UserProfileDropdown.getStarted',\n    defaultMessage: 'Get started with any product'\n  },\n  cloudProducts: {\n    id: 'UserProfileDropdown.cloudProducts',\n    defaultMessage: 'My cloud products'\n  },\n  cloudProductsMobile: {\n    id: 'UserProfileDropdown.cloudProductsMobile',\n    defaultMessage: 'MY CLOUD PRODUCTS'\n  },\n  activeSites: {\n    id: 'UserProfileDropdown.activeSites',\n    defaultMessage: 'Active in {sites} sites:'\n  },\n  profile: {\n    id: 'UserProfileDropdown.profile',\n    defaultMessage: 'Profile'\n  },\n  licenses: {\n    id: 'UserProfileDropdown.licenses',\n    defaultMessage: 'Licenses'\n  },\n  logOut: {\n    id: 'UserProfileDropdown.logOut',\n    defaultMessage: 'Log Out'\n  },\n  switchAccount: {\n    id: 'UserProfileDropdown.switchAccount',\n    defaultMessage: 'Switch Account'\n  }\n});\n","import React from 'react';\n\nexport function BlankPointerImage() {\n  return (\n    <img\n      width={50}\n      alt=\"Blank Pointer\"\n      src=\"data:image/png;base64,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\"\n    />\n  );\n}\n","import { colors, fontFamily } from '@atlaskit/theme';\nimport React, { MouseEventHandler } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { messages } from '../messages';\nimport { BlankPointerImage } from './blank-pointer-image';\n\nexport type EmptyViewProps = {\n  readonly getStartedUrl: string;\n  readonly onGetStartedClick?: MouseEventHandler;\n};\n\nexport function EmptyView({\n  getStartedUrl,\n  onGetStartedClick\n}: EmptyViewProps) {\n  return (\n    <Container>\n      <BlankPointerImage />\n      <Link\n        href={getStartedUrl}\n        onClick={(event) => {\n          if (onGetStartedClick) {\n            onGetStartedClick(event);\n          }\n        }}\n      >\n        <FormattedMessage {...messages.getStarted} />\n      </Link>\n    </Container>\n  );\n}\n\nconst Container = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin: 27px;\n`;\n\nconst Link = styled.a`\n  margin: 15px 15px 0;\n\n  color: ${colors.B400};\n  text-decoration: none;\n  cursor: pointer;\n  font-family: ${fontFamily};\n  font-size: 12px;\n  line-height: 14px;\n  text-align: center;\n`;\n","import { useContext, useRef } from 'react';\nimport { useCallbackOne } from 'use-memo-one';\nimport { AnalyticsReactContext, } from './AnalyticsReactContext';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\nvar noop = function () { return []; };\nexport function useAnalyticsEvents() {\n    var analyticsContext = useContext(AnalyticsReactContext);\n    var contextRef = useRef(analyticsContext);\n    contextRef.current.getAtlaskitAnalyticsEventHandlers =\n        analyticsContext.getAtlaskitAnalyticsEventHandlers;\n    contextRef.current.getAtlaskitAnalyticsContext =\n        analyticsContext.getAtlaskitAnalyticsContext;\n    var createAnalyticsEvent = useCallbackOne(function (payload) {\n        var getAtlaskitAnalyticsContext = contextRef.current.getAtlaskitAnalyticsContext || noop;\n        var getAtlaskitAnalyticsEventHandlers = contextRef.current.getAtlaskitAnalyticsEventHandlers || noop;\n        return new UIAnalyticsEvent({\n            context: getAtlaskitAnalyticsContext(),\n            handlers: getAtlaskitAnalyticsEventHandlers(),\n            payload: payload,\n        });\n    }, []);\n    return {\n        createAnalyticsEvent: createAnalyticsEvent,\n    };\n}\n//# sourceMappingURL=useAnalyticsEvents.js.map","import { __read, __spread } from \"tslib\";\nimport { useCallback, useRef, useEffect } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nexport var useCallbackWithAnalytics = function (method, payload, channel) {\n    var createAnalyticsEvent = useAnalyticsEvents().createAnalyticsEvent;\n    // given input might be new function/object each render\n    // we optimise and store in refs so we can memoize the callback\n    // and at the same time avoid stale values\n    var methodRef = useRef(method);\n    var payloadRef = useRef(payload);\n    useEffect(function () {\n        methodRef.current = method;\n        payloadRef.current = payload;\n    }, [method, payload]);\n    return useCallback(function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        var pload = typeof payloadRef.current === 'function'\n            ? payloadRef.current.apply(payloadRef, __spread(args)) : payloadRef.current;\n        createAnalyticsEvent(pload).fire(channel);\n        methodRef.current.apply(methodRef, __spread(args));\n    }, [createAnalyticsEvent, methodRef, payloadRef, channel]);\n};\n//# sourceMappingURL=useCallbackWithAnalytics.js.map","import camelCase from 'camelcase';\n\nexport const trackingData = {\n  dropdownToggle: {\n    eventType: 'track',\n    eventContainer: 'globalNavProfile',\n    eventComponent: 'DropdownMenu',\n    event: 'clicked',\n    magnoliaComponentId: null\n  },\n  siteLink: {\n    eventType: 'track',\n    eventContainer: 'globalNavProfile',\n    eventComponent: 'SiteLink',\n    event: 'clicked',\n    magnoliaComponentId: null,\n    productKey: null,\n    atlOrigin: null\n  }\n};\n\nexport const parseProductKey = (product: string) => {\n  return camelCase(product);\n};\n\nexport const getParameterByName = (name: string, url: string) => {\n  name = name.replace(/[\\[\\]]/g, '\\\\$&');\n  const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');\n  const results = regex.exec(url);\n\n  if (!results) {\n    return null;\n  }\n  if (!results[2]) {\n    return '';\n  }\n  return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n};\n","import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';\nimport ChevronUpIcon from '@atlaskit/icon/glyph/chevron-up';\nimport React from 'react';\n\nexport type ChrevronProps = {\n  readonly isOpen: boolean;\n};\n\nexport function Chevron({ isOpen }: ChrevronProps) {\n  if (isOpen) {\n    return <ChevronUpIcon label=\"Hide\" size=\"small\" />;\n  } else {\n    return <ChevronDownIcon label=\"Show\" size=\"small\" />;\n  }\n}\n","import {\n  useCallbackWithAnalytics,\n  withAnalyticsEvents,\n  WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport { B400, N600 } from '@atlaskit/theme/colors';\nimport React, { MouseEvent } from 'react';\nimport styled from 'styled-components';\nimport { getParameterByName, parseProductKey, trackingData } from '../tracking';\n\nexport type SiteLinkProps = {\n  readonly site: string;\n  readonly name: string;\n  readonly domRootId?: string;\n} & WithAnalyticsEventsProps;\n\nfunction SiteLink({ site, name, domRootId }: SiteLinkProps) {\n  const { hostname } = new URL(site);\n  const index = hostname.indexOf('.');\n\n  const subdomain = hostname.substring(0, index);\n  const rest = hostname.substring(index);\n\n  const trackAndFollowUrl = (label: string, domain: string) => {\n    const analyticsData = Object.assign(\n      { ...trackingData.siteLink },\n      {\n        magnoliaComponentId: domRootId,\n        atlOrigin: getParameterByName('atlOrigin', domain),\n        productKey: parseProductKey(label)\n      }\n    );\n\n    return useCallbackWithAnalytics((event: MouseEvent) => {\n      event.preventDefault();\n      event.stopPropagation();\n      window.location.assign(domain);\n    }, analyticsData);\n  };\n\n  return (\n    <Link href={site} onClick={trackAndFollowUrl(name, site)}>\n      <SubDomain>{subdomain}</SubDomain>\n      <span>{rest}</span>\n    </Link>\n  );\n}\n\nexport const Link = styled.a`\n  color: ${N600};\n  text-decoration: none;\n`;\n\nexport const SubDomain = styled.span`\n  color: ${B400};\n`;\n\nexport default withAnalyticsEvents()(SiteLink);\n","import { N600, N800 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { messages } from '../messages';\nimport { default as SiteLinkWithAnalytics } from './site-link';\n\nexport type SiteListProps = {\n  readonly sites: string[];\n  readonly product: string;\n  readonly domRootId?: string;\n};\n\nexport function SiteList({ sites, product, domRootId }: SiteListProps) {\n  return (\n    <Container>\n      <Message>\n        <FormattedMessage\n          {...messages.activeSites}\n          values={{ sites: sites.length }}\n        />\n      </Message>\n      <List>\n        {sites.map((site) => (\n          <ListItem key={`${product}.${site}`}>\n            <SiteLinkWithAnalytics\n              site={site}\n              name={product}\n              domRootId={domRootId}\n            />\n          </ListItem>\n        ))}\n      </List>\n    </Container>\n  );\n}\n\nexport const Message = styled.div`\n  font-size: 10px;\n  line-height: 16px;\n  color: ${N800};\n`;\n\nconst Container = styled.div`\n  margin: 6px 0;\n`;\n\nconst List = styled.ul`\n  margin: 0;\n  padding: 0;\n  list-style: none;\n`;\n\nconst ListItem = styled.li`\n  font-size: 10px;\n  line-height: 16px;\n  color: ${N600};\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n`;\n","import {\n  useCallbackWithAnalytics,\n  withAnalyticsEvents,\n  WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport { N20, N800 } from '@atlaskit/theme/colors';\nimport React, { MouseEvent, useState } from 'react';\nimport styled from 'styled-components';\nimport { getParameterByName, parseProductKey, trackingData } from '../tracking';\n\nimport { Chevron } from './chevron';\nimport { SiteList } from './site-list';\n\nexport type ProductDropdownItemProps = {\n  readonly name: string;\n  readonly icon: JSX.Element;\n  readonly sites: string[];\n  readonly domRootId?: string;\n} & WithAnalyticsEventsProps;\n\nexport type ProductDropdownItemState = {\n  readonly isOpen: boolean;\n};\n\nexport function ProductDropdownItem({\n  name,\n  icon,\n  sites,\n  domRootId\n}: ProductDropdownItemProps): JSX.Element {\n  const [isOpen, setIsOpen] = useState(false);\n  const toggleOpen = () => setIsOpen(!isOpen);\n  const singleSite = sites[0];\n\n  const trackAndFollowUrl = (label: string, domain: string) => {\n    const analyticsData = Object.assign(\n      { ...trackingData.siteLink },\n      {\n        magnoliaComponentId: domRootId,\n        atlOrigin: getParameterByName('atlOrigin', domain),\n        productKey: parseProductKey(label)\n      }\n    );\n\n    return useCallbackWithAnalytics((event: MouseEvent) => {\n      event.preventDefault();\n      event.stopPropagation();\n      window.location.assign(domain);\n    }, analyticsData);\n  };\n\n  if (sites.length > 1) {\n    return (\n      <Container onClick={toggleOpen}>\n        <Header>\n          {icon}\n          <ProductNameLabel>{name}</ProductNameLabel>\n          <Chevron isOpen={isOpen} />\n        </Header>\n        {isOpen ? (\n          <SiteList sites={sites} product={name} domRootId={domRootId} />\n        ) : null}\n      </Container>\n    );\n  } else {\n    return (\n      <Container>\n        <ProductLink\n          href={singleSite}\n          onClick={trackAndFollowUrl(name, singleSite)}\n        >\n          <Header>\n            {icon}\n            <ProductNameLabel>{name}</ProductNameLabel>\n          </Header>\n        </ProductLink>\n      </Container>\n    );\n  }\n}\n\nconst Container = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n\n  padding: 4px 12px;\n\n  &:hover {\n    background-color: ${N20};\n  }\n`;\n\nconst ProductLink = styled.a`\n  text-decoration: none;\n\n  &:hover {\n    text-decoration: none;\n  }\n`;\n\nconst Header = styled.div`\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n`;\n\nconst ProductNameLabel = styled.span`\n  margin-left: 8px;\n  flex: 1;\n  font-size: 12px;\n  line-height: 14px;\n  color: ${N800};\n`;\n\nexport default withAnalyticsEvents()(ProductDropdownItem);\n","import { N800 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { messages } from '../messages';\nimport { isNotEmpty } from '../utils/filters';\nimport {\n  default as ProductDropdownItemWithAnalytics,\n  ProductDropdownItemProps\n} from './product-dropdown-item';\n\nimport { UserProfileViewType } from '../user-profile-view';\n\nexport type ProductsViewProps = {\n  readonly products: ProductDropdownItemProps[];\n  readonly type?: UserProfileViewType;\n  readonly domRootId?: string;\n};\n\nexport function ProductsView({ products, type, domRootId }: ProductsViewProps) {\n  return (\n    <Container>\n      <MessageLabel>\n        {type === 'wac-mobile' ? (\n          <div>\n            <FormattedMessage {...messages.cloudProductsMobile} />\n            <MessageLabelDivider />\n          </div>\n        ) : (\n          <FormattedMessage {...messages.cloudProducts} />\n        )}\n      </MessageLabel>\n      {products\n        .filter(({ sites }) => isNotEmpty(sites))\n        .map((product) => (\n          <ProductDropdownItemWithAnalytics\n            domRootId={domRootId}\n            key={product.name}\n            {...product}\n          />\n        ))}\n    </Container>\n  );\n}\n\nconst Container = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: stretch;\n  margin: 12px 0;\n`;\n\nconst MessageLabel = styled.span`\n  margin-left: 12px;\n  margin-bottom: 11px;\n  font-size: 12px;\n  line-height: 14px;\n  color: ${N800};\n`;\n\nconst MessageLabelDivider = styled.hr`\n  width: 64px;\n  margin-left: 0px;\n`;\n","export function isNotEmpty<T>(array: T[]): boolean {\n  return array.length > 0;\n}\n","import { colors, fontFamily } from '@atlaskit/theme';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { messages } from '../messages';\n\nexport type UserNavProps = {\n  readonly onSwitchAccountClick?: () => void;\n  readonly onProfileClick: () => void;\n  readonly onLicensesClick: () => void;\n  readonly onLogOutClick?: () => void;\n};\n\nexport function UserNav({\n  onSwitchAccountClick,\n  onProfileClick,\n  onLicensesClick,\n  onLogOutClick\n}: UserNavProps): JSX.Element {\n  if (onLogOutClick) {\n    return (\n      <Container>\n        <Button onClick={() => onSwitchAccountClick && onSwitchAccountClick()}>\n          <FormattedMessage {...messages.switchAccount} />\n        </Button>\n        <Button onClick={() => onProfileClick()}>\n          <FormattedMessage {...messages.profile} />\n        </Button>\n        <Button onClick={() => onLicensesClick()}>\n          <FormattedMessage {...messages.licenses} />\n        </Button>\n        <Button onClick={() => onLogOutClick()}>\n          <FormattedMessage {...messages.logOut} />\n        </Button>\n      </Container>\n    );\n  } else {\n    return (\n      <Container>\n        <Button onClick={() => onProfileClick()}>\n          <FormattedMessage {...messages.profile} />\n        </Button>\n        <Button onClick={() => onLicensesClick()}>\n          <FormattedMessage {...messages.licenses} />\n        </Button>\n      </Container>\n    );\n  }\n}\n\nconst Container = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n`;\n\nconst Button = styled.button`\n  background: none;\n  border: none;\n  padding: 0;\n  margin: 0;\n  font: inherit;\n  outline: inherit;\n\n  color: ${colors.N600};\n  text-decoration: none;\n  font-family: ${fontFamily};\n  font-size: 12px;\n  line-height: 21px;\n  cursor: pointer;\n`;\n","import Button from '@atlaskit/button';\nimport ChevronLeftLargeIcon from '@atlaskit/icon/glyph/chevron-left-large';\nimport CrossIcon from '@atlaskit/icon/glyph/cross';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React from 'react';\nimport styled from 'styled-components';\n\nimport { UserAvatar } from './components/user-avatar';\nimport { EmptyView } from './components/empty-view';\nimport { ProductDropdownItemProps } from './components/product-dropdown-item';\nimport { ProductsView } from './components/products-view';\nimport { UserNav } from './components/user-nav';\n\nexport type UserProfileViewType = 'wac-desktop' | 'wac-mobile';\n\nexport type UserProfileViewProps = {\n  readonly userName: string;\n  readonly userEmail: string;\n  readonly products: ProductDropdownItemProps[];\n\n  readonly onSwitchAccountClick: () => void;\n  readonly onProfileClick: () => void;\n  readonly onLicensesClick: () => void;\n  readonly onLogOutClick: () => void;\n\n  readonly getStartedUrl: string;\n  readonly onGetStartedClick?: () => void;\n  readonly onMobileBackClick?: () => void;\n  readonly onMobileCloseClick?: () => void;\n\n  readonly avatarSrc?: string;\n  readonly type?: UserProfileViewType;\n  readonly domRootId?: string;\n};\n\nexport function UserProfileView({\n  userName,\n  userEmail,\n  products,\n  getStartedUrl,\n  onGetStartedClick,\n  onSwitchAccountClick,\n  onProfileClick,\n  onLicensesClick,\n  onLogOutClick,\n  onMobileBackClick,\n  onMobileCloseClick,\n  domRootId,\n  avatarSrc,\n  type = 'wac-desktop'\n}: UserProfileViewProps) {\n  switch (type) {\n    case 'wac-mobile':\n      return (\n        <RootContainerMobile>\n          <TopRowContainer>\n            <Button\n              appearance={'subtle-link'}\n              iconAfter={<ChevronLeftLargeIcon label=\"back\" />}\n              onClick={() => onMobileBackClick && onMobileBackClick()}\n            />\n            <UserDetailsContainerMobile>\n              <UserNameLabelMobile>{userName}</UserNameLabelMobile>\n              <UserEmailLabelMobile>{userEmail}</UserEmailLabelMobile>\n            </UserDetailsContainerMobile>\n            <Button\n              appearance={'subtle-link'}\n              iconAfter={<CrossIcon label=\"close\" />}\n              onClick={() => onMobileCloseClick && onMobileCloseClick()}\n            />\n          </TopRowContainer>\n          {products.length > 0 ? (\n            <ProductsView\n              products={products}\n              type={type}\n              domRootId={domRootId}\n            />\n          ) : (\n            <EmptyView\n              getStartedUrl={getStartedUrl}\n              onGetStartedClick={onGetStartedClick}\n            />\n          )}\n          <FooterMobile>\n            <UserNav\n              onProfileClick={onProfileClick}\n              onLicensesClick={onLicensesClick}\n            />\n          </FooterMobile>\n        </RootContainerMobile>\n      );\n    default:\n      return (\n        <RootContainer>\n          <UserDetailsContainer>\n            <UserAvatar avatarSrc={avatarSrc} userName={userName} />\n            <UserInfoContainer>\n              <UserNameLabel>{userName}</UserNameLabel>\n              <UserEmailLabel>{userEmail}</UserEmailLabel>\n            </UserInfoContainer>\n          </UserDetailsContainer>\n\n          {products.length > 0 ? (\n            <ProductsView products={products} domRootId={domRootId} />\n          ) : (\n            <EmptyView\n              getStartedUrl={getStartedUrl}\n              onGetStartedClick={onGetStartedClick}\n            />\n          )}\n          <Footer>\n            <UserNav\n              onSwitchAccountClick={onSwitchAccountClick}\n              onProfileClick={onProfileClick}\n              onLicensesClick={onLicensesClick}\n              onLogOutClick={onLogOutClick}\n            />\n          </Footer>\n        </RootContainer>\n      );\n  }\n}\n\nconst RootContainer = styled.div`\n  width: 190px;\n  margin: -4px 0;\n  font-family: ${fontFamily};\n`;\n\nconst RootContainerMobile = styled.div`\n  width: 100%;\n  margin: -4px 0;\n  font-family: ${fontFamily};\n`;\n\nconst UserDetailsContainer = styled.div`\n  display: flex;\n  flex-flow: row nowrap;\n  align-items: center;\n  padding: 8px 14px;\n  background-color: ${colors.N800};\n`;\n\nconst UserInfoContainer = styled.div`\n  display: flex;\n  flex-flow: column;\n  margin-left: 8px;\n`;\n\nconst UserDetailsContainerMobile = styled.div`\n  flex: 1;\n  padding: 8px 14px;\n  color: white;\n`;\n\nconst Footer = styled.div`\n  margin: 12px;\n  padding-top: 11px;\n  border-top: 1px solid ${colors.N40};\n`;\n\nconst FooterMobile = styled.div`\n  padding: 20px 15px;\n  border-top: 1px solid ${colors.N40};\n  background-color: ${colors.N20};\n`;\n\nconst UserNameLabel = styled.div`\n  font-size: 15px;\n  line-height: 18px;\n  color: ${colors.N0};\n`;\n\nconst UserEmailLabel = styled.div`\n  font-size: 10px;\n  line-height: 12px;\n  color: ${colors.N50};\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n`;\n\nconst UserNameLabelMobile = styled.div`\n  font-size: 15px;\n  line-height: 18px;\n  color: black;\n`;\n\nconst UserEmailLabelMobile = styled.div`\n  font-size: 10px;\n  line-height: 12px;\n  color: black;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n`;\n\nconst TopRowContainer = styled.div`\n  width: 100%;\n  display: flex;\n  border-bottom: 1px solid ${colors.N40};\n`;\n","import Avatar from '@atlaskit/avatar';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\n\nimport { getInitials } from '../utils/initials';\n\nexport type TriggerProps = {\n  readonly userName: string;\n  readonly isBorderVisible: boolean;\n  readonly avatarSrc?: string;\n};\n\nexport class Trigger extends Component<TriggerProps> {\n  public static defaultProps = {\n    isBorderVisible: false\n  };\n\n  public render() {\n    const { userName, avatarSrc, isBorderVisible } = this.props;\n    if (avatarSrc !== undefined) {\n      return (\n        <Avatar\n          src={avatarSrc}\n          name={userName}\n          size=\"small\"\n          isFocus={isBorderVisible}\n          isInteractive\n        />\n      );\n    } else {\n      return (\n        <Avatar\n          component={({ className, ...props }) => (\n            <div className={className}>\n              <Initials {...props}>{getInitials(userName)}</Initials>\n            </div>\n          )}\n          name={userName}\n          size=\"small\"\n          isFocus={isBorderVisible}\n          isInteractive\n        />\n      );\n    }\n  }\n}\n\nconst Initials = styled.span`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  font-family: ${fontFamily};\n  font-size: 10px;\n  line-height: 10px;\n  color: ${colors.N500};\n\n  width: 100%;\n  height: 100%;\n  background-color: ${colors.N40};\n  border-radius: 50%;\n`;\n","import {\n  withAnalyticsEvents,\n  WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport DropdownMenu from '@atlaskit/dropdown-menu';\nimport React, { Component } from 'react';\nimport { UserProfileView } from './user-profile-view';\n\nimport { ProductDropdownItemProps } from './components/product-dropdown-item';\nimport { Trigger } from './components/trigger';\nimport { messages } from './messages';\nimport { trackingData } from './tracking';\n\nexport { ProductDropdownItemProps };\n\nexport type UserProfileDropdownProps = {\n  readonly userName: string;\n  readonly userEmail: string;\n  readonly products: ProductDropdownItemProps[];\n  readonly defaultOpen: boolean;\n\n  readonly onSwitchAccountClick: () => void;\n  readonly onProfileClick: () => void;\n  readonly onLicensesClick: () => void;\n  readonly onLogOutClick: () => void;\n\n  readonly getStartedUrl: string;\n  readonly onGetStartedClick?: () => void;\n  readonly onMobileBackClick?: () => void;\n  readonly onMobileCloseClick?: () => void;\n\n  readonly avatarSrc?: string;\n  readonly domRootId?: string;\n} & WithAnalyticsEventsProps;\n\nexport type UserProfileDropdownState = {\n  readonly isOpen: boolean;\n};\n\nexport type onOpenChangeProps = {\n  readonly event?: { [key: string]: unknown };\n} & UserProfileDropdownState;\n\nexport class UserProfileDropdown extends Component<\n  UserProfileDropdownProps,\n  UserProfileDropdownState\n> {\n  public static defaultProps = {\n    defaultOpen: false\n  };\n\n  public static messages = messages;\n\n  public constructor(props: UserProfileDropdownProps) {\n    super(props);\n\n    this.state = {\n      isOpen: props.defaultOpen\n    };\n  }\n\n  public render() {\n    const {\n      userName,\n      userEmail,\n      products,\n      avatarSrc,\n      getStartedUrl,\n      onGetStartedClick,\n      onSwitchAccountClick,\n      onProfileClick,\n      onLicensesClick,\n      onLogOutClick,\n      onMobileBackClick,\n      onMobileCloseClick,\n      domRootId,\n      createAnalyticsEvent,\n      ...rest\n    } = this.props;\n    const { isOpen } = this.state;\n    const trigger = (\n      <Trigger\n        userName={userName}\n        isBorderVisible={isOpen}\n        avatarSrc={avatarSrc}\n      />\n    );\n\n    const onOpenChange = ({ isOpen: open }: onOpenChangeProps) => {\n      if (open === true && createAnalyticsEvent) {\n        const analyticsData = Object.assign(trackingData.dropdownToggle, {\n          magnoliaComponentId: domRootId\n        });\n\n        const analyticsEvent = createAnalyticsEvent(analyticsData);\n        analyticsEvent.fire();\n      }\n    };\n\n    return (\n      <DropdownMenu\n        shouldFlip={false}\n        trigger={trigger}\n        onOpenChange={onOpenChange}\n        {...rest}\n      >\n        <UserProfileView\n          avatarSrc={avatarSrc}\n          userName={userName}\n          userEmail={userEmail}\n          products={products}\n          domRootId={domRootId}\n          getStartedUrl={getStartedUrl}\n          onGetStartedClick={onGetStartedClick}\n          onSwitchAccountClick={onSwitchAccountClick}\n          onProfileClick={onProfileClick}\n          onLicensesClick={onLicensesClick}\n          onLogOutClick={onLogOutClick}\n          onMobileBackClick={onMobileBackClick}\n          onMobileCloseClick={onMobileCloseClick}\n        />\n      </DropdownMenu>\n    );\n  }\n}\n\nexport default withAnalyticsEvents()(UserProfileDropdown);\n","import Avatar from '@atlaskit/avatar';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React, { Component } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nexport type MobileTriggerProps = {\n  readonly userName: string;\n  readonly avatarSrc?: string;\n  readonly onClick?: () => void;\n  readonly logOutUrl?: string;\n  readonly logOutMessage?: FormattedMessage.MessageDescriptor;\n};\n\nexport class MobileTrigger extends Component<MobileTriggerProps> {\n  public render() {\n    const { userName, avatarSrc, onClick, logOutUrl, logOutMessage } =\n      this.props;\n    if (avatarSrc !== undefined) {\n      if (logOutUrl !== undefined && logOutMessage !== undefined) {\n        return (\n          <AvatarContainer\n            onClick={() => {\n              if (onClick) {\n                onClick();\n                window.location.assign(logOutUrl);\n              }\n            }}\n          >\n            <Avatar\n              src={avatarSrc}\n              name={userName}\n              size=\"medium\"\n              isInteractive\n            />\n            <div>\n              <DevopsUserName>{userName}</DevopsUserName>\n              <DevOpsLogOut href={logOutUrl}>\n                <FormattedMessage {...logOutMessage} />\n              </DevOpsLogOut>\n            </div>\n          </AvatarContainer>\n        );\n      }\n\n      return (\n        <AvatarContainer\n          onClick={() => {\n            if (onClick) {\n              onClick();\n            }\n          }}\n        >\n          <Avatar src={avatarSrc} name={userName} size=\"small\" isInteractive />\n          <UserNameLabel>{userName}</UserNameLabel>\n        </AvatarContainer>\n      );\n    } else {\n      return (\n        <AvatarContainer\n          onClick={() => {\n            if (onClick) {\n              onClick();\n            }\n          }}\n        >\n          <Avatar size=\"small\" isInteractive />\n          <UserNameLabel>{userName}</UserNameLabel>\n        </AvatarContainer>\n      );\n    }\n  }\n}\n\nconst AvatarContainer = styled.div`\n  display: flex;\n  align-items: center;\n  font-family: ${fontFamily};\n  font-size: 12px;\n  line-height: 12px;\n  color: ${colors.N500};\n  cursor: pointer;\n`;\n\nconst UserNameLabel = styled.div`\n  padding-left: 10px;\n`;\nconst DevopsUserName = styled.div`\n  padding-left: 10px;\n  color: ${colors.N30};\n  font-weight: 700;\n`;\nconst DevOpsLogOut = styled.a`\n  padding-left: 10px;\n  text-decoration: none;\n  font-weight: 500;\n  color: ${colors.N30};\n  span {\n    margin-top: 4px;\n    display: inline-block;\n    color: ${colors.N30};\n    text-decoration: underline;\n  }\n`;\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n  buttonText: {\n    id: `${ID_PREFIX}submitCouponLabel`,\n    defaultMessage: 'Agree'\n  },\n  startButtonText: {\n    id: `${ID_PREFIX}submitN2ELabel`,\n    defaultMessage: 'Agree and Start now'\n  },\n  contactSupportForCCPSite: {\n    id: `${ID_PREFIX}contactSupportForCCPSite`,\n    defaultMessage: 'Contact support'\n  },\n  ccpSiteMigrationRequiresSupport: {\n    id: `${ID_PREFIX}ccpSiteMigrationRequiresSupport`,\n    defaultMessage:\n      'Migrating to this site requires some additional support from us.'\n  },\n  ccpStartNewSiteRequiresSupport: {\n    id: `${ID_PREFIX}ccpStartNewSiteRequiresSupport`,\n    defaultMessage:\n      'Creating a new site requires some additional support from us.'\n  },\n  ccpSiteMigrationFollowSteps: {\n    id: `${ID_PREFIX}ccpSiteMigrationfollowSteps`,\n    defaultMessage: 'Please follow these steps once you '\n  },\n  ccpSiteMigrationFollowStepsBelow: {\n    id: `${ID_PREFIX}ccpSiteMigrationFollowStepsBelow`,\n    defaultMessage: ' below.'\n  },\n  ccpSiteMigrationStepSelect: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepSelect`,\n    defaultMessage: '1. Select '\n  },\n  ccpSiteMigrationStepProductTrials: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepProductTrials`,\n    defaultMessage: 'Product trials'\n  },\n  ccpSiteMigrationStepChoose: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepChoose`,\n    defaultMessage: ', then choose '\n  },\n  ccpSiteMigrationStepExtendProductTrials: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepExtendProductTrials`,\n    defaultMessage: 'Extend product trials'\n  },\n  ccpSiteMigrationStepSelectThe: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepSelectThe`,\n    defaultMessage: '2. Select the '\n  },\n  ccpSiteMigrationStepSEN: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepSEN`,\n    defaultMessage: 'SEN'\n  },\n  ccpSiteMigrationStepDCLicense: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepDCLicense`,\n    defaultMessage: ' of the Data Center license, and click '\n  },\n  ccpSiteMigrationStepHelp: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepHelp`,\n    defaultMessage: 'Need more help'\n  },\n  ccpSiteMigrationStepAdditionalInfo: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepAdditionalInfo`,\n    defaultMessage:\n      '3. In the {AdditionalDetailsFieldName} field, provide the cloud URL or entitlement number on which you wish to apply your cloud migration trial.'\n  },\n  ccpSiteMigrationStepAdditionalDetailsFieldName: {\n    id: `${ID_PREFIX}ccpSiteMigrationStepAdditionalDetailsFieldName`,\n    defaultMessage: 'Additional Details'\n  },\n  startButtonTextChooseSignup: {\n    id: `${ID_PREFIX}startButtonTextChooseSignup`,\n    defaultMessage: 'Continue'\n  },\n  loginChooseSignup: {\n    id: `${ID_PREFIX}loginChooseSignup`,\n    defaultMessage:\n      \"<p>Trying to access Confluence? <a href='https://id.atlassian.com/login'>Log in</a></p>\"\n  },\n  devopsButtonText: {\n    id: `${ID_PREFIX}devopsButtonText`,\n    defaultMessage: 'Sign up'\n  },\n  devopsStartButtonText: {\n    id: `${ID_PREFIX}devopsStartButtonText`,\n    defaultMessage: 'Sign up'\n  },\n  submitProcessingLabel: {\n    id: `${ID_PREFIX}submitProcessingLabel`,\n    defaultMessage: 'Starting...'\n  },\n  defaultWelcomeMessage: {\n    id: `${ID_PREFIX}signupFormGreeting`,\n    defaultMessage: 'Create your account'\n  },\n  personalizedWelcomeMessage: {\n    id: `${ID_PREFIX}signupFormPersonalizedGreeting`,\n    defaultMessage: 'Welcome back, {username}'\n  },\n  noCard: {\n    id: `${ID_PREFIX}signupFormPostContent`,\n    defaultMessage: 'NO CREDIT CARD REQUIRED'\n  },\n  alwaysFreeForUpto: {\n    id: `${ID_PREFIX}alwaysFreeForUpto`,\n    defaultMessage: 'Always free for up to 10 users.'\n  },\n  noCreditCardNeeded: {\n    id: `${ID_PREFIX}noCreditCardNeeded`,\n    defaultMessage: 'No credit card needed.'\n  },\n  freeAndNoCreditCardNeeded: {\n    id: `${ID_PREFIX}freeAndNoCreditCardNeeded`,\n    defaultMessage: 'Free for up to 10 users. No credit card needed.'\n  },\n  eula: {\n    id: `${ID_PREFIX}cloudEulaText`,\n    defaultMessage:\n      \"<p>By clicking below, you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy.</a></p>\"\n  },\n  eulaCompass: {\n    id: `${ID_PREFIX}eulaCompass`,\n    defaultMessage:\n      \"<p>By signing up for this Early Access Program (“EAP”), you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> (“TOS”) and acknowledge the Atlassian <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy</a></p>\"\n  },\n  eulaCompassTooltip: {\n    id: `${ID_PREFIX}eulaCompassTooltip`,\n    defaultMessage:\n      '<p>The EAP products are considered “Beta Versions”, as set forth in Section 14 of the TOS and are subject to applicable terms, conditions, and disclaimers. Atlassian will use the information you provide on this sign-up form to contact you about the EAP program, including updates to the program, feedback requests, and offers.</p>'\n  },\n  eulaChooseSignup: {\n    id: `${ID_PREFIX}eulaChooseSignup`,\n    defaultMessage:\n      \"<p>By clicking “Continue” below, you agree to the Atlassian Cloud <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Terms of Service</a> and acknowledge the Atlassian <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy</a>.</p>\"\n  },\n  marketingConsent: {\n    id: `${ID_PREFIX}marketingCommunicationsCheckboxSignupText`,\n    defaultMessage: `Yes! I would like to receive promotional emails including product news, events and more from Atlassian and its affiliates.`\n  },\n  newSite: {\n    id: `${ID_PREFIX}informMessageStartNewSiteSimplified`,\n    defaultMessage: 'Start a new site'\n  },\n  createNewSite: {\n    id: `${ID_PREFIX}createNewSite`,\n    defaultMessage: 'Create a new site'\n  },\n  existingSite: {\n    id: `${ID_PREFIX}existingSite`,\n    defaultMessage: 'Use an existing site'\n  },\n  differentAcountSignin: {\n    id: `${ID_PREFIX}informEmailLoggedInMsg`,\n    defaultMessage:\n      '<p><a href=\"{switchAccountUrl}\">Sign in with a different Atlassian account</a></p>'\n  },\n  useDifferentAccountSignin: {\n    id: `${ID_PREFIX}useDifferentAccountSignin`,\n    defaultMessage:\n      '<p><a href=\"{switchAccountUrl}\">Use a different Atlassian account</a></p>'\n  },\n  developerMode: {\n    id: `${ID_PREFIX}informMessageDeveloperWarning`,\n    defaultMessage:\n      '<h4>You are signing up for a free development instance of Atlassian Cloud.</h4><p>Free development instances are intended to be used for development and testing purposes only and has the usage limits noted below. Atlassian does not offer support for free development instances and reserves the right to delete such instances at any time without notice. Atlassian monitors the usage of such development instances and may cancel any instance being used in an unauthorized or unintended manner.</p><ul><li>Jira Software, Jira Core: 5 users free</li><li>Jira Service Desk: 1 agent free</li><li>Confluence: 5 users free</li></ul>'\n  },\n  invalidMigrationSource: {\n    id: `${ID_PREFIX}invalidMigrationSource`,\n    defaultMessage:\n      '<h4>Invalid trial activation</h4><p>It looks we weren\\'t able to activate your extended trial.</p><p>Check with the site administrator, or login to <a href=\"https://my.atlassian.com\">my.atlassian.com</a> to confirm your activation link is complete and correct, and that you have an eligible server or data center license.</p>'\n  },\n  claimedMigrationSource: {\n    id: `${ID_PREFIX}claimedMigrationSource`,\n    defaultMessage:\n      '<h4>Your extended trial has already been activated</h4><p>It looks like someone has already activated this trial.</p><p>Log in to <a href=\"https://my.atlassian.com\">my.atlassian.com</a> or contact your site administrator for more information.</p>'\n  },\n  selectSite: {\n    id: `${ID_PREFIX}selectSite`,\n    defaultMessage: 'Select a site'\n  },\n  selectAccount: {\n    id: `${ID_PREFIX}selectAccount`,\n    defaultMessage: 'Select an account'\n  },\n  selectOrganization: {\n    id: `${ID_PREFIX}selectOrganization`,\n    defaultMessage: 'Select your Atlassian organization'\n  },\n  yourSite: {\n    id: `${ID_PREFIX}siteNameN2ELabel`,\n    defaultMessage: 'Your site'\n  },\n  siteNameLabel: {\n    id: `${ID_PREFIX}siteNameLabel`,\n    defaultMessage: 'Site name'\n  },\n  siteNameOptional: {\n    id: `${ID_PREFIX}siteNameOptional`,\n    defaultMessage: 'Site name (optional)'\n  },\n  siteNameOptionalMessageN2N: {\n    id: `${ID_PREFIX}siteNameOptionalMessageN2N`,\n    defaultMessage: `Don't worry, you can change this later.`\n  },\n  siteNameOptionalMessageN2E: {\n    id: `${ID_PREFIX}siteNameOptionalMessageN2E`,\n    defaultMessage: `Choose an existing site below, or create a new one.`\n  },\n  siteNameSuite: {\n    id: `${ID_PREFIX}siteNameSuiteLabel`,\n    defaultMessage: 'Name your suite'\n  },\n  siteNameSuiteDescription: {\n    id: `${ID_PREFIX}siteNameSuiteDescriptionLabel`,\n    defaultMessage: '* We’ll use this to name your site and workspaces'\n  },\n  email: {\n    id: `${ID_PREFIX}emailLabel`,\n    defaultMessage: 'Work email'\n  },\n  password: {\n    id: `${ID_PREFIX}passwordLabel`,\n    defaultMessage: 'Password'\n  },\n  firstName: {\n    id: `${ID_PREFIX}firstNameLabel`,\n    defaultMessage: 'First name'\n  },\n  lastName: {\n    id: `${ID_PREFIX}lastNameLabel`,\n    defaultMessage: 'Last name'\n  },\n  fullNameLabel: {\n    id: `${ID_PREFIX}fullNameLabel`,\n    defaultMessage: 'Full name'\n  },\n  gdprMessage: {\n    id: `${ID_PREFIX}gdprMessage`,\n    defaultMessage:\n      'Select the data center region to store your Opsgenie specific product data:'\n  },\n  errorValidationMessage: {\n    id: `${ID_PREFIX}errorValidationMessage`,\n    defaultMessage: 'Please review the highlighted fields below and try again.'\n  },\n  errorDomainLengthMinMsg: {\n    id: `${ID_PREFIX}errorDomainLengthMinMsg`,\n    defaultMessage:\n      'Your site name must be 3 or more lowercase letters and/or numbers. Hyphens are ok if they’re in the middle.'\n  },\n  errorDomainLengthMinMsgDeferredSiteName: {\n    id: `${ID_PREFIX}errorDomainLengthMinMsgDeferredSiteName`,\n    defaultMessage:\n      'Must be at least three characters (numerals or lowercase letters only). Can’t start or end with a hyphen (-).'\n  },\n  errorDomainLengthMaxMsg: {\n    id: `${ID_PREFIX}errorDomainLengthMaxMsg`,\n    defaultMessage:\n      \"That's a bit too long — try something 50 characters or less.\"\n  },\n  errorDomainTakenMsg: {\n    id: `${ID_PREFIX}errorDomainTakenMsg`,\n    defaultMessage: 'This site is already taken.'\n  },\n  errorDomainTakenMsgDeferredSiteName: {\n    id: `${ID_PREFIX}errorDomainTakenMsgDeferredSiteName`,\n    defaultMessage: 'This site name is already taken.'\n  },\n  errorDomainIsAnnualMsg: {\n    id: `${ID_PREFIX}errorDomainIsAnnualMsg`,\n    defaultMessage:\n      'The Free plan is not yet available for annual subscriptions. Please select a site on a monthly subscription.'\n  },\n  errorFirstNameMsg: {\n    id: `${ID_PREFIX}errorFirstNameMsg`,\n    defaultMessage: 'Please enter your first name'\n  },\n  errorLastNameMsg: {\n    id: `${ID_PREFIX}gdprMessage`,\n    defaultMessage: 'Please enter your last name'\n  },\n  errorEmailInvalidMsg: {\n    id: `${ID_PREFIX}errorEmailInvalidMsg`,\n    defaultMessage: 'Please enter a valid email address'\n  },\n  errorEmailInUseMsg: {\n    id: `${ID_PREFIX}errorEmailInUseMsg`,\n    defaultMessage: `Oops, an Atlassian account with this email already exists. If you are the owner of this account, please <a href='{signInAccountUrl}'>login to continue</a>.`\n  },\n  errorEmailInUseLoginToContinueMsg: {\n    id: `${ID_PREFIX}errorEmailInUseLoginToContinueMsg`,\n    defaultMessage: 'log in to continue'\n  },\n  errorPasswordMinMsg: {\n    id: `${ID_PREFIX}errorPasswordMinMsg`,\n    defaultMessage: 'Password must be at least 8 characters long'\n  },\n  errorCaptchaMsg: {\n    id: `${ID_PREFIX}errorCaptchaMsg`,\n    defaultMessage: 'Error with captcha verification'\n  },\n  warningTimeoutPending: {\n    id: `${ID_PREFIX}warningTimeoutPending`,\n    defaultMessage: 'Something went wrong. Wait a few minutes, then try again.'\n  },\n  warningNetworkError: {\n    id: `${ID_PREFIX}warningNetworkError`,\n    defaultMessage: 'Something went wrong. Please try again.'\n  },\n  errorTimeout: {\n    id: `${ID_PREFIX}errorTimeout`,\n    defaultMessage:\n      '<span>It\\'s taking longer than expected to get you started. Please check your inbox to see if the order has completed successfully, or <a href=\"/company/contact\">contact us</a>.</span>'\n  },\n  aaidMismatch: {\n    id: `${ID_PREFIX}aaidMismatch`,\n    defaultMessage:\n      '<span>Something went wrong. Please refresh your page, then try again.</span>'\n  },\n  helpTooltipText: {\n    id: `${ID_PREFIX}helpTooltipText`,\n    defaultMessage:\n      'Must be at least 3 lowercase characters, numbers and letters only.'\n  },\n  deferredSiteNameTooltipText: {\n    id: `${ID_PREFIX}deferredSiteNameTooltipText`,\n    defaultMessage:\n      'Your site name is the URL used to find your site, so try something your team will easily recognize.'\n  },\n  reCaptchaLegal: {\n    id: `${ID_PREFIX}reCaptchaLegal`,\n    defaultMessage:\n      'This site is protected by reCAPTCHA and the Google <a href=\"https://policies.google.com/privacy\">Privacy Policy</a> and <a href=\"https://policies.google.com/terms\">Terms of Service</a> apply.'\n  },\n  infoBoxModal: {\n    id: `${ID_PREFIX}infoBoxModal`,\n    defaultMessage:\n      'A site is the unique URL where you access your Atlassian products–Confluence, Jira Software, Jira Service Management, or Jira Work Management. <br><br>You access Bitbucket Cloud account on <a href=\"https://bitbucket.org/\">bitbucket.org</a>.'\n  },\n  infoBoxModalCta: {\n    id: `${ID_PREFIX}infoBoxModalCta`,\n    defaultMessage: 'Understand site and Bitbucket Cloud account'\n  },\n  infoBoxDefault: {\n    id: `${ID_PREFIX}infoBoxDefault`,\n    defaultMessage: ' '\n  },\n  infoBoxSite: {\n    id: `${ID_PREFIX}infoBoxSite`,\n    defaultMessage:\n      \"You already have a site with other Atlassian products in which Jira Software will be added to. We'll create a new Bitbucket Cloud account for you using the same name.\"\n  },\n  infoBoxSiteJsw: {\n    id: `${ID_PREFIX}infoBoxSiteJsw`,\n    defaultMessage:\n      'Select an existing site below and we’ll create a new Bitbucket Cloud account for you using the same name.'\n  },\n  infoBoxBb: {\n    id: `${ID_PREFIX}infoBoxBb`,\n    defaultMessage:\n      \"You already have a Bitbucket Cloud account. Create a new site for Jira Software and they'll be automatically integrated.\"\n  },\n  infoBoxSiteBb: {\n    id: `${ID_PREFIX}infoBoxSiteBb`,\n    defaultMessage:\n      'You already have a site with other Atlassian products in which Jira Software will be added to. You also have a Bitbucket Cloud account. They will be automatically integrated.'\n  },\n  jswTrialNotice: {\n    id: `${ID_PREFIX}jswTrialNotice`,\n    defaultMessage:\n      \"You'll get a 1-month free trial of Jira Software for this site.\"\n  },\n  jsmConfluenceNotice: {\n    id: `${ID_PREFIX}jsmConfluenceNotice`,\n    defaultMessage:\n      'We recommend you add Jira Service Management to an existing Confluence site now since there will be no way to link them afterwards.'\n  },\n  yourBitbucketAccount: {\n    id: `${ID_PREFIX}yourBitbucketAccount`,\n    defaultMessage: 'Your Bitbucket Cloud account'\n  },\n  bitbucketAccountDuplicate: {\n    id: `${ID_PREFIX}bitbucketAccountDuplicate`,\n    defaultMessage:\n      'Check this box if you prefer a new account with the same name as the site below.'\n  },\n  dropdownWithJiraSoftware: {\n    id: `${ID_PREFIX}dropdownWithJiraSoftware`,\n    defaultMessage: 'Sites with Jira Software:'\n  },\n  dropdownWithoutJiraSoftware: {\n    id: `${ID_PREFIX}dropdownWithoutJiraSoftware`,\n    defaultMessage: 'Sites without Jira Software:'\n  },\n  dropdownWithRecommended: {\n    id: `${ID_PREFIX}dropdownWithRecommended`,\n    defaultMessage: 'RECOMMENDED SITES'\n  },\n  dropdownWithoutRecommended: {\n    id: `${ID_PREFIX}dropdownWithoutRecommended`,\n    defaultMessage: 'OTHER SITES'\n  },\n  errorName: {\n    id: `${ID_PREFIX}errorName`,\n    defaultMessage: 'Invalid name pattern.'\n  },\n  errorNameLength: {\n    id: `${ID_PREFIX}errorNameLength`,\n    defaultMessage: 'Full name must not be greater than 255 characters'\n  },\n  siteAdminManageError: {\n    id: `${ID_PREFIX}siteAdminManageError`,\n    defaultMessage:\n      'You do not have permission to manage this site. For further support, contact the site’s administrator.'\n  },\n  freeBreachInfoBoxConsiderTrial: {\n    id: `${ID_PREFIX}freeBreachInfoBoxConsiderTrial`,\n    defaultMessage: 'Consider a Standard trial'\n  },\n  freeBreachInfoBoxCopy: {\n    id: `${ID_PREFIX}freeBreachInfoBoxCopy`,\n    defaultMessage:\n      \"<p>This site is eligible for a 30-day trial of a Standard plan, with full-feature access for 5,000 users or agents.</p><p>A trial lets your team use everything together. If you start a new site, it won't be integrated with your other products.</p>\"\n  },\n  freeBreachInfoBoxStartTrialCta: {\n    id: `${ID_PREFIX}freeBreachInfoBoxStartTrialCta`,\n    defaultMessage: 'Start a 30-day trial'\n  },\n  freeBreachLimitExceededError: {\n    id: `${ID_PREFIX}freeBreachLimitExceededError`,\n    defaultMessage: 'This site has more users than Free allows.'\n  },\n  devopsCarouselEndTextOne: {\n    id: `${ID_PREFIX}devopsCarouselEndTextOne`,\n    defaultMessage:\n      'Check your inbox for useful information and guides to help you get started.'\n  },\n  devopsCarouselEndTextTwo: {\n    id: `${ID_PREFIX}devopsCarouselEndTextTwo`,\n    defaultMessage:\n      'Easily switch to other Atlassian Products directly from the navigation bar.'\n  },\n  devopsCarouselEndTextThree: {\n    id: `${ID_PREFIX}devopsCarouselEndTextThree`,\n    defaultMessage:\n      'Add your teammates to plan, track and release great software together.'\n  },\n  devopsCarouselButton: {\n    id: `${ID_PREFIX}devopsCarouselButton`,\n    defaultMessage: 'Go to {product}'\n  },\n  devopsCarouselEndHeading: {\n    id: `${ID_PREFIX}devopsCarouselEndHeading`,\n    defaultMessage: \"You're all set up!\"\n  },\n  devopsSignedInWelcomeMessage: {\n    id: `${ID_PREFIX}devopsSignedInWelcomeMessage`,\n    defaultMessage: \"Let's set up your DevOps suite\"\n  },\n  siteNameSuiteDescriptionDevops: {\n    id: `${ID_PREFIX}siteNameSuiteDescriptionDevops`,\n    defaultMessage: '* We’ll use this to name your suite and workspaces'\n  },\n  errorDomainTakenMsgDevops: {\n    id: `${ID_PREFIX}errorDomainTakenMsgDevops`,\n    defaultMessage: 'This suite is already taken.'\n  },\n  errorDomainLengthMinMsgDevops: {\n    id: `${ID_PREFIX}errorDomainLengthMinMsgDevops`,\n    defaultMessage:\n      'Your suite name must be 3 or more lowercase letters and/or numbers. Hyphens are ok if they’re in the middle.'\n  },\n  eulaDevops: {\n    id: `${ID_PREFIX}eulaDevops`,\n    defaultMessage:\n      \"<p>By signing up, you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy.</a></p>\"\n  },\n  helpTooltipTextDevops: {\n    id: `${ID_PREFIX}helpTooltipTextDevops`,\n    defaultMessage:\n      'Choose a name for the sites and workspaces that will make up your suite. Most teams use their company or organization.'\n  },\n  opsgenieDataStorageInfoBoxCopy: {\n    id: `${ID_PREFIX}opsgenieDataStorageInfoBoxCopy`,\n    defaultMessage:\n      '<p>Some of your data is automatically stored in the US. <a href=\"https://www.atlassian.com/software/opsgenie/tos\">Learn more</a></p>'\n  },\n  heading: {\n    id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormHeading`,\n    defaultMessage: 'Start now'\n  },\n  subheading: {\n    id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormSubheading`,\n    defaultMessage: ''\n  },\n  greeting: {\n    id: `${ID_PREFIX}signupFormPersonalizedGreeting`,\n    defaultMessage: 'Welcome back, {username}'\n  },\n  cloudStandard: {\n    id: `${ID_PREFIX}cloudStandard`,\n    defaultMessage: 'Cloud Standard'\n  },\n  cloudPremium: {\n    id: `${ID_PREFIX}cloudPremium`,\n    defaultMessage: 'Cloud Premium'\n  },\n  cloudFree: {\n    id: `${ID_PREFIX}cloudFree`,\n    defaultMessage: 'Cloud Free'\n  },\n  ssoCheck: {\n    id: `${ID_PREFIX}errorSsoInUse`,\n    defaultMessage:\n      'You must use single sign-on to access your account and continue signing up for your product. <a href=\"{redirectUrl}\">Login to continue</a>.'\n  },\n  localeError: {\n    id: `${ID_PREFIX}localeError`,\n    defaultMessage: 'We stand with Ukraine'\n  },\n  localeErrorMessage: {\n    id: `${ID_PREFIX}localeErrorMessage`,\n    defaultMessage:\n      'Following the Russian invasion of Ukraine, we are pausing the sale of new software in Russia and Belarus.'\n  },\n  localeErrorButton: {\n    id: `${ID_PREFIX}localeErrorButton`,\n    defaultMessage: 'Learn more'\n  },\n  beaconRequireProducts: {\n    id: `${ID_PREFIX}beaconRequireProducts`,\n    defaultMessage:\n      'Beacon requires one or more Atlassian products. Since there are no products associated with this account, switch accounts above or explore our Atlassian suite.'\n  },\n  beaconExplore: {\n    id: `${ID_PREFIX}beaconExplore`,\n    defaultMessage: 'Explore Atlassian products'\n  },\n  inputSiteNameMessage: {\n    id: `${ID_PREFIX}inputSiteNameMessage`,\n    defaultMessage:\n      'Your site name appears in the URL for your Atlassian products. Most people use their team or company name. You can change your site name later.'\n  },\n  siteNameInstructions: {\n    id: `${ID_PREFIX}siteNameInstructions`,\n    defaultMessage:\n      'Must be at least three characters (numbers or lowercase letters only) and can’t start or end with a hyphen (-).'\n  },\n  siteNameInstructionsExperimentB: {\n    id: `${ID_PREFIX}siteNameInstructionsExperimentB`,\n    defaultMessage:\n      'This site name is just a suggestion. Feel free to change to something your team will recognize.'\n  },\n  personalizedNameSiteMessage: {\n    id: `${ID_PREFIX}personalizedNameSiteMessage`,\n    defaultMessage: \"Let's name your site, {username}\"\n  },\n  bitbucketWorkspaceIdFieldLabelMessage: {\n    id: `${ID_PREFIX}bitbucketWorkspaceIdFieldLabelMessage`,\n    defaultMessage: 'Your new workspace'\n  },\n  bitbucketOrganizationIdFieldLabelMessage: {\n    id: `${ID_PREFIX}bitbucketOrganizationIdFieldLabelMessage`,\n    defaultMessage: \"We'll create your workspace in this organization\"\n  },\n  bitbucketWorkspaceIdFieldHelperMessage: {\n    id: `${ID_PREFIX}bitbucketWorkspaceIdFieldHelperMessage`,\n    defaultMessage:\n      'The workspace ID can only contain lowercase letters, numbers, dashes, and underscores.'\n  },\n  bitbucketSubmitButtonTextMessage: {\n    id: `${ID_PREFIX}bitbucketSubmitButtonTextMessage`,\n    defaultMessage: 'Agree and create workspace'\n  },\n  bitbucketWorkspaceIdFieldErrorMessageCMT: {\n    id: `${ID_PREFIX}bitbucketWorkspaceIdFieldErrorMessageCMT`,\n    defaultMessage:\n      'The workspace ID is invalid. Workspace IDs can only contain lowercase letters, numbers, dashes, and underscores.'\n  },\n  bitbucketWorkspaceIdTakenErrorMessageCMT: {\n    id: `${ID_PREFIX}bitbucketWorkspaceIdTakenErrorMessageCMT`,\n    defaultMessage: 'This workspace ID is taken. Try another ID.'\n  },\n  bitbucketMissingOrgsInfoMessage: {\n    id: `${ID_PREFIX}bitbucketMissingOrgsInfoMessage`,\n    defaultMessage:\n      'If an organization is not listed in the dropdown menu, <a href=\"{supportUrl}\" target=\"_blank\">contact our Support team for assistance</a>.'\n  },\n  bitbucketCreateNewOrgInfoMessage: {\n    id: `${ID_PREFIX}bitbucketCreateNewOrgInfoMessage`,\n    defaultMessage:\n      'We need to create a new Atlassian organization, because you currently do not have an organization in Atlassian\\'s centralized user management. If you have any questions, <a href=\"{supportUrl}\" target=\"_blank\">contact our Support team for assistance</a>.'\n  },\n  bitbucketOrgCreationPreparingProductMessage: {\n    id: `${ID_PREFIX}bitbucketOrgCreationPreparingProductMessage`,\n    defaultMessage: \"We're preparing your product.\"\n  },\n  bitbucketOrgCreationEstimatedTimeMessage: {\n    id: `${ID_PREFIX}bitbucketOrgCreationEstimatedTimeMessage`,\n    defaultMessage: \"This won't take more than a minute or two.\"\n  },\n  productActivationFailureMessage: {\n    id: `${ID_PREFIX}productActivationFailureMessage`,\n    defaultMessage:\n      '<p>Something went wrong on our end. Please try again. If this keeps happening, <a href=\"https://support.atlassian.com/contact/\">contact support</a>.</p>'\n  }\n});\n\nexport const getTranslatableError = (\n  error: string,\n  isDevops?: boolean,\n  isDeferredSiteName?: boolean\n) => {\n  switch (error) {\n    case 'Please enter a valid email address':\n      return messages.errorEmailInvalidMsg;\n    case 'Password must be at least 8 characters':\n      return messages.errorPasswordMinMsg;\n    case 'Your site name must be at least 3 characters long. Use only lowercase letters and numbers.':\n      if (isDevops) {\n        return messages.errorDomainLengthMinMsgDevops;\n      } else if (isDeferredSiteName) {\n        return messages.errorDomainLengthMinMsgDeferredSiteName;\n      } else {\n        return messages.errorDomainLengthMinMsg;\n      }\n    case \"That's a bit too long — try something 50 characters or less.\":\n      return messages.errorDomainLengthMaxMsg;\n    case 'Invalid name pattern.':\n      return messages.errorName;\n    case 'Site name is unavailable':\n      if (isDevops) {\n        return messages.errorDomainTakenMsgDevops;\n      } else if (isDeferredSiteName) {\n        return messages.errorDomainTakenMsgDeferredSiteName;\n      } else {\n        return messages.errorDomainTakenMsg;\n      }\n    case 'An Atlassian account exists for this email address':\n      return messages.errorEmailInUseMsg;\n    case 'warningTimeoutPending':\n      return messages.warningTimeoutPending;\n    case 'errorTimeout':\n      return messages.errorTimeout;\n    case 'accountIdMisMatch':\n      return messages.aaidMismatch;\n    case 'orgCreateFailure':\n    case 'productActivateFailure':\n      return messages.productActivationFailureMessage;\n    default:\n      return { defaultMessage: error, id: `${ID_PREFIX}errorFallThrough` };\n  }\n};\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n  /* istanbul ignore next */\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction createStyleElement(options) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', options.key);\n\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce);\n  }\n\n  tag.appendChild(document.createTextNode(''));\n  tag.setAttribute('data-s', '');\n  return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  function StyleSheet(options) {\n    var _this = this;\n\n    this._insertTag = function (tag) {\n      var before;\n\n      if (_this.tags.length === 0) {\n        if (_this.insertionPoint) {\n          before = _this.insertionPoint.nextSibling;\n        } else if (_this.prepend) {\n          before = _this.container.firstChild;\n        } else {\n          before = _this.before;\n        }\n      } else {\n        before = _this.tags[_this.tags.length - 1].nextSibling;\n      }\n\n      _this.container.insertBefore(tag, before);\n\n      _this.tags.push(tag);\n    };\n\n    this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n    this.tags = [];\n    this.ctr = 0;\n    this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n    this.key = options.key;\n    this.container = options.container;\n    this.prepend = options.prepend;\n    this.insertionPoint = options.insertionPoint;\n    this.before = null;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.hydrate = function hydrate(nodes) {\n    nodes.forEach(this._insertTag);\n  };\n\n  _proto.insert = function insert(rule) {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this));\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    if (process.env.NODE_ENV !== 'production') {\n      var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n      }\n      this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n    }\n\n    if (this.isSpeedy) {\n      var sheet = sheetForTag(tag);\n\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n          console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule));\n    }\n\n    this.ctr++;\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode && tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0;\n\n    if (process.env.NODE_ENV !== 'production') {\n      this._alreadyInsertedOrderInsensitiveRule = false;\n    }\n  };\n\n  return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n  var previous = 0;\n  var character = 0;\n\n  while (true) {\n    previous = character;\n    character = peek(); // &\\f\n\n    if (previous === 38 && character === 12) {\n      points[index] = 1;\n    }\n\n    if (token(character)) {\n      break;\n    }\n\n    next();\n  }\n\n  return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n  // pretend we've started with a comma\n  var index = -1;\n  var character = 44;\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1;\n        }\n\n        parsed[index] += identifierWithPointTracking(position - 1, points, index);\n        break;\n\n      case 2:\n        parsed[index] += delimit(character);\n        break;\n\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : '';\n          points[index] = parsed[index].length;\n          break;\n        }\n\n      // fallthrough\n\n      default:\n        parsed[index] += from(character);\n    }\n  } while (character = next());\n\n  return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n  return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n  if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n  // negative .length indicates that this rule has been already prefixed\n  element.length < 1) {\n    return;\n  }\n\n  var value = element.value,\n      parent = element.parent;\n  var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent;\n    if (!parent) return;\n  } // short-circuit for the simplest case\n\n\n  if (element.props.length === 1 && value.charCodeAt(0) !== 58\n  /* colon */\n  && !fixedElements.get(parent)) {\n    return;\n  } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n  if (isImplicitRule) {\n    return;\n  }\n\n  fixedElements.set(element, true);\n  var points = [];\n  var rules = getRules(value, points);\n  var parentRules = parent.props;\n\n  for (var i = 0, k = 0; i < rules.length; i++) {\n    for (var j = 0; j < parentRules.length; j++, k++) {\n      element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n    }\n  }\n};\nvar removeLabel = function removeLabel(element) {\n  if (element.type === 'decl') {\n    var value = element.value;\n\n    if ( // charcode for l\n    value.charCodeAt(0) === 108 && // charcode for b\n    value.charCodeAt(2) === 98) {\n      // this ignores label\n      element[\"return\"] = '';\n      element.value = '';\n    }\n  }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n  return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n  return function (element, index, children) {\n    if (element.type !== 'rule' || cache.compat) return;\n    var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n    if (unsafePseudoClasses) {\n      var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n\n      var commentContainer = isNested ? element.parent.children : // global rule at the root level\n      children;\n\n      for (var i = commentContainer.length - 1; i >= 0; i--) {\n        var node = commentContainer[i];\n\n        if (node.line < element.line) {\n          break;\n        } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n\n\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return;\n          }\n\n          break;\n        }\n      }\n\n      unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n        console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n      });\n    }\n  };\n};\n\nvar isImportRule = function isImportRule(element) {\n  return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n  for (var i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n  element.type = '';\n  element.value = '';\n  element[\"return\"] = '';\n  element.children = '';\n  element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n  if (!isImportRule(element)) {\n    return;\n  }\n\n  if (element.parent) {\n    console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n    nullifyElement(element);\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n    nullifyElement(element);\n  }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value;\n    // appearance, user-select, transform, hyphens, text-size-adjust\n\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value;\n    // flex, flex-direction\n\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value;\n    // order\n\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value;\n    // align-items\n\n    case 5187:\n      return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n    // align-self\n\n    case 5443:\n      return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n    // align-content\n\n    case 4675:\n      return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n    // flex-shrink\n\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n    // flex-basis\n\n    case 5292:\n      return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n    // flex-grow\n\n    case 6060:\n      return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n    // transition\n\n    case 4554:\n      return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n    // cursor\n\n    case 6187:\n      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n    // background, background-image\n\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // justify-content\n\n    case 4968:\n      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n    // (margin|padding)-inline-(start|end)\n\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (m)ax-content, (m)in-content\n        case 109:\n          // -\n          if (charat(value, length + 4) !== 45) break;\n        // (f)ill-available, (f)it-content\n\n        case 102:\n          return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n        // (s)tretch\n\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n    // position: sticky\n\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break;\n    // display: (flex|inline-flex)\n\n    case 6444:\n      switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value;\n        // (inline-)?fl(e)x\n\n        case 101:\n          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n      }\n\n      break;\n    // writing-mode\n\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n        // vertical-r(l)\n\n        case 108:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n        // horizontal(-)tb\n\n        case 45:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n      }\n\n      return WEBKIT + value + MS + value + value;\n  }\n\n  return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n  if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n    case DECLARATION:\n      element[\"return\"] = prefix(element.value, element.length);\n      break;\n\n    case KEYFRAMES:\n      return serialize([copy(element, {\n        value: replace(element.value, '@', '@' + WEBKIT)\n      })], callback);\n\n    case RULESET:\n      if (element.length) return combine(element.props, function (value) {\n        switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n          // :read-(only|write)\n          case ':read-only':\n          case ':read-write':\n            return serialize([copy(element, {\n              props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n            })], callback);\n          // :placeholder\n\n          case '::placeholder':\n            return serialize([copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n            })], callback);\n        }\n\n        return '';\n      });\n  }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n  var key = options.key;\n\n  if (process.env.NODE_ENV !== 'production' && !key) {\n    throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n  }\n\n  if (key === 'css') {\n    var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n\n    Array.prototype.forEach.call(ssrStyles, function (node) {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return;\n      }\n      document.head.appendChild(node);\n      node.setAttribute('data-s', '');\n    });\n  }\n\n  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var inserted = {};\n  var container;\n  var nodesToHydrate = [];\n\n  {\n    container = options.container || document.head;\n    Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n    document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n      var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n      for (var i = 1; i < attrib.length; i++) {\n        inserted[attrib[i]] = true;\n      }\n\n      nodesToHydrate.push(node);\n    });\n  }\n\n  var _insert;\n\n  var omnipresentPlugins = [compat, removeLabel];\n\n  if (process.env.NODE_ENV !== 'production') {\n    omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n      get compat() {\n        return cache.compat;\n      }\n\n    }), incorrectImportAlarm);\n  }\n\n  {\n    var currentSheet;\n    var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n      if (!element.root) {\n        if (element[\"return\"]) {\n          currentSheet.insert(element[\"return\"]);\n        } else if (element.value && element.type !== COMMENT) {\n          // insert empty rule in non-production environments\n          // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n          currentSheet.insert(element.value + \"{}\");\n        }\n      }\n    } : rulesheet(function (rule) {\n      currentSheet.insert(rule);\n    })];\n    var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n    var stylis = function stylis(styles) {\n      return serialize(compile(styles), serializer);\n    };\n\n    _insert = function insert(selector, serialized, sheet, shouldCache) {\n      currentSheet = sheet;\n\n      if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n        currentSheet = {\n          insert: function insert(rule) {\n            sheet.insert(rule + serialized.map);\n          }\n        };\n      }\n\n      stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true;\n      }\n    };\n  }\n\n  var cache = {\n    key: key,\n    sheet: new StyleSheet({\n      key: key,\n      container: container,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted: inserted,\n    registered: {},\n    insert: _insert\n  };\n  cache.sheet.hydrate(nodesToHydrate);\n  return cache;\n};\n\nexport { createCache as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","/** @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 = {\n    ...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 {\n  B100,\n  B300,\n  B400,\n  B50,\n  G300,\n  linkHover,\n  N0,\n  N10,\n  N100,\n  N20,\n  N200,\n  N40,\n  N400,\n  N500,\n  N60,\n  N600,\n  N700,\n  N80,\n  N800,\n  N90,\n  N900,\n  R400\n} from '@atlaskit/theme/colors';\nimport { TooltipPrimitive } from '@atlaskit/tooltip';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nconst text =\n  \"Charlie Text, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst display =\n  \"Charlie Display, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst product =\n  \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst WacSignupFormContainer = styled.form`\n  box-sizing: border-box;\n  font-family: ${text};\n  font-weight: 500;\n  max-width: 400px;\n  * {\n    box-sizing: border-box;\n  }\n`;\nconst ResendEmailContainer = styled.div`\n  box-sizing: border-box;\n  font-family: ${text};\n  font-weight: 500;\n  max-width: 536px;\n  min-height: 564px;\n  margin: 0 auto;\n  * {\n    box-sizing: border-box;\n  }\n`;\n\nconst StyledPassword = styled.div<SharedProps>`\n  opacity: ${(props) => {\n    if (props.isDisabled && props.fadeOnDisable) {\n      return 0.4;\n    }\n    return 1;\n  }};\n  div {\n    div:nth-child(2) {\n      padding: 4px;\n    }\n  }\n`;\n\nconst FieldContainer = styled.div`\n  position: relative;\n  margin-bottom: 16px;\n`;\n\ninterface FieldErrorStateProps {\n  showError: boolean;\n}\nconst FieldErrorState = styled.div<FieldErrorStateProps>`\n  padding: 0;\n  background-color: ${(props) => {\n    if (props.showError) {\n      return R400;\n    } else {\n      return 'transparent';\n    }\n  }};\n  border-radius: 3px;\n`;\n\nconst FullNameFieldWrapper = styled.div`\n  position: relative;\n  margin-bottom: 16px;\n`;\n\nconst TwoColumnFieldGroup = styled.div`\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 16px;\n`;\n\ninterface NameProps {\n  isValid: boolean;\n  val: string;\n  isDisabled?: boolean;\n  fadeOnDisable?: boolean;\n  outlineOnFocus?: boolean;\n  isFocused?: boolean;\n}\nconst NameFieldGroup = styled.div<NameProps>`\n  transition: all 0.1s linear 0s;\n  opacity: ${(props) => {\n    if (props.isDisabled && props.fadeOnDisable) {\n      return 0.4;\n    }\n    return 1;\n  }};\n  > div {\n    border-color: ${(props) => {\n      if (props.isDisabled) {\n        return `${N60} !important`;\n      }\n      if (props.isValid && props.val.length > 0) {\n        return '#36b37e';\n      } else if (!props.isValid) {\n        return R400;\n      }\n      if (props.outlineOnFocus && props.isFocused) {\n        return `${B100}`;\n      }\n      return N60;\n    }};\n    background: ${N0} !important;\n  }\n`;\n\nconst Input = styled.input`\n  border: 2px solid ${N60};\n  border-radius: 4px;\n  color: ${N700};\n  display: inline-block;\n  font-size: 1rem;\n  outline: none;\n  padding: 8px;\n  width: 100%;\n  &.field-error {\n    border-color: ${R400};\n  }\n`;\n\nexport const InfoIcon = styled.div`\n  height: 24px;\n  svg {\n    margin: 0;\n  }\n  div {\n    display: none;\n  }\n  :hover {\n    div {\n      display: block;\n    }\n  }\n`;\n\nconst Label = styled.label<SharedProps>`\n  transition: all 0.1s linear 0s;\n  opacity: ${(props) => {\n    if (props.isDisabled && props.fadeOnDisable) {\n      return 0.4;\n    }\n    return 1;\n  }};\n  span {\n    color: ${N500};\n    display: inline-block;\n    font-size: 0.875rem;\n    font-weight: 500;\n    margin-bottom: 5px;\n    line-height: normal;\n    ::after {\n      color: ${R400};\n      content: '*';\n      display: inline-block;\n      padding-left: 4px;\n\n      .no-asterisks & {\n        content: '';\n      }\n    }\n  }\n  display: flex;\n`;\n\nconst InputSiteNameMessage = styled.label<SharedProps>`\n  color: ${N600};\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 21px;\n  display: flex;\n  justify-content: center;\n  margin-bottom: 32px;\n  text-align: center;\n`;\n\nconst InputSiteNameInstructions = styled.label<SharedProps>`\n  color: ${N500};\n  font-feature-settings: 'clig' off, 'liga' off;\n  font-family: Charlie Text;\n  font-size: 12px;\n  font-style: normal;\n  font-weight: 400;\n  line-height: 18px;\n  width: 375px;\n`;\n\nconst LabelDefaultExpandedEmail = styled.label<SharedProps>`\n  transition: all 0.1s linear 0s;\n  opacity: ${(props) => {\n    if (props.isDisabled && props.fadeOnDisable) {\n      return 0.4;\n    }\n    return 1;\n  }};\n  span {\n    color: ${N500};\n    display: inline-block;\n    font-size: 0.875rem;\n    font-weight: 500;\n    margin-bottom: 4px;\n    line-height: normal;\n    ::after {\n      color: ${R400};\n      content: '*';\n      display: inline-block;\n      padding-left: 5px;\n\n      .no-asterisks & {\n        content: '';\n      }\n    }\n  }\n  display: flex;\n`;\n\nconst ChooseSignupLabel = styled.label<SharedProps>`\n  transition: all 0.1s linear 0s;\n  opacity: ${(props) => {\n    if (props.isDisabled && props.fadeOnDisable) {\n      return 0.4;\n    }\n    return 1;\n  }};\n  span {\n    color: ${N800};\n    display: inline-block;\n    font-size: 12px;\n    font-weight: 400;\n    margin-bottom: 4px;\n    line-height: 18px;\n    ::after {\n      color: ${R400};\n      content: '*';\n      display: inline-block;\n      padding-left: 5px;\n\n      .no-asterisks & {\n        content: '';\n      }\n    }\n  }\n  display: flex;\n`;\n\nconst InputDescription = styled.div`\n  color: ${N500};\n  font-weight: 400;\n  font-size: 12px;\n  margin: 3px 0px;\n`;\n\nconst DropdownTrigger = styled.div`\n  font-family: ${text};\n  text-align: left;\n  font-size: 14px;\n  span: {\n    fontsize: '14px';\n  }\n`;\n\n// Atlaskit dropdown button theme prop\nconst DropdownButtonStyle = {\n  width: '100%',\n  background: N0,\n  appearance: 'none',\n  cursor: 'pointer',\n  fontSize: '14px',\n  color: text,\n  paddingTop: '6px',\n  paddingBottom: '6px',\n  borderColor: N60,\n  borderRadius: '3px',\n  borderWidth: '2px',\n  borderStyle: 'solid'\n};\n\nconst OrganizationDropdownButtonStyle = {\n  width: '100%',\n  height: '32px',\n  borderRadius: '3px',\n  background: N0,\n  borderColor: 'transparent',\n  color: N800\n};\n\nconst JswTrialNotice = styled.div`\n  font-size: 12px;\n  font-weight: 400;\n  color: ${text};\n  margin: 6px 0 4px;\n\n  span {\n    min-width: 28px;\n    vertical-align: middle;\n  }\n`;\n\nconst DropdownButtonStyleOpen = {\n  background: N20,\n  borderColor: B100\n};\n\nconst OrganizationDropdownButtonStyleOpen = {\n  background: N0,\n  borderColor: 'transparent',\n  color: '#0C66E4'\n};\n\nconst SiteNameAfter = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 16px;\n  align-items: center;\n  justify-content: flex-end;\n  width: auto;\n  color: #7a869a;\n  font-weight: 400;\n  svg {\n    margin-bottom: 0px;\n  }\n  span {\n    display: flex;\n    align-items: center;\n    min-width: 24px;\n  }\n`;\nconst SiteNameAfterRadioList = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 14px;\n  align-items: center;\n  justify-content: flex-start;\n  width: auto;\n  color: #7a869a;\n  svg {\n    margin-bottom: 0px;\n  }\n  span {\n    display: flex;\n    align-items: center;\n  }\n`;\nconst SiteNameAfterLabel = styled.span`\n  font-size: 14px !important;\n  white-space: nowrap;\n  padding-right: 8px;\n`;\n\nconst EmailAfter = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 16px;\n  align-items: center;\n  svg {\n    margin-bottom: 0px;\n  }\n`;\ninterface SharedProps {\n  readonly isValid?: boolean;\n  readonly textInput?: string;\n  readonly hasAccount?: boolean;\n  readonly isEmpty?: boolean;\n  readonly isFocused?: boolean;\n  readonly isDisabled?: boolean;\n  readonly popOverError?: boolean; // popover error style type\n  readonly outlineOnFocus?: boolean; // blue outline on focus\n  readonly fadeOnDisable?: boolean; // fade entire field if disabled\n  readonly children?: React.ReactNode;\n  readonly className?: string;\n  readonly onClick?: (event: any) => void;\n  readonly isValidating?: boolean;\n}\n\nconst SuccessTextfieldWrapper = styled.div<SharedProps>`\n  .errorMessage {\n    background-color: white !important;\n  }\n  #site-field {\n    padding-right: 0px;\n  }\n  > div {\n    transition: all 0.1s linear 0s;\n    max-height: 40px;\n    opacity: ${(props) => {\n      if (props.isDisabled && props.fadeOnDisable) {\n        return 0.4;\n      }\n      return 1;\n    }};\n    background: ${N0};\n    background: ${(props) => {\n      if (props.hasAccount) {\n        return `${N20} !important;`;\n      }\n      return `${N0};`;\n    }};\n    border-color: ${(props) => {\n      if (props.isEmpty || props.hasAccount || props.isDisabled) {\n        if (props.outlineOnFocus && props.isFocused) {\n          return `${B100} !important`; // blue\n        }\n        return `${N60} !important`; // dark-grey\n      }\n      if (props.isValidating) {\n        return `${B100} !important`; // blue\n      }\n      if (props.isValid) {\n        return `${G300} !important`; // green\n      }\n      return `${R400} !important`; // red\n    }};\n  }\n  > input {\n    background: ${(props) => {\n      if (props.hasAccount) {\n        return '#F4F5F7';\n      }\n      return '#FFFFFF';\n    }};\n  }\n`;\n\nconst ChooseSignupSuccessTextfieldWrapper = styled.div<SharedProps>`\n  .errorMessage {\n    background-color: white !important;\n  }\n  #site-field {\n    padding-right: 0px;\n  }\n  > div {\n    transition: all 0.1s linear 0s;\n    max-height: 40px;\n    opacity: ${(props) => {\n      if (props.isDisabled && props.fadeOnDisable) {\n        return 0.4;\n      }\n      return 1;\n    }};\n    background: ${N0};\n    background: ${(props) => {\n      if (props.hasAccount) {\n        return `${N20} !important;`;\n      }\n      return `${N0};`;\n    }};\n    border-color: ${(props) => {\n      if (props.isValid) {\n        return `${G300} !important`; // green\n      }\n      if (props.isFocused || props.hasAccount || props.isDisabled) {\n        if (props.outlineOnFocus) {\n          return `${B100} !important`; // blue\n        }\n        return `${N60} !important`; // dark-grey\n      }\n      return `${R400} !important`; // red\n    }};\n  }\n  > input {\n    background: ${(props) => {\n      if (props.hasAccount) {\n        return '#F4F5F7';\n      }\n      return '#FFFFFF';\n    }};\n  }\n`;\n\nconst ErrorTextfieldWrapper = styled.div`\n  > div {\n    border-color: ${R400}!important;\n  }\n`;\n\nconst CompoundField = styled.div<SharedProps>`\n  transition: all 0.1s linear 0s;\n  display: grid;\n  grid-template-columns: max-content 1fr;\n  margin-bottom: 5px;\n  border-radius: 3px 0 0 3px;\n  opacity: ${(props) => {\n    if (props.isDisabled && props.fadeOnDisable) {\n      return 0.4;\n    }\n    return 1;\n  }};\n  > div {\n    > div {\n      transition: all 0.1s linear 0s;\n      border-right: none;\n      border-radius: 3px 0 0 3px;\n      background: ${N0} !important;\n      border-color: ${(props) => {\n        if (props.isEmpty || props.isDisabled) {\n          if (props.outlineOnFocus && props.isFocused) {\n            return `${B100} !important`;\n          }\n          return `${N60} !important`;\n        }\n        if (props.isValid) {\n          return `${G300} !important`;\n        }\n        return `${R400}`;\n      }};\n    }\n  }\n\n  > label {\n    > span {\n      margin: 0;\n    }\n  }\n\n  .domain-name-tooltip-trigger {\n    border-color: ${B400};\n    border-right: 1px solid;\n    border-radius: 3px;\n  }\n  .domain-name-tooltip-trigger-devops {\n    background: ${N0};\n    border-color: ${N0};\n    box-shadow: 0px 3px 5px rgba(9, 30, 66, 0.2),\n      0px 0px 1px rgba(9, 30, 66, 0.31);\n    border-radius: 3px;\n  }\n`;\n\nexport const PasswordCompoundField = styled(CompoundField)<SharedProps>`\n  display: flex;\n  .full-width {\n    width: 100%;\n  }\n`;\n\nconst CompoundInput = styled(Input)`\n  @supports (display: grid) {\n    border-radius: 4px 0 0 4px;\n    border-right: none;\n    margin: 0;\n    min-height: 40px;\n    padding-right: 0;\n  }\n`;\n\nconst CompoundInputSegment = styled.div<SharedProps>`\n  @supports (display: grid) {\n    transition: all 0.1s linear 0s;\n    border: 2px solid ${N60};\n    border-radius: 0 4px 4px 0;\n    border-color: ${(props) => {\n      if (props.isEmpty || props.isDisabled) {\n        if (props.outlineOnFocus && props.isFocused) {\n          return `${B100} !important`;\n        }\n        return `${N60} !important`;\n      }\n      if (props.isValid) {\n        return `${G300} !important`;\n      }\n      return `${R400} !important`;\n    }};\n    border-left: none;\n    display: flex;\n    align-items: center;\n    height: 100%;\n    padding: 4px 8px;\n    &.field-error {\n      border-color: ${R400};\n    }\n  }\n`;\n\nconst ErrorMessage = styled.div<SharedProps>`\n  color: ${R400};\n  font-weight: 400;\n  margin: 6px 0;\n  font-size: 12px;\n  line-height: 12px;\n\n  a {\n    text-decoration: none;\n    color: ${B400};\n\n    &:hover {\n      text-decoration: underline;\n      color: ${B300};\n    }\n  }\n\n  ${(props) =>\n    props.popOverError &&\n    `\n    position: absolute;\n    display: ${props.isDisabled && props.fadeOnDisable ? 'none' : 'grid'};\n    justify-items: center;\n    align-items: start;\n    width: 100%;\n    margin: 0;\n    z-index: 9;\n    color: ${N900};\n    background: transparent !important;\n\n    span {\n      padding: 7px;\n      background: white;\n      box-shadow: 0px 0px 1px rgba(9, 30, 66, 0.31), 0px 3px 5px rgba(9, 30, 66, 0.2);\n      border-radius: 3px;\n      margin-top: 2px;\n      max-width: 90%;\n      line-height: 1.2em;\n    }\n  `}\n`;\n\nfunction ErrorMessageWithDefaultClassName({\n  className,\n  ...props\n}: SharedProps) {\n  return (\n    <ErrorMessage\n      className={`errorMessage ${!!className ? className : ''}`}\n      {...props}\n    >\n      {props.children}\n    </ErrorMessage>\n  );\n}\n\nexport const RadioGroupWrapper = styled.div`\n  line-height: 1;\n  margin-bottom: 12px;\n\n  svg {\n    margin: 0;\n  }\n`;\n\nexport const RadioGroupSpacedWrapper = styled.div`\n  line-height: 1;\n  margin-top: 12px;\n  margin-bottom: 12px;\n\n  svg {\n    margin: 0;\n  }\n`;\n\nexport const RadioWrapper = styled.div`\n  display: flex;\n  & label {\n    flex-direction: row;\n    align-items: center;\n  }\n`;\n\nconst InfoMessage = styled.div`\n  color: ${N700};\n  font-size: 0.875rem;\n  font-weight: 400;\n  margin-top: 6px;\n`;\n\nconst Cursor = styled.div<SharedProps>`\n  cursor: ${(props) =>\n    props.isDisabled && props.fadeOnDisable ? 'not-allowed' : 'pointer'};\n  display: flex;\n  align-items: center;\n  margin-top: 0;\n  @supports (display: grid) {\n    display: flex;\n    align-items: center;\n  }\n`;\n\nconst SvgContainer = styled.div`\n  svg {\n    display: block;\n    margin-bottom: 0;\n  }\n`;\n\nconst AttentionContainer = styled.div`\n  width: 0;\n  height: 0;\n  left: -29px;\n  position: relative;\n  top: 6px;\n  svg {\n    display: block;\n    margin-bottom: 0;\n  }\n`;\n\nconst Domain = styled.div`\n  color: ${N80};\n  font-family: ${display};\n  font-size: 1rem;\n  letter-spacing: 1px;\n`;\n\nconst ToolTipContainer = styled.div`\n  position: relative;\n  display: none;\n  @supports (display: grid) {\n    display: block;\n  }\n`;\n\nconst ToolTipText = styled.div`\n  background: ${N0};\n  border: 1px solid ${B400};\n  border-radius: 2px;\n  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);\n  color: ${N800};\n  font-family: ${text};\n  font-size: 0.875rem;\n  font-weight: 400;\n  line-height: 1.42857143;\n  padding: 12px;\n  position: absolute;\n  left: 6px;\n  top: 25px;\n  width: 298px;\n`;\n\nconst DomainToolTip = styled.div`\n  cursor: pointer;\n  margin: 0 6px;\n  svg {\n    height: 18px;\n    width: 18px;\n  }\n`;\n\nconst AppRegionContainer = styled.div`\n  color: ${N700};\n  display: grid;\n  grid-template-columns: min-content min-content;\n  grid-column-gap: 16px;\n  margin-bottom: 24px;\n  div {\n    display: grid;\n    grid-template-columns: min-content min-content;\n    grid-column-gap: 8px;\n  }\n`;\n\nconst CheckboxContainer = styled.div`\n  color: ${N700};\n  display: grid;\n  grid-template-columns: min-content 1fr;\n  grid-column-gap: 8px;\n  font-size: 0.875rem;\n  margin-bottom: 16px;\n  &.hidden {\n    grid-template-columns: 1fr;\n    .checkbox {\n      display: none;\n    }\n  }\n  .full-width {\n    grid-column: 1 / 3;\n  }\n  p {\n    font-size: 0.875rem;\n    line-height: 1.25;\n    margin: 0;\n  }\n`;\n\nconst SmallPrint = styled.div`\n  color: ${N500};\n  font-size: 0.75rem;\n  margin-bottom: 16px;\n  &.compact {\n    margin-bottom: 4px;\n  }\n  p {\n    font-size: 0.75rem;\n    line-height: 1.25;\n    margin: 0;\n  }\n`;\nconst ButtonSpinner = styled.div`\n  display: inline-block;\n  margin-right: 12px;\n  margin-left: -28px;\n`;\n\nconst Button = styled.button`\n  border: none;\n  border-radius: 3px;\n  background-color: ${B400};\n  color: ${N0};\n  cursor: pointer;\n  font-size: 1rem;\n  font-weight: 500;\n  font-family: ${text};\n  min-height: 40px;\n  width: 100%;\n  &:hover {\n    background: ${B300};\n  }\n  &:active {\n    background-color: #0047b3;\n  }\n  &[disabled] {\n    cursor: not-allowed;\n    background-color: #0047b3;\n  }\n`;\n\nconst CapsPrint = styled.div`\n  color: ${N500};\n  font-size: 0.875rem;\n  margin-bottom: 16px;\n  margin-top: 8px;\n  text-align: center;\n  text-transform: uppercase;\n  @media (min-width: 540px) {\n    margin-top: 16px;\n  }\n`;\n\nconst CaptchaContainer = styled.div`\n  margin-bottom: 16px;\n`;\n\ninterface WelcomDivProps {\n  readonly headerStyle?: boolean;\n}\n\nconst WelcomeDiv = styled.div<WelcomDivProps>`\n  font-size: 1.25rem;\n  line-height: 1.2;\n  margin-bottom: 30px;\n  letter-spacing: 0.3px;\n  font-family: ${display};\n  font-style: normal;\n  -webkit-font-smoothing: antialiased;\n  font-weight: 500;\n\n  ${(props) =>\n    props.headerStyle &&\n    `\n    color: ${N600};\n    text-align: center;\n    font-size: 32px;\n    line-height: 40px;\n\n    @media only screen and (max-width: 769px) {\n      font-size: 28px;\n      text-align: left;\n    }\n  `}\n`;\n\nexport const WelcomeDivDevops = styled.div`\n  max-width: 300px;\n  margin: 0 auto;\n  text-align: center;\n`;\n\nexport const StyledInfoBoxWrapper = styled.div`\n  margin: 12px auto 26px;\n`;\n\nconst InfoBoxContainer = styled.div`\n  display: flex;\n  flex-direction: row;\n  justify-content: space-between;\n  background-color: ${B50};\n  padding: 12px 16px;\n  border-radius: 3px;\n  margin-bottom: 12px;\n`;\n\ninterface InfoBoxContentProps {\n  readonly fontSize?: string;\n}\n\nconst InfoBoxContent = styled.div<InfoBoxContentProps>`\n  width: 93%;\n\n  .title {\n    font-weight: 500;\n  }\n\n  p {\n    font-size: ${({ fontSize }) => {\n      if (fontSize) {\n        return fontSize;\n      } else {\n        return '12px';\n      }\n    }};\n    font-weight: 400;\n    line-height: 17px;\n    margin: 0 0 12px 0;\n    color: ${text};\n\n    a {\n      color: ${B400};\n      text-decoration: none;\n      cursor: pointer;\n\n      a:hover {\n        color: ${linkHover};\n      }\n    }\n\n    &.link {\n      display: inline-block;\n      color: ${B400};\n      cursor: pointer;\n\n      &:hover {\n        color: ${linkHover};\n      }\n    }\n\n    &:last-child {\n      margin: 0;\n    }\n  }\n`;\n\nconst ModalContents = styled.div`\n  position: relative;\n  font-family: ${text};\n  font-size: 14px;\n  color: ${text};\n  padding: 18px 0;\n\n  .message {\n    padding-right: 24px;\n    line-height: 22px;\n  }\n\n  a {\n    color: ${text};\n    text-decoration: none;\n    font-weight: 500;\n\n    &:focus {\n      outline: none;\n    }\n  }\n\n  .exit {\n    position: absolute;\n    top: 8px;\n    right: -12px;\n    cursor: pointer;\n  }\n`;\n\nconst ReCaptchaEula = styled.div`\n  margin-top: 40px;\n  font-size: 12px;\n  color: ${N200};\n  line-height: 16px;\n  text-align: center;\n  > * {\n      margin-block-start: 0;\n      > a {\n        color: ${N200};\n        text-decoration: underline;\n      }\n    }\n}\n`;\n\nconst ReCaptchaEulaDefaultExpandedEmail = styled.div`\n  margin-top: 32px;\n  margin-bottom: 8px;\n  font-size: 12px;\n  color: ${N200};\n  line-height: 16px;\n  text-align: center;\n  font-weight: 400;\n  > * {\n      margin-block-start: 0;\n      > a {\n        color: ${N200};\n        text-decoration: underline;\n      }\n    }\n}\n`;\n\nconst ReCaptchaEulaChooseSignup = styled.div`\n  position: absolute;\n  bottom: 60px;\n  font-size: 12px;\n  color: ${N800};\n  line-height: 18px;\n  text-align: center;\n  font-weight: 400;\n  width: 320px;\n  font-family: Charlie Text;\n  > * {\n      margin-block-start: 0;\n      > a {\n        color: ${B400};\n        text-decoration: underline;\n      }\n    }\n  @media only screen and (max-width: 768px) {\n    position: relative;\n  }\n  @media only screen and (max-height: 918px) {\n    position: unset;\n  }\n}\n`;\n\nconst Eula = styled.div`\n  font-size: 12px;\n  line-height: 16px;\n  color: ${N200};\n  vertical-align: middle;\n  padding: 0 0 5px 0;\n  font-family: ${text};\n  font-weight: 400;\n\n  a {\n    color: ${B400};\n    text-decoration: none;\n    cursor: pointer;\n  }\n\n  p {\n    font-size: 12px;\n    line-height: 16px;\n    margin-bottom: 24px;\n    margin-top: 0;\n\n    &.eula-compass {\n      p {\n        display: inline;\n      }\n    }\n  }\n\n  div {\n    display: inline;\n  }\n\n  .tooltip {\n    color: ${B400};\n    cursor: pointer;\n  }\n`;\n\nconst EulaDefaultExpandedEmail = styled.div`\n  font-size: 12px;\n  line-height: 16px;\n  color: ${N200};\n  vertical-align: middle;\n  padding: 0;\n  font-family: ${text};\n  font-weight: 400;\n\n  a {\n    color: ${B400};\n    text-decoration: none;\n    cursor: pointer;\n  }\n\n  p {\n    font-size: 12px;\n    line-height: 16px;\n    margin-bottom: 16px;\n    margin-top: 0;\n\n    &.eula-compass {\n      p {\n        display: inline;\n      }\n    }\n  }\n\n  div {\n    display: inline;\n  }\n\n  .tooltip {\n    color: ${B400};\n    cursor: pointer;\n  }\n`;\n\nconst EulaChooseSignup = styled.div`\n  font-size: 12px;\n  line-height: 18px;\n  color: ${N400};\n  vertical-align: middle;\n  padding: 0;\n  font-family: ${text};\n  font-weight: 400;\n  margin-bottom: 8px;\n  margin-top: 40px;\n\n  a {\n    color: ${B400};\n    text-decoration: none;\n    cursor: pointer;\n  }\n\n  p {\n    font-size: 12px;\n    line-height: 18px;\n    margin-bottom: 0px !important;\n\n    &.eula-compass {\n      p {\n        display: inline;\n      }\n    }\n  }\n\n  div {\n    display: inline;\n  }\n\n  .tooltip {\n    color: ${B400};\n    cursor: pointer;\n  }\n`;\n\nexport const RequiredFieldMessage = styled.div`\n  font-size: 12px;\n  line-height: 16px;\n  color: #6c798f;\n  vertical-align: middle;\n  padding: 0 0 5px 0;\n  font-family: ${text};\n  font-weight: 400;\n`;\n\nexport const UnderLabelMessage = styled.div`\n  font-size: 12px;\n  line-height: 16px;\n  color: ${N800};\n  vertical-align: middle;\n  padding: 0 0 8px 0;\n  font-family: ${text};\n  font-weight: 400;\n`;\n\nconst TooltipDialog = styled(TooltipPrimitive)`\n  font-family: ${text};\n  box-sizing: content-box;\n  border-radius: 4px;\n  padding: 8px 12px;\n  max-width: 330px;\n  background: #0e0e0e;\n  color: ${N0};\n  font-size: 14px;\n  font-weight: 500;\n\n  p {\n    margin: 0;\n  }\n\n  @media only screen and (max-width: 375px) {\n    max-width: 300px;\n  }\n`;\nconst SigninWithDiffAccount = styled.div`\n  font-size: 12px;\n  line-height: 16px;\n  color: #6c798f;\n  vertical-align: middle;\n  padding: 5px 0;\n  font-family: ${text};\n  font-weight: 500;\n  > * {\n    > * {\n      margin-block-start: 0;\n      margin-bottom: 0px;\n      > a {\n        color: ${B400};\n        text-decoration: none;\n      }\n    }\n  }\n`;\n\nconst SitePickerToggle = styled.span`\n  display: block;\n  font-size: 12px;\n  line-height: 16px;\n  color: ${B400};\n  vertical-align: middle;\n  padding: 5px 0;\n  margin: 0 0 0 0;\n  font-family: ${text};\n  font-weight: 500;\n  cursor: pointer;\n`;\n\nconst NoCard = styled.div`\n  margin-top: 15px;\n  font-weight: 500;\n  margin-bottom: 0;\n  text-align: center;\n  font-size: 0.875rem;\n  letter-spacing: 1px;\n  line-height: 1.25;\n  font-family: ${display};\n  font-style: normal;\n`;\n\nconst NoCardDefaultExpandedEmail = styled.div`\n  margin-top: 32px;\n  font-weight: 500;\n  margin-bottom: 0;\n  text-align: center;\n  font-size: 0.875rem;\n  letter-spacing: 1px;\n  line-height: 1.25;\n  font-family: ${display};\n  font-style: normal;\n`;\n\nconst NoCardChooseSignup = styled.div`\n  font-weight: 600;\n  margin-bottom: 8px;\n  text-align: center;\n  font-size: 0.8rem;\n  letter-spacing: 1px;\n  line-height: 18px;\n  font-family: ${display};\n  font-style: normal;\n  color: ${N90};\n`;\n\nconst MarketingConsent = styled.div`\n  > label {\n    > span {\n      border: none !important;\n      padding: 0 !important;\n      border-radius: 3px;\n      margin-bottom: 12px;\n      line-height: 20px;\n      font-size: 100%;\n      vertical-align: baseline;\n      font-family: ${display};\n      font-style: normal;\n      font-size: 13px;\n      letter-spacing: 0.3px;\n    }\n  }\n`;\n\nconst DeveloperModeDiv = styled.div`\n  font-family: ${display};\n  font-style: normal;\n  border: 1px solid ${N60};\n  color: #6c798f;\n  border-radius: 6px;\n  margin: 20px 0;\n  padding: 16px 30px 16px 38px;\n  font-size: 14px;\n  position: relative;\n  h4 {\n    font-style: inherit;\n    font-family: inherit;\n    color: #6c798f;\n    font-size: 14px;\n    line-height: 20px;\n    font-weight: 500;\n  }\n  p {\n    color: inherit;\n    font-size: inherit;\n    line-height: 20px;\n    font-weight: normal;\n    font-family: inherit;\n    font-style: inherit;\n    margin-bottom: 0;\n  }\n  ul {\n    list-style-type: disc;\n    margin-bottom: 8px;\n    padding-left: 20px;\n  }\n`;\nconst MigrationSourceDiv = styled.div`\n  margin: 0;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${text}\n  font-style: normal;\n  span {\n    > div {\n      font-size: 1.25rem;\n      line-height: 1.2;\n      margin-bottom: 24px;\n      font-weight: 500;\n      font-family: inherit;\n      font-style: inherit;\n    }\n    > p {\n      font-size: 1rem;\n      line-height: 24px;\n      margin-bottom: 24px;\n      font-family: inherit;\n      font-style: inherit;\n      font-weight: normal;\n      > a {\n        color: ${B400};\n        text-decoration: none;\n        vertical-align: baseline;\n        font-family: inherit;\n        font-style: inherit;\n        font-weight: inherit;\n      }\n    }\n  }\n`;\n\nconst SitePickerTextfieldWrapper = styled.div`\n  > div {\n    max-height: 40px;\n    background: ${N20} !important;\n    border-color: ${N60} !important;\n  }\n\n  svg {\n    margin-bottom: 0;\n  }\n`;\n\nconst BitbucketAccountCheckbox = styled.div`\n  font-size: 12px;\n  font-weight: 400;\n  color: ${text};\n  max-width: 390px;\n  margin-top: 4px;\n`;\n\nconst RadioLabel = styled.div`\n  display: flex;\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 18px;\n  flex-direction: column;\n  color: ${N900};\n  font-family: ${text}\n  font-style: normal;\n`;\n\nconst DevopsCarouselRadioGroup = styled.div`\n  margin-top: 27px;\n  label {\n    margin-bottom: 15px;\n    font-size: 14px;\n    line-height: 24px;\n    color: ${N800};\n    font-family: ${text}\n    font-style: normal;\n  }\n`;\nconst DevopsCarouselWorkspaces = styled.div`\n  width: 204px;\n`;\nconst DevopsCarouselSites = styled.div`\n  width: 204px;\n`;\n\nconst BitbucketFieldsContainer = styled.div`\n  margin: 24px 0px;\n`;\n\nconst OrgPickerElementMargin = styled.div`\n  margin-top: 24px;\n`;\n\nconst OrganizationDropdownContainer = styled.div`\n  height: 32px;\n  border-radius: 3px;\n  color: ${N800};\n\n  button {\n    background-color: ${N20};\n    &:hover {\n      cursor: pointer;\n    }\n  }\n`;\n\nconst OrganizationDropdownTextContainer = styled.div`\n  font-size: 14px;\n  line-height: 20px;\n  font-weight: 500;\n`;\n\nconst OrganizationDropdownItemContainer = styled.div`\n  font-size: 14px;\n  height: 34px;\n  line-height: 18px;\n  color: #172b4d;\n  font-weight: 400;\n  padding: 8px 4px;\n`;\n\nconst FieldLabel = styled.div`\n  margin-bottom: 5px;\n\n  font-family: ${text};\n  font-size: 14px;\n  font-weight: 500;\n  line-height: normal;\n  letter-spacing: 0px;\n  text-align: left;\n  color: ${N500};\n`;\n\nconst WorkspaceIdPrefix = styled.div`\n  height: 40px;\n  background-color: ${N20};\n  border-right: 2px solid ${N40};\n  padding: 8px;\n\n  font-family: ${text};\n  font-weight: 400;\n  line-height: 24px;\n  color: ${N100};\n`;\n\nconst TextFieldWrapper = styled.div<{ error?: Boolean }>`\n  > div {\n    border-color: ${(props) => (props.error ? R400 : N40)};\n  }\n\n  input {\n    margin-top: 0px;\n    background-color: ${N10};\n    color: ${N100};\n  }\n`;\n\nconst HelperMessageContainer = styled.div`\n  font-family: ${text};\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 16px;\n  color: ${N200};\n`;\n\nconst OrgProvisioningProgressContainer = styled.div`\n  font-family: 'Charlie Display';\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 20px;\n  margin: 24px auto;\n  text-align: center;\n  max-width: 253px;\n  height: 40px;\n`;\n\nconst CCPSiteMigrationContainer = styled.div`\n  p,\n  li {\n    font-family: ${text};\n    font-weight: 400;\n    font-size: 11px;\n  }\n\n  ul {\n    list-style-type: none;\n    padding: 0;\n    margin: 0;\n  }\n`;\n\nexport {\n  text,\n  display,\n  product,\n  WacSignupFormContainer,\n  StyledPassword,\n  FieldContainer,\n  FieldErrorState,\n  FullNameFieldWrapper,\n  TwoColumnFieldGroup,\n  NameFieldGroup,\n  Input,\n  Label,\n  LabelDefaultExpandedEmail,\n  ChooseSignupLabel,\n  InputDescription,\n  DropdownTrigger,\n  DropdownButtonStyle,\n  JswTrialNotice,\n  DropdownButtonStyleOpen,\n  SiteNameAfter,\n  SiteNameAfterRadioList,\n  SiteNameAfterLabel,\n  EmailAfter,\n  SuccessTextfieldWrapper,\n  ChooseSignupSuccessTextfieldWrapper,\n  ErrorTextfieldWrapper,\n  CompoundField,\n  CompoundInput,\n  CompoundInputSegment,\n  ErrorMessage,\n  ErrorMessageWithDefaultClassName,\n  InfoMessage,\n  Cursor,\n  SvgContainer,\n  AttentionContainer,\n  Domain,\n  ToolTipContainer,\n  ToolTipText,\n  DomainToolTip,\n  AppRegionContainer,\n  CheckboxContainer,\n  SmallPrint,\n  ButtonSpinner,\n  Button,\n  CapsPrint,\n  CaptchaContainer,\n  WelcomeDiv,\n  InfoBoxContainer,\n  InfoBoxContent,\n  ModalContents,\n  ReCaptchaEula,\n  ReCaptchaEulaDefaultExpandedEmail,\n  ReCaptchaEulaChooseSignup,\n  Eula,\n  EulaDefaultExpandedEmail,\n  EulaChooseSignup,\n  SigninWithDiffAccount,\n  SitePickerToggle,\n  NoCard,\n  NoCardDefaultExpandedEmail,\n  NoCardChooseSignup,\n  MarketingConsent,\n  DeveloperModeDiv,\n  MigrationSourceDiv,\n  SitePickerTextfieldWrapper,\n  BitbucketAccountCheckbox,\n  RadioLabel,\n  ResendEmailContainer,\n  DevopsCarouselRadioGroup,\n  DevopsCarouselWorkspaces,\n  DevopsCarouselSites,\n  TooltipDialog,\n  InputSiteNameMessage,\n  InputSiteNameInstructions,\n  WorkspaceIdPrefix,\n  BitbucketFieldsContainer,\n  OrgPickerElementMargin,\n  OrganizationDropdownContainer,\n  OrganizationDropdownTextContainer,\n  OrganizationDropdownItemContainer,\n  OrganizationDropdownButtonStyle,\n  OrganizationDropdownButtonStyleOpen,\n  FieldLabel,\n  TextFieldWrapper,\n  HelperMessageContainer,\n  OrgProvisioningProgressContainer,\n  CCPSiteMigrationContainer\n};\n","import { N700, N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\n\nexport const FormHeaderRoot = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-start;\n`;\n\ninterface FormHeaderHeadingProps {\n  isGreeting: boolean;\n}\n\nexport const FormHeaderHeading = styled.p<FormHeaderHeadingProps>`\n  font-size: ${(props) => (props.isGreeting ? '24px' : '36px')};\n  line-height: 40px;\n  font-family: 'Charlie Display';\n  margin: 0;\n  margin-bottom: 0;\n  font-weight: 500;\n  word-break: break-all;\n`;\n\nexport const ChooseSignupFormHeaderHeading = styled.h2`\n  font-size: 36px;\n  line-height: 44px;\n  font-family: 'Charlie Display';\n  margin: 0;\n  margin-bottom: 13px;\n  font-weight: 500;\n  word-break: break-all;\n  color: ${N700};\n`;\n\nexport const FormHeaderSubheading = styled.p`\n  font-size: 16px;\n  line-height: 24px;\n  letter-spacing: 0.03em;\n  font-family: 'Charlie Display';\n  margin: 0;\n  text-align: center;\n`;\n\nexport const ChooseSignupFormHeaderSubheading = styled.p`\n  font-size: 16px;\n  line-height: 24px;\n  font-weight: 400;\n  letter-spacing: 0.03em;\n  font-family: 'Charlie Display';\n  color: ${N900};\n  margin-top: 0;\n  margin-bottom: 40px;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../messages';\nimport type { UserDataType } from '../../../../model';\nimport { NoCardChooseSignup } from '../sign-up-form/components/styled';\nimport {\n  ChooseSignupFormHeaderHeading,\n  ChooseSignupFormHeaderSubheading,\n  FormHeaderHeading,\n  FormHeaderRoot,\n  FormHeaderSubheading\n} from './styled';\nimport { useExperiment } from '@atlassiansox/bxp-web-statsig-client';\nimport { ProductKeysType, Url } from '@atlassiansox/bxpkit-core';\n\nexport interface SignUpFormHeaderProps {\n  heading: FormattedMessage.MessageDescriptor;\n  subheading: FormattedMessage.MessageDescriptor;\n  userInfo: UserDataType;\n  allowSignupWithAllSocialOptions?: boolean;\n  products?: ProductKeysType[];\n}\n\nfunction SignUpFormHeader({\n  heading,\n  subheading,\n  userInfo,\n  allowSignupWithAllSocialOptions,\n  products\n}: SignUpFormHeaderProps) {\n  const shouldShowGreeting = userInfo?.isLoggedIn;\n  const shouldShowSubheading =\n    Boolean(subheading.defaultMessage) && !userInfo?.isLoggedIn;\n  const experiment = useExperiment('frontend_site_name_additional_copy');\n  const { site_name_additional_copy, site_name_generation } = experiment.value;\n  const isNewUser = userInfo?.isNewUser;\n  const isPaid = !Url.getUrl()?.includes('/try/cloud/signup');\n  const isJiraOrConfluenceFree =\n    (products ?? []).filter(\n      (item) =>\n        (item.product.includes('jira-software') ||\n          item.product.includes('confluence')) &&\n        item.edition === 'free'\n    ).length === 1;\n\n  const isConfluence =\n    (products ?? []).filter((item) => item.product.includes('confluence'))\n      .length > 0;\n\n  const isNewUserInSiteNameExperiment =\n    (site_name_additional_copy || site_name_generation) &&\n    isNewUser &&\n    isJiraOrConfluenceFree &&\n    !isPaid;\n  const greeting = isNewUserInSiteNameExperiment\n    ? messages.personalizedNameSiteMessage\n    : messages.greeting;\n\n  if (allowSignupWithAllSocialOptions && !isConfluence) {\n    return (\n      <FormHeaderRoot>\n        <ChooseSignupFormHeaderHeading style={{ marginBottom: '8px' }}>\n          <FormattedMessage {...heading} />\n        </ChooseSignupFormHeaderHeading>\n        <ChooseSignupFormHeaderSubheading style={{ marginBottom: '24px' }}>\n          <FormattedMessage {...messages.freeAndNoCreditCardNeeded} />\n        </ChooseSignupFormHeaderSubheading>\n      </FormHeaderRoot>\n    );\n  }\n\n  return (\n    <FormHeaderRoot>\n      {isConfluence && !shouldShowGreeting ? (\n        <ChooseSignupFormHeaderHeading>\n          <FormattedMessage {...heading} />\n        </ChooseSignupFormHeaderHeading>\n      ) : (\n        <FormHeaderHeading isGreeting={shouldShowGreeting}>\n          {shouldShowGreeting ? (\n            <FormattedMessage\n              {...greeting}\n              values={{\n                username: userInfo.firstName\n              }}\n            />\n          ) : (\n            <FormattedMessage {...heading} />\n          )}\n        </FormHeaderHeading>\n      )}\n      {isConfluence && !shouldShowGreeting && (\n        <NoCardChooseSignup>\n          <FormattedMessage {...messages.noCard} />\n        </NoCardChooseSignup>\n      )}\n      {shouldShowSubheading &&\n        (!isConfluence ? (\n          <FormHeaderSubheading>\n            <FormattedMessage {...subheading} />\n          </FormHeaderSubheading>\n        ) : (\n          <ChooseSignupFormHeaderSubheading>\n            <FormattedMessage {...subheading} />\n          </ChooseSignupFormHeaderSubheading>\n        ))}\n    </FormHeaderRoot>\n  );\n}\n\nexport default SignUpFormHeader;\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\n\nexport const messages = defineMessages({\n  heading: {\n    id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormHeading`,\n    defaultMessage: 'Start now'\n  },\n  subheading: {\n    id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormSubheading`,\n    defaultMessage: ''\n  },\n  greeting: {\n    id: `${ID_PREFIX}signupFormPersonalizedGreeting`,\n    defaultMessage: 'Welcome back, {username}'\n  }\n});\n","import { useMemo } from 'react';\nimport {\n  getEditionLabelFragment,\n  getProductLabelFragment\n} from '../utility/sign-up-form-header';\nimport { ProductKeysType } from '../../../../model';\nimport { messages } from './messages';\n\nexport interface UseFormHeaderLabelsParams {\n  edition: string;\n  labels: {\n    [key: string]: string;\n  };\n  productKeys: ProductKeysType[];\n  skip?: boolean;\n  useBundleHeaderOverride?: boolean;\n}\n\nexport const useFormHeaderLabels = ({\n  labels,\n  edition,\n  productKeys,\n  skip,\n  useBundleHeaderOverride\n}: UseFormHeaderLabelsParams) => {\n  const { heading, subheading } = useMemo(() => {\n    if (skip) {\n      return {\n        heading: messages.heading,\n        subheading: messages.subheading\n      };\n    }\n    const editionLabelFragment = getEditionLabelFragment(edition);\n    const productLabelFragment = getProductLabelFragment(productKeys);\n    const bundleHeaderOverrideOrEmpty = useBundleHeaderOverride\n      ? 'BundlesLayout'\n      : '';\n\n    const headingLabel = `${messages.heading.id}${editionLabelFragment}${productLabelFragment}${bundleHeaderOverrideOrEmpty}`;\n    const subheadingLabel = `${messages.subheading.id}${editionLabelFragment}${productLabelFragment}${bundleHeaderOverrideOrEmpty}`;\n    return {\n      heading: {\n        id: headingLabel,\n        defaultMessage: labels[headingLabel] || messages.heading.defaultMessage\n      },\n      subheading: {\n        id: subheadingLabel,\n        defaultMessage:\n          labels[subheadingLabel] || messages.subheading.defaultMessage\n      }\n    };\n  }, []);\n\n  return { heading, subheading };\n};\n","export const getEditionLabelFragment = (edition: string) => {\n  const matcher: Array<[RegExp, string]> = [\n    [/free/gi, 'Free'],\n    [/standard/gi, 'Standard'],\n    [/premium/gi, 'Standard'],\n    [/.*/, 'Free']\n  ];\n\n  const [, label] = matcher.find(([regex]) => regex.test(edition)) || [];\n  return label;\n};\n","import { ProductKeysType } from '../../../../../model';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\n\nexport const getProductLabelFragment = (productKeys: ProductKeysType[]) => {\n  const [{ product: productKey }] = productKeys;\n  switch (productKey) {\n    case ProductKey.JIRA_SERVICE_DESK:\n    case ProductKey.JIRA_SERVICE_MANAGEMENT:\n      return 'JSD';\n    case ProductKey.JIRA_PRODUCT_DISCOVERY:\n      return 'JiraProductDiscovery';\n    case ProductKey.COMPASS:\n      return 'Compass';\n    case ProductKey.TEAM_CENTRAL:\n      return 'Atlas';\n    case ProductKey.FABRIC:\n      return 'Fabric';\n    case ProductKey.BEACON:\n      return 'Beacon';\n    case ProductKey.CONFLUENCE:\n      return 'Confluence';\n    default:\n      return '';\n  }\n};\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { N2NFieldsType } from '../../layouts/devops-screen/types';\n\ntype N2NFieldProgressActionType = {\n  readonly type: string;\n  readonly payload?: {\n    readonly fieldName: 'email' | 'password' | 'fullName' | 'sitenameNew';\n    readonly isPopulated: boolean;\n  };\n};\n\n// Actions\nconst INPUT_POPULATED_EMAIL = 'n2n-field-progress/INPUT_POPULATED_EMAIL';\nconst INPUT_POPULATED_PASSWORD = 'n2n-field-progress/INPUT_POPULATED_PASSWORD';\nconst INPUT_POPULATED_FULL_NAME =\n  'n2n-field-progress/INPUT_POPULATED_FULL_NAME';\n\n// Initial State\nconst initialState: N2NFieldsType = {\n  email: false,\n  password: false,\n  fullName: false,\n  sitenameNew: false\n};\n\n// Reducer\nexport const n2nFieldProgressReducer = (\n  state = initialState,\n  action: N2NFieldProgressActionType\n): N2NFieldsType => {\n  switch (action.type) {\n    case INPUT_POPULATED_EMAIL:\n    case INPUT_POPULATED_PASSWORD:\n    case INPUT_POPULATED_FULL_NAME:\n      return Object.assign({}, state, {\n        [action?.payload?.fieldName as string]: action?.payload?.isPopulated\n      });\n    default:\n      return state;\n  }\n};\n\n// Thunks\nexport function updateN2NFieldProgressEmail(payload: boolean) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldProgress: { email }\n    } = getState();\n    if (email !== payload) {\n      dispatch({\n        type: INPUT_POPULATED_EMAIL,\n        payload: {\n          fieldName: 'email',\n          isPopulated: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldProgressPassword(payload: boolean) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldProgress: { password }\n    } = getState();\n    if (password !== payload) {\n      dispatch({\n        type: INPUT_POPULATED_PASSWORD,\n        payload: {\n          fieldName: 'password',\n          isPopulated: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldProgressFullName(payload: boolean) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldProgress: { fullName }\n    } = getState();\n    if (fullName !== payload) {\n      dispatch({\n        type: INPUT_POPULATED_FULL_NAME,\n        payload: {\n          fieldName: 'fullName',\n          isPopulated: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { ValidationStateType } from '../../layouts/devops-screen/types';\n\ntype N2NFieldValidationType = {\n  readonly email?: ValidationStateType;\n  readonly password?: ValidationStateType;\n  readonly fullName?: ValidationStateType;\n  readonly sitenameNew?: ValidationStateType;\n};\n\ntype N2NFieldValidationActionType = {\n  readonly type: string;\n  readonly payload?: {\n    readonly fieldName: 'email' | 'password' | 'fullName' | 'sitenameNew';\n    readonly validationState?: ValidationStateType;\n  };\n};\n\n// Actions\nconst INPUT_VALIDATION_EMAIL = 'n2n-field-validation/INPUT_VALIDATION_EMAIL';\nconst INPUT_VALIDATION_PASSWORD =\n  'n2n-field-validation/INPUT_VALIDATION_PASSWORD';\nconst INPUT_VALIDATION_FULL_NAME =\n  'n2n-field-validation/INPUT_VALIDATION_FULL_NAME';\nconst INPUT_VALIDATION_SITENAME =\n  'n2n-field-validation/INPUT_VALIDATION_SITENAME';\n\n// Initial State\nconst initialState: N2NFieldValidationType = {\n  email: undefined,\n  password: undefined,\n  fullName: undefined,\n  sitenameNew: undefined\n};\n\n// Reducer\nexport const n2nFieldValidationReducer = (\n  state = initialState,\n  action: N2NFieldValidationActionType\n): N2NFieldValidationType => {\n  switch (action.type) {\n    case INPUT_VALIDATION_EMAIL:\n    case INPUT_VALIDATION_PASSWORD:\n    case INPUT_VALIDATION_FULL_NAME:\n    case INPUT_VALIDATION_SITENAME:\n      return Object.assign({}, state, {\n        [action?.payload?.fieldName as string]: action?.payload?.validationState\n      });\n    default:\n      return state;\n  }\n};\n\n// Thunks\nexport function updateN2NFieldValidationEmail(payload: ValidationStateType) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldValidation: { email }\n    } = getState();\n    if (email !== payload) {\n      dispatch({\n        type: INPUT_VALIDATION_EMAIL,\n        payload: {\n          fieldName: 'email',\n          validationState: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldValidationPassword(payload: ValidationStateType) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldValidation: { password }\n    } = getState();\n    if (password !== payload) {\n      dispatch({\n        type: INPUT_VALIDATION_PASSWORD,\n        payload: {\n          fieldName: 'password',\n          validationState: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldValidationFullName(payload: ValidationStateType) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldValidation: { fullName }\n    } = getState();\n    if (fullName !== payload) {\n      dispatch({\n        type: INPUT_VALIDATION_FULL_NAME,\n        payload: {\n          fieldName: 'fullName',\n          validationState: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldValidationSitename(payload: ValidationStateType) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldValidation: { sitenameNew }\n    } = getState();\n    if (sitenameNew !== payload) {\n      dispatch({\n        type: INPUT_VALIDATION_SITENAME,\n        payload: {\n          fieldName: 'sitenameNew',\n          validationState: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n","type LoggedInFormValidType = {\n  readonly isValid: boolean;\n};\ntype LoggedInFormValidActionType = {\n  readonly type: string;\n  readonly payload?: LoggedInFormValidType;\n};\n\n// Actions\nconst SET_FORM_VALID = 'logged-in-form-valid/SET_FORM_VALID';\n\n// Initial State\nconst initialState: LoggedInFormValidType = {\n  isValid: false\n};\n\n// Reducer\nexport const loggedInFormValidReducer = (\n  state = initialState,\n  action: LoggedInFormValidActionType\n): LoggedInFormValidType => {\n  switch (action.type) {\n    case SET_FORM_VALID:\n      return Object.assign({}, state, { isValid: action.payload?.isValid });\n    default:\n      return state;\n  }\n};\n\n// Action Creators\nexport function updateLoggedInFormValid(\n  isValid: boolean\n): LoggedInFormValidActionType {\n  return {\n    type: SET_FORM_VALID,\n    payload: {\n      isValid\n    }\n  };\n}\n","import { ProductKey } from '@atlassiansox/bxpkit-core';\nimport { ProductPayloadType } from '../../layouts/devops-screen/types';\n\ntype LoggedInFormDataConsentType = {\n  readonly marketingConsent?: boolean;\n};\n\ntype LoggedInFormDataProductType = {\n  readonly cloudName?: string;\n  readonly productsNew?: ProductPayloadType[];\n  readonly productsExisting?: ProductKey[];\n  readonly bbWorkspaceName?: string;\n};\n\ntype SubmitType =\n  | undefined\n  | 'shouldSubmit'\n  | 'submitting'\n  | 'success'\n  | 'failure';\n\ntype LoggedInFormDataSubmitType = {\n  readonly submitStatus: SubmitType;\n};\n\ntype LoggedInFormDataFreeBreachType = {\n  readonly isSiteInFreeBreach: boolean;\n};\n\nexport type LoggedInFormDataType = LoggedInFormDataConsentType &\n  LoggedInFormDataProductType &\n  LoggedInFormDataSubmitType &\n  LoggedInFormDataFreeBreachType;\n\ntype LoggedInFormDataActionType = {\n  readonly type: string;\n  readonly payload?: Partial<LoggedInFormDataType> | LoggedInFormDataType;\n};\n\n// Actions\nconst UPDATE_PRODUCTS = 'logged-in-form-data/UPDATE_PRODUCTS';\nconst UPDATE_CONSENT = 'logged-in-form-data/UPDATE_CONSENT';\nconst UPDATE_SUBMIT = 'logged-in-form-data/UPDATE_SUBMIT';\nconst UPDATE_FREE_BREACH = 'logged-in-form-data/UPDATE_FREE_BREACH';\n\n// Initial State\nconst initialState: LoggedInFormDataType = {\n  cloudName: undefined,\n  productsNew: undefined,\n  productsExisting: undefined,\n  marketingConsent: undefined,\n  bbWorkspaceName: undefined,\n  isSiteInFreeBreach: false,\n  submitStatus: undefined\n};\n\n// Reducer\nexport const loggedInFormDataReducer = (\n  state = initialState,\n  action: LoggedInFormDataActionType\n): LoggedInFormDataType => {\n  switch (action.type) {\n    case UPDATE_PRODUCTS:\n      return Object.assign({}, state, action.payload);\n    case UPDATE_CONSENT:\n      return {\n        ...state,\n        marketingConsent: action.payload?.marketingConsent\n      };\n    case UPDATE_SUBMIT:\n      return {\n        ...state,\n        submitStatus: action.payload?.submitStatus\n      };\n    case UPDATE_FREE_BREACH:\n      return {\n        ...state,\n        isSiteInFreeBreach: action.payload?.isSiteInFreeBreach || false\n      };\n    default:\n      return state;\n  }\n};\n\n// Action Creators\nexport function updateLoggedInFormDataProducts(\n  payload: LoggedInFormDataProductType\n): LoggedInFormDataActionType {\n  return {\n    type: UPDATE_PRODUCTS,\n    payload\n  };\n}\n\nexport function updateLoggedInFormDataConsent(\n  payload: LoggedInFormDataConsentType\n): LoggedInFormDataActionType {\n  return {\n    type: UPDATE_CONSENT,\n    payload\n  };\n}\n\nexport function updateLoggedInFormDataSubmitStatus(\n  submitStatus: SubmitType\n): LoggedInFormDataActionType {\n  return {\n    type: UPDATE_SUBMIT,\n    payload: {\n      submitStatus\n    }\n  };\n}\n\nexport function updateLoggedInFormDataFreeBreach(\n  isSiteInFreeBreach: boolean\n): LoggedInFormDataActionType {\n  return {\n    type: UPDATE_FREE_BREACH,\n    payload: {\n      isSiteInFreeBreach\n    }\n  };\n}\n","import { SanitizedFormattedHtmlMessageProps } from '@atlassiansox/bxpkit-core';\n\ntype SharedFormDataType = {\n  readonly goToProductUrl: string;\n  readonly submitErrorMessage?: SanitizedFormattedHtmlMessageProps;\n  readonly resendEmailAddress: string;\n};\n\ntype SharedFormDataActionType = {\n  readonly type: string;\n  readonly payload?: Partial<SharedFormDataType> | SharedFormDataType;\n};\n\n// Actions\nconst UPDATE_GOTO_PRODUCT_URL = 'shared-form-data/UPDATE_GOTO_PRODUCT_URL';\nconst UPDATE_SUBMIT_ERROR_MESSAGE =\n  'shared-form-data/UPDATE_SUBMIT_ERROR_MESSAGE';\nconst UPDATE_RESEND_EMAIL_ADDRESS =\n  'shared-form-data/UPDATE_RESEND_EMAIL_ADDRESS';\n// Initial State\nconst initialState: SharedFormDataType = {\n  goToProductUrl: '',\n  submitErrorMessage: undefined,\n  resendEmailAddress: ''\n};\n\n// Reducer\nexport const sharedFormDataReducer = (\n  state = initialState,\n  action: SharedFormDataActionType\n): SharedFormDataType => {\n  switch (action.type) {\n    case UPDATE_GOTO_PRODUCT_URL:\n      return {\n        ...state,\n        goToProductUrl: action.payload?.goToProductUrl || ''\n      };\n    case UPDATE_SUBMIT_ERROR_MESSAGE:\n      return {\n        ...state,\n        submitErrorMessage: action.payload?.submitErrorMessage\n      };\n    case UPDATE_RESEND_EMAIL_ADDRESS:\n      return {\n        ...state,\n        resendEmailAddress: action.payload?.resendEmailAddress || ''\n      };\n    default:\n      return state;\n  }\n};\n\n// Action Creators\nexport function updateSharedFormDataGoToProductUrl(\n  goToProductUrl: string\n): SharedFormDataActionType {\n  return {\n    type: UPDATE_GOTO_PRODUCT_URL,\n    payload: {\n      goToProductUrl\n    }\n  };\n}\n\nexport function updateSharedFormDataResendEmailAddress(\n  resendEmailAddress: string\n): SharedFormDataActionType {\n  return {\n    type: UPDATE_RESEND_EMAIL_ADDRESS,\n    payload: {\n      resendEmailAddress\n    }\n  };\n}\n\nexport function updateSharedFormDataSubmitErrorMessage(\n  submitErrorMessage: undefined | SanitizedFormattedHtmlMessageProps\n): SharedFormDataActionType {\n  return {\n    type: UPDATE_SUBMIT_ERROR_MESSAGE,\n    payload: {\n      submitErrorMessage\n    }\n  };\n}\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { ValidationStateType } from '../../layouts/devops-screen/types';\n\ntype N2NDeferredPasswordFieldValidationType = {\n  readonly email?: ValidationStateType;\n  readonly fullName?: ValidationStateType;\n};\n\ntype N2NDeferredPasswordFieldValidationActionType = {\n  readonly type: string;\n  readonly payload?: {\n    readonly fieldName: 'email' | 'fullName';\n    readonly validationState?: ValidationStateType;\n  };\n};\n\n// Actions\nconst INPUT_VALIDATION_EMAIL = 'n2n-field-validation/INPUT_VALIDATION_EMAIL';\nconst INPUT_VALIDATION_FULL_NAME =\n  'n2n-field-validation/INPUT_VALIDATION_FULL_NAME';\n\n// Initial State\nconst initialState: N2NDeferredPasswordFieldValidationType = {\n  email: undefined,\n  fullName: undefined\n};\n\n// Reducer\nexport const n2nDeferredPasswordFieldValidationReducer = (\n  state = initialState,\n  action: N2NDeferredPasswordFieldValidationActionType\n): N2NDeferredPasswordFieldValidationType => {\n  switch (action.type) {\n    case INPUT_VALIDATION_EMAIL:\n    case INPUT_VALIDATION_FULL_NAME:\n      return Object.assign({}, state, {\n        [action?.payload?.fieldName as string]: action?.payload?.validationState\n      });\n    default:\n      return state;\n  }\n};\n\n// Thunks\nexport function updateN2NDeferredPasswordFieldValidationEmail(\n  payload: ValidationStateType\n) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldValidation: { email }\n    } = getState();\n    if (email !== payload) {\n      dispatch({\n        type: INPUT_VALIDATION_EMAIL,\n        payload: {\n          fieldName: 'email',\n          validationState: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n\nexport function updateN2NDeferredPasswordFieldValidationFullName(\n  payload: ValidationStateType\n) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldValidation: { fullName }\n    } = getState();\n    if (fullName !== payload) {\n      dispatch({\n        type: INPUT_VALIDATION_FULL_NAME,\n        payload: {\n          fieldName: 'fullName',\n          validationState: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { N2NDeferredPasswordFieldsType } from '../../layouts/devops-screen/types';\n\ntype N2NDeferredPasswordFieldProgressActionType = {\n  readonly type: string;\n  readonly payload?: {\n    readonly fieldName: 'email' | 'fullName';\n    readonly isPopulated: boolean;\n  };\n};\n\n// Actions\nconst INPUT_POPULATED_EMAIL = 'n2n-field-progress/INPUT_POPULATED_EMAIL';\nconst INPUT_POPULATED_FULL_NAME =\n  'n2n-field-progress/INPUT_POPULATED_FULL_NAME';\n\n// Initial State\nconst initialState: N2NDeferredPasswordFieldsType = {\n  email: false,\n  fullName: false\n};\n\n// Reducer\nexport const n2nDeferredPasswordFieldProgressReducer = (\n  state = initialState,\n  action: N2NDeferredPasswordFieldProgressActionType\n): N2NDeferredPasswordFieldsType => {\n  switch (action.type) {\n    case INPUT_POPULATED_EMAIL:\n    case INPUT_POPULATED_FULL_NAME:\n      return Object.assign({}, state, {\n        [action?.payload?.fieldName as string]: action?.payload?.isPopulated\n      });\n    default:\n      return state;\n  }\n};\n\n// Thunks\nexport function updateN2NDeferredPasswordFieldProgressEmail(payload: boolean) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldProgress: { email }\n    } = getState();\n    if (email !== payload) {\n      dispatch({\n        type: INPUT_POPULATED_EMAIL,\n        payload: {\n          fieldName: 'email',\n          isPopulated: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n\nexport function updateN2NDeferredPasswordFieldProgressFullName(\n  payload: boolean\n) {\n  return ((dispatch: AppDispatch, getState: () => RootState) => {\n    const {\n      n2nFieldProgress: { fullName }\n    } = getState();\n    if (fullName !== payload) {\n      dispatch({\n        type: INPUT_POPULATED_FULL_NAME,\n        payload: {\n          fieldName: 'fullName',\n          isPopulated: payload\n        }\n      });\n    }\n  }) as unknown as AnyAction;\n}\n","type LoggedInFormInputType = {\n  readonly isNewSiteInput: boolean;\n};\ntype LoggedInFormInputActionType = {\n  readonly type: string;\n  readonly payload?: LoggedInFormInputType;\n};\n\n// Actions\nconst SET_FORM_INPUT = 'logged-in-form-input/SET_FORM_INPUT';\n\n// Initial State\nconst initialState: LoggedInFormInputType = {\n  isNewSiteInput: true\n};\n\n// Reducer\nexport const loggedInFormInputReducer = (\n  state = initialState,\n  action: LoggedInFormInputActionType\n): LoggedInFormInputType => {\n  switch (action.type) {\n    case SET_FORM_INPUT:\n      return Object.assign({}, state, {\n        isNewSiteInput: action.payload?.isNewSiteInput\n      });\n    default:\n      return state;\n  }\n};\n\n// Action Creators\nexport function updateLoggedInFormInput(\n  isNewSiteInput: boolean\n): LoggedInFormInputActionType {\n  return {\n    type: SET_FORM_INPUT,\n    payload: {\n      isNewSiteInput\n    }\n  };\n}\n","import { ProductKey } from '@atlassiansox/bxpkit-core';\n\nexport const WAC_SIGNUP_FORM_KEY_BASE = 'WacSignupForm.';\nexport const SIGNUP_OFFERING_LABEL_KEY_BASE =\n  WAC_SIGNUP_FORM_KEY_BASE + 'signupOffering';\nexport const TRIAL_DURATION_LABEL_KEY_BASE =\n  SIGNUP_OFFERING_LABEL_KEY_BASE + 'TrialLengthText';\nexport const TRIAL_DURATION_LABEL_KEY_EXISTING_SITE =\n  TRIAL_DURATION_LABEL_KEY_BASE + 'ExistingSite';\nexport const TRIAL_DURATION_LABEL_KEY_NEW_SITE =\n  TRIAL_DURATION_LABEL_KEY_BASE + 'NewSite';\nexport const SIGNUP_OFFERING_LABEL_KEY_PREFIX =\n  SIGNUP_OFFERING_LABEL_KEY_BASE + 'IncludesFeatures';\nexport const SIGNUP_SIDE_INFO_HEADER_PREFIX =\n  WAC_SIGNUP_FORM_KEY_BASE + 'sideInfoHeader';\n\nexport const [\n  CONFLUENCE,\n  JIRA_CORE,\n  JSW,\n  JSD,\n  OPSGENIE,\n  BITBUCKET,\n  STATUSPAGE,\n  DEVELOPER_MODE,\n  DEVOPS,\n  TEAM_CENTRAL,\n  JIRA_PRODUCT_DISCOVERY,\n  COMPASS,\n  BEACON\n] = [\n  'Confluence',\n  'JiraCore',\n  'JSW',\n  'JSD',\n  'Opsgenie',\n  'Bitbucket',\n  'Statuspage',\n  'DeveloperMode',\n  'Devops',\n  'TeamCentral',\n  'JiraProductDiscovery',\n  'Compass',\n  'Beacon'\n];\n\nexport const PRODUCT_NAMES = [\n  JSD,\n  OPSGENIE,\n  BITBUCKET,\n  STATUSPAGE,\n  DEVELOPER_MODE,\n  DEVOPS,\n  CONFLUENCE,\n  TEAM_CENTRAL,\n  JSW,\n  JIRA_PRODUCT_DISCOVERY,\n  BEACON\n];\nexport const STANDARD_EDITION_LABEL_KEY = 'Standard';\nexport const FREE_EDITION_LABEL_KEY = 'Free';\nexport const PREMIUM_EDITION_LABEL_KEY = 'Premium';\nexport const BETA_EDITION_LABEL_KEY = 'Beta';\nexport const BUNDLE_LABEL_KEY = 'Bundle';\nexport const MIGRATION_USERS_LABEL_KEY = 'userTypeUsersLabel';\nexport const MIGRATION_AGENTS_LABEL_KEY = 'userTypeAgentsLabel';\nexport const EDITION_LABEL_ARRAY = [\n  STANDARD_EDITION_LABEL_KEY,\n  FREE_EDITION_LABEL_KEY,\n  PREMIUM_EDITION_LABEL_KEY,\n  BETA_EDITION_LABEL_KEY\n];\n\nconst SOCIAL_PROOF_KEY_PREFIX =\n  'WacSignupForm.signupOfferingIncludesFeaturesSocialProof';\n\nexport const SOCIAL_PROOF_TEXT_KEY_PREFIX = SOCIAL_PROOF_KEY_PREFIX + 'Text';\nexport const SOCIAL_PROOF_SUPPORT_IMAGE_KEY_PREFIX =\n  SOCIAL_PROOF_KEY_PREFIX + 'Image';\nexport const SOCIAL_PROOF_HERO_IMAGE_KEY_PREFIX =\n  SOCIAL_PROOF_KEY_PREFIX + 'HeroImage';\n\nexport const FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST = 'JSWFI';\nexport const FIRST_IMPRESSION_JIRA_SERVICE_DESK_FEATURE_LIST = 'JSDFI';\n\nexport const DEFERRED_SITENAME_AVAILABLE_PRODUCTS = [\n  ProductKey.JIRA_SOFTWARE as string,\n  ProductKey.CONFLUENCE as string,\n  ProductKey.JIRA_SERVICE_MANAGEMENT as string,\n  ProductKey.JIRA_WORK_MANAGEMENT as string\n];\n\nexport const DEFERRED_SITENAME_AVAILABLE_EDITIONS = [\n  FREE_EDITION_LABEL_KEY.toLowerCase()\n];\n","import _ from 'lodash';\nimport { IncludesProductOptionsType, ProductKeysType } from '../model';\nimport { BITBUCKET, OPSGENIE, PRODUCT_NAMES } from './constants';\n\n/**\n * Given Product Key, return Product name\n */\n\nexport const getProductNameFromKey = (productKey: string): string => {\n  const nameIdx = PRODUCT_NAMES.map((name: string) =>\n    name.toLowerCase()\n  ).findIndex((productName) => productKey.includes(productName));\n  return nameIdx === -1 ? '' : PRODUCT_NAMES[nameIdx];\n};\n\n/**\n * Check for a matching productName within products\n */\n\nexport const includesProduct = ({\n  products,\n  productName\n}: IncludesProductOptionsType): boolean => {\n  return products.some(({ product: productKey }) => {\n    if (typeof productKey !== 'string') {\n      return false;\n    }\n    return getProductNameFromKey(productKey) === productName;\n  });\n};\n\nexport const onProductsRequireSitename = (productKeys: ProductKeysType[]) => {\n  return productKeys\n    .map(({ product: productKey }) => productKey)\n    .map(getProductNameFromKey)\n    .some((productName: string) => [BITBUCKET, OPSGENIE].includes(productName));\n};\n","import {\n  getIsBundleBbJsw,\n  getIsBundleDevops,\n  ProductKey\n} from '@atlassiansox/bxpkit-core';\nimport _ from 'lodash';\nimport {\n  GetEditionLabelsOptionsType,\n  GetEditionLabelsReturnType,\n  GetSideInfoHeaderOptionsType,\n  GetTrialDurationSiteLabelOptionsType\n} from '../model';\nimport {\n  BITBUCKET,\n  BUNDLE_LABEL_KEY,\n  DEVELOPER_MODE,\n  DEVOPS,\n  FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST,\n  FREE_EDITION_LABEL_KEY,\n  JIRA_CORE,\n  JIRA_PRODUCT_DISCOVERY,\n  JSD,\n  JSW,\n  OPSGENIE,\n  SIGNUP_OFFERING_LABEL_KEY_PREFIX,\n  SIGNUP_SIDE_INFO_HEADER_PREFIX,\n  STATUSPAGE,\n  TRIAL_DURATION_LABEL_KEY_EXISTING_SITE,\n  TRIAL_DURATION_LABEL_KEY_NEW_SITE,\n  WAC_SIGNUP_FORM_KEY_BASE\n} from './constants';\nimport { getProductNameFromKey } from './product-data';\nimport { BundleData } from './types';\n\n/**\n * Label for side-info header (if applicable)\n */\n\nexport const getSideInfoHeader = ({\n  labels,\n  productKeys,\n  developerMode\n}: GetSideInfoHeaderOptionsType): string => {\n  let contentKey = SIGNUP_SIDE_INFO_HEADER_PREFIX;\n\n  if (getIsBundleBbJsw(productKeys)) {\n    contentKey += BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n  }\n\n  if (getIsBundleDevops(productKeys)) {\n    contentKey += BUNDLE_LABEL_KEY + DEVOPS;\n  }\n\n  if (developerMode) {\n    contentKey += BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n  }\n\n  return labels[contentKey];\n};\n\n/**\n * Edition Labels, eg. 'Cloud Free', 'Cloud Premium'\n */\n\nexport const getEditionLabels = ({\n  productKey,\n  edition: originalEdition\n}: GetEditionLabelsOptionsType): GetEditionLabelsReturnType => {\n  let editionLabel = `Cloud ${_.capitalize(\n    originalEdition || FREE_EDITION_LABEL_KEY\n  )}`;\n  let featuresListEditionLabelKey = originalEdition || FREE_EDITION_LABEL_KEY;\n\n  if (getProductNameFromKey(productKey) === BITBUCKET) {\n    editionLabel = `Cloud ${_.capitalize(FREE_EDITION_LABEL_KEY)}`;\n    featuresListEditionLabelKey = FREE_EDITION_LABEL_KEY;\n  }\n\n  if (getProductNameFromKey(productKey) === STATUSPAGE) {\n    editionLabel = '';\n  }\n\n  return { editionLabel, featuresListEditionLabelKey };\n};\n\n/**\n * Trial duration text, eg. '1-month free cloud trial',\n * for existing sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationExistingSiteLabel = ({\n  productKey,\n  labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n  const productName = getProductNameFromKey(productKey);\n  return productName === BITBUCKET || productName === STATUSPAGE\n    ? ''\n    : labels[TRIAL_DURATION_LABEL_KEY_EXISTING_SITE];\n};\n\n/**\n * Trial duration text, eg. '7-day free cloud trial',\n * for new sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationNewSiteLabel = ({\n  productKey,\n  labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n  const productName = getProductNameFromKey(productKey);\n  return productName === BITBUCKET || productName === STATUSPAGE\n    ? ''\n    : labels[\n        TRIAL_DURATION_LABEL_KEY_NEW_SITE +\n          (productName === OPSGENIE ? OPSGENIE : '')\n      ];\n};\n\n/**\n * Get list of features, eg. side-info <li/>'s\n */\n\nexport type Labels = { [key: string]: string };\n\nexport type MigrationDataType = {\n  readonly migrationSourceUuid: string;\n  readonly migrationUserLimit: number;\n  readonly migrationUserType: string;\n  readonly migrationProductName: string;\n  readonly migrationSites: string[];\n  readonly invalidMigration: boolean;\n  readonly claimedMigration: boolean;\n};\n\nexport type GetFeaturesListOptions = {\n  readonly labels: Labels;\n  readonly bundleData: BundleData;\n  readonly featuresListEditionLabelKey: string;\n  readonly migrationData?: MigrationDataType;\n  readonly developerMode?: boolean;\n};\n\nexport const getFeaturesList = ({\n  labels,\n  bundleData,\n  featuresListEditionLabelKey,\n  migrationData,\n  developerMode\n}: GetFeaturesListOptions): string => {\n  const isBundle = bundleData.products.length > 1;\n  const edition = _.capitalize(featuresListEditionLabelKey);\n  const includesJiraServiceManagement = _.includes(\n    _.map(\n      bundleData.products,\n      (product) => product.productKey === ProductKey.JIRA_SERVICE_DESK\n    ),\n    true\n  );\n\n  if (migrationData && migrationData.migrationSourceUuid) {\n    const migrationFeatureList =\n      labels[`${WAC_SIGNUP_FORM_KEY_BASE}migrationFeatureList`] || '';\n    if (\n      migrationData.migrationUserLimit &&\n      migrationData.migrationUserType &&\n      migrationData.migrationProductName\n    ) {\n      return migrationFeatureList\n        .replace('{productName}', migrationData.migrationProductName)\n        .replace('{usageLimit}', migrationData.migrationUserLimit.toString())\n        .replace('{userType}', migrationData.migrationUserType);\n    }\n    return migrationFeatureList;\n  }\n\n  const primaryProductKey = bundleData.products[0].productKey;\n  let productNameFromKey = getProductNameFromKey(primaryProductKey);\n\n  // JSD Standalone\n  if (primaryProductKey.includes(ProductKey.JIRA_SERVICE_DESK)) {\n    productNameFromKey = JSD;\n  }\n\n  // Jira Core Standalone\n  if (primaryProductKey.includes(ProductKey.JIRA_CORE)) {\n    productNameFromKey = JIRA_CORE;\n  }\n\n  // Jira Software Standalone\n  if (primaryProductKey.includes(ProductKey.JIRA_SOFTWARE)) {\n    productNameFromKey = FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST;\n  }\n\n  // Free bundles that include JSD\n  if (\n    isBundle &&\n    includesJiraServiceManagement &&\n    edition === FREE_EDITION_LABEL_KEY\n  ) {\n    productNameFromKey = BUNDLE_LABEL_KEY + JSD;\n  }\n\n  // jira-software-bitbucket\n  if (bundleData.bundleName === 'jira-software-bitbucket') {\n    productNameFromKey = BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n  }\n\n  // devops\n  if (bundleData.bundleName === 'devops') {\n    productNameFromKey = BUNDLE_LABEL_KEY + DEVOPS;\n  }\n\n  if (developerMode) {\n    productNameFromKey = BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n  }\n\n  // team central\n  if (primaryProductKey.includes(ProductKey.TEAM_CENTRAL)) {\n    productNameFromKey = 'TeamCentral';\n  }\n\n  // Jira Product Discovery\n  if (primaryProductKey.includes(ProductKey.JIRA_PRODUCT_DISCOVERY)) {\n    productNameFromKey = JIRA_PRODUCT_DISCOVERY;\n  }\n\n  return labels[\n    SIGNUP_OFFERING_LABEL_KEY_PREFIX + edition + productNameFromKey\n  ];\n};\n","import { ProductDataType } from '../model';\nimport { BundleData } from './types';\nimport _ from 'lodash';\nimport { FREE_EDITION_LABEL_KEY } from './constants';\n\nexport type GetBundleDataOptions = {\n  readonly activeBundlesMap: { [key: string]: ProductDataType };\n  readonly bundleName?: string;\n  readonly productKeys?: string;\n  readonly edition?: string;\n};\n\nexport function getBundleData({\n  activeBundlesMap,\n  bundleName,\n  productKeys,\n  edition\n}: GetBundleDataOptions): BundleData {\n  let bundleData;\n\n  if (bundleName && bundleName.length) {\n    bundleData = getBundleDataByBundleName({\n      activeBundlesMap,\n      bundleName,\n      edition\n    });\n  } else if (productKeys && productKeys.length) {\n    bundleData = getBundleDataByProduct({\n      activeBundlesMap,\n      productKeys,\n      edition\n    });\n  }\n\n  // if all else fails, go with default\n  if (!bundleData) {\n    return {\n      ...activeBundlesMap['default'],\n      bundleName: 'default',\n      edition: FREE_EDITION_LABEL_KEY.toLowerCase()\n    };\n  }\n\n  return bundleData;\n}\n\nfunction getBundleDataByProduct({\n  activeBundlesMap,\n  productKeys,\n  edition = FREE_EDITION_LABEL_KEY.toLowerCase()\n}: GetBundleDataOptions): BundleData | undefined {\n  if (productKeys) {\n    const entry = Object.entries(activeBundlesMap).find(\n      ([_, rawBundleData]) => {\n        return rawBundleData.bundleProductKeys === `${productKeys}`;\n      }\n    );\n\n    if (entry) {\n      const [bundleName, rawBundleData] = entry;\n      return {\n        ...rawBundleData,\n        bundleName,\n        edition\n      };\n    }\n  }\n\n  return undefined;\n}\n\nfunction getBundleDataByBundleName({\n  activeBundlesMap,\n  bundleName,\n  edition = FREE_EDITION_LABEL_KEY.toLowerCase()\n}: GetBundleDataOptions): BundleData | undefined {\n  if (bundleName) {\n    const rawBundleData = activeBundlesMap[bundleName];\n    if (rawBundleData) {\n      return {\n        ...rawBundleData,\n        bundleName,\n        edition\n      };\n    }\n  }\n\n  return undefined;\n}\n","import { messages } from '../messages';\nimport { BundleData } from './types';\nimport ReactIntl from 'react-intl';\n\nexport interface PageHeaderLabelsParameters {\n  readonly labels: {\n    [key: string]: string;\n  };\n  readonly bundleData: BundleData;\n  readonly skip?: boolean;\n}\n\nexport type PageHeaderLabels = {\n  heading: ReactIntl.FormattedMessage.MessageDescriptor;\n  subheading: ReactIntl.FormattedMessage.MessageDescriptor;\n};\n\nexport const getPageHeaderLabels = ({\n  labels,\n  bundleData,\n  skip\n}: PageHeaderLabelsParameters): PageHeaderLabels => {\n  if (skip) {\n    return {\n      heading: messages.heading,\n      subheading: messages.subheading\n    };\n  }\n  const editionLabelFragment = getEditionLabelFragment(bundleData.edition);\n  const productLabelFragment = getProductLabelFragment(bundleData);\n\n  const headingLabel = `${messages.heading.id}${editionLabelFragment}${productLabelFragment}`;\n  const subheadingLabel = `${messages.subheading.id}${editionLabelFragment}${productLabelFragment}`;\n\n  return {\n    heading: {\n      id: headingLabel,\n      defaultMessage: labels[headingLabel] || messages.heading.defaultMessage\n    },\n    subheading: {\n      id: subheadingLabel,\n      defaultMessage:\n        labels[subheadingLabel] || messages.subheading.defaultMessage\n    }\n  };\n};\n\nexport const getEditionLabelFragment = (edition: string) => {\n  const matcher: Array<[RegExp, string]> = [\n    [/free/gi, 'Free'],\n    [/standard/gi, 'Standard'],\n    [/premium/gi, 'Standard'],\n    [/.*/, 'Free']\n  ];\n\n  const [, label] = matcher.find(([regex]) => regex.test(edition)) || [];\n  return label;\n};\n\nconst JSD_KEY = 'jira-servicedesk.ondemand';\n\nexport const getProductLabelFragment = (bundleData: BundleData) => {\n  switch (bundleData.products[0].productKey) {\n    case JSD_KEY:\n      return 'JSD';\n    default:\n      return '';\n  }\n};\n","import { ProductDataType } from '../model';\n\nexport type BundleData = ProductDataType & {\n  readonly bundleName: string;\n  readonly edition: string;\n};\n\nexport type AvailableProductsSite = {\n  readonly adminAccess: boolean;\n  readonly cloudId: string;\n  readonly products: string[];\n  readonly url: string;\n  readonly displayName: string;\n  readonly avatarUrl?: string;\n  readonly isVertigo?: boolean;\n};\n\n// to get status code from stargate error\nexport type ResponseError = Error & {\n  response: Response;\n};\n\n// to check if response is available in error\nexport function isResponseError(error: unknown): error is ResponseError {\n  return (\n    error instanceof Error &&\n    typeof (error as ResponseError).response === 'object'\n  );\n}\n","import { ResponseError } from './types';\n\nexport function getRedirectUrlFromShadowItError(error: ResponseError) {\n  const errorResponse = error.message?.trim();\n\n  // different browsers may have different error shapes\n  const errorBody = errorResponse.startsWith('Forbidden')\n    ? // Firefox, eg.'Forbidden {\"redirectUrl\":\"https://some-url.com\"}'\n      errorResponse.substring(9).trim()\n    : // Chrome and others, eg.'{\"redirectUrl\":\"https://some-url.com\"}'\n      errorResponse;\n\n  // extract redirect url from error body\n  try {\n    return JSON.parse(errorBody)?.redirectUrl as string;\n  } catch (err) {\n    console.warn('Shadow IT redirectUrl is not valid JSON');\n    return '';\n  }\n}\n","import {\n  DEFERRED_SITENAME_AVAILABLE_PRODUCTS,\n  DEFERRED_SITENAME_AVAILABLE_EDITIONS\n} from '../../utility';\nimport { AppDispatch, RootState, FeatureFlagState } from '../';\nimport { ProductKeysType, ProductKey } from '@atlassiansox/bxpkit-core';\n\ntype DeferredSiteNameType = {\n  readonly isEnabled: boolean;\n};\n\ntype DeferredSiteNameThunkType = {\n  readonly featureFlags: FeatureFlagState;\n  readonly productKeys: ProductKeysType[];\n};\n\ntype DeferredSiteNameActionType = {\n  readonly type: string;\n  readonly payload?: DeferredSiteNameType &\n    DeferredSiteNameThunkType &\n    ProductKeysType[];\n};\n\n// Actions\nexport const SET_STATUS = 'deferred-sitename/SET_STATUS';\n\n// Initial State\nexport const initialState: DeferredSiteNameType = {\n  isEnabled: false\n};\n\n// Reducer\nexport const deferredSiteNameReducer = (\n  state = initialState,\n  action: DeferredSiteNameActionType\n): DeferredSiteNameType => {\n  switch (action.type) {\n    case SET_STATUS:\n      const isEnabled =\n        action.payload?.featureFlags.enableDeferredSiteName &&\n        action.payload?.productKeys &&\n        action.payload?.productKeys.length > 0 &&\n        (action.payload?.productKeys[0].product === ProductKey.JIRA_SOFTWARE ||\n          action.payload?.productKeys[0].product === ProductKey.CONFLUENCE) &&\n        action.payload?.productKeys.filter(\n          (p: ProductKeysType) =>\n            p.product &&\n            DEFERRED_SITENAME_AVAILABLE_PRODUCTS.includes(p.product) &&\n            p.edition &&\n            DEFERRED_SITENAME_AVAILABLE_EDITIONS.includes(p.edition)\n        ).length === action.payload.productKeys.length;\n      return { ...state, isEnabled: !!isEnabled };\n    default:\n      return state;\n  }\n};\n\n// Thunks\nexport function updateDeferredSiteNameStatus() {\n  return (dispatch: AppDispatch, getState: () => RootState) => {\n    const { featureFlags, productKeys } = getState();\n    dispatch({ type: SET_STATUS, payload: { featureFlags, productKeys } });\n  };\n}\n","declare global {\n  interface Window {\n    grecaptcha: {\n      // eslint-disable-next-line  @typescript-eslint/no-explicit-any\n      execute: (wigitId?: any) => any;\n      // eslint-disable-next-line  @typescript-eslint/no-explicit-any\n      render: (val?: any, data?: any) => any;\n      // eslint-disable-next-line  @typescript-eslint/no-explicit-any\n      reset: (wigitId?: any) => any;\n    };\n  }\n}\n\nimport { ProductKey as ProductKeys } from '@atlassiansox/bxpkit-core';\nimport type { AnalyticsTrackType, Product } from '@atlassiansox/bxpkit-core';\nimport { InjectedIntlProps } from 'react-intl';\nimport { OriginAnalytics } from './email-field';\nimport { FirstImpressionsImageUrlsType } from './first-impressions';\nimport { MigrationDataType } from './utils';\nimport { SetStateAction } from 'react';\nimport { OrgInfoResponse } from '../hook/use-org-info';\n\nexport { AnalyticsTrackType, ProductKeys, Product };\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class SubmitErrorIDType {\n  public static ERROR_TIMEOUT(\n    error_id?: string\n  ): SetStateAction<SubmitErrorType> {\n    let issueIdMessage = error_id\n      ? ` (Issue ID for Atlassian use: ${error_id})`\n      : '';\n    return `<p>Something went wrong on our end. Please try again. If this keeps happening, <a href=\"https://support.atlassian.com/contact/\">contact support</a>.${issueIdMessage}</p>` as SetStateAction<SubmitErrorType>;\n  }\n}\n\nexport enum SubmitErrorType {\n  NO_ERROR = '',\n  WARNING_TIMEOUT_PENDING = 'warningTimeoutPending',\n  ERROR_TIMEOUT = 'errorTimeout',\n  AAID_MISMATCH = 'accountIdMisMatch',\n  ERROR_ORG_CREATE = 'orgCreateFailure',\n  ERROR_PRODUCT_ACTIVATE = 'productActivateFailure'\n}\n\nexport enum ResendEmailType {\n  RESEND_DATA = 'r.e.d'\n}\n\nexport enum ChooseSignupExperimentVariants {\n  VARIANT1 = 'variant_without_login',\n  VARIANT2 = 'variant_with_login',\n  CONTROL = 'control',\n  UNENROLLED = 'unenrolled'\n}\n\nexport enum ReverseTrialExperimentVariants {\n  VARIANT = 'variant',\n  CONTROL = 'control',\n  UNENROLLED = 'not_enrolled'\n}\n\nexport type ConsentsObject = {\n  key: string;\n  displayedText: unknown;\n  granted: boolean;\n};\n\nexport type Consent = {\n  site: string | null;\n  locale: string | null;\n  formUrl: string | null;\n  consents: ConsentsObject[];\n};\n\nexport type WacSignupFormState = {\n  email: string | null;\n  firstName: string | null;\n  lastName: string | null;\n  displayName?: string | null;\n  password?: string | null;\n  cloudName: string | null;\n  bbName: string | null;\n  dataRegion?: string | null;\n  products: Product[];\n  consent: Consent;\n  isExistingSitePickerN2E: boolean | null;\n  isLoggedIn: boolean | null;\n  selectedSite: Sites | null;\n  migrationId: string | null;\n  isSubmitting: boolean;\n  isSSOValid: boolean;\n  cloudNameLength?: number;\n  isNewUser?: boolean | null;\n  hasCCPEntitlements?: boolean | null;\n  isNewCCPSiteForMigration?: boolean;\n};\n\nexport type Sites = {\n  readonly adminAccess: boolean;\n  readonly cloudId: string;\n  readonly displayName: string;\n  readonly url: string | null;\n  readonly products: string[];\n  readonly productsAndEditions?: ProductsAndEditions[];\n  readonly entitlements?: [] | null;\n};\n\nexport type ProductsAndEditions = {\n  readonly productKey: string;\n  readonly productEdition: string;\n};\n\nexport type UserInfo = {\n  readonly firstName: string | undefined;\n  readonly fullName: string | null;\n  readonly lastName: string | null;\n  readonly email: string | null;\n  readonly sites: Sites[] | null;\n  readonly isLoggedIn: boolean | false;\n  readonly extendedTrialOverridableSites: string[] | null;\n  readonly accountId: string | null;\n  readonly isNewUser?: boolean | null;\n};\n\nexport type BitbucketTeam = {\n  readonly username: string;\n  readonly uuid: string;\n};\n\nexport type BitbucketWorkspace = {\n  // owner: has admin access, collaborator: has write access\n  readonly permission: 'owner' | 'member' | 'collaborator';\n  readonly user: WorkspaceUserType;\n  readonly workspace: WorkspaceType;\n  readonly last_accessed: string | null;\n  readonly type: string;\n  readonly links: Record<string, unknown>;\n  readonly added_on: string | null;\n};\nexport type WorkspaceUserType = {\n  readonly display_name: string;\n  readonly account_id: string;\n  readonly links: Record<string, unknown>;\n  readonly nickname: string;\n  readonly type: string;\n  readonly uuid: string;\n};\n\nexport type WorkspaceType = {\n  readonly name: string;\n  readonly type: string;\n  readonly uuid: string;\n  readonly links: Record<string, unknown>;\n  readonly slug: string;\n};\n\nexport type BitbucketWorkspaces = {\n  readonly size: number;\n  readonly values: BitbucketWorkspace[];\n};\n\nexport type ProductPayloadObject = {\n  readonly accountName?: string | null;\n  readonly edition?: string | null;\n  readonly product?: string | null;\n  readonly productKey?: string | null;\n};\n\nexport type WacSignupFormProps = {\n  readonly productKeys: Product[];\n  readonly bitbucketWorkspaces?: BitbucketWorkspaces;\n  readonly hideFullName: boolean;\n  readonly showEmail: boolean;\n  readonly userInfo?: UserInfo;\n  readonly marketingConsentRequired: boolean;\n  readonly signInAccountUrl: string;\n  readonly switchAccountUrl: string;\n  readonly originAnalyticsAttributes: OriginAnalytics;\n  readonly reCaptchaKey: string;\n  readonly devMode: boolean;\n  readonly migrationData?: MigrationDataType;\n  readonly isStaging: boolean;\n  readonly wacEnvUrl: string;\n  readonly locale: string;\n  readonly templateId?: { templateId: string };\n  readonly teamType?: string;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly formExistingSiteShown: (val: boolean) => void;\n  readonly deferSiteNameCreation: boolean;\n  readonly defaultErrorType?: SubmitErrorType;\n  readonly enableFreeBreachTest: boolean;\n  readonly simulateFreeBreachState?: boolean;\n  readonly spProduct?: string;\n  readonly hideGreeting?: boolean;\n  readonly outlineOnFocus?: boolean;\n  readonly fadeOnDisable?: boolean;\n  readonly popOverError?: boolean;\n  readonly enableFieldProgression?: boolean;\n  readonly showWarningIcon?: boolean;\n  readonly selectedSiteId?: string;\n  readonly hideCaptchaEula?: boolean;\n  readonly enableResendEmail?: boolean;\n  readonly enableCarouselEndCard?: boolean;\n  readonly firstImpressionsImageUrls?: FirstImpressionsImageUrlsType;\n  readonly siteRenamePageUrl: string;\n  readonly enableSkipRecaptcha?: boolean;\n  readonly allowSignupWithAllSocialOptions?: boolean;\n  readonly userOrgInfo?: OrgInfoResponse | null;\n  readonly hasCcpEntitlements?: boolean;\n  readonly isNewCCPSiteForMigration?: boolean;\n};\n\nexport type WacSignupFormWithIntlProps = WacSignupFormProps & InjectedIntlProps;\n\nexport type HandleSubmitType = {\n  readonly payload: WacSignupFormState;\n  readonly activateProducts?: boolean;\n  readonly cloudId?: string;\n  readonly isJswIncluded?: boolean | null;\n  readonly gRecaptchaResponse?: string | null;\n  readonly productEdition?: string | null;\n};\n\n/**\n * userInfo\n */\n\nexport type UserSubmitCheckType = {\n  readonly accountId: string | null;\n};\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { ChooseSignupExperimentVariants } from '../../model';\nimport type { RootState } from '../store';\n\nexport type FeatureFlagState = {\n  readonly enableTintinMvp: boolean;\n  readonly provisionSecondPartyApps: boolean;\n  readonly enableDeferredSiteName: boolean;\n  readonly enableDeferredFullName: boolean;\n  readonly enableBundlesAfterSignup?: boolean;\n  readonly enableDefaultExpandedEmail?: boolean;\n  readonly enableUseCodeAWSContent?: boolean;\n  readonly enableChooseSignup?: ChooseSignupExperimentVariants;\n  readonly enableMoreSocialSignUpButtons?: boolean;\n};\n\nconst initialState = {\n  enableTintinMvp: false,\n  provisionSecondPartyApps: false,\n  enableDeferredSiteName: false,\n  enableDeferredFullName: false,\n  enableBundlesAfterSignup: false,\n  enableDefaultExpandedEmail: false,\n  enableUseCodeAWSContent: false,\n  enableChooseSignup: ChooseSignupExperimentVariants.VARIANT2, // productionizing this variant\n  enableMoreSocialSignUpButtons: false\n} as FeatureFlagState;\n\nconst sliceFeatureFlags = createSlice({\n  name: 'featureFlags',\n  initialState,\n  reducers: {\n    updateFeatureFlags(state, action: PayloadAction<Record<string, unknown>>) {\n      return { ...state, ...action.payload };\n    }\n  }\n});\n\n// export actions\nexport const { updateFeatureFlags } = sliceFeatureFlags.actions;\n// optional - convenience function / state selector for minimal consumer syntax\nexport const selectFeatureFlags = (state: RootState) => state.featureFlags;\n// export named reducer (for nicer syntax in store)\nexport const { reducer: reducerFeatureFlags } = sliceFeatureFlags;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { ProductKeysType } from '../../model';\n\nconst initialState: ProductKeysType[] = [];\n\nconst sliceProductKeys = createSlice({\n  name: 'productKeys',\n  initialState,\n  reducers: {\n    updateProductKeys(state, action: PayloadAction<ProductKeysType[]>) {\n      state = action.payload;\n      return state;\n    }\n  }\n});\n\n// export actions\nexport const { updateProductKeys } = sliceProductKeys.actions;\n// export named reducer (for nicer syntax in store)\nexport const { reducer: reducerProductKeys } = sliceProductKeys;\n","import { configureStore } from '@reduxjs/toolkit';\nimport {\n  loggedInFormDataReducer as loggedInFormData,\n  loggedInFormInputReducer as formInputSelection,\n  loggedInFormValidReducer as loggedInFormValid,\n  n2nDeferredPasswordFieldProgressReducer as n2nDeferredPasswordProgress,\n  n2nDeferredPasswordFieldValidationReducer as n2nDeferredPasswordFieldValidation,\n  n2nFieldProgressReducer as n2nFieldProgress,\n  n2nFieldValidationReducer as n2nFieldValidation,\n  sharedFormDataReducer as sharedFormData\n} from './ducks-devops';\nimport { deferredSiteNameReducer as deferredSiteName } from './ducks-experimentation';\nimport { reducerFeatureFlags, reducerProductKeys } from './slice';\n\nconst store = configureStore({\n  reducer: {\n    // ------ Global Redux Slices --\n    featureFlags: reducerFeatureFlags,\n    productKeys: reducerProductKeys,\n    // ------ Devops ducks ------\n    n2nFieldProgress,\n    n2nFieldValidation,\n    n2nDeferredPasswordFieldValidation,\n    n2nDeferredPasswordProgress,\n    loggedInFormValid,\n    loggedInFormData,\n    sharedFormData,\n    formInputSelection,\n    // ------ Experimentation ducks ------\n    deferredSiteName\n  },\n  devTools: {\n    name: '@atlassiansox/bxpkit-wac-sign-up/global'\n  }\n});\n\n// Infer the `RootState` and `AppDispatch` types from the store itself\nexport type RootState = ReturnType<typeof store.getState>;\n// Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState}\nexport type AppDispatch = typeof store.dispatch;\n\nexport default store;\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n  ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n  callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n  return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n  return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n  var batch = getBatch();\n  var first = null;\n  var last = null;\n  return {\n    clear: function clear() {\n      first = null;\n      last = null;\n    },\n    notify: function notify() {\n      batch(function () {\n        var listener = first;\n\n        while (listener) {\n          listener.callback();\n          listener = listener.next;\n        }\n      });\n    },\n    get: function get() {\n      var listeners = [];\n      var listener = first;\n\n      while (listener) {\n        listeners.push(listener);\n        listener = listener.next;\n      }\n\n      return listeners;\n    },\n    subscribe: function subscribe(callback) {\n      var isSubscribed = true;\n      var listener = last = {\n        callback: callback,\n        next: null,\n        prev: last\n      };\n\n      if (listener.prev) {\n        listener.prev.next = listener;\n      } else {\n        first = listener;\n      }\n\n      return function unsubscribe() {\n        if (!isSubscribed || first === null) return;\n        isSubscribed = false;\n\n        if (listener.next) {\n          listener.next.prev = listener.prev;\n        } else {\n          last = listener.prev;\n        }\n\n        if (listener.prev) {\n          listener.prev.next = listener.next;\n        } else {\n          first = listener.next;\n        }\n      };\n    }\n  };\n}\n\nvar nullListeners = {\n  notify: function notify() {},\n  get: function get() {\n    return [];\n  }\n};\nexport function createSubscription(store, parentSub) {\n  var unsubscribe;\n  var listeners = nullListeners;\n\n  function addNestedSub(listener) {\n    trySubscribe();\n    return listeners.subscribe(listener);\n  }\n\n  function notifyNestedSubs() {\n    listeners.notify();\n  }\n\n  function handleChangeWrapper() {\n    if (subscription.onStateChange) {\n      subscription.onStateChange();\n    }\n  }\n\n  function isSubscribed() {\n    return Boolean(unsubscribe);\n  }\n\n  function trySubscribe() {\n    if (!unsubscribe) {\n      unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n      listeners = createListenerCollection();\n    }\n  }\n\n  function tryUnsubscribe() {\n    if (unsubscribe) {\n      unsubscribe();\n      unsubscribe = undefined;\n      listeners.clear();\n      listeners = nullListeners;\n    }\n  }\n\n  var subscription = {\n    addNestedSub: addNestedSub,\n    notifyNestedSubs: notifyNestedSubs,\n    handleChangeWrapper: handleChangeWrapper,\n    isSubscribed: isSubscribed,\n    trySubscribe: trySubscribe,\n    tryUnsubscribe: tryUnsubscribe,\n    getListeners: function getListeners() {\n      return listeners;\n    }\n  };\n  return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n  var store = _ref.store,\n      context = _ref.context,\n      children = _ref.children;\n  var contextValue = useMemo(function () {\n    var subscription = createSubscription(store);\n    return {\n      store: store,\n      subscription: subscription\n    };\n  }, [store]);\n  var previousState = useMemo(function () {\n    return store.getState();\n  }, [store]);\n  useIsomorphicLayoutEffect(function () {\n    var subscription = contextValue.subscription;\n    subscription.onStateChange = subscription.notifyNestedSubs;\n    subscription.trySubscribe();\n\n    if (previousState !== store.getState()) {\n      subscription.notifyNestedSubs();\n    }\n\n    return function () {\n      subscription.tryUnsubscribe();\n      subscription.onStateChange = null;\n    };\n  }, [contextValue, previousState]);\n  var Context = context || ReactReduxContext;\n  return /*#__PURE__*/React.createElement(Context.Provider, {\n    value: contextValue\n  }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  Provider.propTypes = {\n    store: PropTypes.shape({\n      subscribe: PropTypes.func.isRequired,\n      dispatch: PropTypes.func.isRequired,\n      getState: PropTypes.func.isRequired\n    }),\n    context: PropTypes.object,\n    children: PropTypes.any\n  };\n}\n\nexport default Provider;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n *   const { store } = useReduxContext()\r\n *   return <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport function useReduxContext() {\n  var contextValue = useContext(ReactReduxContext);\n\n  if (process.env.NODE_ENV !== 'production' && !contextValue) {\n    throw new Error('could not find react-redux context value; please ensure the component is wrapped in a <Provider>');\n  }\n\n  return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n  if (context === void 0) {\n    context = ReactReduxContext;\n  }\n\n  var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n    return useContext(context);\n  };\n  return function useStore() {\n    var _useReduxContext = useReduxContext(),\n        store = _useReduxContext.store;\n\n    return store;\n  };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n *   const store = useStore()\r\n *   return <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n  if (context === void 0) {\n    context = ReactReduxContext;\n  }\n\n  var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n  return function useDispatch() {\n    var store = useStore();\n    return store.dispatch;\n  };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n *   const dispatch = useDispatch()\r\n *   const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n *   return (\r\n *     <div>\r\n *       <span>{value}</span>\r\n *       <button onClick={increaseCounter}>Increase counter</button>\r\n *     </div>\r\n *   )\r\n * }\r\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n  return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n  var _useReducer = useReducer(function (s) {\n    return s + 1;\n  }, 0),\n      forceRender = _useReducer[1];\n\n  var subscription = useMemo(function () {\n    return createSubscription(store, contextSub);\n  }, [store, contextSub]);\n  var latestSubscriptionCallbackError = useRef();\n  var latestSelector = useRef();\n  var latestStoreState = useRef();\n  var latestSelectedState = useRef();\n  var storeState = store.getState();\n  var selectedState;\n\n  try {\n    if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n      var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n      if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n        selectedState = newSelectedState;\n      } else {\n        selectedState = latestSelectedState.current;\n      }\n    } else {\n      selectedState = latestSelectedState.current;\n    }\n  } catch (err) {\n    if (latestSubscriptionCallbackError.current) {\n      err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n    }\n\n    throw err;\n  }\n\n  useIsomorphicLayoutEffect(function () {\n    latestSelector.current = selector;\n    latestStoreState.current = storeState;\n    latestSelectedState.current = selectedState;\n    latestSubscriptionCallbackError.current = undefined;\n  });\n  useIsomorphicLayoutEffect(function () {\n    function checkForUpdates() {\n      try {\n        var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n        if (newStoreState === latestStoreState.current) {\n          return;\n        }\n\n        var _newSelectedState = latestSelector.current(newStoreState);\n\n        if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n          return;\n        }\n\n        latestSelectedState.current = _newSelectedState;\n        latestStoreState.current = newStoreState;\n      } catch (err) {\n        // we ignore all errors here, since when the component\n        // is re-rendered, the selectors are called again, and\n        // will throw again, if neither props nor store state\n        // changed\n        latestSubscriptionCallbackError.current = err;\n      }\n\n      forceRender();\n    }\n\n    subscription.onStateChange = checkForUpdates;\n    subscription.trySubscribe();\n    checkForUpdates();\n    return function () {\n      return subscription.tryUnsubscribe();\n    };\n  }, [store, subscription]);\n  return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n  if (context === void 0) {\n    context = ReactReduxContext;\n  }\n\n  var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n    return useContext(context);\n  };\n  return function useSelector(selector, equalityFn) {\n    if (equalityFn === void 0) {\n      equalityFn = refEquality;\n    }\n\n    if (process.env.NODE_ENV !== 'production') {\n      if (!selector) {\n        throw new Error(\"You must pass a selector to useSelector\");\n      }\n\n      if (typeof selector !== 'function') {\n        throw new Error(\"You must pass a function as a selector to useSelector\");\n      }\n\n      if (typeof equalityFn !== 'function') {\n        throw new Error(\"You must pass a function as an equality function to useSelector\");\n      }\n    }\n\n    var _useReduxContext = useReduxContext(),\n        store = _useReduxContext.store,\n        contextSub = _useReduxContext.subscription;\n\n    var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n    useDebugValue(selectedState);\n    return selectedState;\n  };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n *   const counter = useSelector(state => state.counter)\r\n *   return <div>{counter}</div>\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\nimport { AppDispatch, RootState } from './store';\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch<AppDispatch>();\nexport const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n  socialSignUpButtonContinueWithGoogle: {\n    id: `${ID_PREFIX}socialSignUpButtonContinueWithGoogle`,\n    defaultMessage: 'Continue with Google'\n  },\n  socialSignUpButtonContinueWithMicrosoft: {\n    id: `${ID_PREFIX}socialSignUpButtonContinueWithMicrosoft`,\n    defaultMessage: 'Continue with Microsoft'\n  },\n  socialSignUpButtonSignUpWithEmail: {\n    id: `${ID_PREFIX}socialSignUpButtonSignUpWithEmail`,\n    defaultMessage: 'Sign up with email'\n  },\n  socialSignUpButtonSignUpWithGoogle: {\n    id: `${ID_PREFIX}socialSignUpButtonSignUpWithGoogle`,\n    defaultMessage: 'Sign up with Google'\n  }\n});\n","import { N500 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\n\nconst text =\n  \"Charlie Text, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nexport const SocialButtonIcon = styled.img`\n  height: 18px;\n  width: 18px;\n  margin-right: 8px;\n  margin-bottom: 0;\n`;\n\nexport const DefaultButton = styled.div`\n  height: 39px;\n  width: 100%;\n  border-radius: 3px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  cursor: pointer;\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n\n  margin: 0px 0px 20px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${text};\n  font-style: normal;\n  background-color: #e8e9ee;\n`;\n\nexport const SocialButton = styled.a`\n  text-decoration: none;\n  height: 39px;\n  width: 100%;\n  border-radius: 3px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  :hover{\n    color: ${N500}\n    text-decoration: none;\n  }\n  cursor: pointer;\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n  background-color: #FFF;\n\n  margin: 0px 0px 20px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${text};\n  font-style: normal;\n`;\n\nexport const SocialButtonDefaultExpandedEmail = styled.a`\n  text-decoration: none;\n  height: 40px;\n  width: 100%;\n  border-radius: 3px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  :hover{\n    color: ${N500}\n    text-decoration: none;\n  }\n  cursor: pointer;\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n  background-color: #FFF;\n\n  margin: 40px 0px 24px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${text};\n  font-style: normal;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useAppSelector } from '../../../../redux';\nimport { messages } from './messages';\nimport {\n  DefaultButton,\n  SocialButton,\n  SocialButtonDefaultExpandedEmail,\n  SocialButtonIcon\n} from './styled';\n\nexport type SocialSignUpButtonProps = {\n  readonly href?: string;\n  readonly buttonType: string;\n  readonly onClick?: () => void;\n  readonly className?: string;\n  readonly id?: string;\n};\n\nfunction SocialSignUpButton(props: SocialSignUpButtonProps) {\n  const { href, buttonType, onClick, id, className } = props;\n  const { enableDefaultExpandedEmail } = useAppSelector(\n    (state) => state.featureFlags\n  );\n\n  let btn;\n  switch (buttonType) {\n    case 'google':\n      {\n        enableDefaultExpandedEmail\n          ? (btn = (\n              <SocialButtonDefaultExpandedEmail\n                href={href}\n                onClick={onClick}\n                id={id}\n                className={className}\n              >\n                <SocialButtonIcon src=\"https://aid-frontend.prod.atl-paas.net/atlassian-id/front-end/5.0.51/static/media/google-logo.c21ca9d1.svg\" />{' '}\n                <FormattedMessage\n                  {...messages.socialSignUpButtonContinueWithGoogle}\n                />\n              </SocialButtonDefaultExpandedEmail>\n            ))\n          : (btn = (\n              <SocialButton\n                href={href}\n                onClick={onClick}\n                id={id}\n                className={className}\n              >\n                <SocialButtonIcon src=\"https://aid-frontend.prod.atl-paas.net/atlassian-id/front-end/5.0.51/static/media/google-logo.c21ca9d1.svg\" />{' '}\n                <FormattedMessage\n                  {...messages.socialSignUpButtonContinueWithGoogle}\n                />\n              </SocialButton>\n            ));\n      }\n\n      break;\n    case 'microsoft':\n      btn = (\n        <SocialButton\n          href={href}\n          onClick={onClick}\n          id={id}\n          className={className}\n        >\n          <SocialButtonIcon src=\"https://aid-frontend.prod.atl-paas.net/atlassian-id/front-end/5.0.154/static/media/microsoft-logo.319d9b9a.svg\" />{' '}\n          <FormattedMessage\n            {...messages.socialSignUpButtonContinueWithMicrosoft}\n          />\n        </SocialButton>\n      );\n      break;\n    default:\n      btn = (\n        <DefaultButton onClick={onClick} id={id} className={className}>\n          <FormattedMessage {...messages.socialSignUpButtonSignUpWithEmail} />\n        </DefaultButton>\n      );\n      break;\n  }\n\n  return btn;\n}\n\nexport default SocialSignUpButton;\n","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n  /* istanbul ignore next */\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction createStyleElement(options) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', options.key);\n\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce);\n  }\n\n  tag.appendChild(document.createTextNode(''));\n  tag.setAttribute('data-s', '');\n  return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  function StyleSheet(options) {\n    var _this = this;\n\n    this._insertTag = function (tag) {\n      var before;\n\n      if (_this.tags.length === 0) {\n        if (_this.insertionPoint) {\n          before = _this.insertionPoint.nextSibling;\n        } else if (_this.prepend) {\n          before = _this.container.firstChild;\n        } else {\n          before = _this.before;\n        }\n      } else {\n        before = _this.tags[_this.tags.length - 1].nextSibling;\n      }\n\n      _this.container.insertBefore(tag, before);\n\n      _this.tags.push(tag);\n    };\n\n    this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n    this.tags = [];\n    this.ctr = 0;\n    this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n    this.key = options.key;\n    this.container = options.container;\n    this.prepend = options.prepend;\n    this.insertionPoint = options.insertionPoint;\n    this.before = null;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.hydrate = function hydrate(nodes) {\n    nodes.forEach(this._insertTag);\n  };\n\n  _proto.insert = function insert(rule) {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this));\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    if (process.env.NODE_ENV !== 'production') {\n      var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n      }\n      this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n    }\n\n    if (this.isSpeedy) {\n      var sheet = sheetForTag(tag);\n\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n          console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule));\n    }\n\n    this.ctr++;\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode && tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0;\n\n    if (process.env.NODE_ENV !== 'production') {\n      this._alreadyInsertedOrderInsensitiveRule = false;\n    }\n  };\n\n  return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n  var previous = 0;\n  var character = 0;\n\n  while (true) {\n    previous = character;\n    character = peek(); // &\\f\n\n    if (previous === 38 && character === 12) {\n      points[index] = 1;\n    }\n\n    if (token(character)) {\n      break;\n    }\n\n    next();\n  }\n\n  return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n  // pretend we've started with a comma\n  var index = -1;\n  var character = 44;\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1;\n        }\n\n        parsed[index] += identifierWithPointTracking(position - 1, points, index);\n        break;\n\n      case 2:\n        parsed[index] += delimit(character);\n        break;\n\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : '';\n          points[index] = parsed[index].length;\n          break;\n        }\n\n      // fallthrough\n\n      default:\n        parsed[index] += from(character);\n    }\n  } while (character = next());\n\n  return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n  return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n  if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n  // negative .length indicates that this rule has been already prefixed\n  element.length < 1) {\n    return;\n  }\n\n  var value = element.value,\n      parent = element.parent;\n  var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent;\n    if (!parent) return;\n  } // short-circuit for the simplest case\n\n\n  if (element.props.length === 1 && value.charCodeAt(0) !== 58\n  /* colon */\n  && !fixedElements.get(parent)) {\n    return;\n  } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n  if (isImplicitRule) {\n    return;\n  }\n\n  fixedElements.set(element, true);\n  var points = [];\n  var rules = getRules(value, points);\n  var parentRules = parent.props;\n\n  for (var i = 0, k = 0; i < rules.length; i++) {\n    for (var j = 0; j < parentRules.length; j++, k++) {\n      element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n    }\n  }\n};\nvar removeLabel = function removeLabel(element) {\n  if (element.type === 'decl') {\n    var value = element.value;\n\n    if ( // charcode for l\n    value.charCodeAt(0) === 108 && // charcode for b\n    value.charCodeAt(2) === 98) {\n      // this ignores label\n      element[\"return\"] = '';\n      element.value = '';\n    }\n  }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n  return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n  return function (element, index, children) {\n    if (element.type !== 'rule' || cache.compat) return;\n    var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n    if (unsafePseudoClasses) {\n      var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n\n      var commentContainer = isNested ? element.parent.children : // global rule at the root level\n      children;\n\n      for (var i = commentContainer.length - 1; i >= 0; i--) {\n        var node = commentContainer[i];\n\n        if (node.line < element.line) {\n          break;\n        } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n\n\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return;\n          }\n\n          break;\n        }\n      }\n\n      unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n        console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n      });\n    }\n  };\n};\n\nvar isImportRule = function isImportRule(element) {\n  return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n  for (var i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n  element.type = '';\n  element.value = '';\n  element[\"return\"] = '';\n  element.children = '';\n  element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n  if (!isImportRule(element)) {\n    return;\n  }\n\n  if (element.parent) {\n    console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n    nullifyElement(element);\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n    nullifyElement(element);\n  }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value;\n    // appearance, user-select, transform, hyphens, text-size-adjust\n\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value;\n    // flex, flex-direction\n\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value;\n    // order\n\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value;\n    // align-items\n\n    case 5187:\n      return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n    // align-self\n\n    case 5443:\n      return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n    // align-content\n\n    case 4675:\n      return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n    // flex-shrink\n\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n    // flex-basis\n\n    case 5292:\n      return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n    // flex-grow\n\n    case 6060:\n      return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n    // transition\n\n    case 4554:\n      return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n    // cursor\n\n    case 6187:\n      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n    // background, background-image\n\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // justify-content\n\n    case 4968:\n      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n    // (margin|padding)-inline-(start|end)\n\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (m)ax-content, (m)in-content\n        case 109:\n          // -\n          if (charat(value, length + 4) !== 45) break;\n        // (f)ill-available, (f)it-content\n\n        case 102:\n          return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n        // (s)tretch\n\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n    // position: sticky\n\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break;\n    // display: (flex|inline-flex)\n\n    case 6444:\n      switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value;\n        // (inline-)?fl(e)x\n\n        case 101:\n          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n      }\n\n      break;\n    // writing-mode\n\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n        // vertical-r(l)\n\n        case 108:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n        // horizontal(-)tb\n\n        case 45:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n      }\n\n      return WEBKIT + value + MS + value + value;\n  }\n\n  return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n  if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n    case DECLARATION:\n      element[\"return\"] = prefix(element.value, element.length);\n      break;\n\n    case KEYFRAMES:\n      return serialize([copy(element, {\n        value: replace(element.value, '@', '@' + WEBKIT)\n      })], callback);\n\n    case RULESET:\n      if (element.length) return combine(element.props, function (value) {\n        switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n          // :read-(only|write)\n          case ':read-only':\n          case ':read-write':\n            return serialize([copy(element, {\n              props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n            })], callback);\n          // :placeholder\n\n          case '::placeholder':\n            return serialize([copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n            })], callback);\n        }\n\n        return '';\n      });\n  }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n  var key = options.key;\n\n  if (process.env.NODE_ENV !== 'production' && !key) {\n    throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n  }\n\n  if (key === 'css') {\n    var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n\n    Array.prototype.forEach.call(ssrStyles, function (node) {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return;\n      }\n      document.head.appendChild(node);\n      node.setAttribute('data-s', '');\n    });\n  }\n\n  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var inserted = {};\n  var container;\n  var nodesToHydrate = [];\n\n  {\n    container = options.container || document.head;\n    Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n    document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n      var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n      for (var i = 1; i < attrib.length; i++) {\n        inserted[attrib[i]] = true;\n      }\n\n      nodesToHydrate.push(node);\n    });\n  }\n\n  var _insert;\n\n  var omnipresentPlugins = [compat, removeLabel];\n\n  if (process.env.NODE_ENV !== 'production') {\n    omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n      get compat() {\n        return cache.compat;\n      }\n\n    }), incorrectImportAlarm);\n  }\n\n  {\n    var currentSheet;\n    var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n      if (!element.root) {\n        if (element[\"return\"]) {\n          currentSheet.insert(element[\"return\"]);\n        } else if (element.value && element.type !== COMMENT) {\n          // insert empty rule in non-production environments\n          // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n          currentSheet.insert(element.value + \"{}\");\n        }\n      }\n    } : rulesheet(function (rule) {\n      currentSheet.insert(rule);\n    })];\n    var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n    var stylis = function stylis(styles) {\n      return serialize(compile(styles), serializer);\n    };\n\n    _insert = function insert(selector, serialized, sheet, shouldCache) {\n      currentSheet = sheet;\n\n      if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n        currentSheet = {\n          insert: function insert(rule) {\n            sheet.insert(rule + serialized.map);\n          }\n        };\n      }\n\n      stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true;\n      }\n    };\n  }\n\n  var cache = {\n    key: key,\n    sheet: new StyleSheet({\n      key: key,\n      container: container,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted: inserted,\n    registered: {},\n    insert: _insert\n  };\n  cache.sheet.hydrate(nodesToHydrate);\n  return cache;\n};\n\nexport { createCache as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","function abort(event) {\n  event.preventDefault();\n  event.stopPropagation();\n}\nconst tabKeyCode = 9;\nfunction onKey(event) {\n  // Allowing tab so that a user can move focus away\n  if (event.keyCode === tabKeyCode) {\n    return;\n  }\n  abort(event);\n}\nconst block = {\n  onMouseDownCapture: abort,\n  onMouseUpCapture: abort,\n  // because we have tabIndex = -1 when disabled,\n  // keyboard events can only occur when there is an overlay\n  onKeyDownCapture: onKey,\n  onKeyUpCapture: onKey,\n  onTouchStartCapture: abort,\n  onTouchEndCapture: abort,\n  onPointerDownCapture: abort,\n  onPointerUpCapture: abort,\n  onClickCapture: abort,\n  // Just smashing the existing onClick for good measure\n  onClick: abort\n};\nconst doNotBlock = {};\nexport default function blockEvents({\n  isInteractive\n}) {\n  return isInteractive ? doNotBlock : block;\n}","import * as colors from '@atlaskit/theme/colors';\n// Hard coding the active rgba color value rather than using a helper to convert it\n// With helper it would be: hex2rgba(colors.B75, 0.6)\nconst fadedB75 = 'rgba(179, 212, 255, 0.6)';\nconst values = {\n  // Default appearance\n  background: {\n    default: {\n      default: {\n        light: `var(--ds-background-neutral, ${colors.N20A})`,\n        dark: `var(--ds-background-neutral, ${colors.DN70})`\n      },\n      hover: {\n        light: `var(--ds-background-neutral-hovered, ${colors.N30A})`,\n        dark: `var(--ds-background-neutral-hovered, ${colors.DN60})`\n      },\n      active: {\n        light: `var(--ds-background-neutral-pressed, ${fadedB75})`,\n        dark: `var(--ds-background-neutral-pressed, ${colors.B75})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    primary: {\n      default: {\n        light: `var(--ds-background-brand-bold, ${colors.B400})`,\n        dark: `var(--ds-background-brand-bold, ${colors.B100})`\n      },\n      hover: {\n        light: `var(--ds-background-brand-bold-hovered, ${colors.B300})`,\n        dark: `var(--ds-background-brand-bold-hovered, ${colors.B75})`\n      },\n      active: {\n        light: `var(--ds-background-brand-bold-pressed, ${colors.B500})`,\n        dark: `var(--ds-background-brand-bold-pressed, ${colors.B200})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    warning: {\n      default: {\n        light: `var(--ds-background-warning-bold, ${colors.Y300})`,\n        dark: `var(--ds-background-warning-bold, ${colors.Y300})`\n      },\n      hover: {\n        light: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`,\n        dark: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`\n      },\n      active: {\n        light: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`,\n        dark: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.Y400})`,\n        dark: `var(--ds-background-selected, ${colors.Y400})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.Y400})`,\n        dark: `var(--ds-background-selected, ${colors.Y400})`\n      }\n    },\n    danger: {\n      default: {\n        light: `var(--ds-background-danger-bold, ${colors.R400})`,\n        dark: `var(--ds-background-danger-bold, ${colors.R400})`\n      },\n      hover: {\n        light: `var(--ds-background-danger-bold-hovered, ${colors.R300})`,\n        dark: `var(--ds-background-danger-bold-hovered, ${colors.R300})`\n      },\n      active: {\n        light: `var(--ds-background-danger-bold-pressed, ${colors.R500})`,\n        dark: `var(--ds-background-danger-bold-pressed, ${colors.R500})`\n      },\n      disabled: {\n        light: `var(--ds-background-disabled, ${colors.N20A})`,\n        dark: `var(--ds-background-disabled, ${colors.DN70})`\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.R500})`,\n        dark: `var(--ds-background-selected, ${colors.R500})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.R500})`,\n        dark: `var(--ds-background-selected, ${colors.R500})`\n      }\n    },\n    link: {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      }\n    },\n    subtle: {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      hover: {\n        light: `var(--ds-background-neutral-subtle-hovered, ${colors.N30A})`,\n        dark: `var(--ds-background-neutral-subtle-hovered, ${colors.DN60})`\n      },\n      active: {\n        light: `var(--ds-background-neutral-subtle-pressed, ${fadedB75})`,\n        dark: `var(--ds-background-neutral-subtle-pressed, ${colors.B75})`\n      },\n      disabled: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.DN0})`\n      }\n    },\n    'subtle-link': {\n      default: {\n        light: \"var(--ds-background-neutral-subtle, none)\",\n        dark: \"var(--ds-background-neutral-subtle, none)\"\n      },\n      selected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      },\n      focusSelected: {\n        light: `var(--ds-background-selected, ${colors.N700})`,\n        dark: `var(--ds-background-selected, ${colors.N20})`\n      }\n    }\n  },\n  color: {\n    default: {\n      default: {\n        light: `var(--ds-text, ${colors.N500})`,\n        dark: `var(--ds-text, ${colors.DN400})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.B400})`,\n        dark: `var(--ds-text, ${colors.B400})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    primary: {\n      default: {\n        light: `var(--ds-text-inverse, ${colors.N0})`,\n        dark: `var(--ds-text-inverse, ${colors.DN30})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    warning: {\n      default: {\n        light: `var(--ds-text-warning-inverse, ${colors.N800})`,\n        dark: `var(--ds-text-warning-inverse, ${colors.N800})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N800})`,\n        dark: `var(--ds-text-selected, ${colors.N800})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N800})`,\n        dark: `var(--ds-text-selected, ${colors.N800})`\n      }\n    },\n    danger: {\n      default: {\n        light: `var(--ds-text-inverse, ${colors.N0})`,\n        dark: `var(--ds-text-inverse, ${colors.N0})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN30})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N0})`,\n        dark: `var(--ds-text-selected, ${colors.N0})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N0})`,\n        dark: `var(--ds-text-selected, ${colors.N0})`\n      }\n    },\n    link: {\n      default: {\n        light: `var(--ds-link, ${colors.B400})`,\n        dark: `var(--ds-link, ${colors.B100})`\n      },\n      hover: {\n        light: `var(--ds-link, ${colors.B300})`,\n        dark: `var(--ds-link, ${colors.B75})`\n      },\n      active: {\n        light: `var(--ds-link-pressed, ${colors.B500})`,\n        dark: `var(--ds-link-pressed, ${colors.B200})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.N700})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.N700})`\n      }\n    },\n    subtle: {\n      default: {\n        light: `var(--ds-text, ${colors.N500})`,\n        dark: `var(--ds-text, ${colors.DN400})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.B400})`,\n        dark: `var(--ds-text, ${colors.B400})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    },\n    'subtle-link': {\n      default: {\n        light: `var(--ds-text-subtle, ${colors.N200})`,\n        dark: `var(--ds-text-subtle, ${colors.DN400})`\n      },\n      hover: {\n        light: `var(--ds-text-subtle, ${colors.N90})`,\n        dark: `var(--ds-text-subtle, ${colors.B50})`\n      },\n      active: {\n        light: `var(--ds-text, ${colors.N400})`,\n        dark: `var(--ds-text, ${colors.DN300})`\n      },\n      disabled: {\n        light: `var(--ds-text-disabled, ${colors.N70})`,\n        dark: `var(--ds-text-disabled, ${colors.DN100})`\n      },\n      selected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      },\n      focusSelected: {\n        light: `var(--ds-text-selected, ${colors.N20})`,\n        dark: `var(--ds-text-selected, ${colors.DN400})`\n      }\n    }\n  }\n};\nexport default values;","import { css } from '@emotion/react';\nimport { borderRadius as getBorderRadius, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize();\n\n// ## Button layout\n//\n// /------------------------------------------------------------------------------------------------------------------\\\n// |       →  |  ←      |          |      →  |  ←      |           |      →  |  ←      |         |      →  |  ←       |\n// |  10px →  |  ← 2px  |   icon   |  2px →  |  ← 2px  |           |  2px →  |  ← 2px  |  icon   |  2px →  |  ← 10px  |\n// |  padding |  margin |  before  |  margin |  margin |  content  |  margin |  margin |  after  |  margin |  padding |\n// |    (12px total)    |          |    (4px total)    |           |    (4px total)    |         |    (12px total)    |\n// |       →  |  ←      |          |      →  |  ←      |           |      →  |  ←      |         |      →  |  ←       |\n// \\------------------------------------------------------------------------------------------------------------------/\n//                                           ↑                               ↑\n//                                        Margins don't collapse with inline-flex\n//\nconst heights = {\n  default: `${gridSize * 4 / fontSize}em`,\n  // 32px\n  compact: `${gridSize * 3 / fontSize}em`,\n  none: 'auto'\n};\nconst lineHeights = {\n  default: heights.default,\n  compact: heights.compact,\n  none: 'inherit'\n};\nconst padding = {\n  // 10px gutter\n  default: `0 ${gridSize + gridSize / 4}px`,\n  compact: `0 ${gridSize + gridSize / 4}px`,\n  none: '0'\n};\nconst singleIconPadding = {\n  // 2px gutter\n  compact: `0 ${gridSize / 4}px`,\n  default: `0 ${gridSize / 4}px`,\n  none: '0'\n};\nconst verticalAlign = {\n  default: 'middle',\n  compact: 'middle',\n  none: 'baseline'\n};\nconst innerMargin = {\n  content: `0 ${gridSize / 4}px`,\n  icon: `0 ${gridSize / 4}px`\n};\nfunction getColor({\n  group,\n  key,\n  mode\n}) {\n  const rule = group[key] || group.default;\n  return rule[mode];\n}\nfunction getColors({\n  appearance,\n  key,\n  mode\n}) {\n  return {\n    background: getColor({\n      group: colors.background[appearance],\n      key,\n      mode\n    }),\n    // Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider\n    color: `${getColor({\n      group: colors.color[appearance],\n      key,\n      mode\n    })} !important`\n  };\n}\nexport function getCss({\n  appearance,\n  spacing,\n  mode,\n  isSelected,\n  shouldFitContainer,\n  isOnlySingleIcon\n}) {\n  const baseColors = getColors({\n    appearance,\n    key: isSelected ? 'selected' : 'default',\n    mode\n  });\n  return {\n    // 0px margin added to css-reset\n    alignItems: 'baseline',\n    borderWidth: 0,\n    borderRadius,\n    boxSizing: 'border-box',\n    display: 'inline-flex',\n    fontSize: 'inherit',\n    fontStyle: 'normal',\n    // Chrome recently changed button so that they use 'arial' as the font family\n    fontFamily: 'inherit',\n    fontWeight: 500,\n    // margin for button has been applied to css reset\n    maxWidth: '100%',\n    // Needed to position overlay\n    position: 'relative',\n    textAlign: 'center',\n    textDecoration: 'none',\n    transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',\n    whiteSpace: 'nowrap',\n    // dynamic styles\n    ...baseColors,\n    cursor: 'pointer',\n    height: heights[spacing],\n    lineHeight: lineHeights[spacing],\n    padding: isOnlySingleIcon ? singleIconPadding[spacing] : padding[spacing],\n    verticalAlign: verticalAlign[spacing],\n    width: shouldFitContainer ? '100%' : 'auto',\n    // justifyContent required for shouldFitContainer buttons with an icon inside\n    justifyContent: 'center',\n    // Note: we cannot disable pointer events when there is an overlay.\n    // That would be easy for styling, but it would start letting events through on disabled buttons\n\n    // Disabling visited styles (just using the base colors)\n    '&:visited': {\n      ...baseColors\n    },\n    '&:hover': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'hover',\n        mode\n      }),\n      textDecoration: !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? 'underline' : 'inherit',\n      // background, box-shadow\n      transitionDuration: '0s, 0.15s'\n    },\n    // giving active styles preference by listing them after focus\n    '&:active': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'active',\n        mode\n      }),\n      // background, box-shadow\n      transitionDuration: '0s, 0s'\n    },\n    // preventDefault prevents regular active styles from applying in Firefox\n    '&[data-firefox-is-active=\"true\"]': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'active',\n        mode\n      }),\n      // background, box-shadow\n      transitionDuration: '0s, 0s'\n    },\n    // Giving disabled styles preference over active by listing them after.\n    // Not using '&:disabled' because :disabled is not a valid state for all element types\n    // so we are targeting the attribute\n    // Attributes have the same specificity a pseudo classes so we are overriding :disabled here\n    '&[disabled]': {\n      // always using 'disabled' even when selected\n      ...getColors({\n        appearance,\n        key: 'disabled',\n        mode\n      }),\n      cursor: 'not-allowed',\n      textDecoration: 'none'\n    },\n    '&[data-has-overlay=\"true\"]': {\n      cursor: 'default',\n      textDecoration: 'none'\n    },\n    // disabling hover and active color changes when there is an overlay, but the button is not disabled\n    '&[data-has-overlay=\"true\"]:not([disabled]):hover, &[data-has-overlay=\"true\"]:not([disabled]):active': {\n      ...getColors({\n        appearance,\n        key: isSelected ? 'selected' : 'default',\n        mode\n      })\n    },\n    '&::-moz-focus-inner': {\n      border: 0,\n      margin: 0,\n      padding: 0\n    }\n  };\n}\n\n// inline-flex child\nexport function getIconStyle({\n  spacing\n}) {\n  return css({\n    display: 'flex',\n    // icon size cannot grow and shrink\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    margin: spacing === 'none' ? 0 : innerMargin.icon,\n    flexGrow: 0,\n    flexShrink: 0,\n    alignSelf: 'center',\n    fontSize: 0,\n    lineHeight: 0,\n    userSelect: 'none'\n  });\n}\n\n// inline-flex child\nexport function getContentStyle({\n  spacing\n}) {\n  return css({\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    margin: spacing === 'none' ? 0 : innerMargin.content,\n    // content can grow and shrink\n    flexGrow: 1,\n    flexShrink: 1,\n    // ellipsis for overflow text\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap'\n  });\n}\nexport function getFadingCss({\n  hasOverlay\n}) {\n  return css({\n    opacity: hasOverlay ? 0 : 1,\n    transition: 'opacity 0.3s'\n  });\n}\nexport const overlayCss = {\n  // stretching to full width / height of button\n  // this is important as we need it to still block\n  // event if clicking in the button's own padding\n  position: 'absolute',\n  left: 0,\n  top: 0,\n  right: 0,\n  bottom: 0,\n  // Putting all children in the center\n  display: 'flex',\n  justifyContent: 'center',\n  alignItems: 'center'\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\n// eslint-disable-next-line no-duplicate-imports\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { N500 } from '@atlaskit/theme/colors';\nimport blockEvents from './block-events';\nimport { getContentStyle, getFadingCss, getIconStyle, overlayCss } from './css';\n\n// Disabled buttons will still publish events for nested elements in webkit.\n// We are disabling pointer events on child elements so that\n// the button will always be the target of events\n// Note: firefox does not have this behaviour for child elements\nconst noPointerEventsOnChildrenCss = {\n  '> *': {\n    pointerEvents: 'none'\n  }\n};\nexport default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n  const {\n    appearance = 'default',\n    buttonCss,\n    spacing = 'default',\n    autoFocus = false,\n    isDisabled = false,\n    shouldFitContainer = false,\n    isSelected = false,\n    iconBefore,\n    iconAfter,\n    children,\n    className,\n    href,\n    overlay,\n    tabIndex = 0,\n    type = !href ? 'button' : undefined,\n    onMouseDown: providedOnMouseDown = noop,\n    onClick: providedOnClick = noop,\n    // use the provided component prop,\n    // else default to anchor if there is a href, and button if there is no href\n    component: Component = href ? 'a' : 'button',\n    testId,\n    interactionName,\n    // I don't think this should be in button, but for now it is\n    analyticsContext,\n    ...rest\n  } = props;\n  const ourRef = useRef();\n  const setRef = useCallback(node => {\n    ourRef.current = node;\n    if (ref == null) {\n      return;\n    }\n    if (typeof ref === 'function') {\n      ref(node);\n      return;\n    }\n\n    // @ts-ignore\n    ref.current = node;\n  }, [ourRef, ref]);\n\n  // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n  useAutoFocus(ourRef, autoFocus);\n  const interactionContext = useContext(InteractionContext);\n  const handleClick = useCallback((e, analyticsEvent) => {\n    interactionContext && interactionContext.tracePress(interactionName, e.timeStamp);\n    providedOnClick(e, analyticsEvent);\n  }, [providedOnClick, interactionContext, interactionName]);\n  const onClick = usePlatformLeafEventHandler({\n    fn: handleClick,\n    action: 'clicked',\n    componentName: 'button',\n    packageName: \"@atlaskit/button\",\n    packageVersion: \"16.7.5\",\n    analyticsData: analyticsContext\n  });\n\n  // Button currently calls preventDefault, which is not standard button behaviour\n  const onMouseDown = useCallback(event => {\n    event.preventDefault();\n    providedOnMouseDown(event);\n  }, [providedOnMouseDown]);\n\n  // Lose focus when becoming disabled (standard button behaviour)\n  useEffect(() => {\n    const el = ourRef.current;\n    if (isDisabled && el && el === document.activeElement) {\n      el.blur();\n    }\n  }, [isDisabled]);\n\n  // we are 'disabling' input with a button when there is an overlay\n  const hasOverlay = Boolean(overlay);\n  const fadeCss = css(getFadingCss({\n    hasOverlay\n  }));\n  const isInteractive = !isDisabled && !hasOverlay;\n\n  /**\n   * HACK: Spinner needs to have different colours in the \"new\" tokens design compared to the old design.\n   * For now, while we support both, these styles reach into Spinner when a theme is set, applies the right color.\n   * Ticket to remove: https://product-fabric.atlassian.net/browse/DSP-2067\n   */\n  var spinnerHackCss = {};\n  if (isSelected || isDisabled || appearance === 'warning') {\n    spinnerHackCss = {\n      '[data-theme] & circle': {\n        stroke: `${isSelected || isDisabled ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-warning-inverse, ${N500})`} !important`\n      }\n    };\n  }\n  return jsx(FocusRing, null, jsx(Component, _extends({}, rest, {\n    css: [buttonCss, isInteractive ? null : noPointerEventsOnChildrenCss],\n    className: className,\n    ref: setRef,\n    onClick: onClick,\n    onMouseDown: onMouseDown,\n    disabled: isDisabled,\n    href: isInteractive ? href : undefined\n    // using undefined so that the property doesn't exist when false\n    ,\n    \"data-has-overlay\": hasOverlay ? true : undefined,\n    \"data-testid\": testId,\n    type: type\n    // Adding a tab index so element is always focusable, even when not a <button> or <a>\n    // Disabling focus via keyboard navigation when disabled\n    // as this is standard button behaviour\n    ,\n    tabIndex: isDisabled ? -1 : tabIndex\n  }, blockEvents({\n    isInteractive\n  })), iconBefore ? jsx(\"span\", {\n    css: [fadeCss, getIconStyle({\n      spacing\n    })]\n  }, iconBefore) : null, children ? jsx(\"span\", {\n    css: [fadeCss, getContentStyle({\n      spacing\n    })]\n  }, children) : null, iconAfter ? jsx(\"span\", {\n    css: [fadeCss, getIconStyle({\n      spacing\n    })]\n  }, iconAfter) : null, overlay ? jsx(\"span\", {\n    css: [overlayCss, spinnerHackCss]\n  }, overlay) : null));\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useCallback, useMemo, useState } from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport ButtonBase from './shared/button-base';\nimport { getCss } from './shared/css';\nimport getIsOnlySingleIcon from './shared/get-is-only-single-icon';\nconst isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n/**\n * __Button__\n *\n * A button triggers an event or action. They let users know what will happen next.\n *\n * - [Examples](https://atlassian.design/components/button/examples)\n * - [Code](https://atlassian.design/components/button/code)\n * - [Usage](https://atlassian.design/components/button/usage)\n */\nconst Button = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Button({\n  onMouseDown: providedOnMouseDown = noop,\n  onMouseUp: providedOnMouseUp = noop,\n  ...rest\n}, ref) {\n  const {\n    mode\n  } = useGlobalTheme();\n  const appearance = rest.appearance || 'default';\n  const spacing = rest.spacing || 'default';\n  const shouldFitContainer = Boolean(rest.shouldFitContainer);\n  const isSelected = Boolean(rest.isSelected);\n  const isOnlySingleIcon = getIsOnlySingleIcon(rest);\n  const [isActive, setIsActive] = useState(false);\n\n  // Wrap onMouseDown / onMouseUp to manually trigger active state\n  //  in Firefox\n  const onMouseDown = useCallback(event => {\n    providedOnMouseDown(event);\n    if (isFirefox) {\n      setIsActive(true);\n    }\n  }, [providedOnMouseDown, setIsActive]);\n  const onMouseUp = useCallback(event => {\n    providedOnMouseUp(event);\n    if (isFirefox) {\n      setIsActive(false);\n    }\n  }, [providedOnMouseUp, setIsActive]);\n  const buttonCss = useMemo(() => getCss({\n    appearance,\n    spacing,\n    mode,\n    isSelected,\n    shouldFitContainer,\n    isOnlySingleIcon\n  }), [appearance, spacing, mode, isSelected, shouldFitContainer, isOnlySingleIcon]);\n  return /*#__PURE__*/React.createElement(ButtonBase, _extends({}, rest, {\n    ref: ref,\n    buttonCss: buttonCss\n    // Due to how click events are set, we need to set active styles\n    //  manually in Firefox and wrap onMouseDown/onMouseUp\n    ,\n    \"data-firefox-is-active\": isActive ? true : undefined,\n    onMouseDown: onMouseDown,\n    onMouseUp: onMouseUp\n  }));\n}));\n\n// Tools including enzyme rely on components having a display name\nButton.displayName = 'Button';\nexport default Button;","export default function getIsOnlySingleIcon({\n  children,\n  iconBefore,\n  iconAfter\n}) {\n  if (children) {\n    return false;\n  }\n  if (iconBefore && !iconAfter) {\n    return true;\n  }\n  if (!iconBefore && iconAfter) {\n    return true;\n  }\n  return false;\n}","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n  socialSignUpLoadingText: {\n    id: `${ID_PREFIX}socialSignUpLoadingText`,\n    defaultMessage: 'checking a few things...'\n  },\n  socialSignUpErrorTextContactUs: {\n    id: `${ID_PREFIX}socialSignUpErrorTextContactUs`,\n    defaultMessage:\n      '<div>If the problem persists, <a href=\"{contactUsUrl}\">contact us</a>.</div>'\n  },\n  socialSignUpSomethingWentWrong: {\n    id: `${ID_PREFIX}socialSignUpSomethingWentWrong`,\n    defaultMessage: '<h3>Something went wrong</h3>'\n  },\n  socialSignUpSorryForTheInconvenience: {\n    id: `${ID_PREFIX}socialSignUpSorryForTheInconvenience`,\n    defaultMessage: '<div>Sorry for the inconvenience</div>'\n  }\n});\n","import Button from '@atlaskit/button';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedHTMLMessage } from 'react-intl';\nimport { messages } from './messages';\nexport type SocialSignupErrorProps = {\n  readonly tryAgainUrl: string;\n  readonly errorImageSrc: string;\n  readonly wacEnvUrl: string;\n};\nexport function SocialSignupErrorView(props: SocialSignupErrorProps) {\n  const { tryAgainUrl, errorImageSrc, wacEnvUrl } = props;\n  const onButtonClick = () => {\n    window.location.assign(tryAgainUrl);\n  };\n  const contactUsUrl = `${wacEnvUrl}/company/contact/purchasing-licensing`;\n  return (\n    <Root>\n      <img src={errorImageSrc} alt={'loading...'} width={100} />\n      <FormattedHTMLMessage {...messages.socialSignUpSomethingWentWrong} />\n      <Button appearance={'primary'} onClick={onButtonClick}>\n        Try signing up again\n      </Button>\n      <Bar></Bar>\n      <ContactUs>\n        <SanitizedFormattedHtmlMessage\n          {...messages.socialSignUpErrorTextContactUs}\n          values={{ contactUsUrl }}\n        />\n      </ContactUs>\n      <FormattedHTMLMessage\n        {...messages.socialSignUpSorryForTheInconvenience}\n      />\n    </Root>\n  );\n}\nconst Root = styled.div`\n  margin: 10px 10px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\nconst ContactUs = styled.div`\n  div {\n    a {\n      color: #0065ff;\n      text-decoration: none;\n      cursor: pointer;\n    }\n  }\n`;\nconst Bar = styled.div`\n  width: 130px;\n  border-bottom: 1px solid #dfe1e6;\n  height: 1px;\n  margin-top: 20px;\n  margin-bottom: 10px;\n`;\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i];\n    for (var key in source) {\n      target[key] = source[key];\n    }\n  }\n  return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n  read: function (value) {\n    if (value[0] === '\"') {\n      value = value.slice(1, -1);\n    }\n    return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n  },\n  write: function (value) {\n    return encodeURIComponent(value).replace(\n      /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n      decodeURIComponent\n    )\n  }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n  function set (name, value, attributes) {\n    if (typeof document === 'undefined') {\n      return\n    }\n\n    attributes = assign({}, defaultAttributes, attributes);\n\n    if (typeof attributes.expires === 'number') {\n      attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n    }\n    if (attributes.expires) {\n      attributes.expires = attributes.expires.toUTCString();\n    }\n\n    name = encodeURIComponent(name)\n      .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n      .replace(/[()]/g, escape);\n\n    var stringifiedAttributes = '';\n    for (var attributeName in attributes) {\n      if (!attributes[attributeName]) {\n        continue\n      }\n\n      stringifiedAttributes += '; ' + attributeName;\n\n      if (attributes[attributeName] === true) {\n        continue\n      }\n\n      // Considers RFC 6265 section 5.2:\n      // ...\n      // 3.  If the remaining unparsed-attributes contains a %x3B (\";\")\n      //     character:\n      // Consume the characters of the unparsed-attributes up to,\n      // not including, the first %x3B (\";\") character.\n      // ...\n      stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n    }\n\n    return (document.cookie =\n      name + '=' + converter.write(value, name) + stringifiedAttributes)\n  }\n\n  function get (name) {\n    if (typeof document === 'undefined' || (arguments.length && !name)) {\n      return\n    }\n\n    // To prevent the for loop in the first place assign an empty array\n    // in case there are no cookies at all.\n    var cookies = document.cookie ? document.cookie.split('; ') : [];\n    var jar = {};\n    for (var i = 0; i < cookies.length; i++) {\n      var parts = cookies[i].split('=');\n      var value = parts.slice(1).join('=');\n\n      try {\n        var found = decodeURIComponent(parts[0]);\n        jar[found] = converter.read(value, found);\n\n        if (name === found) {\n          break\n        }\n      } catch (e) {}\n    }\n\n    return name ? jar[name] : jar\n  }\n\n  return Object.create(\n    {\n      set,\n      get,\n      remove: function (name, attributes) {\n        set(\n          name,\n          '',\n          assign({}, attributes, {\n            expires: -1\n          })\n        );\n      },\n      withAttributes: function (attributes) {\n        return init(this.converter, assign({}, this.attributes, attributes))\n      },\n      withConverter: function (converter) {\n        return init(assign({}, this.converter, converter), this.attributes)\n      }\n    },\n    {\n      attributes: { value: Object.freeze(defaultAttributes) },\n      converter: { value: Object.freeze(converter) }\n    }\n  )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import React, { createContext, useContext, PropsWithChildren } from 'react';\n\nexport type SignUpFormGlobalConfiguration = {\n  readonly confirmationPageUrl: string;\n  readonly checkEmailPageUrl: string;\n  readonly newUserSignupRedirectUrl?: string;\n};\n\nexport type SignUpFormGlobalConfigurationContextProps = {\n  readonly confirmationPageUrl?: string;\n  readonly checkEmailPageUrl?: string;\n  readonly newUserSignupRedirectUrl?: string;\n};\n\nexport const SignUpGlobalConfigurationContext =\n  createContext<SignUpFormGlobalConfigurationContextProps>({});\n\nexport function SignUpGlobalConfigurationContextProvider({\n  children,\n  ...props\n}: PropsWithChildren<SignUpFormGlobalConfigurationContextProps>) {\n  return (\n    <SignUpGlobalConfigurationContext.Provider value={props}>\n      {children}\n    </SignUpGlobalConfigurationContext.Provider>\n  );\n}\n\nexport function useSignUpFormGlobalConfiguration(): SignUpFormGlobalConfiguration {\n  const { confirmationPageUrl, checkEmailPageUrl, newUserSignupRedirectUrl } =\n    useContext(SignUpGlobalConfigurationContext);\n\n  return {\n    confirmationPageUrl:\n      confirmationPageUrl ?? '/wac/ondemand/signup/confirmation',\n    checkEmailPageUrl: checkEmailPageUrl ?? '/wac/ondemand/signup/checkemail',\n    newUserSignupRedirectUrl: newUserSignupRedirectUrl\n  };\n}\n","import { Environment, Url } from '@atlassiansox/bxpkit-core';\nimport { Storage } from '@atlassiansox/bxpkit-core';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport { SignupLayoutAnalyticsType } from '../../model';\n\n/**\n * Analytics Singleton for Signup Layout\n */\n\nexport class SignupLayoutAnalytics {\n  public static instance: SignupLayoutAnalytics;\n\n  public instance?: SignupLayoutAnalytics;\n  public isLoggedIn: boolean;\n  public analyticsTrack: AnalyticsTrackType;\n  public queryParameters: { [key: string]: string };\n  public performanceStartTime?: number;\n  public signInUserOrigin?: OriginTracing;\n  public switchUserOrigin?: OriginTracing;\n  public signInAccountUrl = '';\n  public switchAccountUrl = '';\n  public originAnalyticsAttributes?: any;\n\n  public constructor({\n    isLoggedIn,\n    analyticsTrack,\n    performanceStartTime\n  }: SignupLayoutAnalyticsType) {\n    this.isLoggedIn = isLoggedIn;\n    this.analyticsTrack = analyticsTrack;\n    this.performanceStartTime = performanceStartTime;\n    this.queryParameters = Url.getUrlParams() || {};\n\n    if (SignupLayoutAnalytics.instance) {\n      // only use 1/first-created instance (this is a singleton)\n      return SignupLayoutAnalytics.instance;\n    }\n\n    SignupLayoutAnalytics.instance = this;\n    this._initOrigin();\n    this._onloadAnalytics();\n  }\n\n  /**\n   * Initialize Origin ID Tracing values\n   */\n\n  public _initOrigin() {\n    this.signInUserOrigin = new OriginTracing({ product: 'wac-signup-login' });\n    this.switchUserOrigin = new OriginTracing({ product: 'wac-signup-switch' });\n\n    this.signInAccountUrl = Environment.getIdSigninUrl(\n      this.signInUserOrigin.encode(),\n      undefined,\n      this.queryParameters['continue']\n    );\n    this.switchAccountUrl = Environment.getIdSwitchUserUrl(\n      this.switchUserOrigin.encode()\n    );\n\n    this.originAnalyticsAttributes = {\n      signInUser: this.signInUserOrigin.toAnalyticsAttributes({\n        hasGeneratedId: true\n      }),\n      switchUser: this.switchUserOrigin.toAnalyticsAttributes({\n        hasGeneratedId: true\n      })\n    };\n  }\n\n  /**\n   * Events to fired when the component has mounted\n   */\n\n  public _onloadAnalytics() {\n    const { segment, newRelic } = this.analyticsTrack;\n\n    segment('bxp.try.signup.reactversionshown', {});\n    newRelic.attribute('isReact', true);\n    newRelic.attribute(\n      'anonymous_id',\n      (Storage.getCookie('ajs_anonymous_id') || '').replace(/\"/g, '')\n    );\n    ['edition', 'product', 'bundle', 'coupon'].forEach((paramName) =>\n      newRelic.attribute(\n        paramName,\n        this.queryParameters[paramName] || `no ${paramName}`\n      )\n    );\n\n    // performance\n    if (this.performanceStartTime) {\n      const performanceDuration = performance.now() - this.performanceStartTime;\n      segment('bxp.formCloudSignup.timeToFormReady', {\n        performanceDuration,\n        isLoggedIn: this.isLoggedIn\n      });\n      newRelic.attribute('isLoggedIn', this.isLoggedIn);\n      newRelic.action('bxp.formCloudSignup.timeToFormReady', {\n        performanceDuration,\n        isLoggedIn: this.isLoggedIn\n      });\n    }\n  }\n\n  /**\n   * Getters\n   */\n\n  public getOriginTraces() {\n    return {\n      signInAccountUrl: this.signInAccountUrl || '',\n      switchAccountUrl: this.switchAccountUrl || '',\n      originAnalyticsAttributes: this.originAnalyticsAttributes\n    };\n  }\n\n  /**\n   * Custom Events/Attributes\n   */\n\n  public setIsMigration(isMigration: boolean) {\n    const { newRelic } = this.analyticsTrack;\n    newRelic.attribute('isMigration', isMigration);\n  }\n\n  public trackBbSignupPerf() {\n    const { segment } = this.analyticsTrack;\n    if (this.performanceStartTime) {\n      const performanceDuration = performance.now() - this.performanceStartTime;\n      segment('bxp.formCloudSignup.timeToFormReadyBitbucketTeams', {\n        performanceDuration,\n        isLoggedIn: this.isLoggedIn\n      });\n    }\n  }\n}\n","export const WAC_SIGNUP_FORM_KEY_BASE = 'WacSignupForm.';\nexport const SIGNUP_OFFERING_LABEL_KEY_BASE =\n  WAC_SIGNUP_FORM_KEY_BASE + 'signupOffering';\nexport const TRIAL_DURATION_LABEL_KEY_BASE =\n  SIGNUP_OFFERING_LABEL_KEY_BASE + 'TrialLengthText';\nexport const TRIAL_DURATION_LABEL_KEY_EXISTING_SITE =\n  TRIAL_DURATION_LABEL_KEY_BASE + 'ExistingSite';\nexport const TRIAL_DURATION_LABEL_KEY_NEW_SITE =\n  TRIAL_DURATION_LABEL_KEY_BASE + 'NewSite';\nexport const SIGNUP_OFFERING_LABEL_KEY_PREFIX =\n  SIGNUP_OFFERING_LABEL_KEY_BASE + 'IncludesFeatures';\nexport const SIGNUP_SIDE_INFO_HEADER_PREFIX =\n  WAC_SIGNUP_FORM_KEY_BASE + 'sideInfoHeader';\n\nexport const [\n  CONFLUENCE,\n  JIRA_CORE,\n  JSW,\n  JSD,\n  OPSGENIE,\n  BITBUCKET,\n  STATUSPAGE,\n  DEVELOPER_MODE,\n  DEVOPS,\n  TEAM_CENTRAL,\n  JIRA_PRODUCT_DISCOVERY,\n  COMPASS,\n  FABRIC,\n  BEACON,\n  JIRA_FAMILY\n] = [\n  'Confluence',\n  'JiraCore',\n  'JSW',\n  'JSD',\n  'Opsgenie',\n  'Bitbucket',\n  'Statuspage',\n  'DeveloperMode',\n  'Devops',\n  'Townsquare',\n  'JiraProductDiscovery',\n  'Compass',\n  'Canvas',\n  'Beacon',\n  'Jira'\n];\n\nexport const PRODUCT_NAMES = [\n  JSD,\n  OPSGENIE,\n  BITBUCKET,\n  STATUSPAGE,\n  DEVELOPER_MODE,\n  DEVOPS,\n  CONFLUENCE,\n  TEAM_CENTRAL,\n  JSW,\n  JIRA_PRODUCT_DISCOVERY,\n  COMPASS,\n  FABRIC,\n  BEACON\n];\nexport const STANDARD_EDITION_LABEL_KEY = 'Standard';\nexport const FREE_EDITION_LABEL_KEY = 'Free';\nexport const PREMIUM_EDITION_LABEL_KEY = 'Premium';\nexport const BETA_EDITION_LABEL_KEY = 'Beta';\nexport const STANDARD_EDITION_HALP_PROMO_KEY = 'Halp'; // SPICE-738 JSM promo for existing HALP users\nexport const BUNDLE_LABEL_KEY = 'Bundle';\nexport const MIGRATION_USERS_LABEL_KEY = 'userTypeUsersLabel';\nexport const MIGRATION_AGENTS_LABEL_KEY = 'userTypeAgentsLabel';\nexport const EDITION_LABEL_ARRAY = [\n  STANDARD_EDITION_LABEL_KEY,\n  FREE_EDITION_LABEL_KEY,\n  PREMIUM_EDITION_LABEL_KEY,\n  STANDARD_EDITION_HALP_PROMO_KEY\n];\n\nconst SOCIAL_PROOF_KEY_PREFIX =\n  'WacSignupForm.signupOfferingIncludesFeaturesSocialProof';\n\nexport const SOCIAL_PROOF_TEXT_KEY_PREFIX = SOCIAL_PROOF_KEY_PREFIX + 'Text';\nexport const SOCIAL_PROOF_SUPPORT_IMAGE_KEY_PREFIX =\n  SOCIAL_PROOF_KEY_PREFIX + 'Image';\nexport const SOCIAL_PROOF_HERO_IMAGE_KEY_PREFIX =\n  SOCIAL_PROOF_KEY_PREFIX + 'HeroImage';\n\nexport const FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST = 'JSWFI';\nexport const FIRST_IMPRESSION_JIRA_SERVICE_DESK_FEATURE_LIST = 'JSDFI';\n","import { Environment } from '@atlassiansox/bxpkit-core';\nimport { SignupLayoutAnalytics } from '..';\nimport {\n  CheckExtendedTrialAvailabilityOptionsType,\n  CheckExtendedTrialAvailabilityResponseType,\n  GetMigrationDataOptionsType,\n  MigrationDataType,\n  SitesType\n} from '../../model';\nimport {\n  MIGRATION_AGENTS_LABEL_KEY,\n  MIGRATION_USERS_LABEL_KEY,\n  WAC_SIGNUP_FORM_KEY_BASE\n} from '../../layouts/legacy/view/utility/sign-up-layout-container/constants';\n\nexport const getMigrationData = async ({\n  queryParameters,\n  analyticsTrack,\n  productKeys,\n  userInfo,\n  labels\n}: GetMigrationDataOptionsType): Promise<MigrationDataType | null> => {\n  const analytics = new SignupLayoutAnalytics({\n    analyticsTrack,\n    isLoggedIn: userInfo?.isLoggedIn\n  });\n  const migrationSourceUuid = queryParameters.hasOwnProperty(\n    'migrationSourceUuid'\n  )\n    ? queryParameters.migrationSourceUuid\n    : null;\n  let product = null;\n  let sites: SitesType = null;\n\n  if (\n    migrationSourceUuid &&\n    userInfo.email &&\n    userInfo.sites &&\n    productKeys &&\n    productKeys.length > 0 &&\n    productKeys[0].productContent\n  ) {\n    product = productKeys[0].productContent[0];\n    sites = userInfo.sites || [];\n  } else {\n    return Promise.resolve(null);\n  }\n\n  const humanUsageType = (usageType: string) => {\n    switch (usageType) {\n      case 'remote-agent-tier':\n      case 'bamboo-agent-tier':\n      case 'servicedesk-agent-tier':\n        return labels[\n          `${WAC_SIGNUP_FORM_KEY_BASE}${MIGRATION_AGENTS_LABEL_KEY}`\n        ];\n      default:\n        return labels[\n          `${WAC_SIGNUP_FORM_KEY_BASE}${MIGRATION_USERS_LABEL_KEY}`\n        ];\n    }\n  };\n\n  const cloudIds = sites ? sites.map((site) => site.cloudId) : null;\n\n  if (!product?.productKey || !cloudIds) {\n    return Promise.resolve(null);\n  }\n\n  const data = await checkExtendedTrialAvailability({\n    migrationSourceUuid,\n    productKey: product.productKey,\n    cloudIds\n  }).catch((err: Error) => {\n    // tslint:disable-next-line:no-console\n    console.log(err);\n    return null;\n  });\n\n  if (!data) {\n    return Promise.resolve(null);\n  }\n\n  const status = data.cloudCreation;\n\n  const eligibleSites = data.sites\n    ? Object.keys(data.sites).filter((cloudId) => data.sites[cloudId].available)\n    : [];\n\n  analytics.setIsMigration(true);\n  return Promise.resolve({\n    migrationSourceUuid,\n    migrationUserLimit: data.usageLimit || 0,\n    migrationUserType: humanUsageType(data.usageType),\n    migrationProductName: product.productName,\n    migrationSites: eligibleSites,\n    invalidMigration: !status.available,\n    claimedMigration: status.reason === 'ALREADY_CLAIMED'\n  });\n};\n\nconst checkExtendedTrialAvailability = async ({\n  migrationSourceUuid,\n  productKey,\n  cloudIds\n}: CheckExtendedTrialAvailabilityOptionsType): Promise<CheckExtendedTrialAvailabilityResponseType | void> => {\n  const url = `${Environment.getHamletUrl()}/1.0/public/account/${migrationSourceUuid}/extendedTrial/availability`;\n  const options = {\n    method: 'POST',\n    headers: { 'Content-Type': 'application/json' },\n    body: JSON.stringify({\n      productKey,\n      cloudIds\n    }),\n    withCredentials: true\n  };\n\n  const response = await fetch(url, options);\n  if (response.ok) {\n    return Promise.resolve(response.json());\n  } else {\n    return Promise.resolve();\n  }\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}","export var SIZES_MAP = {\n    xsmall: 8,\n    small: 16,\n    medium: 24,\n    large: 48,\n    xlarge: 96,\n};\nexport var DEFAULT_SIZE = SIZES_MAP.small;\n//# sourceMappingURL=constants.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled, { keyframes, css } from 'styled-components';\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to use dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n    noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"]))),\n    enterRotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n    from { transform: rotate(50deg); }\\n    to { transform: rotate(230deg); }\\n  \"], [\"\\n    from { transform: rotate(50deg); }\\n    to { transform: rotate(230deg); }\\n  \"]))),\n    leaveRotate: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n    from { transform: rotate(230deg); }\\n    to { transform: rotate(510deg); }\\n  \"], [\"\\n    from { transform: rotate(230deg); }\\n    to { transform: rotate(510deg); }\\n  \"]))),\n    leaveOpacity: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n    from { opacity: 1; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 1; }\\n    to { opacity: 0; }\\n  \"]))),\n};\nexport var getContainerAnimation = function (_a) {\n    var delay = _a.delay, phase = _a.phase;\n    if (phase === 'DELAY') {\n        /* This hides the spinner and allows us to use animationend events to move to the next phase in\n         * the same way we do with the other lifecycle stages */\n        return css(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n      animation: \", \"s \", \";\\n    \"], [\"\\n      animation: \", \"s \", \";\\n    \"])), delay, keyframeNames.noop);\n    }\n    if (phase === 'ENTER' || phase === 'IDLE') {\n        return css(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n      animation: 1s ease-in-out forwards \", \";\\n    \"], [\"\\n      animation: 1s ease-in-out forwards \", \";\\n    \"])), keyframeNames.enterRotate);\n    }\n    if (phase === 'LEAVE') {\n        return css(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n      animation: 0.53s ease-in-out forwards \", \",\\n        0.2s ease-in-out 0.33s \", \";\\n    \"], [\"\\n      animation: 0.53s ease-in-out forwards \", \",\\n        0.2s ease-in-out 0.33s \", \";\\n    \"])), keyframeNames.leaveRotate, keyframeNames.leaveOpacity);\n    }\n    return '';\n};\nvar getSize = function (_a) {\n    var size = _a.size;\n    return size + \"px\";\n};\nvar Container = styled.span(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n  \", \"\\n  display: flex;\\n  height: \", \";\\n  width: \", \";\\n\\n  /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n   * they complete their exit animations. This rules hides the spinner if another one has been\\n   * added. */\\n  div + & {\\n    display: none;\\n  }\\n\"], [\"\\n  \", \"\\n  display: flex;\\n  height: \", \";\\n  width: \", \";\\n\\n  /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n   * they complete their exit animations. This rules hides the spinner if another one has been\\n   * added. */\\n  div + & {\\n    display: none;\\n  }\\n\"])), getContainerAnimation, getSize, getSize);\nContainer.displayName = 'SpinnerContainer';\nexport default Container;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n//# sourceMappingURL=styledContainer.js.map","import { __makeTemplateObject, __rest } from \"tslib\";\nimport styled, { css, keyframes } from 'styled-components';\nimport { themed } from '@atlaskit/theme/components';\nimport { N500, N0 } from '@atlaskit/theme/colors';\nimport { SIZES_MAP } from './constants';\nvar getStrokeWidth = function (size) { return Math.round(size / 10); };\nvar getStrokeCircumference = function (size) {\n    var strokeWidth = getStrokeWidth(size);\n    var strokeRadius = size / 2 - strokeWidth / 2;\n    return Math.PI * strokeRadius * 2;\n};\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n    noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 0; }\\n  \"]))),\n    rotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n    to { transform: rotate(360deg); }\\n  \"], [\"\\n    to { transform: rotate(360deg); }\\n  \"]))),\n    enterOpacity: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n    from { opacity: 0; }\\n    to { opacity: 1; }\\n  \"], [\"\\n    from { opacity: 0; }\\n    to { opacity: 1; }\\n  \"]))),\n    smallEnterStroke: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.small), getStrokeCircumference(SIZES_MAP.small) *\n        0.8),\n    mediumEnterStroke: keyframes(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.medium), getStrokeCircumference(SIZES_MAP.medium) *\n        0.8),\n    largeEnterStroke: keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.large), getStrokeCircumference(SIZES_MAP.large) *\n        0.8),\n    xlargeEnterStroke: keyframes(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \",\n        \"px; }\\n  \"])), getStrokeCircumference(SIZES_MAP.xlarge), getStrokeCircumference(SIZES_MAP.xlarge) *\n        0.8),\n};\n/* If a standard size is used, we can use one of our statically defined keyframes, otherwise\n * we're forced to dynamically create the keyframe and incur a performance cost.\n */\nvar getEnterStrokeKeyframe = function (size) {\n    var standardSizeName = Object.keys(SIZES_MAP).find(function (sizeName) { return size === SIZES_MAP[sizeName]; });\n    if (standardSizeName) {\n        return keyframeNames[standardSizeName + \"EnterStroke\"];\n    }\n    var circumference = getStrokeCircumference(size);\n    return keyframes(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"], [\"\\n    from { stroke-dashoffset: \", \"px; }\\n    to { stroke-dashoffset: \", \"px; }\\n  \"])), circumference, circumference * 0.8);\n};\nvar spinnerColor = themed({ light: N500, dark: N0 });\nvar spinnerColorInverted = themed({ light: N0, dark: N0 });\nexport var getStrokeColor = function (_a) {\n    var invertColor = _a.invertColor, props = __rest(_a, [\"invertColor\"]);\n    return invertColor ? spinnerColorInverted(props) : spinnerColor(props);\n};\nexport var svgStyles = css(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n  \", \";\\n\"], [\"\\n  \",\n    \";\\n\"])), function (props) {\n    var circumference = getStrokeCircumference(props.size);\n    var animation = function (animProps) {\n        var baseAnimation = '0.86s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite';\n        if (animProps.phase === 'ENTER') {\n            return css(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n          animation: \", \" \", \",\\n            0.8s ease-in-out \", \",\\n            0.2s ease-in-out \", \";\\n        \"], [\"\\n          animation: \", \" \", \",\\n            0.8s ease-in-out \", \",\\n            0.2s ease-in-out \", \";\\n        \"])), baseAnimation, keyframeNames.rotate, getEnterStrokeKeyframe(animProps.size), keyframeNames.enterOpacity);\n        }\n        return css(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n        animation: \", \" \", \";\\n      \"], [\"\\n        animation: \", \" \", \";\\n      \"])), baseAnimation, keyframeNames.rotate);\n    };\n    return css(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n      \", \"\\n      fill: none;\\n      stroke: \", \";\\n      stroke-dasharray: \", \"px;\\n      stroke-dashoffset: \", \"px;\\n      stroke-linecap: round;\\n      stroke-width: \", \"px;\\n      transform-origin: center;\\n    \"], [\"\\n      \", \"\\n      fill: none;\\n      stroke: \", \";\\n      stroke-dasharray: \", \"px;\\n      stroke-dashoffset: \", \"px;\\n      stroke-linecap: round;\\n      stroke-width: \", \"px;\\n      transform-origin: center;\\n    \"])), animation, getStrokeColor, circumference, circumference * 0.8, getStrokeWidth(props.size));\n});\nvar Svg = styled.svg(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n  \", \";\\n\"], [\"\\n  \", \";\\n\"])), svgStyles);\nSvg.displayName = 'SpinnerSvg';\nexport default Svg;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;\n//# sourceMappingURL=styledSvg.js.map","import { __extends, __makeTemplateObject } from \"tslib\";\nimport React, { Component } from 'react';\nimport { Transition } from 'react-transition-group';\nimport styled from 'styled-components';\nimport { SIZES_MAP, DEFAULT_SIZE } from './constants';\nimport Container from './styledContainer';\nimport Svg from './styledSvg';\nvar Outer = styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n  display: inline-block;\\n  vertical-align: middle;\\n\"], [\"\\n  display: inline-block;\\n  vertical-align: middle;\\n\"])));\nOuter.displayName = 'Outer';\nvar Spinner = /** @class */ (function (_super) {\n    __extends(Spinner, _super);\n    function Spinner(props) {\n        var _this = _super.call(this, props) || this;\n        _this.transitionNode = null;\n        _this.enter = function () {\n            var delay = _this.props.delay;\n            if (delay) {\n                _this.setState({ phase: 'DELAY' });\n            }\n            else {\n                _this.setState({ phase: 'ENTER' });\n            }\n        };\n        _this.idle = function () {\n            _this.setState({ phase: 'IDLE' });\n        };\n        _this.exit = function () {\n            _this.setState({ phase: 'LEAVE' });\n        };\n        _this.endListener = function (node, done) {\n            var executeCallback = function (event) {\n                // ignore animation events on the glyph\n                if (event.target.tagName === 'svg') {\n                    return;\n                }\n                if (_this.state.phase === 'DELAY') {\n                    _this.setState({ phase: 'ENTER' });\n                    _this.endListener(node, done);\n                }\n                else {\n                    done();\n                }\n                return node && node.removeEventListener('animationend', executeCallback);\n            };\n            // FIX - jest-emotion doesn't recognise the DOM node so it can't add\n            // the eventListener in the @atlaskit/button tests.\n            // Should be fixed when we move to emotion@10\n            if (node && node.addEventListener) {\n                return node.addEventListener('animationend', executeCallback);\n            }\n            return done();\n        };\n        _this.validateSize = function () {\n            var size = _this.props.size;\n            var spinnerSize = SIZES_MAP[size] || size;\n            return typeof spinnerSize === 'number' ? spinnerSize : DEFAULT_SIZE;\n        };\n        _this.state = {\n            phase: '',\n        };\n        return _this;\n    }\n    Spinner.prototype.render = function () {\n        var _this = this;\n        var phase = this.state.phase;\n        var _a = this.props, delay = _a.delay, invertColor = _a.invertColor, isCompleting = _a.isCompleting, testId = _a.testId;\n        var size = this.validateSize();\n        var strokeWidth = Math.round(size / 10);\n        var strokeRadius = size / 2 - strokeWidth / 2;\n        return (React.createElement(Outer, null,\n            React.createElement(Transition, { addEndListener: this.endListener, appear: true, in: !isCompleting, mountOnEnter: true, unmountOnExit: true, onEnter: this.enter, onEntered: this.idle, onExit: this.exit, onExited: function () { return _this.props.onComplete(); }, timeout: 0, ref: function (node) {\n                    _this.transitionNode = node;\n                } },\n                React.createElement(Container, { delay: delay / 1000, phase: phase, size: size, \"data-testid\": testId },\n                    React.createElement(Svg, { focusable: \"false\", height: size, invertColor: invertColor, phase: phase, size: size, viewBox: \"0 0 \" + size + \" \" + size, width: size, xmlns: \"http://www.w3.org/2000/svg\" },\n                        React.createElement(\"circle\", { cx: size / 2, cy: size / 2, r: strokeRadius }))))));\n    };\n    Spinner.defaultProps = {\n        delay: 100,\n        isCompleting: false,\n        invertColor: false,\n        onComplete: function () { },\n        size: 'medium',\n    };\n    return Spinner;\n}(Component));\nexport default Spinner;\nvar templateObject_1;\n//# sourceMappingURL=index.js.map","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n  /* istanbul ignore next */\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction createStyleElement(options) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', options.key);\n\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce);\n  }\n\n  tag.appendChild(document.createTextNode(''));\n  tag.setAttribute('data-s', '');\n  return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  function StyleSheet(options) {\n    var _this = this;\n\n    this._insertTag = function (tag) {\n      var before;\n\n      if (_this.tags.length === 0) {\n        if (_this.insertionPoint) {\n          before = _this.insertionPoint.nextSibling;\n        } else if (_this.prepend) {\n          before = _this.container.firstChild;\n        } else {\n          before = _this.before;\n        }\n      } else {\n        before = _this.tags[_this.tags.length - 1].nextSibling;\n      }\n\n      _this.container.insertBefore(tag, before);\n\n      _this.tags.push(tag);\n    };\n\n    this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n    this.tags = [];\n    this.ctr = 0;\n    this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n    this.key = options.key;\n    this.container = options.container;\n    this.prepend = options.prepend;\n    this.insertionPoint = options.insertionPoint;\n    this.before = null;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.hydrate = function hydrate(nodes) {\n    nodes.forEach(this._insertTag);\n  };\n\n  _proto.insert = function insert(rule) {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this));\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    if (process.env.NODE_ENV !== 'production') {\n      var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n      }\n      this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n    }\n\n    if (this.isSpeedy) {\n      var sheet = sheetForTag(tag);\n\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n          console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule));\n    }\n\n    this.ctr++;\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode && tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0;\n\n    if (process.env.NODE_ENV !== 'production') {\n      this._alreadyInsertedOrderInsensitiveRule = false;\n    }\n  };\n\n  return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n  var previous = 0;\n  var character = 0;\n\n  while (true) {\n    previous = character;\n    character = peek(); // &\\f\n\n    if (previous === 38 && character === 12) {\n      points[index] = 1;\n    }\n\n    if (token(character)) {\n      break;\n    }\n\n    next();\n  }\n\n  return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n  // pretend we've started with a comma\n  var index = -1;\n  var character = 44;\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1;\n        }\n\n        parsed[index] += identifierWithPointTracking(position - 1, points, index);\n        break;\n\n      case 2:\n        parsed[index] += delimit(character);\n        break;\n\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : '';\n          points[index] = parsed[index].length;\n          break;\n        }\n\n      // fallthrough\n\n      default:\n        parsed[index] += from(character);\n    }\n  } while (character = next());\n\n  return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n  return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n  if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n  // negative .length indicates that this rule has been already prefixed\n  element.length < 1) {\n    return;\n  }\n\n  var value = element.value,\n      parent = element.parent;\n  var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent;\n    if (!parent) return;\n  } // short-circuit for the simplest case\n\n\n  if (element.props.length === 1 && value.charCodeAt(0) !== 58\n  /* colon */\n  && !fixedElements.get(parent)) {\n    return;\n  } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n  if (isImplicitRule) {\n    return;\n  }\n\n  fixedElements.set(element, true);\n  var points = [];\n  var rules = getRules(value, points);\n  var parentRules = parent.props;\n\n  for (var i = 0, k = 0; i < rules.length; i++) {\n    for (var j = 0; j < parentRules.length; j++, k++) {\n      element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n    }\n  }\n};\nvar removeLabel = function removeLabel(element) {\n  if (element.type === 'decl') {\n    var value = element.value;\n\n    if ( // charcode for l\n    value.charCodeAt(0) === 108 && // charcode for b\n    value.charCodeAt(2) === 98) {\n      // this ignores label\n      element[\"return\"] = '';\n      element.value = '';\n    }\n  }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n  return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n  return function (element, index, children) {\n    if (element.type !== 'rule' || cache.compat) return;\n    var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n    if (unsafePseudoClasses) {\n      var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n\n      var commentContainer = isNested ? element.parent.children : // global rule at the root level\n      children;\n\n      for (var i = commentContainer.length - 1; i >= 0; i--) {\n        var node = commentContainer[i];\n\n        if (node.line < element.line) {\n          break;\n        } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n\n\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return;\n          }\n\n          break;\n        }\n      }\n\n      unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n        console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n      });\n    }\n  };\n};\n\nvar isImportRule = function isImportRule(element) {\n  return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n  for (var i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n  element.type = '';\n  element.value = '';\n  element[\"return\"] = '';\n  element.children = '';\n  element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n  if (!isImportRule(element)) {\n    return;\n  }\n\n  if (element.parent) {\n    console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n    nullifyElement(element);\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n    nullifyElement(element);\n  }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value;\n    // appearance, user-select, transform, hyphens, text-size-adjust\n\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value;\n    // flex, flex-direction\n\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value;\n    // order\n\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value;\n    // align-items\n\n    case 5187:\n      return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n    // align-self\n\n    case 5443:\n      return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n    // align-content\n\n    case 4675:\n      return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n    // flex-shrink\n\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n    // flex-basis\n\n    case 5292:\n      return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n    // flex-grow\n\n    case 6060:\n      return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n    // transition\n\n    case 4554:\n      return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n    // cursor\n\n    case 6187:\n      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n    // background, background-image\n\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // justify-content\n\n    case 4968:\n      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n    // (margin|padding)-inline-(start|end)\n\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (m)ax-content, (m)in-content\n        case 109:\n          // -\n          if (charat(value, length + 4) !== 45) break;\n        // (f)ill-available, (f)it-content\n\n        case 102:\n          return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n        // (s)tretch\n\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n    // position: sticky\n\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break;\n    // display: (flex|inline-flex)\n\n    case 6444:\n      switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value;\n        // (inline-)?fl(e)x\n\n        case 101:\n          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n      }\n\n      break;\n    // writing-mode\n\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n        // vertical-r(l)\n\n        case 108:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n        // horizontal(-)tb\n\n        case 45:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n      }\n\n      return WEBKIT + value + MS + value + value;\n  }\n\n  return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n  if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n    case DECLARATION:\n      element[\"return\"] = prefix(element.value, element.length);\n      break;\n\n    case KEYFRAMES:\n      return serialize([copy(element, {\n        value: replace(element.value, '@', '@' + WEBKIT)\n      })], callback);\n\n    case RULESET:\n      if (element.length) return combine(element.props, function (value) {\n        switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n          // :read-(only|write)\n          case ':read-only':\n          case ':read-write':\n            return serialize([copy(element, {\n              props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n            })], callback);\n          // :placeholder\n\n          case '::placeholder':\n            return serialize([copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n            })], callback);\n        }\n\n        return '';\n      });\n  }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n  var key = options.key;\n\n  if (process.env.NODE_ENV !== 'production' && !key) {\n    throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n  }\n\n  if (key === 'css') {\n    var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n\n    Array.prototype.forEach.call(ssrStyles, function (node) {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return;\n      }\n      document.head.appendChild(node);\n      node.setAttribute('data-s', '');\n    });\n  }\n\n  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var inserted = {};\n  var container;\n  var nodesToHydrate = [];\n\n  {\n    container = options.container || document.head;\n    Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n    document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n      var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n      for (var i = 1; i < attrib.length; i++) {\n        inserted[attrib[i]] = true;\n      }\n\n      nodesToHydrate.push(node);\n    });\n  }\n\n  var _insert;\n\n  var omnipresentPlugins = [compat, removeLabel];\n\n  if (process.env.NODE_ENV !== 'production') {\n    omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n      get compat() {\n        return cache.compat;\n      }\n\n    }), incorrectImportAlarm);\n  }\n\n  {\n    var currentSheet;\n    var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n      if (!element.root) {\n        if (element[\"return\"]) {\n          currentSheet.insert(element[\"return\"]);\n        } else if (element.value && element.type !== COMMENT) {\n          // insert empty rule in non-production environments\n          // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n          currentSheet.insert(element.value + \"{}\");\n        }\n      }\n    } : rulesheet(function (rule) {\n      currentSheet.insert(rule);\n    })];\n    var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n    var stylis = function stylis(styles) {\n      return serialize(compile(styles), serializer);\n    };\n\n    _insert = function insert(selector, serialized, sheet, shouldCache) {\n      currentSheet = sheet;\n\n      if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n        currentSheet = {\n          insert: function insert(rule) {\n            sheet.insert(rule + serialized.map);\n          }\n        };\n      }\n\n      stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true;\n      }\n    };\n  }\n\n  var cache = {\n    key: key,\n    sheet: new StyleSheet({\n      key: key,\n      container: container,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted: inserted,\n    registered: {},\n    insert: _insert\n  };\n  cache.sheet.hydrate(nodesToHydrate);\n  return cache;\n};\n\nexport { createCache as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","var _ref, _process, _process$env, _process2, _process2$env;\n// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID\n// https://jestjs.io/docs/environment-variables#jest_worker_id\nconst TESTS_MODE = (_ref = (globalThis === null || globalThis === void 0 ? void 0 : (_process = globalThis.process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.JEST_WORKER_ID) !== undefined) !== null && _ref !== void 0 ? _ref : false;\nconst DEBUG_MODE = !TESTS_MODE && (globalThis === null || globalThis === void 0 ? void 0 : (_process2 = globalThis.process) === null || _process2 === void 0 ? void 0 : (_process2$env = _process2.env) === null || _process2$env === void 0 ? void 0 : _process2$env.NODE_ENV) !== 'production';\nexport const debug = (...args) => {\n  if (!DEBUG_MODE) {\n    return;\n  }\n\n  // eslint-disable-next-line no-console\n  console.debug(...args);\n};","import { debug } from './debug';\nconst pkgName = '@atlaskit/platform-feature-flags';\nexport const PFF_GLOBAL_KEY = '__PLATFORM_FEATURE_FLAGS__';\nconst hasProcessEnv = typeof process !== 'undefined' && typeof process.env !== 'undefined';\n\n// FF global overrides can be configured by test runners or Storybook\nconst ENV_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['ENABLE_PLATFORM_FF'] === 'true' : false;\n\n// STORYBOOK_ENABLE_PLATFORM_FF is included as storybook only allows env vars prefixed with STORYBOOK\n// https://github.com/storybookjs/storybook/issues/12270\n\nconst ENV_STORYBOOK_ENABLE_PLATFORM_FF = hasProcessEnv ?\n// Use global \"process\" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin\nprocess.env['STORYBOOK_ENABLE_PLATFORM_FF'] === 'true' : false;\nconst ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE = ENV_ENABLE_PLATFORM_FF || ENV_STORYBOOK_ENABLE_PLATFORM_FF;\nconst DEFAULT_PFF_GLOBAL = {\n  // In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.\n  // This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.\n  earlyResolvedFlags: new Map(),\n  booleanResolver: function (flagKey) {\n    if (process.env.NODE_ENV !== 'production') {\n      const unresolvedFlagCount = this.earlyResolvedFlags.get(flagKey) || 0;\n      this.earlyResolvedFlags.set(flagKey, unresolvedFlagCount + 1);\n    }\n    return false;\n  }\n};\nconst globalVar = typeof window !== 'undefined' ? window : globalThis;\nglobalVar[PFF_GLOBAL_KEY] = globalVar[PFF_GLOBAL_KEY] || DEFAULT_PFF_GLOBAL;\nexport function setBooleanResolver(resolver) {\n  globalVar[PFF_GLOBAL_KEY].booleanResolver = resolver;\n  if (process.env.NODE_ENV !== 'production') {\n    var _globalVar$PFF_GLOBAL, _globalVar$PFF_GLOBAL2;\n    if (((_globalVar$PFF_GLOBAL = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL === void 0 ? void 0 : (_globalVar$PFF_GLOBAL2 = _globalVar$PFF_GLOBAL.earlyResolvedFlags) === null || _globalVar$PFF_GLOBAL2 === void 0 ? void 0 : _globalVar$PFF_GLOBAL2.size) > 0) {\n      debug(`[%s]: The following list of Feature Flags were called, the following number of times, before setBooleanResolver.`, pkgName, Array.from(globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.entries()));\n      globalVar[PFF_GLOBAL_KEY].earlyResolvedFlags.clear();\n    }\n  }\n}\nexport function resolveBooleanFlag(flagKey) {\n  if (ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE) {\n    debug('[%s]: The feature flags were enabled while running tests. The flag \"%s\" will be always enabled.', pkgName, flagKey);\n    return true;\n  }\n  try {\n    var _globalVar$PFF_GLOBAL3;\n    const result = (_globalVar$PFF_GLOBAL3 = globalVar[PFF_GLOBAL_KEY]) === null || _globalVar$PFF_GLOBAL3 === void 0 ? void 0 : _globalVar$PFF_GLOBAL3.booleanResolver(flagKey);\n    if (typeof result !== 'boolean') {\n      // eslint-disable-next-line no-console\n      console.warn(`${flagKey} resolved to a non-boolean value, returning false for safety`);\n      return false;\n    }\n    return result;\n  } catch (e) {\n    return false;\n  }\n}","import { setBooleanResolver, resolveBooleanFlag } from './resolvers';\n\n/**\n * This creates a boolean flag resolver that allows calls to `getBooleanFF` inside of Platform components to use a Product's\n * feature flag client and LD project, rather than installing a feature flag client of their own, or passing those flags in via props.\n *\n * @param flagResolver\n */\nexport function setBooleanFeatureFlagResolver(flagResolver) {\n  setBooleanResolver(flagResolver);\n}\n\n/**\n * Returns the value of a feature flag. If the flag does not resolve, it returns the \"false\" as a default value.\n *\n * @param name\n */\nexport function getBooleanFF(name) {\n  return resolveBooleanFlag(name);\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B100, B75, DN10, DN200, DN30, DN40, DN600, DN90, N0, N10, N100, N200, 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, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? N100 : N40})`,\n  dark: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? DN200 : 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, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n};","import { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { R400 } from '@atlaskit/theme/colors';\nimport { codeFontFamily, fontFamily, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize 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};\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    boxShadow: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? `inset 0 0 0 1px ${borderColorFocus[appearance][mode]}` : undefined\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    boxShadow: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? `inset 0 0 0 1px ${invalidRules[mode].borderColor}` : undefined\n  },\n  '&[data-invalid]:focus-within': {\n    backgroundColor: invalidRules[mode].backgroundColorFocus,\n    borderColor: invalidRules[mode].borderColorFocus,\n    boxShadow: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? `inset 0 0 0 1px ${invalidRules[mode].borderColorFocus}` : undefined\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});\nconst widthMap = {\n  xsmall: 80,\n  small: 160,\n  medium: 240,\n  large: 320,\n  xlarge: 480\n};\nconst getMaxWidth = width => !width ? `100%` : width in widthMap ? widthMap[width] : +width;\nexport const containerStyles = (appearance, mode, width) => ({\n  alignItems: 'center',\n  ...getContainerTextBgAndBorderColor(appearance, mode),\n  borderRadius: 3,\n  borderWidth: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? 1 : 2,\n  // add 1px padding on both top and bottom to keep the same overall height after border reduced from 2px to 1px under feature flag\n  ...(getBooleanFF('platform.design-system-team.update-border-input_ff9l1') && appearance !== 'none' ? {\n    padding: '1px 0'\n  } : {}),\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});\n\n// TODO: Remove when removing legacy theming.\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/** @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.5.0\"\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    if (target.tagName !== 'INPUT') {\n      event.preventDefault();\n    }\n    if (inputRef && inputRef.current && !isDisabled && document.activeElement !== inputRef.current) {\n      inputRef.current.focus();\n    }\n    onMouseDown && onMouseDown(event);\n  }, [onMouseDown, isDisabled]);\n  const setInputRef = useCallback(inputElement => {\n    inputRef.current = inputElement;\n    if (!ref) {\n      return;\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    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 (\n    // 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\n      // 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\n      // 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/**\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 */\nexport default /*#__PURE__*/memo(Textfield);\n// 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 { useEffect, useState } from 'react';\n\nexport function useDebounce<T>(value: T, delay: number): T {\n  const [debouncedValue, setDebouncedValue] = useState(value);\n\n  useEffect(() => {\n    const handler = setTimeout(() => {\n      setDebouncedValue(value);\n    }, delay);\n    return () => {\n      clearTimeout(handler);\n    };\n  }, [value]);\n\n  return debouncedValue;\n}\n","import { IStargateClient } from '@atlassiansox/asc-stargate';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport debounce from 'lodash.debounce';\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { AnalyticsTrackType } from '../model';\n\nexport type SiteNameValidation = {\n  readonly isValidating: boolean;\n  readonly isValid: boolean;\n  readonly message?: string;\n};\n\nexport function useSiteNameValidation(\n  siteName: string,\n  analyticsTrack: AnalyticsTrackType,\n  isDeferredSiteNameEnabled?: boolean,\n  activateProductError?: boolean\n): SiteNameValidation {\n  const [{ isValidating, isValid, message }, setValidation] =\n    useState<SiteNameValidation>({\n      isValidating: false,\n      isValid: false\n    });\n  const stargateClient = useStargateClient();\n  const re = /^[a-z0-9]+[a-z0-9-]+[a-z0-9]+$/;\n\n  useEffect(() => {\n    validateSiteNameDebounced.cancel();\n    if (siteName.length === 0) {\n      if (isDeferredSiteNameEnabled) {\n        return setValidation({\n          isValidating: false,\n          isValid: true\n        });\n      } else if (isValid !== false) {\n        return setValidation({\n          isValidating: false,\n          isValid: false,\n          message: 'Site name is required'\n        });\n      } else {\n        return;\n      }\n    } else if (siteName.length < 3) {\n      return setValidation({\n        isValidating: false,\n        isValid: false,\n        message:\n          'Your site name must be at least 3 characters long. Use only lowercase letters and numbers.'\n      });\n    } else if (siteName.length > 50) {\n      return setValidation({\n        isValidating: false,\n        isValid: false,\n        message: \"That's a bit too long — try something 50 characters or less.\"\n      });\n    } else if (!siteName.match(re)) {\n      return setValidation({\n        isValidating: false,\n        isValid: false,\n        message:\n          'Your site name must be at least 3 characters long. Use only lowercase letters and numbers.'\n      });\n    } else if (activateProductError) {\n      return setValidation({\n        isValidating: false,\n        isValid: false,\n        message: 'This site name is already taken. Please try another name.'\n      });\n    } else {\n      setValidation({ isValidating: true, isValid: false });\n      void validateSiteNameDebounced(\n        siteName,\n        setValidation,\n        analyticsTrack,\n        stargateClient\n      );\n    }\n  }, [siteName, activateProductError]);\n\n  return { isValidating, isValid, message };\n}\n\nconst validateSiteNameDebounced = debounce(validateSiteName, 1000, {\n  trailing: true\n});\n\nasync function validateSiteName(\n  siteName: string,\n  setValidation: Dispatch<SetStateAction<SiteNameValidation>>,\n  analyticsTrack: AnalyticsTrackType,\n  stargateClient: IStargateClient\n) {\n  const { newRelic } = analyticsTrack;\n  try {\n    const { availability } = await stargateClient.checkCloudNameAvailability({\n      cloudName: siteName,\n      webPlatform: 'magnolia'\n    });\n    newRelic.trackAjax(\n      'react-signup-site-validation',\n      { status: '200', apiUrl: 'site-availability-url' },\n      true\n    );\n    switch (availability) {\n      case 'AVAILABLE':\n        return setValidation({ isValidating: false, isValid: true });\n      default:\n        return setValidation({\n          isValidating: false,\n          isValid: false,\n          message: 'Site name is unavailable'\n        });\n    }\n  } catch (error) {\n    newRelic.trackAjax('react-signup-site-validation', error, false);\n    return setValidation({\n      isValidating: false,\n      isValid: false,\n      message: 'Network error'\n    });\n  }\n}\n","export var NetworkStatus;\n(function (NetworkStatus) {\n    NetworkStatus[NetworkStatus[\"OFFLINE\"] = 0] = \"OFFLINE\";\n    NetworkStatus[NetworkStatus[\"ONLINE\"] = 1] = \"ONLINE\";\n})(NetworkStatus || (NetworkStatus = {}));\n","import _mapValues from 'lodash/mapValues';\n// look at these beautiful beasts\nexport var objectKeys = function (object) { return Object.keys(object); };\nexport var objectValues = function (object) { return objectKeys(object).map(function (key) { return object[key]; }); };\nexport var objectValuesToString = function (object) {\n    return _mapValues(object, function (value) { return String(value); });\n};\nexport var isType = function (type, value) { return objectValues(type).indexOf(value) > -1; };\nexport var hasKey = function (type, value) { return objectKeys(type).indexOf(value) > -1; };\n","import { NetworkStatus } from './types';\nvar Network = /** @class */ (function () {\n    function Network(_a) {\n        var _this = this;\n        var onOnlineCallback = _a.onOnlineCallback;\n        this.networkStatus = NetworkStatus.ONLINE;\n        window.addEventListener('offline', function () {\n            _this.networkStatus = NetworkStatus.OFFLINE;\n        });\n        window.addEventListener('online', function () {\n            _this.networkStatus = NetworkStatus.ONLINE;\n            onOnlineCallback();\n        });\n    }\n    Object.defineProperty(Network.prototype, \"status\", {\n        get: function () {\n            // if ('onLine' in navigator) {\n            //   return navigator.onLine ? NetworkStatus.ONLINE : NetworkStatus.OFFLINE;\n            // }\n            return this.networkStatus;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    return Network;\n}());\nexport default Network;\n","import { __assign } from \"tslib\";\nimport { objectValuesToString } from '../../../common/utils/object-utils';\nimport { NetworkStatus } from './types';\nimport Network from './network';\nvar promisifiedBeacon = function (url, blob) {\n    return new Promise(function (resolve, reject) {\n        try {\n            var status_1 = navigator.sendBeacon(url, blob);\n            if (status_1) {\n                resolve(status_1);\n            }\n            else {\n                reject(status_1);\n            }\n        }\n        catch (e) {\n            console.warn('MetalSender: sendBeacon failure');\n        }\n    });\n};\nvar promisifiedXHR = function (url, body) {\n    return new Promise(function (resolve, reject) {\n        var xhr = new XMLHttpRequest();\n        xhr.open('POST', url);\n        xhr.setRequestHeader('Content-Type', 'text/plain');\n        xhr.send(body);\n        xhr.onerror = reject;\n        xhr.onload = resolve;\n        xhr.ontimeout = resolve;\n    });\n};\n/**\n * Responsible for sending metric, log.. etc payloads\n * Configured by MetalClient directly\n */\nvar Sender = /** @class */ (function () {\n    function Sender(_a) {\n        var url = _a.url, meta = _a.meta, metalId = _a.metalId, synthetic = _a.synthetic, _b = _a.forceXHR, forceXHR = _b === void 0 ? false : _b;\n        /**\n         * Time between network retries\n         */\n        this.retryInterval = 30000;\n        /**\n         * buffer to hold things that fail due to network connectivity\n         */\n        this.buffer = [];\n        /**\n         * Favor using XHR over Beacon API\n         */\n        this.forceXHR = false;\n        this.url = url;\n        this.meta = meta;\n        this.metalId = metalId;\n        this.forceXHR = forceXHR;\n        this.network = new Network({ onOnlineCallback: this.restartSending.bind(this) });\n        this.sendData = this.sendData.bind(this);\n        this.synthetic = synthetic;\n    }\n    Sender.prototype.updateMeta = function (meta) {\n        this.meta = __assign(__assign({}, this.meta), meta);\n    };\n    Sender.prototype.restartSending = function () {\n        var _this = this;\n        this.buffer.forEach(function (payload) { return _this.sendData(payload); });\n        this.buffer = [];\n    };\n    Sender.prototype.sendBeacon = function (blob) {\n        return promisifiedBeacon(this.url, blob);\n    };\n    Sender.prototype.sendXHR = function (type, data, retries) {\n        var _this = this;\n        if (retries === void 0) { retries = 1; }\n        return promisifiedXHR(this.url, data).catch(function () {\n            if (retries < 3) {\n                var retryIn = retries * _this.retryInterval;\n                console.warn(\"MetalSender: Receiver not responding, will retry in \" + Math.floor(retryIn / 1000) + \"s\");\n                setTimeout(function () { return _this.sendXHR(type, data, retries + 1); }, retryIn);\n            }\n            else {\n                console.warn(\"MetalSender: Max retries reached, payload (\" + type + \") failed to send\");\n            }\n        });\n    };\n    Sender.prototype.sendData = function (_a) {\n        var type = _a.type, data = _a.data;\n        if (this.network.status === NetworkStatus.OFFLINE) {\n            this.buffer.push({ type: type, data: data });\n            return Promise.resolve(null);\n        }\n        var metalId = this.metalId;\n        var meta = objectValuesToString(this.meta);\n        var body = __assign({ type: type,\n            meta: meta,\n            metalId: metalId,\n            data: data }, (this.synthetic !== undefined ? { synthetic: String(this.synthetic) } : {}));\n        if (!navigator.sendBeacon || this.forceXHR) {\n            return this.sendXHR(type, JSON.stringify(body));\n        }\n        var headers = {\n            type: 'application/json',\n        };\n        var blob = new Blob([JSON.stringify(body)], headers);\n        return this.sendBeacon(blob);\n    };\n    /**\n     * This is the public facing API for the sender; although this function\n     * is intended for internal consumption by the MetalCore Classes.\n     *\n     * @param buffer {T[]}    An array of payload body type\n     * @param type   {T}      A type of MetalCore eg, 'log', 'metric', etc...\n     * @param meta   {object} Any additional meta info for this payload (global meta info)\n     */\n    Sender.prototype.send = function (buffer, type) {\n        if (buffer === void 0) { buffer = []; }\n        if (buffer.length < 1)\n            return;\n        this.sendData({\n            type: type,\n            data: buffer,\n        }).catch(function (e) {\n            // Catch rejection or any potential exceptions surfaced from promise.\n            // e.g. Safari AdBlock is blocking access to metal and incurs a\n            // promise rejection in promisifiedBeacon\n            console.warn('MetalSender: sendData failure:', e);\n        });\n    };\n    return Sender;\n}());\nexport default Sender;\n","var Hookable = /** @class */ (function () {\n    function Hookable(_a) {\n        var hook = _a.hook;\n        this.hook = hook;\n    }\n    return Hookable;\n}());\nexport default Hookable;\nexport * from './types';\n","import { __assign } from \"tslib\";\nvar Queue = /** @class */ (function () {\n    function Queue(settings, callback) {\n        var _this = this;\n        this.buffer = [];\n        this.settings = settings;\n        this.callback = callback;\n        this.intervalHandle = setInterval(this.flush.bind(this), this.settings.flushInterval);\n        window.addEventListener('beforeunload', function () {\n            if (_this.intervalHandle) {\n                clearInterval(_this.intervalHandle);\n            }\n        });\n    }\n    Queue.prototype.flush = function () {\n        this.callback(this.buffer, this.settings.bufferType);\n        // TODO: there is potential data loss here if the send call fails\n        // FIX ME Probably handle in sender tho.\n        this.buffer = [];\n    };\n    Queue.prototype.enqueue = function (payload) {\n        this.buffer.push(payload);\n        var maxBufferSize = this.settings.maxBufferSize;\n        if (maxBufferSize > 0 && this.buffer.length >= maxBufferSize) {\n            this.flush();\n        }\n    };\n    Queue.prototype.updateSettings = function (newSettings) {\n        this.settings = __assign(__assign({}, this.settings), newSettings);\n        if (newSettings.flushInterval) {\n            clearInterval(this.intervalHandle);\n            this.intervalHandle = setInterval(this.flush.bind(this), newSettings.flushInterval);\n        }\n    };\n    return Queue;\n}());\nexport default Queue;\n","import { __extends } from \"tslib\";\nimport Hookable from '../../common/hookable';\nimport { CoreType } from '..';\n/**\n * Used from instances of MetalClient to submit errors.\n * - Sends a metric based on the scope of error\n * - Can/Will also be responsible for RavenJS in future.\n *\n * @method submit\n *\n */\nvar ErrorModel = /** @class */ (function (_super) {\n    __extends(ErrorModel, _super);\n    function ErrorModel(_a) {\n        var hook = _a.hook;\n        return _super.call(this, { hook: hook }) || this;\n    }\n    ErrorModel.prototype.submit = function (error) {\n        this.hook({\n            type: CoreType.ERROR,\n            data: error,\n        });\n    };\n    return ErrorModel;\n}(Hookable));\nexport default ErrorModel;\nexport * from './types';\n","/**\n * Parts of the MetalCore\n */\nexport var CoreType;\n(function (CoreType) {\n    CoreType[\"METRIC\"] = \"metric\";\n    CoreType[\"ERROR\"] = \"error\";\n})(CoreType || (CoreType = {}));\nexport * from './error';\nexport * from './metric';\n","var ErrorMetricName;\n(function (ErrorMetricName) {\n    /** Page level */\n    ErrorMetricName[\"UNCAUGHT\"] = \"fe.error.uncaught\";\n    ErrorMetricName[\"REQUEST\"] = \"fe.error.request\";\n    ErrorMetricName[\"API\"] = \"fe.error.api\";\n    ErrorMetricName[\"GRAPHQL\"] = \"fe.error.graphql\";\n    ErrorMetricName[\"VALIDATION\"] = \"fe.error.validation\";\n    ErrorMetricName[\"INPUT\"] = \"fe.error.input\";\n    ErrorMetricName[\"UNHANDLED_PROMISE_REJECTION\"] = \"fe.error.unhandledrejection\";\n    /** Component level */\n    ErrorMetricName[\"COMPONENT\"] = \"fe.error.component\";\n    ErrorMetricName[\"COMPONENT_BOUNDARY\"] = \"fe.error.component.boundary\";\n    ErrorMetricName[\"COMPONENT_GRAPHQL\"] = \"fe.error.component.graphql\";\n    ErrorMetricName[\"COMPONENT_API\"] = \"fe.error.component.api\";\n})(ErrorMetricName || (ErrorMetricName = {}));\nvar PerformanceMetricName;\n(function (PerformanceMetricName) {\n    /** Page level */\n    PerformanceMetricName[\"APDEX\"] = \"fe.perf.apdex\";\n    PerformanceMetricName[\"SPEED_INDEX\"] = \"fe.perf.speedindex\";\n    PerformanceMetricName[\"TIME_TO_INTERACTIVE\"] = \"fe.perf.time_to_interactive\";\n    PerformanceMetricName[\"TIME_TO_INTERACTIVE_SLO\"] = \"fe.perf.time_to_interactive.slo\";\n    PerformanceMetricName[\"TIME_TO_FIRST_BYTE\"] = \"fe.perf.time_to_first_byte\";\n    PerformanceMetricName[\"FIRST_PAINT\"] = \"fe.perf.first_paint\";\n    PerformanceMetricName[\"FIRST_CONTENTFUL_PAINT\"] = \"fe.perf.first_contentful_paint\";\n    PerformanceMetricName[\"FIRST_MEANINGFUL_PAINT\"] = \"fe.perf.first_meaningful_paint\";\n    PerformanceMetricName[\"FIRST_MEANINGFUL_PAINT_SLO\"] = \"fe.perf.first_meaningful_paint.slo\";\n    PerformanceMetricName[\"FIRST_INPUT_DELAY\"] = \"fe.perf.first_input_delay\";\n    PerformanceMetricName[\"REQUEST_TIMING\"] = \"fe.perf.request_timing\";\n    PerformanceMetricName[\"REQUEST_TIMING_SLO\"] = \"fe.perf.request_timing.slo\";\n    PerformanceMetricName[\"RESOURCE_TIMING\"] = \"fe.perf.resource_timing\";\n    PerformanceMetricName[\"CACHE_HITS\"] = \"fe.perf.cache_hits\";\n    /** Component level */\n    PerformanceMetricName[\"COMPONENT_PREVIEW\"] = \"fe.perf.component.time_to_preview\";\n    PerformanceMetricName[\"COMPONENT_INTERACTIVE\"] = \"fe.perf.component.time_to_interactive\";\n    PerformanceMetricName[\"COMPONENT_READY\"] = \"fe.perf.component.time_to_ready\";\n    PerformanceMetricName[\"COMPONENT_READY_SLO\"] = \"fe.perf.component.time_to_ready.slo\";\n    PerformanceMetricName[\"COMPONENT_REQUEST_TIMING\"] = \"fe.perf.component.request_timing\";\n})(PerformanceMetricName || (PerformanceMetricName = {}));\nvar UserInteractionMetricName;\n(function (UserInteractionMetricName) {\n    UserInteractionMetricName[\"TASK_SUCCESS\"] = \"fe.user.task.success\";\n    UserInteractionMetricName[\"TASK_FAILURE\"] = \"fe.user.task.failure\";\n    UserInteractionMetricName[\"TASK_DURATION\"] = \"fe.user.task.duration\";\n    UserInteractionMetricName[\"TASK_TIME_TO_FEEDBACK\"] = \"fe.user.task.time_to_feedback\";\n    UserInteractionMetricName[\"TASK_TIME_TO_FEEDBACK_SLO\"] = \"fe.user.task.time_to_feedback.slo\";\n    UserInteractionMetricName[\"TASK_TIME_TO_COMPLETE\"] = \"fe.user.task.time_to_complete\";\n    UserInteractionMetricName[\"TASK_TIME_TO_COMPLETE_SLO\"] = \"fe.user.task.time_to_complete.slo\";\n})(UserInteractionMetricName || (UserInteractionMetricName = {}));\nexport { ErrorMetricName, PerformanceMetricName, UserInteractionMetricName };\n","export var PayloadType;\n(function (PayloadType) {\n    PayloadType[\"TIMING\"] = \"timing\";\n    PayloadType[\"GAUGE\"] = \"gauge\";\n    PayloadType[\"INCREMENT\"] = \"increment\";\n    PayloadType[\"DECREMENT\"] = \"decrement\";\n})(PayloadType || (PayloadType = {}));\n","var _a, _b;\nimport { __assign, __read, __spread } from \"tslib\";\nimport { ErrorMetricName, PerformanceMetricName, UserInteractionMetricName } from '../../catalog';\nimport { PayloadType, } from './types';\nexport var allowedMetricTypeMap = (_a = {},\n    _a[ErrorMetricName.UNCAUGHT] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.REQUEST] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.API] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.GRAPHQL] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.VALIDATION] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.INPUT] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.UNHANDLED_PROMISE_REJECTION] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.COMPONENT] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.COMPONENT_BOUNDARY] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.COMPONENT_GRAPHQL] = PayloadType.INCREMENT,\n    _a[ErrorMetricName.COMPONENT_API] = PayloadType.INCREMENT,\n    _a[PerformanceMetricName.APDEX] = PayloadType.TIMING,\n    _a[PerformanceMetricName.SPEED_INDEX] = PayloadType.TIMING,\n    _a[PerformanceMetricName.TIME_TO_INTERACTIVE] = PayloadType.TIMING,\n    _a[PerformanceMetricName.TIME_TO_INTERACTIVE_SLO] = PayloadType.INCREMENT,\n    _a[PerformanceMetricName.TIME_TO_FIRST_BYTE] = PayloadType.TIMING,\n    _a[PerformanceMetricName.FIRST_PAINT] = PayloadType.TIMING,\n    _a[PerformanceMetricName.FIRST_CONTENTFUL_PAINT] = PayloadType.TIMING,\n    _a[PerformanceMetricName.FIRST_MEANINGFUL_PAINT] = PayloadType.TIMING,\n    _a[PerformanceMetricName.FIRST_MEANINGFUL_PAINT_SLO] = PayloadType.INCREMENT,\n    _a[PerformanceMetricName.FIRST_INPUT_DELAY] = PayloadType.TIMING,\n    _a[PerformanceMetricName.REQUEST_TIMING] = PayloadType.TIMING,\n    _a[PerformanceMetricName.REQUEST_TIMING_SLO] = PayloadType.INCREMENT,\n    _a[PerformanceMetricName.RESOURCE_TIMING] = PayloadType.TIMING,\n    _a[PerformanceMetricName.CACHE_HITS] = PayloadType.INCREMENT,\n    _a[PerformanceMetricName.COMPONENT_PREVIEW] = PayloadType.TIMING,\n    _a[PerformanceMetricName.COMPONENT_INTERACTIVE] = PayloadType.TIMING,\n    _a[PerformanceMetricName.COMPONENT_READY] = PayloadType.TIMING,\n    _a[PerformanceMetricName.COMPONENT_READY_SLO] = PayloadType.INCREMENT,\n    _a[PerformanceMetricName.COMPONENT_REQUEST_TIMING] = PayloadType.TIMING,\n    _a[UserInteractionMetricName.TASK_SUCCESS] = PayloadType.INCREMENT,\n    _a[UserInteractionMetricName.TASK_FAILURE] = PayloadType.INCREMENT,\n    _a[UserInteractionMetricName.TASK_DURATION] = PayloadType.TIMING,\n    _a[UserInteractionMetricName.TASK_TIME_TO_FEEDBACK] = PayloadType.TIMING,\n    _a[UserInteractionMetricName.TASK_TIME_TO_FEEDBACK_SLO] = PayloadType.INCREMENT,\n    _a[UserInteractionMetricName.TASK_TIME_TO_COMPLETE] = PayloadType.TIMING,\n    _a[UserInteractionMetricName.TASK_TIME_TO_COMPLETE_SLO] = PayloadType.INCREMENT,\n    _a);\nexport var allowedTagsMap = {\n    component: 'component',\n    isActiveTab: 'active_tab',\n    isInitial: 'initial_load',\n    isSSR: 'ssr',\n    page: 'page',\n    success: 'success',\n    task: 'task',\n    taskId: 'task_id',\n    type: 'type',\n    histogramBuckets: 'gsd_histogram',\n};\nvar alwaysRequired = ['page'];\nvar alwaysOptional = ['isSSR', 'isActiveTab'];\nvar timersAlwaysOptional = ['histogramBuckets'];\nvar defaultRequirements = {\n    required: __spread(alwaysRequired),\n    optional: __spread(alwaysOptional),\n};\nvar defaultPerfRequirements = {\n    required: __spread(alwaysRequired),\n    optional: __spread(alwaysOptional, timersAlwaysOptional),\n};\nvar defaultSLORequirements = {\n    required: __spread(alwaysRequired, ['success']),\n    optional: __spread(alwaysOptional),\n};\nvar defaultComponentRequirements = {\n    required: __spread(alwaysRequired, ['component']),\n    optional: __spread(alwaysOptional),\n};\nvar defaultComponentPerfRequirements = {\n    required: __spread(alwaysRequired, ['component']),\n    optional: __spread(alwaysOptional, timersAlwaysOptional),\n};\nvar defaultTaskRequirements = {\n    required: __spread(alwaysRequired, ['task']),\n    optional: __spread(alwaysOptional, ['taskId']),\n};\nvar defaultTaskPerfRequirements = {\n    required: __spread(alwaysRequired, ['task']),\n    optional: __spread(alwaysOptional, timersAlwaysOptional, ['taskId']),\n};\nexport var metricAttributeRequirementsMap = (_b = {},\n    // Errors\n    _b[ErrorMetricName.UNCAUGHT] = defaultRequirements,\n    _b[ErrorMetricName.REQUEST] = defaultRequirements,\n    _b[ErrorMetricName.API] = defaultRequirements,\n    _b[ErrorMetricName.GRAPHQL] = defaultRequirements,\n    _b[ErrorMetricName.VALIDATION] = defaultRequirements,\n    _b[ErrorMetricName.INPUT] = defaultRequirements,\n    _b[ErrorMetricName.UNHANDLED_PROMISE_REJECTION] = defaultRequirements,\n    _b[ErrorMetricName.COMPONENT] = defaultComponentRequirements,\n    _b[ErrorMetricName.COMPONENT_BOUNDARY] = defaultComponentRequirements,\n    _b[ErrorMetricName.COMPONENT_GRAPHQL] = defaultComponentRequirements,\n    _b[ErrorMetricName.COMPONENT_API] = defaultComponentRequirements,\n    // Page Performance\n    _b[PerformanceMetricName.APDEX] = __assign(__assign({}, defaultRequirements), { optional: __spread(alwaysOptional, timersAlwaysOptional, ['isInitial']) }),\n    _b[PerformanceMetricName.SPEED_INDEX] = defaultPerfRequirements,\n    _b[PerformanceMetricName.TIME_TO_INTERACTIVE] = defaultPerfRequirements,\n    _b[PerformanceMetricName.TIME_TO_INTERACTIVE_SLO] = defaultSLORequirements,\n    _b[PerformanceMetricName.TIME_TO_FIRST_BYTE] = defaultPerfRequirements,\n    _b[PerformanceMetricName.FIRST_PAINT] = defaultPerfRequirements,\n    _b[PerformanceMetricName.FIRST_CONTENTFUL_PAINT] = defaultPerfRequirements,\n    _b[PerformanceMetricName.FIRST_MEANINGFUL_PAINT] = defaultPerfRequirements,\n    _b[PerformanceMetricName.FIRST_MEANINGFUL_PAINT_SLO] = defaultSLORequirements,\n    _b[PerformanceMetricName.FIRST_INPUT_DELAY] = defaultPerfRequirements,\n    _b[PerformanceMetricName.REQUEST_TIMING] = __assign(__assign({}, defaultPerfRequirements), { optional: __spread(alwaysOptional, timersAlwaysOptional, ['type']) }),\n    _b[PerformanceMetricName.REQUEST_TIMING_SLO] = {\n        required: __spread(alwaysRequired, ['success']),\n        optional: __spread(alwaysOptional, ['type']),\n    },\n    _b[PerformanceMetricName.RESOURCE_TIMING] = __assign(__assign({}, defaultPerfRequirements), { optional: __spread(alwaysOptional, timersAlwaysOptional, ['type']) }),\n    _b[PerformanceMetricName.CACHE_HITS] = defaultRequirements,\n    // Component Performance\n    _b[PerformanceMetricName.COMPONENT_PREVIEW] = defaultComponentPerfRequirements,\n    _b[PerformanceMetricName.COMPONENT_INTERACTIVE] = defaultComponentPerfRequirements,\n    _b[PerformanceMetricName.COMPONENT_REQUEST_TIMING] = defaultComponentPerfRequirements,\n    _b[PerformanceMetricName.COMPONENT_READY] = defaultComponentPerfRequirements,\n    _b[PerformanceMetricName.COMPONENT_READY_SLO] = __assign(__assign({}, defaultRequirements), { required: __spread(alwaysRequired, ['component', 'success']) }),\n    // User Interaction (Tasks)\n    _b[UserInteractionMetricName.TASK_SUCCESS] = defaultTaskRequirements,\n    _b[UserInteractionMetricName.TASK_FAILURE] = defaultTaskRequirements,\n    _b[UserInteractionMetricName.TASK_DURATION] = defaultTaskPerfRequirements,\n    _b[UserInteractionMetricName.TASK_TIME_TO_FEEDBACK] = defaultTaskPerfRequirements,\n    _b[UserInteractionMetricName.TASK_TIME_TO_FEEDBACK_SLO] = __assign(__assign({}, defaultTaskRequirements), { required: __spread(alwaysRequired, ['task', 'success']) }),\n    _b[UserInteractionMetricName.TASK_TIME_TO_COMPLETE] = defaultTaskPerfRequirements,\n    _b[UserInteractionMetricName.TASK_TIME_TO_COMPLETE_SLO] = __assign(__assign({}, defaultTaskRequirements), { required: __spread(alwaysRequired, ['task', 'success']) }),\n    _b);\n","import { __extends } from \"tslib\";\nimport Hookable from '../../common/hookable';\nimport Queue from '../transport/queue';\nimport { CoreType } from '..';\nimport { hasKey, objectKeys } from '../../common/utils/object-utils';\nimport { allowedTagsMap, allowedMetricTypeMap, metricAttributeRequirementsMap } from './constants';\nimport { PayloadType } from './types';\nvar defaultSettings = {\n    sampleRate: 1,\n    maxBufferSize: 10,\n    flushInterval: 1000,\n};\n/**\n * Used by MetalClient to send Metrics\n *\n * Can be instantiated seperatedly if you also provide an instance of MetalSender.\n * Includes the following public methods.\n *\n * @method increment\n * @method decrement\n * @method timing\n * @method gauge\n *\n * @see Sender\n * @see MetalClient\n */\nvar assertHasValue = function (metric) {\n    if (metric.value === undefined) {\n        throw new Error(\"Missing value for metric \" + metric.name);\n    }\n    if (typeof metric.value !== 'number') {\n        throw new Error(\"Value for metric \" + metric.name + \" is of type \" + typeof metric.value + \" and not a number\");\n    }\n};\n// Note: we are allowing values of 0 to be submitted\n// Reference: https://github.com/brightcove/hot-shots/blob/master/lib/statsFunctions.js#L110\nvar valueOrDefault = function (metric, defaultValue) {\n    return metric.value === undefined || typeof metric.value !== 'number' ? defaultValue : metric.value;\n};\nvar MetricModel = /** @class */ (function (_super) {\n    __extends(MetricModel, _super);\n    function MetricModel(_a) {\n        var sender = _a.sender, _b = _a.settings, settings = _b === void 0 ? defaultSettings : _b, hook = _a.hook, pageVisibility = _a.pageVisibility;\n        var _this = _super.call(this, { hook: hook }) || this;\n        _this.sampleRate = settings.sampleRate;\n        _this.queue = new Queue(settings, sender.send.bind(sender));\n        _this.pageVisibility = pageVisibility;\n        return _this;\n    }\n    MetricModel.prototype.updateSettings = function (newSettings) {\n        this.queue.updateSettings(newSettings);\n    };\n    MetricModel.prototype.increment = function (metric) {\n        metric.value = valueOrDefault(metric, 1);\n        this.queue.enqueue(this.constructMetric(metric, PayloadType.INCREMENT));\n    };\n    MetricModel.prototype.decrement = function (metric) {\n        metric.value = valueOrDefault(metric, -1);\n        this.queue.enqueue(this.constructMetric(metric, PayloadType.DECREMENT));\n    };\n    MetricModel.prototype.timing = function (metric) {\n        assertHasValue(metric);\n        this.queue.enqueue(this.constructMetric(metric, PayloadType.TIMING));\n    };\n    MetricModel.prototype.gauge = function (metric) {\n        assertHasValue(metric);\n        this.queue.enqueue(this.constructMetric(metric, PayloadType.GAUGE));\n    };\n    /**\n     * Called by user directly as a manual entrypoint\n     *\n     * @param {UserMetric} metric The metadata required to send a configured metric\n     */\n    MetricModel.prototype.submit = function (metric) {\n        if (!hasKey(allowedMetricTypeMap, metric.name)) {\n            throw new Error('Invalid Metric provided to Metal');\n        }\n        var tags = [];\n        objectKeys(allowedTagsMap).forEach(function (key) {\n            if (hasKey(metric, key)) {\n                var metricObj = metric;\n                if (key === 'histogramBuckets') {\n                    var isBucketFormatRegex = /^([\\d+]_?)*\\d+$/;\n                    if ((metric.histogramBuckets && !isBucketFormatRegex.test(metric.histogramBuckets)) ||\n                        !metric.histogramBuckets) {\n                        throw new Error('Invalid Metric value: histogramBuckets');\n                    }\n                }\n                tags.push(allowedTagsMap[key] + \":\" + metricObj[key]);\n            }\n        });\n        var required = metricAttributeRequirementsMap[metric.name].required;\n        required.forEach(function (key) {\n            if (!hasKey(metric, key)) {\n                throw new Error(\"Required metric attribute \" + key + \" is missing\");\n            }\n        });\n        var name = metric.name, value = metric.value;\n        var method = allowedMetricTypeMap[name];\n        this[method]({\n            name: name,\n            value: value,\n            tags: tags,\n        });\n    };\n    MetricModel.prototype.constructMetric = function (_a, type) {\n        var name = _a.name, value = _a.value, _b = _a.tags, tags = _b === void 0 ? [] : _b;\n        var data = {\n            type: type,\n            name: name,\n            tags: tags,\n            value: value,\n            sampleRate: this.sampleRate,\n        };\n        // hook call to MetalClient callbacks\n        this.hook({\n            type: CoreType.METRIC,\n            data: data,\n        });\n        return data;\n    };\n    return MetricModel;\n}(Hookable));\nexport default MetricModel;\nexport * from './types';\n","var errors = {\n    metalhead: {\n        notfound: \"Metal: For TTI & FID metrics,\\n      you should include metal-head.min.js within <head>\\n      to setup observers and timings as early as possible.\",\n    },\n    metrics: {\n        browser: {\n            rootId: \"Metal: Browser Metrics:\\n        rootId must be supplied to instantiate this plugin\",\n        },\n    },\n    metalClient: {\n        metalId: \"Metal: Deprecation warning:\\n      Metal will require a metalId to determine config in future versions.\\n      Please update your client's config.\",\n    },\n    plugins: {\n        paint: {\n            unsupported: 'Metal: Performance Painting Timings: not supported by this browser',\n        },\n        interactive: {\n            longtask: 'Metal: Long task not supported',\n        },\n    },\n};\nexport { errors };\n","import { __read, __spread } from \"tslib\";\nvar CallbackProvider = /** @class */ (function () {\n    function CallbackProvider(_a) {\n        var _b = _a.callbacks, callbacks = _b === void 0 ? [] : _b;\n        this.callbacks = [];\n        // ensure we create a new array\n        this.callbacks = callbacks.map(function (callback) { return callback; });\n    }\n    CallbackProvider.prototype.doCallbacks = function () {\n        var data = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            data[_i] = arguments[_i];\n        }\n        this.callbacks.forEach(function (cb) { return cb.apply(void 0, __spread(data)); });\n    };\n    return CallbackProvider;\n}());\nexport default CallbackProvider;\nexport { CallbackProvider };\n","var _a;\nimport { PerformanceMetricName } from '../../catalog';\n// remove observer after 5 seconds\nvar TIMEOUT_THRESHOLD = 5000;\nvar BrowserMetricName;\n(function (BrowserMetricName) {\n    BrowserMetricName[\"FIRST_INPUT_DELAY\"] = \"first-input-delay\";\n    BrowserMetricName[\"TIME_TO_INTERACTIVE\"] = \"time-to-interactive\";\n    BrowserMetricName[\"FIRST_CONTENTFUL_PAINT\"] = \"first-contentful-paint\";\n    BrowserMetricName[\"FIRST_MEANINGFUL_PAINT\"] = \"first-meaningful-paint\";\n    BrowserMetricName[\"FIRST_PAINT\"] = \"first-paint\";\n    BrowserMetricName[\"RESOURCE_TIMING\"] = \"resource-timing\";\n    BrowserMetricName[\"REQUEST_TIMING\"] = \"request-timing\";\n})(BrowserMetricName || (BrowserMetricName = {}));\n/**\n * Maps User metric namespaces to StatsD Metric namespace\n */\nvar BROWSER_METRICS_MAP = (_a = {},\n    _a[BrowserMetricName.FIRST_INPUT_DELAY] = PerformanceMetricName.FIRST_INPUT_DELAY,\n    _a[BrowserMetricName.TIME_TO_INTERACTIVE] = PerformanceMetricName.TIME_TO_INTERACTIVE,\n    _a[BrowserMetricName.FIRST_CONTENTFUL_PAINT] = PerformanceMetricName.FIRST_CONTENTFUL_PAINT,\n    _a[BrowserMetricName.FIRST_PAINT] = PerformanceMetricName.FIRST_PAINT,\n    _a[BrowserMetricName.FIRST_MEANINGFUL_PAINT] = PerformanceMetricName.FIRST_MEANINGFUL_PAINT,\n    _a[BrowserMetricName.REQUEST_TIMING] = PerformanceMetricName.REQUEST_TIMING,\n    _a[BrowserMetricName.RESOURCE_TIMING] = PerformanceMetricName.RESOURCE_TIMING,\n    _a);\nexport { BrowserMetricName, BROWSER_METRICS_MAP, TIMEOUT_THRESHOLD };\n","import { __read, __spread } from \"tslib\";\nimport { TIMEOUT_THRESHOLD, BROWSER_METRICS_MAP } from '../constants';\nimport i18n from '../../../i18n';\n/**\n * PerformanceEntry => Metric\n * @param entry {PerformanceEntry}\n */\nvar normaliseData = function (_a) {\n    var name = _a.name, startTime = _a.startTime;\n    return ({\n        name: BROWSER_METRICS_MAP[name],\n        value: startTime,\n    });\n};\nvar normalisePaintPerformanceEntries = function (list) { return __spread(list).map(normaliseData); };\n// hang on to this guy;\nvar paintPerformanceObserverPromise;\n/**\n * TODO REWORK to deal with non compatible browsers\n *\n * This function needs to be super safe to work properly.\n *\n * 1. There's a chance the paint entries already exist by the time the script runs;\n *    in this case -- just use the entries.\n * 2. If not, use the performance observer.\n * 3. To ensure multiple calls don't confuse things we only ever return the same\n *    Promise instance.\n */\nvar getPaintTimingsWithPerformanceObserverAsync = function () {\n    if (!paintPerformanceObserverPromise) {\n        var performanceEntries = void 0;\n        try {\n            performanceEntries = performance.getEntriesByType('paint');\n        }\n        catch (e) {\n            performanceEntries = [];\n        }\n        if (performanceEntries.length) {\n            paintPerformanceObserverPromise = Promise.resolve(normalisePaintPerformanceEntries(performanceEntries));\n        }\n        else {\n            paintPerformanceObserverPromise = new Promise(function (resolve, reject) {\n                var observer = new PerformanceObserver(function (list) {\n                    var entries = list.getEntries();\n                    var normalisedData = normalisePaintPerformanceEntries(entries);\n                    // clean up observer\n                    observer.disconnect();\n                    // pass back data\n                    resolve(normalisedData);\n                });\n                try {\n                    observer.observe({ entryTypes: ['paint'] });\n                }\n                catch (e) {\n                    reject(e);\n                }\n            });\n        }\n    }\n    return paintPerformanceObserverPromise;\n};\nvar getPaintTimingsAsync = function () {\n    // this is best\n    if ('PerformanceObserver' in window) {\n        return getPaintTimingsWithPerformanceObserverAsync();\n    }\n    // else\n    if ('performance' in window) {\n        return new Promise(function (resolve) {\n            setTimeout(function () {\n                var performanceEntries = performance.getEntriesByType('paint');\n                resolve(__spread(performanceEntries).map(normaliseData));\n                // this ensures we never wait more than TIMEOUT_THRESHOLD\n            }, TIMEOUT_THRESHOLD - performance.now());\n        });\n    }\n    return Promise.reject(new Error(i18n.errors.plugins.paint.unsupported));\n};\nvar getFirstNavTiming = function () {\n    var _a = __read(performance.getEntriesByName('first-navigation'), 1), firstNavigationMark = _a[0];\n    var firstNavTiming = firstNavigationMark && firstNavigationMark.startTime;\n    // if no timing exists just use TIMEOUT_THRESHOLD\n    return firstNavTiming || TIMEOUT_THRESHOLD;\n};\nexport { getPaintTimingsAsync, getPaintTimingsWithPerformanceObserverAsync, getFirstNavTiming };\n","var _a;\nimport { __assign, __extends } from \"tslib\";\nimport noop from 'lodash/noop';\nimport { PerformanceMetricName } from '../../../catalog';\nimport { CallbackProvider } from '../../../common';\nimport { sendMetricTimingCallback, getPage } from '../utils';\nimport { getFIDAsync, getTTIAsync, getTTFBAsync } from './helpers';\nvar defaultCollectors = (_a = {},\n    _a[PerformanceMetricName.FIRST_INPUT_DELAY] = getFIDAsync,\n    _a[PerformanceMetricName.TIME_TO_INTERACTIVE] = getTTIAsync,\n    _a[PerformanceMetricName.TIME_TO_FIRST_BYTE] = getTTFBAsync,\n    _a);\nvar InteractiveMetricsPlugin = /** @class */ (function (_super) {\n    __extends(InteractiveMetricsPlugin, _super);\n    function InteractiveMetricsPlugin(_a) {\n        var _b = _a.callbacks, callbacks = _b === void 0 ? [] : _b, _c = _a.collectors, collectors = _c === void 0 ? {} : _c, _d = _a.histograms, histograms = _d === void 0 ? {} : _d;\n        var _this = _super.call(this, { callbacks: callbacks }) || this;\n        _this.histograms = {};\n        _this.page = '';\n        _this.supportedMetrics = [\n            PerformanceMetricName.FIRST_INPUT_DELAY,\n            PerformanceMetricName.TIME_TO_INTERACTIVE,\n            PerformanceMetricName.TIME_TO_FIRST_BYTE,\n        ];\n        _this.collectors = __assign(__assign({}, defaultCollectors), collectors);\n        _this.histograms = histograms;\n        return _this;\n    }\n    InteractiveMetricsPlugin.prototype.getTimings = function () {\n        var _this = this;\n        this.supportedMetrics.forEach(function (name) {\n            _this.collectors[name]()\n                .then(function (value) {\n                return _this.doCallbacks({\n                    metric: {\n                        name: name,\n                        value: value,\n                        page: _this.page,\n                    },\n                    histograms: _this.histograms,\n                    shouldCheckActiveTab: name !== PerformanceMetricName.FIRST_INPUT_DELAY,\n                });\n            })\n                .catch(noop);\n        });\n    };\n    InteractiveMetricsPlugin.prototype.install = function (client) {\n        this.page = getPage(client.pageTracker, true);\n        this.callbacks.push(sendMetricTimingCallback(client));\n        this.getTimings();\n    };\n    return InteractiveMetricsPlugin;\n}(CallbackProvider));\nexport { InteractiveMetricsPlugin as default };\n","import { __assign } from \"tslib\";\n// expects a kebab case formatted name\n// eg. first-meaningful-paint => fcp\nexport var nameToFirstLetters = function (name) {\n    return name\n        .split('-')\n        .map(function (word) { return word.slice(0, 1); })\n        .map(function (char) { return char.toLowerCase(); })\n        .join('');\n};\nexport var sendMetricTimingCallback = function (client) { return function (_a) {\n    var metric = _a.metric, _b = _a.histograms, histograms = _b === void 0 ? {} : _b, _c = _a.shouldCheckActiveTab, shouldCheckActiveTab = _c === void 0 ? false : _c;\n    if (shouldCheckActiveTab) {\n        var wasPreviouslyHidden = client.pageVisibility.wasPreviouslyHidden;\n        if (wasPreviouslyHidden) {\n            return;\n        }\n    }\n    client.metric.submit(metric);\n    if (histograms[metric.name]) {\n        client.metric.submit(__assign(__assign({}, metric), { histogramBuckets: histograms[metric.name] }));\n    }\n}; };\nexport var getPage = function (pageTracker, isInitial) {\n    if (pageTracker) {\n        if (isInitial) {\n            return pageTracker.initialPage;\n        }\n        return pageTracker.page;\n    }\n    return '';\n};\n","import { __assign, __awaiter, __extends, __generator, __read } from \"tslib\";\nimport noop from 'lodash/noop';\nimport { CallbackProvider } from '../../../common';\nimport { PerformanceMetricName } from '../../../catalog';\nimport { TIMEOUT_THRESHOLD } from '../constants';\nimport { sendMetricTimingCallback, getPage } from '../utils';\nimport { getPaintTimingsWithPerformanceObserverAsync, getPaintTimingsAsync, getFirstNavTiming, } from './helpers';\nvar config = { childList: true, subtree: true };\n/**\n * High level class instance used to get a best estimate for\n * First Meaningful Paint. By watching the root of the react tree for mutations\n * we can get a fairly good estimate as to when this occurs based on the delta of new nodes.\n */\nvar PaintMetricsPlugin = /** @class */ (function (_super) {\n    __extends(PaintMetricsPlugin, _super);\n    /* TODO\n      if rootId is not specified, PaintMetrics will still attempt to observe,\n      and do nothing presumably - handle this better.\n    */\n    function PaintMetricsPlugin(_a) {\n        var _b;\n        var _c = _a.rootId, rootId = _c === void 0 ? 'root' : _c, _d = _a.callbacks, callbacks = _d === void 0 ? [] : _d, _e = _a.collectors, collectors = _e === void 0 ? {} : _e, _f = _a.histograms, histograms = _f === void 0 ? {} : _f;\n        var _this = _super.call(this, { callbacks: callbacks }) || this;\n        _this.paintTimings = [];\n        _this.lastPaintCount = 0;\n        _this.histograms = {};\n        _this.page = '';\n        _this.observer = new MutationObserver(_this.getNewNodes.bind(_this));\n        _this.observer.observe(document.getElementById(rootId), config);\n        if ('PerformanceObserver' in window) {\n            getPaintTimingsWithPerformanceObserverAsync().catch(noop);\n        }\n        _this.collectors = __assign((_b = {}, _b[PerformanceMetricName.FIRST_MEANINGFUL_PAINT] = _this.getFirstMeaningfulPaintAsync.bind(_this), _b), collectors);\n        _this.histograms = histograms;\n        // remove observer after TIMEOUT_THRESHOLD\n        setTimeout(function () { return _this.observer.disconnect(); }, TIMEOUT_THRESHOLD);\n        return _this;\n    }\n    /**\n     * private function for\n     * new node callback\n     *\n     * @returns {PaintTiming}\n     */\n    PaintMetricsPlugin.prototype.createPaintTimingObject = function () {\n        var domSize = document.body.getElementsByTagName('*').length;\n        var domCountDelta = domSize - this.lastPaintCount;\n        this.lastPaintCount = domSize;\n        return { time: performance.now(), domSize: domSize, domCountDelta: domCountDelta };\n    };\n    /**\n     * private function for\n     * new node callback\n     *\n     * @returns {void}\n     */\n    PaintMetricsPlugin.prototype.getNewNodes = function () {\n        this.paintTimings.push(this.createPaintTimingObject());\n    };\n    /**\n     * Used internall to derive the class's FMP output.\n     *\n     * @param FCPtiming First Contentful Paint timing\n     * @returns {number} The FMP\n     */\n    PaintMetricsPlugin.prototype.getFirstMeaningfulPaint = function (FCPtiming) {\n        var firstNavTiming = getFirstNavTiming();\n        // omit any timing pre FCP and post first nav\n        var usefulTimings = this.paintTimings.filter(function (_a) {\n            var time = _a.time;\n            return time > FCPtiming && time < firstNavTiming;\n        });\n        // if there are no timings; FCP === FMP so just return FCP\n        if (!usefulTimings.length) {\n            return FCPtiming;\n        }\n        // else we want the _biggest_ layout change that has occurred since FCP\n        var _a = __read(usefulTimings.sort(function (_a, _b) {\n            var b = _a.domCountDelta;\n            var a = _b.domCountDelta;\n            return a - b;\n        }), 1), time = _a[0].time;\n        return time;\n    };\n    PaintMetricsPlugin.prototype.getFirstMeaningfulPaintAsync = function (FCPtiming) {\n        var _this = this;\n        var DEFER_CALLBACK = TIMEOUT_THRESHOLD - performance.now();\n        return new Promise(function (resolve) {\n            setTimeout(function () { return resolve(_this.getFirstMeaningfulPaint(FCPtiming)); }, DEFER_CALLBACK);\n        });\n    };\n    /**\n     * Runs the Paint Metrics plugin.\n     *\n     * @param client An instance of MetalClient\n     */\n    PaintMetricsPlugin.prototype.install = function (client) {\n        this.page = getPage(client.pageTracker, true);\n        this.callbacks.push(sendMetricTimingCallback(client));\n        this.getTimings();\n    };\n    /**\n     * Destroys the Paint Metrics plugin and its references\n     */\n    PaintMetricsPlugin.prototype.destroy = function () {\n        this.observer.disconnect();\n    };\n    PaintMetricsPlugin.prototype.handleCallbacks = function (_a) {\n        var name = _a.name, value = _a.value;\n        this.doCallbacks({\n            metric: { name: name, value: value, page: this.page },\n            histograms: this.histograms,\n            shouldCheckActiveTab: true,\n        });\n    };\n    /**\n     * Get the paint timings, and runs the internal callbacks to expose the results to its subscribers.\n     */\n    PaintMetricsPlugin.prototype.getTimings = function () {\n        return __awaiter(this, void 0, void 0, function () {\n            var paints, fcp, name_1, value, e_1;\n            return __generator(this, function (_a) {\n                switch (_a.label) {\n                    case 0:\n                        _a.trys.push([0, 3, , 4]);\n                        return [4 /*yield*/, getPaintTimingsAsync()];\n                    case 1:\n                        paints = _a.sent();\n                        paints.forEach(this.handleCallbacks.bind(this));\n                        fcp = paints.find(function (_a) {\n                            var name = _a.name;\n                            return name === PerformanceMetricName.FIRST_CONTENTFUL_PAINT;\n                        }).value;\n                        name_1 = PerformanceMetricName.FIRST_MEANINGFUL_PAINT;\n                        return [4 /*yield*/, this.collectors[name_1](fcp)];\n                    case 2:\n                        value = _a.sent();\n                        this.handleCallbacks({ name: name_1, value: value });\n                        return [3 /*break*/, 4];\n                    case 3:\n                        e_1 = _a.sent();\n                        // TODO: probably give a better annotated error.\n                        console.warn('PaintMetricsPlugin: Unable to get Paint Timings');\n                        return [3 /*break*/, 4];\n                    case 4: return [2 /*return*/];\n                }\n            });\n        });\n    };\n    return PaintMetricsPlugin;\n}(CallbackProvider));\nexport { PaintMetricsPlugin as default };\n","import { __read } from \"tslib\";\nimport * as ttiPolyfill from 'tti-polyfill';\nimport i18n from '../../../i18n';\n// TODO: consider re-naming these from 'helpers' to 'collectors / gatherers' something more semantic.\nvar getTTIAsync = function () {\n    return new Promise(function (resolve, reject) {\n        if (!window.perfMetrics) {\n            reject(new Error(i18n.errors.metalhead.notfound));\n        }\n        if (!Object.prototype.hasOwnProperty.call(window, 'PerformanceLongTaskTiming')) {\n            reject(new Error(i18n.errors.plugins.interactive.longtask));\n        }\n        ttiPolyfill.getFirstConsistentlyInteractive({}).then(resolve);\n    });\n};\nvar getFIDAsync = function () {\n    return new Promise(function (resolve, reject) {\n        if (!window.perfMetrics) {\n            reject(new Error(i18n.errors.metalhead.notfound));\n        }\n        // onFirstInputDelay's callback also passes delay in ms, and the evt.\n        window.perfMetrics.onFirstInputDelay(resolve);\n    });\n};\nvar getTTFBAsync = function () {\n    return new Promise(function (resolve, reject) {\n        try {\n            var _a = __read(window.performance.getEntriesByType('navigation'), 1), navigationTiming = _a[0];\n            if (navigationTiming) {\n                /**\n                 * Navigation Timing Level 2\n                 * https://www.w3.org/TR/navigation-timing-2/\n                 * Not supported: IE, Safari\n                 */\n                resolve(navigationTiming.responseStart);\n            }\n            else {\n                /**\n                 * Navigation Timing\n                 * https://www.w3.org/TR/navigation-timing/\n                 */\n                var _b = window.performance.timing, responseStart = _b.responseStart, navigationStart = _b.navigationStart;\n                resolve(responseStart - navigationStart);\n            }\n        }\n        catch (e) {\n            // in rare case that navigation timing is not supported\n            reject(e);\n        }\n    });\n};\nexport { getTTIAsync, getFIDAsync, getTTFBAsync };\n","var performanceUtils = {\n    timeOrigin: performance.timeOrigin || Date.now() - performance.now(),\n};\nexport var isPerformanceObserverSupported = function () {\n    return 'PerformanceObserver' in window && typeof PerformanceObserver === 'function';\n};\nexport default performanceUtils;\n","// https://w3c.github.io/resource-timing/#sec-performanceresourcetiming\nvar AJAX_INITIATOR_TYPES = ['fetch', 'xmlhttprequest', 'beacon', 'other'];\nvar DEFAULT_REQUEST_BLACKLIST = [\n    // development purposes\n    'localhost',\n    // anvil (stargate)\n    'atlassian.com/metal/ingest',\n    // new relic\n    'bam.nr',\n    // webstatsd ingest\n    'webstatsd',\n    // GASv3 (stargate)\n    'gateway/api/gasv3',\n];\nexport { AJAX_INITIATOR_TYPES, DEFAULT_REQUEST_BLACKLIST };\n","import { BrowserMetricName, BROWSER_METRICS_MAP } from '../constants';\nimport { AJAX_INITIATOR_TYPES } from './constants';\n/**\n * Converts a Performance Resource Timing to our own Metric Type\n */\nvar normalisePerformanceResourceTiming = function (_a) {\n    var initiatorType = _a.initiatorType, duration = _a.duration;\n    var name = AJAX_INITIATOR_TYPES.indexOf(initiatorType) !== -1\n        ? BrowserMetricName.REQUEST_TIMING\n        : BrowserMetricName.RESOURCE_TIMING;\n    return {\n        name: BROWSER_METRICS_MAP[name],\n        value: duration,\n        type: initiatorType,\n    };\n};\nexport { normalisePerformanceResourceTiming as default };\n","import { __extends, __read, __spread } from \"tslib\";\nimport { CallbackProvider } from '../../../common';\nimport { isPerformanceObserverSupported } from '../../../common/utils/performance-utils';\nimport { sendMetricTimingCallback, getPage } from '../utils';\nimport getBlackListFilter from './blacklist';\nimport normalisePerformanceResourceTiming from './normalise';\n/**\n * Manages sending timings under the broad banner of 'resources'\n *\n * This applies to anything that is accesible in performance.getEntriesByType('resource')\n * and includes.\n *\n * 1. AJAX (Fetch, XHR etc)\n * 2. Assets\n * 3. Other network requests instigated from the DOM.\n */\nvar ResourceMetricsPlugin = /** @class */ (function (_super) {\n    __extends(ResourceMetricsPlugin, _super);\n    function ResourceMetricsPlugin(_a) {\n        var _b = _a.callbacks, callbacks = _b === void 0 ? [] : _b, _c = _a.blacklist, blacklist = _c === void 0 ? [] : _c;\n        var _this = _super.call(this, { callbacks: callbacks }) || this;\n        _this.pageTracker = null;\n        _this.performance = window.performance;\n        _this.timings = [];\n        _this.filterEntryList = function (entryList, blacklist) {\n            var blackListFilter = getBlackListFilter({ blacklist: blacklist });\n            return Array.prototype.filter.call(entryList, blackListFilter);\n        };\n        if (!isPerformanceObserverSupported()) {\n            console.warn('Metal: Performance Observer not supported, ResourceMetricsPlugin will not work');\n            return _this;\n        }\n        var initialEntryList = _this.performance.getEntriesByType('resource');\n        var allowedInitialEntryList = _this.filterEntryList(initialEntryList, blacklist);\n        _this.timings = allowedInitialEntryList.map(normalisePerformanceResourceTiming);\n        // capture future timings\n        _this.observer = new PerformanceObserver(function (entries) {\n            var _a;\n            var entryList = entries.getEntries();\n            // important to not get into a recursive loop of sending\n            // metrics on network requests stemming from Metal\n            var allowedEntryList = _this.filterEntryList(entryList, blacklist);\n            var newEntries = allowedEntryList.map(normalisePerformanceResourceTiming);\n            // capture locally\n            _this.timings = (_a = _this.timings).concat.apply(_a, __spread(newEntries));\n            // send to Metal\n            if (newEntries.length) {\n                _this.send.apply(_this, __spread(newEntries));\n            }\n        });\n        return _this;\n    }\n    // TODO: this function can probably be removed // call Metal directly\n    ResourceMetricsPlugin.prototype.send = function () {\n        var _this = this;\n        var ajaxResults = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            ajaxResults[_i] = arguments[_i];\n        }\n        ajaxResults.forEach(function (_a) {\n            var name = _a.name, value = _a.value, type = _a.type;\n            var page = getPage(_this.pageTracker, false);\n            _this.doCallbacks({\n                metric: {\n                    name: name,\n                    value: value,\n                    type: type,\n                    page: page,\n                },\n            });\n        });\n    };\n    /**\n     * Runs the Resource Timings plugin.\n     *\n     * @param client An instance of MetalClient\n     */\n    ResourceMetricsPlugin.prototype.install = function (client) {\n        this.pageTracker = client.pageTracker;\n        this.callbacks.push(sendMetricTimingCallback(client));\n        this.send.apply(this, __spread(this.timings));\n        if (this.observer) {\n            this.observer.observe({ entryTypes: ['resource'] });\n        }\n    };\n    /**\n     * Destroys the Paint Metrics plugin and its references\n     */\n    ResourceMetricsPlugin.prototype.destroy = function () {\n        if (this.observer) {\n            this.observer.disconnect();\n        }\n    };\n    return ResourceMetricsPlugin;\n}(CallbackProvider));\nexport { ResourceMetricsPlugin as default };\n","import { __read, __spread } from \"tslib\";\nimport { DEFAULT_REQUEST_BLACKLIST } from './constants';\n/**\n * Used to filter origins that should not be recorded by metal\n */\nvar getBlackListFilter = function (_a) {\n    var _b = _a.blacklist, blacklist = _b === void 0 ? [] : _b;\n    return function (_a) {\n        var resourceName = _a.name;\n        return !__spread(DEFAULT_REQUEST_BLACKLIST, blacklist).find(function (origin) { return resourceName.includes(origin); });\n    };\n};\nexport { getBlackListFilter as default };\n","import { __assign } from \"tslib\";\nimport { CoreType } from '../../core';\n/**\n * ErrorsPlugin automatically hooks into\n * a call to MetalClient.error.submit() and counts it as metric error count\n */\nvar ErrorsPlugin = /** @class */ (function () {\n    function ErrorsPlugin() {\n    }\n    ErrorsPlugin.prototype.install = function (client) {\n        // Listen to error events from MetalClient\n        client.addEventHook(CoreType.ERROR, function (_a) {\n            var page = _a.page, component = _a.component, name = _a.name;\n            client.metric.submit(__assign({ name: name, value: 1, page: page }, (component ? { component: component } : {})));\n        });\n    };\n    return ErrorsPlugin;\n}());\nexport default ErrorsPlugin;\n","import { PerformanceMetricName } from '../../catalog';\nimport i18n from '../../i18n';\nimport PaintMetricsPlugin from './paint-timings';\nimport InteractiveMetricsPlugin from './interactive-timings';\nimport ResourceMetricsPlugin from './resource-timings';\n/**\n * Wrapper class to simplify api.\n */\nvar BrowserMetricsPlugin = /** @class */ (function () {\n    function BrowserMetricsPlugin(_a) {\n        var rootId = _a.rootId, _b = _a.callbacks, callbacks = _b === void 0 ? [] : _b, _c = _a.collectors, collectors = _c === void 0 ? {} : _c, _d = _a.histograms, histograms = _d === void 0 ? {} : _d, _e = _a.blacklist, blacklist = _e === void 0 ? [] : _e;\n        if (!rootId) {\n            throw new Error(i18n.errors.metrics.browser.rootId);\n        }\n        this.interactiveMetrics = new InteractiveMetricsPlugin({ callbacks: callbacks, collectors: collectors, histograms: histograms });\n        this.paintMetrics = new PaintMetricsPlugin({ rootId: rootId, callbacks: callbacks, collectors: collectors, histograms: histograms });\n        this.resourceMetrics = new ResourceMetricsPlugin({ callbacks: callbacks, blacklist: blacklist });\n        this.plugins = [this.interactiveMetrics, this.paintMetrics, this.resourceMetrics];\n    }\n    BrowserMetricsPlugin.prototype.install = function (client) {\n        this.plugins.forEach(function (plugin) { return plugin.install(client); });\n    };\n    BrowserMetricsPlugin.prototype.destroy = function () {\n        this.plugins.forEach(function (plugin) { return plugin.destroy && plugin.destroy(); });\n    };\n    return BrowserMetricsPlugin;\n}());\n/** Everything here is a plugin and can be used as such */\nexport { BrowserMetricsPlugin as default, PaintMetricsPlugin, InteractiveMetricsPlugin, ResourceMetricsPlugin, };\n","import { __assign } from \"tslib\";\nimport { isPerformanceObserverSupported } from '../../common/utils/performance-utils';\n/**\n * Will pull any performance marks or measures that the user specifies\n * and send them to SFX based on a user defined mapping\n */\nvar PerformanceMarkPlugin = /** @class */ (function () {\n    function PerformanceMarkPlugin(userDefinedAllowlist) {\n        var _this = this;\n        this.allowlist = {};\n        if (!isPerformanceObserverSupported()) {\n            console.warn('Metal: Performance Observer not supported, PerformanceMarkPlugin will not work');\n            return;\n        }\n        Object.keys(userDefinedAllowlist).forEach(function (metricName) {\n            var markItem = userDefinedAllowlist[metricName];\n            if (!metricName) {\n                throw new Error('Metal: Unsupported metric type supplied to PerformanceMarkPlugin');\n            }\n            _this.allowlist[markItem.name] = __assign(__assign({}, markItem), { name: metricName });\n        });\n        this.observer = new PerformanceObserver(this.getMarksCallback.bind(this));\n        this.observer.observe({ entryTypes: ['mark', 'measure'] });\n    }\n    PerformanceMarkPlugin.prototype.getMarksCallback = function (list) {\n        var _this = this;\n        list.getEntries().forEach(function (entry) {\n            if (entry.name in _this.allowlist) {\n                var markPayload = _this.allowlist[entry.name];\n                var value = entry.duration ? entry.duration : entry.startTime;\n                _this.client.metric.submit(__assign(__assign({}, markPayload), { value: value }));\n            }\n        });\n    };\n    PerformanceMarkPlugin.prototype.install = function (client) {\n        this.client = client;\n    };\n    PerformanceMarkPlugin.prototype.destroy = function () {\n        if (this.observer) {\n            this.observer.disconnect();\n        }\n    };\n    return PerformanceMarkPlugin;\n}());\nexport default PerformanceMarkPlugin;\n","var _a, _b, _c;\nimport Bowser from 'bowser';\nvar BROWSER_MAP = Bowser.BROWSER_MAP, OS_MAP = Bowser.OS_MAP, PLATFORMS_MAP = Bowser.PLATFORMS_MAP;\n// Whitelists loosely against constant values from 'bowser' ~ 2.5.2\n// https://github.com/lancedikson/bowser/blob/master/src/constants.js\nvar browser = (_a = {},\n    _a[BROWSER_MAP.chrome] = 'chrome',\n    _a[BROWSER_MAP.chromium] = 'chromium',\n    _a[BROWSER_MAP.safari] = 'safari',\n    _a[BROWSER_MAP.firefox] = 'firefox',\n    _a[BROWSER_MAP.edge] = 'edge',\n    _a[BROWSER_MAP.ie] = 'ie',\n    _a);\nvar platform = (_b = {},\n    _b[PLATFORMS_MAP.desktop] = 'desktop',\n    _b[PLATFORMS_MAP.mobile] = 'mobile',\n    _b);\nvar os = (_c = {},\n    _c[OS_MAP.MacOS] = 'macos',\n    _c[OS_MAP.Linux] = 'linux',\n    _c[OS_MAP.Windows] = 'windows',\n    _c[OS_MAP.iOS] = 'ios',\n    _c[OS_MAP.Android] = 'android',\n    _c);\nvar whitelists = {\n    browser: browser,\n    os: os,\n    platform: platform,\n};\nexport default whitelists;\n","import { getDocumentHiddenValues } from './helpers';\nvar PageVisibility = /** @class */ (function () {\n    function PageVisibility() {\n        var _this = this;\n        this.callbacks = new Map();\n        this.lastHiddenAt = 0;\n        this.bindEventListeners = function () {\n            document.addEventListener(_this.visibilityChange, _this.handleVisibilityChange, false);\n        };\n        this.handleVisibilityChange = function () {\n            var isHidden = document[_this.hidden];\n            _this.documentHiddenInfo.isHidden = isHidden;\n            if (isHidden) {\n                _this.lastHiddenAt = performance.now();\n            }\n            if (!_this.wasPreviouslyHidden) {\n                _this.wasPreviouslyHidden = isHidden;\n            }\n            _this.callbacks.forEach(function (callbackFn) { return callbackFn(isHidden); });\n        };\n        this.documentHiddenInfo = getDocumentHiddenValues();\n        this.wasPreviouslyHidden = this.documentHiddenInfo.isHidden;\n        if (typeof document.addEventListener !== 'undefined' && this.hidden !== undefined) {\n            this.bindEventListeners();\n        }\n    }\n    PageVisibility.prototype.addCallback = function (name, fn) {\n        if (typeof name !== 'string') {\n            throw new Error('Invalid name, must be string');\n        }\n        if (typeof fn !== 'function') {\n            throw new Error('Invalid callback, must be function');\n        }\n        this.callbacks.set(name, fn);\n    };\n    PageVisibility.prototype.removeCallback = function (name) {\n        if (this.callbacks.has(name)) {\n            this.callbacks.delete(name);\n        }\n    };\n    Object.defineProperty(PageVisibility.prototype, \"isHidden\", {\n        get: function () {\n            return this.documentHiddenInfo.isHidden;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PageVisibility.prototype, \"hidden\", {\n        get: function () {\n            return this.documentHiddenInfo.hidden;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(PageVisibility.prototype, \"visibilityChange\", {\n        get: function () {\n            return this.documentHiddenInfo.visibilityChange;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    return PageVisibility;\n}());\nexport default PageVisibility;\n","export var getDocumentHiddenValues = function () {\n    var doc = document;\n    var hiddenInfo = {\n        isHidden: false,\n        hidden: 'undefined',\n        visibilityChange: 'undefined',\n    };\n    if (typeof doc.hidden !== 'undefined') {\n        // Opera 12.10 and Firefox 18 and later support\n        hiddenInfo.isHidden = doc.hidden;\n        hiddenInfo.hidden = 'hidden';\n        hiddenInfo.visibilityChange = 'visibilitychange';\n    }\n    else if (typeof doc.msHidden !== 'undefined') {\n        hiddenInfo.isHidden = doc.msHidden;\n        hiddenInfo.hidden = 'msHidden';\n        hiddenInfo.visibilityChange = 'msvisibilitychange';\n    }\n    else if (typeof doc.webkitHidden !== 'undefined') {\n        hiddenInfo.isHidden = doc.webkitHidden;\n        hiddenInfo.hidden = 'webkitHidden';\n        hiddenInfo.visibilityChange = 'webkitvisibilitychange';\n    }\n    return hiddenInfo;\n};\n","var defaultGetPageFn = function () { return ''; };\nvar PageTracker = /** @class */ (function () {\n    function PageTracker(getPage) {\n        if (getPage === void 0) { getPage = defaultGetPageFn; }\n        this.initialPage = '';\n        this.initialPage = getPage();\n        this.getPage = getPage;\n    }\n    Object.defineProperty(PageTracker.prototype, \"page\", {\n        get: function () {\n            if (this.getPage) {\n                var page = this.getPage();\n                if (!this.initialPage) {\n                    this.initialPage = page;\n                }\n                return page;\n            }\n            return '';\n        },\n        enumerable: false,\n        configurable: true\n    });\n    return PageTracker;\n}());\nexport default PageTracker;\n","var config = {\n    api: {\n        local: 'https://api.stg.atlassian.com/metal/ingest',\n        dev: 'https://api.stg.atlassian.com/metal/ingest',\n        staging: 'https://api.stg.atlassian.com/metal/ingest',\n        prod: 'https://api.atlassian.com/metal/ingest',\n    },\n};\nexport default config;\n","export var envTypes = {\n    LOCAL: 'local',\n    DEV: 'dev',\n    STAGING: 'staging',\n    PROD: 'prod',\n};\n","import { __assign, __read, __spread } from \"tslib\";\nimport merge from 'lodash/merge';\nimport Sender from '../core/transport/sender';\nimport MetricModel from '../core/metric';\nimport ErrorModel from '../core/error';\nimport { ErrorsPlugin } from '../plugins';\nimport getUserAgentInfo from '../common/user-agent-info';\nimport PageVisibility from '../common/page-visibility';\nimport PageTracker from '../common/page-tracker';\nimport { CoreType } from '../core';\nimport { isType, objectValues } from '../common/utils/object-utils';\nimport config from './config';\nimport { validateProductInfo, getDefaultHooks } from './helpers';\nvar defaultSettings = {\n    getPage: function () { return ''; },\n    metrics: {\n        flushInterval: 1000,\n        maxBufferSize: 10,\n        sampleRate: 1,\n        bufferType: CoreType.METRIC,\n    },\n};\nvar MetalClient = /** @class */ (function () {\n    function MetalClient(_a) {\n        var _this = this;\n        var productInfo = _a.productInfo, _b = _a.settings, settings = _b === void 0 ? defaultSettings : _b, _c = _a.plugins, plugins = _c === void 0 ? [] : _c, _d = _a.forceXHR, forceXHR = _d === void 0 ? false : _d;\n        /**\n         * Internal hooks being used by Metal and responding to certain MetalEvents\n         */\n        this.hooks = getDefaultHooks();\n        validateProductInfo(productInfo);\n        var mergedSettings = merge(defaultSettings, settings, {\n            metrics: {\n                meta: settings.meta,\n            },\n        });\n        this.productInfo = productInfo;\n        var version = productInfo.version, metalId = productInfo.metalId, env = productInfo.env;\n        this.meta = __assign(__assign(__assign({}, settings.meta), { version: version,\n            env: env }), getUserAgentInfo());\n        this.sender = new Sender({\n            url: config.api[env],\n            metalId: metalId,\n            meta: this.meta,\n            synthetic: settings.synthetic,\n            forceXHR: forceXHR,\n        });\n        this.pageVisibility = new PageVisibility();\n        this.pageTracker = new PageTracker(mergedSettings.getPage);\n        // create the unified hook\n        var hook = this.onSend.bind(this);\n        this.metric = new MetricModel({\n            sender: this.sender,\n            settings: mergedSettings.metrics,\n            hook: hook,\n            pageVisibility: this.pageVisibility,\n        });\n        this.error = new ErrorModel({ hook: hook });\n        this.updateSettings = this.updateSettings.bind(this);\n        /**\n         * Plugins are installed if an array is passed to Metal,\n         * else by default we instantiate the default set of plugins.\n         */\n        var defaultPlugins = [new ErrorsPlugin()];\n        this.plugins = __spread(defaultPlugins, plugins);\n        this.plugins.forEach(function (plugin) { return plugin.install(_this); });\n    }\n    /**\n     * Merges an object of new settings with the current settings.\n     * @param newSettings The new settings object\n     */\n    MetalClient.prototype.updateSettings = function (newSettings) {\n        if (newSettings.meta) {\n            this.meta = __assign(__assign({}, this.meta), newSettings.meta);\n            this.sender.updateMeta(this.meta);\n        }\n        if (newSettings.metrics) {\n            this.metric.updateSettings(newSettings.metrics);\n        }\n    };\n    Object.defineProperty(MetalClient.prototype, \"initialPage\", {\n        get: function () {\n            return this.pageTracker.initialPage;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    Object.defineProperty(MetalClient.prototype, \"currentPage\", {\n        get: function () {\n            return this.pageTracker.page;\n        },\n        enumerable: false,\n        configurable: true\n    });\n    // public interface to add a hook\n    MetalClient.prototype.addEventHook = function (type, callback) {\n        if (!isType(CoreType, type)) {\n            throw new Error(\"Invalid hook, must be a CoreType [\" + objectValues(CoreType) + \"]\");\n        }\n        this.hooks[type].push(callback);\n    };\n    MetalClient.prototype.destroy = function () {\n        // Destroy plugins\n        this.plugins.forEach(function (plugin) { return plugin.destroy && plugin.destroy(); });\n    };\n    // internal hook\n    MetalClient.prototype.onSend = function (_a) {\n        var _this = this;\n        var type = _a.type, data = _a.data;\n        this.hooks[type].forEach(function (callback) { return callback(data, _this.meta); });\n    };\n    return MetalClient;\n}());\nexport default MetalClient;\nexport * from './types';\nexport { envTypes } from './constants';\n","import { CoreType } from '../core';\nimport { isType, objectValues } from '../common/utils/object-utils';\nimport { envTypes } from './constants';\nexport var validateProductInfo = function (productInfo) {\n    if (!productInfo.metalId) {\n        throw new Error('Missing metalId');\n    }\n    if (!productInfo) {\n        throw new Error('Missing productInfo');\n    }\n    if (!productInfo.env) {\n        throw new Error('Missing productInfo.env');\n    }\n    if (!productInfo.version) {\n        throw new Error('Missing productInfo.version');\n    }\n    if (!isType(envTypes, productInfo.env)) {\n        throw new Error(\"Invalid productInfo.env '\" + productInfo.env + \"', must be an envType: [\" + objectValues(envTypes) + \"]\");\n    }\n};\nexport var getDefaultHooks = function () {\n    var _a;\n    return (_a = {},\n        _a[CoreType.METRIC] = [],\n        _a[CoreType.ERROR] = [],\n        _a);\n};\n","import Bowser from 'bowser';\nimport whitelists from './constants';\nfunction getUserAgentInfo(_a) {\n    var _b = (_a === void 0 ? {} : _a).userAgentString, userAgentString = _b === void 0 ? window.navigator.userAgent : _b;\n    var rawBrowserInfo = Bowser.getParser(userAgentString);\n    var os = whitelists.os[rawBrowserInfo.getOSName()] || 'other';\n    var platform = whitelists.platform[rawBrowserInfo.getPlatformType()] || 'other';\n    var browser = whitelists.browser[rawBrowserInfo.getBrowserName()] || 'other';\n    return {\n        os: os,\n        platform: platform,\n        browser: browser,\n    };\n}\nexport { getUserAgentInfo as default };\n","import { ErrorMetricName as error, PerformanceMetricName as performance, UserInteractionMetricName as userInteraction, } from './catalog';\nvar catalog = {\n    error: error,\n    performance: performance,\n    userInteraction: userInteraction,\n};\nexport { catalog };\n","export const SIGN_UP_LOADING_START_MARK = 'SIGN_UP_LOADING_START_MARK';\nexport const DEVOPS_LOADING_START_MARK = 'DEVOPS_LOADING_START_MARK';\n\nexport function markSignUpLoadingStart() {\n  performance.mark(SIGN_UP_LOADING_START_MARK);\n}\n\nexport function markDevopsLoadingStart() {\n  performance.mark(DEVOPS_LOADING_START_MARK);\n}\n\nexport function getDevopsTimeToInteractive() {\n  performance.measure(\n    'devopsTimeToInteractivePerformance',\n    SIGN_UP_LOADING_START_MARK,\n    DEVOPS_LOADING_START_MARK\n  );\n\n  return performance\n    .getEntriesByType('measure')\n    .find(\n      (measureEntry) =>\n        measureEntry.name === 'devopsTimeToInteractivePerformance'\n    )?.duration;\n}\n","// Basic\nimport MetalClient, { envTypes, catalog } from '@atlassiansox/metal-client';\nimport { Environment, ENV_DEV, ENV_STAGING } from '@atlassiansox/bxpkit-core';\nimport { getDevopsTimeToInteractive } from './performance';\n\nimport packageJson from '../../package.json';\n\nconst productInfo = {\n  metalId: '04e59420-3f82-40ee-acd2-44ceb2faeb68', // include your Metal ID\n  version: packageJson.version, // The version of your application\n  env: envTypes.PROD // env should be the env of your application else use Prod\n};\n\nif (Environment.getEnvironment() === ENV_DEV) {\n  productInfo.env = envTypes.DEV;\n} else if (Environment.getEnvironment() === ENV_STAGING) {\n  productInfo.env = envTypes.STAGING;\n}\n\nexport const metalClient = new MetalClient({ productInfo });\n\nexport function submitDevopsTimeToInteractive() {\n  const devopsTTI = getDevopsTimeToInteractive();\n  console.log(`devopsTTI ${devopsTTI}`);\n\n  metalClient.metric.submit({\n    name: catalog.performance.COMPONENT_INTERACTIVE,\n    value: getDevopsTimeToInteractive(),\n    page: 'signUp',\n    component: 'signUp'\n  });\n}\n","import { useEffect, useState } from 'react';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport { metalClient } from '../metrics';\nimport { catalog } from '@atlassiansox/metal-client';\n\nexport type SSOCheck = {\n  readonly isCheckingSSO: boolean;\n  readonly ssoRedirectUrl: string;\n  readonly isUserExists?: boolean;\n};\n\nenum AuthenticationMethodsType {\n  PASSWORD = 'password',\n  GOOGLE = 'google',\n  SAML = 'saml',\n  MICROSOFT = 'microsoft',\n  APPLE = 'apple',\n  SLACK = 'slack'\n}\n\ntype SSOCheckResponse = {\n  readonly methods: AuthenticationMethod[];\n  readonly passwordEnabled: boolean;\n  readonly samlRequired: boolean;\n  readonly userExists?: boolean;\n};\n\ntype AuthenticationMethod = {\n  readonly type: AuthenticationMethodsType;\n  readonly redirect_to: string;\n};\n\nexport type AuthenticationMethodsCheckOptions = {\n  readonly email: string;\n  readonly allowAuthenticationsMethodCheck?: boolean;\n};\n\nconst getAuthenticationMethod = (\n  authenticationMethods: SSOCheckResponse\n): AuthenticationMethod | undefined => {\n  if (authenticationMethods?.userExists !== undefined) {\n    // TODO: delete this block when we are happy with changes from backend\n    if (\n      !authenticationMethods?.methods ||\n      authenticationMethods?.methods?.length === 0\n    ) {\n      return undefined;\n    }\n    const samlMethod = authenticationMethods.methods.find(\n      (method: AuthenticationMethod) => {\n        return (\n          method.type === AuthenticationMethodsType.SAML ||\n          method.type === AuthenticationMethodsType.GOOGLE\n        );\n      }\n    );\n    const passwordMethod = authenticationMethods.methods.find(\n      (method: AuthenticationMethod) => {\n        return method.type === AuthenticationMethodsType.PASSWORD;\n      }\n    );\n    const userExists = authenticationMethods.userExists;\n\n    if (userExists && passwordMethod) {\n      return passwordMethod;\n    }\n    if (!passwordMethod && samlMethod) {\n      return samlMethod;\n    } else {\n      return undefined;\n    }\n  } else {\n    if (!authenticationMethods?.methods) {\n      return undefined;\n    } else {\n      const { passwordEnabled, samlRequired } = authenticationMethods;\n\n      if (authenticationMethods?.methods?.length === 0) {\n        return undefined;\n      }\n      if (passwordEnabled && samlRequired) {\n        const password = authenticationMethods.methods.find(\n          (method: AuthenticationMethod) => {\n            return method.type === AuthenticationMethodsType.PASSWORD;\n          }\n        );\n        return password;\n      }\n      if (passwordEnabled && !samlRequired) {\n        const password = authenticationMethods.methods.find(\n          (method: AuthenticationMethod) => {\n            return method.type === AuthenticationMethodsType.PASSWORD;\n          }\n        );\n        return password;\n      }\n\n      if (!passwordEnabled && samlRequired) {\n        const saml = authenticationMethods.methods.find(\n          (method: AuthenticationMethod) => {\n            return method.type === AuthenticationMethodsType.SAML;\n          }\n        );\n        return saml;\n      } else {\n        return undefined;\n      }\n    }\n  }\n};\n\nexport function useAuthenticationMethodsCheck({\n  email,\n  allowAuthenticationsMethodCheck\n}: AuthenticationMethodsCheckOptions): SSOCheck {\n  const [{ isCheckingSSO, ssoRedirectUrl, isUserExists }, setSSOValidation] =\n    useState<SSOCheck>({\n      isCheckingSSO: false,\n      ssoRedirectUrl: '',\n      isUserExists: false\n    });\n\n  const stargateClient = useStargateClient();\n\n  const getSSORedirectUrl = async (email: string) => {\n    setSSOValidation({ isCheckingSSO: true, ssoRedirectUrl: '' });\n    try {\n      const response: any =\n        await stargateClient.checkAuthenticationMethodsAvailable({\n          email,\n          successRedirect: window.location.href,\n          webPlatform: 'magnolia'\n        });\n      const authenticationMethod = getAuthenticationMethod(response);\n      //TODO: remove use of userExists when we are happy with the backend changes\n      const userExists = response?.userExists;\n      if (authenticationMethod?.type === AuthenticationMethodsType.PASSWORD) {\n        if (!!userExists) {\n          setSSOValidation({\n            isCheckingSSO: false,\n            ssoRedirectUrl: 'exists',\n            isUserExists: userExists // need to remove in the future\n          });\n        } else {\n          // temporary fix till identity gets us the right url, then just pass the redirect_to\n          const url = authenticationMethod.redirect_to.replace(\n            '/initiate/password',\n            ''\n          );\n          setSSOValidation({\n            isCheckingSSO: false,\n            ssoRedirectUrl: url,\n            isUserExists: false // need to remove in the future\n          });\n        }\n      } else if (\n        authenticationMethod?.type === AuthenticationMethodsType.SAML\n      ) {\n        if (!!userExists) {\n          setSSOValidation({\n            isCheckingSSO: false,\n            ssoRedirectUrl: authenticationMethod.redirect_to,\n            isUserExists: userExists // need to remove in the future\n          });\n        } else {\n          setSSOValidation({\n            isCheckingSSO: false,\n            ssoRedirectUrl: authenticationMethod.redirect_to,\n            isUserExists: false // need to remove in the future\n          });\n        }\n      } else {\n        setSSOValidation({\n          isCheckingSSO: false,\n          ssoRedirectUrl: '',\n          isUserExists: false // need to remove in the future\n        });\n      }\n    } catch (error: any) {\n      metalClient.error.submit({\n        name: catalog.error.INPUT,\n        page: 'sign-up',\n        component: 'bxpkit-wac-sign-up-input-email',\n        error: { ...error }\n      });\n      setSSOValidation({\n        isCheckingSSO: false,\n        ssoRedirectUrl: 'error',\n        isUserExists: true\n      });\n    }\n  };\n\n  useEffect(() => {\n    if (allowAuthenticationsMethodCheck) {\n      void getSSORedirectUrl(email);\n    }\n  }, [email, allowAuthenticationsMethodCheck]);\n\n  return {\n    isCheckingSSO,\n    ssoRedirectUrl,\n    isUserExists\n  };\n}\n","import { SitesType } from '@atlassiansox/asc-stargate';\nimport {\n  AsyncResult,\n  Environment,\n  getFirstName,\n  getLastName,\n  ProductKey,\n  Url,\n  useAISAvailableProducts,\n  useMe,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { useEffect, useState } from 'react';\nimport { UserDataType } from '../model';\nimport { isResponseError } from '../utility';\n\n/**\n * Hook that provides user info relevant to signup\n */\n\nexport const useUserInfo = () => {\n  const [userInfo, setUserInfo] = useState<UserDataType>();\n\n  const meDataAsync = useMe();\n  const aisAvailableProducts = useAISAvailableProducts({\n    includeInvalidBitbucketSite: true\n  });\n\n  const stargateClient = useStargateClient();\n\n  useEffect(() => {\n    if (\n      AsyncResult.isPending(meDataAsync) ||\n      AsyncResult.isPending(aisAvailableProducts)\n    ) {\n      return;\n    }\n\n    const meData = meDataAsync.catch(() => null).value;\n\n    // check XSRF for logged out user, redirect to identity if 401 - in response to HOT-102965\n    if (!meData) {\n      stargateClient.getSignupServerXsrfToken().catch((e) => {\n        if (isResponseError(e) && e.response.status === 401) {\n          const identityQueryParams = new URLSearchParams({\n            continue: Url.getUrl()\n          });\n          const redirectUrl = `${Environment.getIdentityBaseUrl()}/login?${identityQueryParams}`;\n          window.location.assign(redirectUrl);\n        }\n      });\n    }\n\n    const aisAvailableProductsResult = aisAvailableProducts.catch(\n      () => null\n    ).value;\n    let sitesData = aisAvailableProductsResult?.sites;\n    const isNewUser = aisAvailableProductsResult?.isNewUser;\n    let name = meData?.name;\n    if (name !== undefined && name.includes('@')) {\n      name = name.split('@')[0];\n    }\n    // Customer has BB if they have adminAccess to a site with BB\n    const hasBitbucket = (sitesData || [])\n      .filter((site: SitesType) => site?.adminAccess)\n      .some((site) => {\n        return site.products.some((product) => {\n          return product === ProductKey.BITBUCKET;\n        });\n      });\n\n    sitesData =\n      sitesData &&\n      sitesData.filter((site) => {\n        return !['bitbucket', 'Bitbucket'].includes(site.displayName);\n      });\n\n    setUserInfo({\n      isLoggedIn: !!meData,\n      email: meData?.email || null,\n      fullName: meData?.name || null,\n      firstName: getFirstName(name) || undefined,\n      lastName: getLastName(name) || null,\n      sites: sitesData || null,\n      extendedTrialOverridableSites: null,\n      picture: meData?.picture || null,\n      accountId: meData?.accountId || null,\n      hasBitbucket,\n      isNewUser: !!isNewUser\n    });\n  }, [meDataAsync, aisAvailableProducts]);\n\n  return userInfo;\n};\n","import {\n  HamletClientConstructorType,\n  HamletClientInterface,\n  HamletClientOptionsType,\n  HamletPricingRequestType,\n  HamletPricingResponseType,\n  ResendVerificationEmailRequestType,\n  ResendVerificationEmailResponseType\n} from '../../model/check-email-page';\n\nconst DEFAULT_BASE_URL =\n  'https://wac.stg.internal.atlassian.com//apis/stg/hamlet';\n\n/**\n * This class is extremely similar to the Hamlet client within the asc-cofs package. This class was created here,\n * rather than adding the appropriate functionality to the asc-cofs package itself, just because this was the path of\n * least resistance when creating this bxpkit package.\n */\nexport const HamletClient: HamletClientConstructorType = class HamletClientClass\n  implements HamletClientInterface\n{\n  private readonly baseUrl: string;\n\n  constructor({ baseUrl = DEFAULT_BASE_URL }: HamletClientOptionsType = {}) {\n    this.baseUrl = baseUrl;\n  }\n\n  async hamletPricing({\n    productKeys,\n    licenseType = 'evaluation',\n    requestingApplication = 'WAC',\n    monthsValid = '1'\n  }: HamletPricingRequestType): Promise<HamletPricingResponseType> {\n    const productKeysParam =\n      productKeys.length > 0\n        ? `&${productKeys.map((p) => `productKey=${p}`).join('&')}`\n        : '';\n\n    const url =\n      `${this.baseUrl}/1.0/public/pricing/query?licenseType=${licenseType}` +\n      `${productKeysParam}&requestingApplication=${requestingApplication}` +\n      `&monthsValid=${monthsValid}` +\n      `&cacheBuster=${new Date().getTime()}`;\n\n    return await fetch(url, {\n      method: 'GET',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      }\n    })\n      .then((response) => response.json())\n      .catch(() => {\n        return { products: [] };\n      });\n  }\n\n  /**\n   * If pagePath exists, use /sendVerify, else use /verify\n   * @param resendData - R.E.D Object\n   */\n\n  sendEmail(\n    resendData: ResendVerificationEmailRequestType\n  ): Promise<ResendVerificationEmailResponseType> {\n    if (resendData?.pagePath) {\n      return this.resendVerificationEmail(resendData);\n    } else {\n      return this.sendVerificationEmail(resendData);\n    }\n  }\n\n  /**\n   * Typical resend endpoint, used in most cases\n   */\n\n  async sendVerificationEmail({\n    cloudName,\n    email,\n    primaryProduct\n  }: ResendVerificationEmailRequestType): Promise<ResendVerificationEmailResponseType> {\n    const url =\n      `${this.baseUrl}/1.0/public/aid/verify?` +\n      `email=${encodeURIComponent(email || '')}&` +\n      `accountName=${encodeURIComponent(cloudName || '')}&` +\n      `primaryProduct=${encodeURIComponent(primaryProduct || '')}`;\n\n    return await fetch(url, { method: 'POST' })\n      .then((response) => {\n        return {\n          success: response.ok,\n          status: response.status\n        };\n      })\n      .catch(() => {\n        return {\n          success: false,\n          status: 400\n        };\n      });\n  }\n\n  /**\n   * Resend endpoint used if pagePath exists, used for:\n   * - when sitename is auto-generated (except for social login case) (pagePath = 'rename/site')\n   * - Confluence account set up flow (pagePath = 'account/setup')\n   */\n\n  async resendVerificationEmail({\n    cloudId,\n    cloudName,\n    email,\n    pagePath,\n    requestId\n  }: ResendVerificationEmailRequestType): Promise<ResendVerificationEmailResponseType> {\n    return await fetch(`${this.baseUrl}/1.0/public/aid/sendVerify`, {\n      method: 'POST',\n      headers: {\n        'Accept': 'application/json',\n        'Content-Type': 'application/json'\n      },\n      body: JSON.stringify({\n        accountName: cloudName,\n        cloudId,\n        cloudName: cloudName ? encodeURIComponent(cloudName) : undefined,\n        email,\n        pagePath: pagePath ? encodeURIComponent(pagePath) : undefined,\n        requestId\n      })\n    })\n      .then((response) => {\n        return {\n          success: response.ok,\n          status: response.status\n        };\n      })\n      .catch(() => {\n        return {\n          success: false,\n          status: 400\n        };\n      });\n  }\n};\n","import { useReducer } from 'react';\nimport { HamletClient } from '../service/check-email-page/mini-hamlet-client';\n\nimport {\n  CheckEmailAnalyticsInterface,\n  ResendVerificationEmailRequestType\n} from '../model/check-email-page';\n\nexport enum ResendEmailStatuses {\n  'NO_STATUS',\n  'REQUESTING',\n  'SUCCESS',\n  'FAILURE'\n}\n\nenum ResendEmailActions {\n  'SEND_REQUEST',\n  'SUCCESS',\n  'FAILURE'\n}\n\nexport type ResendEmailState = {\n  status: ResendEmailStatuses;\n  error?: string;\n};\n\ntype ResendEmailAction = {\n  type: ResendEmailActions;\n  error?: string;\n};\n\nconst initialState: ResendEmailState = {\n  status: ResendEmailStatuses.NO_STATUS,\n  error: undefined\n};\n\n/**\n * useReducer requires these parameters, but TS won't allow us to have 'state' here unused.\n * Instead, we can use _state to indicate to TS that we're alright with not using this variable, but then\n * TSLint complains about our variable name not matching the required format, so we're disabling that rule here.\n */\n/* tslint:disable-next-line:variable-name */\nconst reducer = (_state: ResendEmailState, action: ResendEmailAction) => {\n  switch (action.type) {\n    case ResendEmailActions.SEND_REQUEST:\n      return {\n        ...initialState,\n        status: ResendEmailStatuses.REQUESTING\n      };\n    case ResendEmailActions.SUCCESS:\n      return {\n        ...initialState,\n        status: ResendEmailStatuses.SUCCESS\n      };\n    case ResendEmailActions.FAILURE:\n      return {\n        ...initialState,\n        status: ResendEmailStatuses.FAILURE,\n        error: action.error\n      };\n  }\n};\n\ninterface UseResendEmailAPIProps {\n  baseUrl?: string;\n  checkEmailAnalyticsService: CheckEmailAnalyticsInterface;\n}\n\nconst useResendEmailAPI = ({\n  baseUrl,\n  checkEmailAnalyticsService\n}: UseResendEmailAPIProps) => {\n  const client = new HamletClient({ baseUrl });\n  const [state, dispatch] = useReducer(reducer, initialState);\n\n  const triggerResendEmail = (\n    resendEmailData: ResendVerificationEmailRequestType\n  ) => {\n    dispatch({ type: ResendEmailActions.SEND_REQUEST });\n\n    return client.sendEmail(resendEmailData).then((data) => {\n      if (data?.status === 200) {\n        checkEmailAnalyticsService.resendApiSuccess();\n      }\n      if (data?.status === 204) {\n        checkEmailAnalyticsService.resendApiNoContent();\n      }\n      if (data?.status === 304) {\n        checkEmailAnalyticsService.resendApiAlreadyVerified();\n      }\n\n      if (data.success) {\n        dispatch({ type: ResendEmailActions.SUCCESS });\n        return true;\n      }\n\n      checkEmailAnalyticsService.resendApiFailure();\n      dispatch({ type: ResendEmailActions.FAILURE });\n      return false;\n    });\n  };\n\n  return { state, triggerResendEmail };\n};\n\nexport default useResendEmailAPI;\n","import { useEffect, useState } from 'react';\n\nexport type ResendEmailData = {\n  cloudId?: string;\n  cloudName?: string;\n  email?: string;\n  pagePath?: string;\n  requestId?: string;\n  resendCount: number;\n  shouldEnable: boolean;\n  primaryProduct?: string;\n};\n\nconst useResendEmailData = (): [ResendEmailData, () => void] => {\n  const [cloudId, setCloudId] = useState();\n  const [cloudName, setCloudName] = useState<string | undefined>();\n  const [email, setEmail] = useState<string | undefined>();\n  const [primaryProduct, setPrimaryProduct] = useState<string | undefined>();\n  const [pagePath, setPagePath] = useState();\n  const [requestId, setRequestId] = useState();\n  const [resendCount, setResendCount] = useState(0);\n  const [shouldEnable, setShouldEnable] = useState(false);\n\n  const setResendEmailData = (rawData: string | null) => {\n    try {\n      const parsedData = JSON.parse(rawData || '{}');\n      setCloudId(parsedData.cloudId);\n      setCloudName(decodeURIComponent(parsedData.cloudName || ''));\n      setEmail(decodeURIComponent(parsedData.email || ''));\n      setPrimaryProduct(decodeURIComponent(parsedData.primaryProduct || ''));\n      setPagePath(parsedData.pagePath);\n      setRequestId(parsedData.requestId);\n      setResendCount(parsedData.resendCount || 0);\n      setShouldEnable(isValidData(parsedData));\n    } catch (e) {\n      setCloudId(undefined);\n      setCloudName(undefined);\n      setEmail(undefined);\n      setPrimaryProduct(undefined);\n      setPagePath(undefined);\n      setRequestId(undefined);\n      setResendCount(0);\n      setShouldEnable(false);\n    }\n  };\n\n  const isValidData = (data: ResendEmailData): boolean => {\n    return Boolean(\n      data.cloudId &&\n        data.cloudName &&\n        data.email &&\n        data.pagePath &&\n        data.requestId &&\n        data.primaryProduct\n    );\n  };\n\n  const incrementCount = () => {\n    setResendCount(resendCount + 1);\n  };\n\n  useEffect(() => {\n    const rawData = sessionStorage.getItem('r.e.d');\n\n    if (rawData) {\n      try {\n        setResendEmailData(atob(rawData));\n      } catch {\n        setResendEmailData(null);\n      }\n    }\n  }, []);\n\n  // update all data in sessionStorage whenever it changes.\n  useEffect(() => {\n    const data: ResendEmailData = {\n      cloudId,\n      cloudName: encodeURIComponent(cloudName || ''),\n      email: encodeURIComponent(email || ''),\n      pagePath,\n      requestId,\n      resendCount,\n      shouldEnable,\n      primaryProduct\n    };\n    if (isValidData(data)) {\n      sessionStorage.setItem('r.e.d', btoa(JSON.stringify(data)));\n    }\n  }, [\n    cloudId,\n    cloudName,\n    email,\n    pagePath,\n    requestId,\n    resendCount,\n    primaryProduct\n  ]);\n\n  return [\n    {\n      cloudId,\n      cloudName,\n      email,\n      pagePath,\n      requestId,\n      resendCount,\n      shouldEnable,\n      primaryProduct\n    },\n    incrementCount\n  ];\n};\n\nexport default useResendEmailData;\n","export const sanitizeLastName = (lastName: string | null): string => {\n  return lastName || '.';\n};\n","import { ProductKey } from '@atlassiansox/bxpkit-core';\nimport _ from 'lodash';\nimport {\n  GetProductKeysOptionsType,\n  IncludesProductOptionsType,\n  ProductKeysType\n} from '../../../../../model';\nimport {\n  BITBUCKET,\n  EDITION_LABEL_ARRAY,\n  FREE_EDITION_LABEL_KEY,\n  OPSGENIE,\n  PREMIUM_EDITION_LABEL_KEY,\n  PRODUCT_NAMES,\n  STANDARD_EDITION_LABEL_KEY\n} from './constants';\n\n/**\n * Transform productData into to Product-typed shape\n */\n\nexport const getProductKeys = ({\n  productData,\n  queryParameters,\n  productOverride,\n  bundleOverride,\n  editionOverride\n}: GetProductKeysOptionsType): ProductKeysType[] => {\n  // Check for JSM, overwrite to JSD productKey\n  if (queryParameters?.product?.includes('jira-service-management.ondemand')) {\n    queryParameters.product = queryParameters.product\n      .split(',')\n      .map((product: string) => {\n        return product === 'jira-service-management.ondemand'\n          ? ProductKey.JIRA_SERVICE_DESK\n          : product;\n      })\n      .join();\n  }\n\n  let productOrBundleData = queryParameters.hasOwnProperty('product')\n    ? _.find(productData, { bundleProductKeys: `${queryParameters.product}` })\n    : _.get(\n        productData,\n        `${queryParameters.bundle}`.split('.')[0],\n        _.get(productData, 'default')\n      );\n\n  if (productOrBundleData === undefined) {\n    productOrBundleData = productData.default;\n  }\n  if (productOverride && productOverride.length > 0) {\n    productOrBundleData = _.find(productData, {\n      bundleProductKeys: productOverride\n    });\n  }\n  if (bundleOverride && bundleOverride.length > 0) {\n    productOrBundleData = _.get(\n      productData,\n      `${bundleOverride}`.split('.')[0],\n      _.get(productData, 'default')\n    );\n  }\n\n  const editionQueryParmSupplied = queryParameters.hasOwnProperty('edition');\n  const migrationSourceUuidParmSupplied = queryParameters.hasOwnProperty(\n    'migrationSourceUuid'\n  );\n\n  let edition: string;\n  if (queryParameters.hasOwnProperty('edition')) {\n    edition = EDITION_LABEL_ARRAY.some(\n      (label) => label.toLowerCase() === queryParameters.edition\n    )\n      ? queryParameters.edition\n      : FREE_EDITION_LABEL_KEY.toLowerCase();\n  } else {\n    edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n  }\n\n  if (editionOverride && editionOverride.length > 0) {\n    edition = editionOverride.toLowerCase();\n  }\n\n  /* Extended Cloud Trial License (ECTL) instances should be Standard Edition\n     if no edition query parm supplied*/\n  if (migrationSourceUuidParmSupplied && !editionQueryParmSupplied) {\n    edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n  } else if (\n    migrationSourceUuidParmSupplied &&\n    editionQueryParmSupplied &&\n    edition === FREE_EDITION_LABEL_KEY.toLowerCase()\n  ) {\n    // force standard edition if query parm supplied was set to free.\n    edition = edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n  }\n\n  // Developer Instances should always be Standard Edition\n  if (queryParameters.hasOwnProperty('developer')) {\n    edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n  }\n\n  // SPICE-448: Prototype products Point A - alpha or beta editions\n  if (productOrBundleData?.bundleProductKeys === ProductKey.COMPASS) {\n    // BXPSU-1499 Compass GA Launch - Add support for Free and Standard\n    // No Compass Premium edition so instead gets set to Standard edition\n    if (edition === PREMIUM_EDITION_LABEL_KEY.toLowerCase()) {\n      edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n    }\n  }\n\n  const imgSource = _.get(productOrBundleData, 'iconSrc');\n  const serverDownloadContent = _.get(productOrBundleData, 'calloutRichText');\n  const productContent = _.get(productOrBundleData, 'products');\n\n  return _.map(\n    (_.get(productOrBundleData, 'bundleProductKeys') || '').split(','),\n    (keys) => {\n      return {\n        product: keys,\n        edition,\n        imgSource,\n        serverDownloadContent,\n        productContent\n      };\n    }\n  );\n};\n\n/**\n * Given Product Key, return Product name\n */\n\nexport const getProductNameFromKey = (productKey: string): string => {\n  const nameIdx = PRODUCT_NAMES.map((name: string) =>\n    name.toLowerCase()\n  ).findIndex((productName) => productKey.includes(productName));\n  return nameIdx === -1 ? '' : PRODUCT_NAMES[nameIdx];\n};\n\n/**\n * Check for a matching productName within products\n */\n\nexport const includesProduct = ({\n  products,\n  productName\n}: IncludesProductOptionsType): boolean => {\n  return products.some(({ product: productKey }) => {\n    if (typeof productKey !== 'string') {\n      return false;\n    }\n    return getProductNameFromKey(productKey) === productName;\n  });\n};\n\nexport const onProductsRequireSitename = (productKeys: ProductKeysType[]) => {\n  return productKeys\n    .map(({ product: productKey }) => productKey)\n    .map(getProductNameFromKey)\n    .some((productName: string) => [BITBUCKET, OPSGENIE].includes(productName));\n};\n","import {\n  getIsBundleBbJsw,\n  getIsBundleDevops,\n  ProductKey\n} from '@atlassiansox/bxpkit-core';\nimport _ from 'lodash';\nimport {\n  GetEditionLabelsOptionsType,\n  GetEditionLabelsReturnType,\n  GetFeaturesListOptionsType,\n  GetSideInfoHeaderOptionsType,\n  GetTrialDurationSiteLabelOptionsType\n} from '../../../../../model';\nimport {\n  BITBUCKET,\n  BUNDLE_LABEL_KEY,\n  DEVELOPER_MODE,\n  DEVOPS,\n  FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST,\n  FREE_EDITION_LABEL_KEY,\n  JIRA_CORE,\n  JIRA_PRODUCT_DISCOVERY,\n  JSD,\n  JSW,\n  OPSGENIE,\n  FABRIC,\n  BEACON,\n  SIGNUP_OFFERING_LABEL_KEY_PREFIX,\n  SIGNUP_SIDE_INFO_HEADER_PREFIX,\n  STATUSPAGE,\n  TRIAL_DURATION_LABEL_KEY_EXISTING_SITE,\n  TRIAL_DURATION_LABEL_KEY_NEW_SITE,\n  WAC_SIGNUP_FORM_KEY_BASE,\n  JIRA_FAMILY\n} from './constants';\nimport { getProductNameFromKey } from './data-product';\nimport { useSignUpFormConfig } from '../../../../../hook';\n\n/**\n * Label for side-info header (if applicable)\n */\n\nexport const getSideInfoHeader = ({\n  labels,\n  productKeys,\n  developerMode\n}: GetSideInfoHeaderOptionsType): string => {\n  let contentKey = SIGNUP_SIDE_INFO_HEADER_PREFIX;\n\n  if (getIsBundleBbJsw(productKeys)) {\n    contentKey += BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n  }\n\n  if (getIsBundleDevops(productKeys)) {\n    contentKey += BUNDLE_LABEL_KEY + DEVOPS;\n  }\n\n  if (developerMode) {\n    contentKey += BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n  }\n\n  return labels[contentKey];\n};\n\n/**\n * Edition Labels, eg. 'Cloud Free', 'Cloud Premium'\n */\n\nexport const getEditionLabels = ({\n  productKey,\n  edition: originalEdition\n}: GetEditionLabelsOptionsType): GetEditionLabelsReturnType => {\n  let editionLabel = `Cloud ${_.capitalize(\n    originalEdition || FREE_EDITION_LABEL_KEY\n  )}`;\n  let featuresListEditionLabelKey = originalEdition || FREE_EDITION_LABEL_KEY;\n\n  if (getProductNameFromKey(productKey) === STATUSPAGE) {\n    editionLabel = '';\n  }\n\n  return { editionLabel, featuresListEditionLabelKey };\n};\n\n/**\n * Trial duration text, eg. '1-month free cloud trial',\n * for existing sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationExistingSiteLabel = ({\n  productKey,\n  labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n  const productName = getProductNameFromKey(productKey);\n  return productName === BITBUCKET || productName === STATUSPAGE\n    ? ''\n    : labels[TRIAL_DURATION_LABEL_KEY_EXISTING_SITE];\n};\n\n/**\n * Trial duration text, eg. '7-day free cloud trial',\n * for new sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationNewSiteLabel = ({\n  productKey,\n  labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n  const productName = getProductNameFromKey(productKey);\n  return productName === BITBUCKET || productName === STATUSPAGE\n    ? ''\n    : labels[\n        TRIAL_DURATION_LABEL_KEY_NEW_SITE +\n          (productName === OPSGENIE ? OPSGENIE : '')\n      ];\n};\n\n/**\n * Get list of features, eg. side-info <li/>'s\n */\n\nexport const getFeaturesList = ({\n  labels,\n  products,\n  productKey,\n  featuresListEditionLabelKey,\n  migrationData,\n  developerMode\n}: GetFeaturesListOptionsType): string => {\n  const { bundle } = useSignUpFormConfig();\n  const isBundle = products.length > 1;\n  const edition = _.capitalize(featuresListEditionLabelKey);\n  const includesJiraServiceManagement = _.includes(\n    _.map(products, (val) => val.product === ProductKey.JIRA_SERVICE_DESK),\n    true\n  );\n  if (migrationData && migrationData.migrationSourceUuid) {\n    // bitbucket\n    if (bundle === 'bitbucket' || productKey.includes(ProductKey.BITBUCKET)) {\n      // Forcing premium edition for Bitbucket CMTs.\n      // The Edition is overriden to free when calling this function from the SideInfo component\n      return labels[SIGNUP_OFFERING_LABEL_KEY_PREFIX + 'Premium' + BITBUCKET];\n    }\n\n    const migrationFeatureList =\n      labels[`${WAC_SIGNUP_FORM_KEY_BASE}migrationFeatureList`] || '';\n    if (\n      migrationData.migrationUserLimit &&\n      migrationData.migrationUserType &&\n      migrationData.migrationProductName\n    ) {\n      return migrationFeatureList\n        .replace('{productName}', migrationData.migrationProductName)\n        .replace('{usageLimit}', migrationData.migrationUserLimit.toString())\n        .replace('{userType}', migrationData.migrationUserType);\n    }\n    return migrationFeatureList;\n  }\n\n  let productNameFromKey = getProductNameFromKey(productKey);\n\n  // JSD Standalone\n  if (productKey.includes(ProductKey.JIRA_SERVICE_DESK)) {\n    productNameFromKey = JSD;\n  }\n\n  if (\n    productKey.includes(ProductKey.JIRA_CORE) &&\n    products[0].edition === 'premium'\n  ) {\n    return labels[SIGNUP_OFFERING_LABEL_KEY_PREFIX + 'Premium' + JIRA_CORE];\n  }\n\n  // Jira Core Standalone\n  if (productKey.includes(ProductKey.JIRA_CORE)) {\n    productNameFromKey = JIRA_CORE;\n  }\n\n  // Jira Software Standalone\n  if (productKey.includes(ProductKey.JIRA_SOFTWARE)) {\n    productNameFromKey = FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST;\n  }\n\n  // Free bundles that include JSD\n  if (\n    isBundle &&\n    includesJiraServiceManagement &&\n    edition === FREE_EDITION_LABEL_KEY\n  ) {\n    productNameFromKey = BUNDLE_LABEL_KEY + JSD;\n  }\n\n  // jira-software-bitbucket\n  if (getIsBundleBbJsw(products)) {\n    productNameFromKey = BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n  }\n\n  // devops\n  if (getIsBundleDevops(products)) {\n    productNameFromKey = BUNDLE_LABEL_KEY + DEVOPS;\n  }\n\n  if (developerMode) {\n    productNameFromKey = BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n  }\n\n  // team central\n  if (productKey.includes(ProductKey.TEAM_CENTRAL)) {\n    productNameFromKey = 'TeamCentral';\n  }\n\n  if (productKey.includes(ProductKey.JIRA_PRODUCT_DISCOVERY)) {\n    productNameFromKey = JIRA_PRODUCT_DISCOVERY;\n  }\n\n  if (productNameFromKey.endsWith('DeveloperMode')) {\n    return labels[\n      SIGNUP_OFFERING_LABEL_KEY_PREFIX + 'Standard' + productNameFromKey\n    ];\n  }\n\n  // canvas\n  if (productKey.includes(ProductKey.FABRIC)) {\n    productNameFromKey = FABRIC;\n  }\n\n  // beacon\n  if (productKey.includes(ProductKey.BEACON)) {\n    productNameFromKey = BEACON;\n  }\n  // jira family\n  if (isBundle && bundle === 'jira') {\n    productNameFromKey = JIRA_FAMILY;\n  }\n\n  return labels[\n    SIGNUP_OFFERING_LABEL_KEY_PREFIX + edition + productNameFromKey\n  ];\n};\n","import { FirstImpressionsImageUrlsType } from '../../../../../model';\nimport {\n  COMPASS,\n  CONFLUENCE,\n  FABRIC,\n  JIRA_CORE,\n  JIRA_PRODUCT_DISCOVERY,\n  JSD,\n  TEAM_CENTRAL,\n  BEACON,\n  JIRA_FAMILY,\n  BITBUCKET\n} from './constants';\n\nexport const getSocialProofProductLabel = (productKey: string) => {\n  switch (productKey) {\n    case 'jira-servicedesk.ondemand':\n      return JSD;\n    case 'confluence.ondemand':\n      return CONFLUENCE;\n    case 'jira-core.ondemand':\n      return JIRA_CORE;\n    case 'townsquare':\n      return TEAM_CENTRAL;\n    case 'jira-product-discovery':\n      return JIRA_PRODUCT_DISCOVERY;\n    case 'compass':\n      return COMPASS;\n    case 'atlassian-whiteboard':\n      return FABRIC;\n    case 'beacon':\n      return BEACON;\n    case 'jira':\n      return JIRA_FAMILY;\n    case 'com.atlassian.bitbucket':\n      return BITBUCKET;\n    default:\n      return '';\n  }\n};\n\nexport const getSocialProofImageURLs = (\n  productKey: string,\n  firstImpressionsImageUrls: FirstImpressionsImageUrlsType\n) => {\n  switch (productKey) {\n    case 'jira-servicedesk.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.jiraServiceDesk.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraServiceDesk.socialProofImage\n      };\n    case 'confluence.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.confluence.heroImage,\n        logoImage: firstImpressionsImageUrls.confluence.socialProofImage\n      };\n    case 'jira-core.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.jiraCore.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraCore.socialProofImage\n      };\n    case 'townsquare':\n      return {\n        heroImage: firstImpressionsImageUrls.teamCentral.heroImage,\n        logoImage: firstImpressionsImageUrls.teamCentral.socialProofImage\n      };\n    case 'jira-product-discovery':\n      return {\n        heroImage: firstImpressionsImageUrls.jiraProductDiscovery.heroImage,\n        logoImage:\n          firstImpressionsImageUrls.jiraProductDiscovery.socialProofImage\n      };\n    case 'compass':\n      return {\n        heroImage: firstImpressionsImageUrls.compass.heroImage,\n        logoImage: firstImpressionsImageUrls.compass.socialProofImage\n      };\n    case 'atlassian-whiteboard':\n      return {\n        heroImage: firstImpressionsImageUrls.fabric.heroImage,\n        logoImage: firstImpressionsImageUrls.fabric.socialProofImage\n      };\n    case 'beacon':\n      return {\n        heroImage: firstImpressionsImageUrls.beacon.heroImage,\n        logoImage: firstImpressionsImageUrls.beacon.socialProofImage\n      };\n    case 'jira':\n      return {\n        heroImage: firstImpressionsImageUrls.jira.heroImage,\n        logoImage: firstImpressionsImageUrls.jira.socialProofImage\n      };\n    case 'com.atlassian.bitbucket':\n      return {\n        heroImage: firstImpressionsImageUrls.bitbucket.heroImage,\n        logoImage: firstImpressionsImageUrls.bitbucket.socialProofImage\n      };\n    default:\n      return {\n        heroImage: firstImpressionsImageUrls.jiraSoftware.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraSoftware.socialProofImage\n      };\n  }\n};\n","import { GetAccountOrgsResponse } from '@atlassiansox/asc-stargate';\n\nexport type AccountOrg = GetAccountOrgsResponse[0];\n\nexport enum VortexStatus {\n  ENABLED = 'ENABLED',\n  DISABLED = 'DISABLED'\n}\n\n/**\n *\n * @param orgList List of account org information\n * @returns Record that maps Vortex Status to the respective number of orgs\n */\nexport function getOrgAdminVortexStatusCounts(\n  orgList: GetAccountOrgsResponse\n): Record<VortexStatus, number> {\n  const orgCount = {\n    [VortexStatus.ENABLED]: 0,\n    [VortexStatus.DISABLED]: 0\n  };\n\n  orgList.forEach(({ isAdmin, vortexMode }) => {\n    if (isAdmin && !!vortexMode) orgCount[vortexMode as VortexStatus]++;\n  });\n\n  return orgCount;\n}\n","import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';\n\ntype LogBitbucketAnalyticsOptions = {\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n  readonly analytics: BitbucketAnalyticsArgs;\n  readonly eventType?: string;\n};\n\ntype BitbucketAnalyticsArgs = {\n  readonly event: string;\n  readonly attributes?: { [key: string]: any };\n  readonly eventType: string;\n  readonly action: string;\n};\n\nexport const BITBUCKET_ANALYTICS_EVENTS = {\n  ORG_CREATE: 'orgCreate',\n  ORG_CREATE_STATUS: 'orgCreateStatus',\n  ORG_FETCH: 'getAccountOrgs',\n  WORKSPACE_PROVISION: 'activateProductBitbucket'\n};\n\nexport const BITBUCKET_EVENT_NAMES = {\n  VIEWED: 'viewed',\n  CLICKED: 'clicked',\n  ERROR: 'errored',\n  SUCCESS: 'succeeded'\n};\n\nexport function logBitbucketAnalytics({\n  createAnalyticsEvent,\n  analytics,\n  eventType = 'operational'\n}: LogBitbucketAnalyticsOptions): void {\n  const analyticsEvent = createAnalyticsEvent({\n    eventComponent: 'signUpBitbucketCMT',\n    actionSubject: 'signupForm',\n    source: 'bitbucketWacSignupPage',\n    ...analytics\n  });\n\n  // manually adjust the analytics context to use operational event type if it exists\n  if (analyticsEvent.context && analyticsEvent.context.length > 0) {\n    analyticsEvent.context[0].eventType = eventType;\n  }\n\n  analyticsEvent.fire();\n}\n\ntype BitbucketProvFailAnalytics = {\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n  readonly metadata?: { [key: string]: any };\n};\n\nexport async function trackBitbucketWorkspaceProvFailure({\n  createAnalyticsEvent,\n  metadata\n}: BitbucketProvFailAnalytics): Promise<void> {\n  logBitbucketAnalytics({\n    createAnalyticsEvent,\n    analytics: {\n      event: `${BITBUCKET_ANALYTICS_EVENTS.WORKSPACE_PROVISION} provisioned`,\n      eventType: 'operational',\n      action: 'errored',\n      attributes: metadata\n    }\n  });\n}\n","import {\n  CreateUIAnalyticsEvent,\n  useAnalyticsEvents\n} from '@atlaskit/analytics-next';\nimport {\n  GetAccountOrgsResponse,\n  IStargateClient\n} from '@atlassiansox/asc-stargate';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport { useEffect, useState } from 'react';\nimport {\n  BITBUCKET_ANALYTICS_EVENTS,\n  logBitbucketAnalytics\n} from '../service/sign-up-form/bitbucket-analytics';\n\nexport type UseOrgInfoOptions = {\n  readonly stargateClient: IStargateClient;\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n} & OrgInfoRequest;\n\nexport type OrgInfoRequest = {\n  readonly includeOrgResponse: boolean;\n  readonly includeVortexMode: boolean;\n};\n\nexport type OrgInfoResponse = {\n  readonly orgList: GetAccountOrgsResponse | null;\n  readonly hasError: boolean;\n  readonly completed: boolean;\n};\n\nexport const DEFAULT_ORG_RESPONSE = {\n  orgList: [],\n  hasError: false,\n  completed: true\n};\n\n/**\n * Hook that provides org info relevant to signup\n */\n\nexport function useOrgInfo(request: OrgInfoRequest) {\n  const stargateClient = useStargateClient();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  return fetchOrgInfo({\n    stargateClient,\n    createAnalyticsEvent,\n    ...request\n  });\n}\n\n/**\n * Helper that invokes the org info API call\n */\n\nexport function fetchOrgInfo({\n  includeOrgResponse,\n  includeVortexMode,\n  stargateClient,\n  createAnalyticsEvent\n}: UseOrgInfoOptions): OrgInfoResponse {\n  if (!includeOrgResponse) {\n    return { orgList: null, hasError: false, completed: true };\n  }\n\n  const [orgInfo, setOrgInfo] = useState<GetAccountOrgsResponse | null>(null);\n  const [hasError, setHasError] = useState(false);\n  const [completed, setCompleted] = useState(false);\n\n  const fetchOrgInfo = async () => {\n    await stargateClient\n      .getAccountOrgs({ includeVortexMode: includeVortexMode })\n      .then((orgs: GetAccountOrgsResponse) => {\n        setOrgInfo(orgs);\n      })\n      .catch((error) => {\n        setHasError(true);\n        logBitbucketAnalytics({\n          createAnalyticsEvent,\n          analytics: {\n            event: `${BITBUCKET_ANALYTICS_EVENTS.ORG_FETCH} fetched`,\n            eventType: 'operational',\n            action: 'errored',\n            attributes: {\n              errorCode: error?.response?.status,\n              errorMessage: error?.message\n            }\n          }\n        });\n      });\n  };\n\n  useEffect(() => {\n    fetchOrgInfo().then((_) => setCompleted(true));\n  }, []);\n\n  return { orgList: orgInfo, hasError, completed };\n}\n","import _ from 'lodash';\nimport React, {\n  createContext,\n  PropsWithChildren,\n  useContext,\n  useEffect,\n  useMemo,\n  useState\n} from 'react';\n\nimport {\n  BitbucketWorkspace,\n  BitbucketWorkspaces,\n  Product,\n  ProductKeys,\n  Sites,\n  SubmitErrorType,\n  WacSignupFormProps,\n  WacSignupFormState\n} from '../model';\n\nimport {\n  getIsBitbucket,\n  getIsBundleBbJsw,\n  getIsBundleDevops\n} from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport { messages } from '../messages/sign-up-form';\n\nimport {\n  getOrgAdminVortexStatusCounts,\n  sanitizeLastName\n} from '../layouts/legacy/view/utility';\nimport { useAppSelector } from '../redux';\nimport { DEFAULT_ORG_RESPONSE } from './use-org-info';\nimport { AccountOrg } from '../layouts/legacy/view/utility';\n\nfunction isSitesDefined(sites?: Sites[] | null): sites is Sites[] {\n  return !!sites;\n}\n\nfunction isOpsgenieIncluded(productKeys: Product[]) {\n  return _.includes(\n    _.map(\n      productKeys,\n      (productKey: Product) => productKey.product === ProductKeys.OPSGENIE\n    ),\n    true\n  );\n}\n\nexport function isProductIncluded(productKeys: Product[], product: string) {\n  return _.includes(\n    _.map(productKeys, (productKey: Product) => productKey.product),\n    product\n  );\n}\n\nexport function cleanseNonAdminWorkspaces(\n  bitbucketWorkspaces: BitbucketWorkspaces\n) {\n  const purifiedData: BitbucketWorkspace[] = _.filter(\n    bitbucketWorkspaces.values,\n    (workspace: BitbucketWorkspace) => workspace.permission === 'owner'\n  );\n  return purifiedData;\n}\n\nexport const SignUpFormUIStateContext = createContext<WacSignupFormProps>({\n  productKeys: [] as Product[],\n  bitbucketWorkspaces: {\n    size: 0,\n    values: [] as BitbucketWorkspace[]\n  },\n  hideFullName: false,\n  showEmail: false,\n  userInfo: {\n    firstName: '',\n    fullName: '',\n    lastName: '',\n    email: '',\n    sites: [] as Sites[],\n    isLoggedIn: false,\n    extendedTrialOverridableSites: [] as string[],\n    accountId: '',\n    isNewUser: false\n  },\n  marketingConsentRequired: false,\n  signInAccountUrl: '',\n  switchAccountUrl: '',\n  originAnalyticsAttributes: {\n    signInUser: null,\n    switchUser: null\n  },\n  reCaptchaKey: '',\n  devMode: false,\n  migrationData: {\n    migrationSourceUuid: '',\n    migrationUserLimit: 0,\n    migrationUserType: '',\n    migrationProductName: '',\n    migrationSites: [],\n    invalidMigration: false,\n    claimedMigration: false\n  },\n  isStaging: false,\n  wacEnvUrl: '',\n  locale: '',\n  templateId: { templateId: '' },\n  analyticsTrack: {\n    newRelic: {\n      action: () => undefined,\n      attribute: () => undefined,\n      trackAjax: () => undefined\n    },\n    segment: () => undefined\n  },\n  formExistingSiteShown: () => undefined,\n  deferSiteNameCreation: false,\n  defaultErrorType: SubmitErrorType.NO_ERROR,\n  enableFreeBreachTest: false,\n  simulateFreeBreachState: false,\n  spProduct: '',\n  hideGreeting: false,\n  outlineOnFocus: false,\n  fadeOnDisable: false,\n  popOverError: false,\n  enableFieldProgression: false,\n  showWarningIcon: false,\n  selectedSiteId: '',\n  hideCaptchaEula: false,\n  enableResendEmail: false,\n  enableCarouselEndCard: false,\n  firstImpressionsImageUrls: {\n    backgroundImage: '',\n    jiraSoftware: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    jiraServiceDesk: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    confluence: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    jiraCore: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    teamCentral: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    jiraProductDiscovery: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    compass: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    fabric: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    beacon: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    jira: {\n      heroImage: '',\n      socialProofImage: ''\n    },\n    bitbucket: {\n      heroImage: '',\n      socialProofImage: ''\n    }\n  },\n  siteRenamePageUrl: '',\n  enableSkipRecaptcha: false,\n  userOrgInfo: DEFAULT_ORG_RESPONSE,\n  hasCcpEntitlements: false,\n  isNewCCPSiteForMigration: false\n});\n\nexport type SignUpFormUIStateProviderProps = PropsWithChildren<{\n  readonly signUpFormProps: WacSignupFormProps;\n}>;\n\nexport function SignUpFormUIStateProvider({\n  signUpFormProps,\n  children\n}: SignUpFormUIStateProviderProps) {\n  return (\n    <SignUpFormUIStateContext.Provider value={signUpFormProps}>\n      {children}\n    </SignUpFormUIStateContext.Provider>\n  );\n}\n\nexport type PickableExistingSitesOptions = {\n  productKeys: Product[];\n  isBundleBBJSW: boolean;\n  isBundleDevops: boolean;\n  isTeamCentral: boolean;\n  isJpd: boolean;\n  isCompass: boolean;\n  isOpsgenie: boolean;\n  isJswJsmBundle: boolean;\n  isJswJwmBundle: boolean;\n  sitesToFilter: Sites[];\n  extendedTrialOverridableSites: string[] | null;\n};\n\nexport function getPickableExistingSites({\n  productKeys,\n  isBundleBBJSW = false,\n  isBundleDevops = false,\n  isTeamCentral = false,\n  isJpd = false,\n  isCompass = false,\n  isOpsgenie = false,\n  isJswJsmBundle = false,\n  isJswJwmBundle = false,\n  sitesToFilter,\n  extendedTrialOverridableSites = []\n}: PickableExistingSitesOptions): Sites[] {\n  // filter user's sites excluding sites with target products being signed up for\n  const defaultProductKeys = productKeys.map((product) => product.product);\n\n  // filter user's sites excluding sites with target products being signed up for,\n  const targetProductKeys = productKeys.map((product) => product.product);\n\n  const hasExtendedTrialOverride = (cloudId: string): boolean => {\n    return (\n      (extendedTrialOverridableSites &&\n        extendedTrialOverridableSites.includes(cloudId)) ||\n      false\n    );\n  };\n\n  let pickableSites: Sites[] = [];\n\n  if (isBundleBBJSW) {\n    // BB/JSW: only filter out SP/OG, not JSW: user must\n    // be able to add BB workspace to JSW site)\n    const bbJswFilteredProductKeys: string[] = [\n      ProductKeys.STATUSPAGE,\n      ProductKeys.OPSGENIE\n    ];\n\n    // filter out non admin sites for bbjsw\n    const adminSites = sitesToFilter.filter((site) => site.adminAccess);\n\n    pickableSites = adminSites.filter((site) => {\n      const sitesMatch = site.products.map((product) => {\n        return !bbJswFilteredProductKeys.includes(product);\n      });\n      return !sitesMatch.includes(false);\n    });\n  } else if (isOpsgenie) {\n    // OG: also filter out JSM\n    targetProductKeys.push(ProductKeys.JIRA_SERVICE_DESK);\n    targetProductKeys.push(ProductKeys.STATUSPAGE);\n    pickableSites = sitesToFilter.filter((site) => {\n      const sitesMatch = site.products.map((product) => {\n        return !targetProductKeys.includes(product);\n      });\n      return !sitesMatch.includes(false);\n    });\n  } else if (isBundleDevops) {\n    // filter out non admin sites for devops\n    const adminSites = sitesToFilter.filter((site) => site.adminAccess);\n    targetProductKeys.push(ProductKeys.STATUSPAGE);\n    targetProductKeys.push(ProductKeys.OPSGENIE);\n    pickableSites = adminSites.filter((site) => {\n      return (\n        !_.some(site.products, (product: string) =>\n          targetProductKeys.includes(product)\n        ) || hasExtendedTrialOverride(site.cloudId)\n      );\n    });\n  } else if (isTeamCentral || isJpd || isCompass) {\n    // do not filter out sites containing OG or SP\n    pickableSites = sitesToFilter.filter((site) => {\n      return (\n        !_.some(site.products, (product: string) =>\n          defaultProductKeys.includes(product)\n        ) || hasExtendedTrialOverride(site.cloudId)\n      );\n    });\n  } else if (isJswJsmBundle || isJswJwmBundle) {\n    // Setting pickableSites to empty array to disable site picker\n    // https://hello.jira.atlassian.cloud/browse/BXPSU-2449\n    // https://hello.jira.atlassian.cloud/browse/BXPSU-2533\n    pickableSites = [];\n  } else {\n    // default filtering\n    pickableSites = sitesToFilter.filter((site) => {\n      return (\n        !_.some(site.products, (product: string) =>\n          targetProductKeys.includes(product)\n        ) || hasExtendedTrialOverride(site.cloudId)\n      );\n    });\n  }\n\n  // remove all sandbox sites\n  pickableSites = pickableSites.filter((site) => {\n    return !/sandbox-\\d{3}/.test(site.displayName);\n  });\n\n  return pickableSites;\n}\n\nexport function removeExistingPremiumJSMSites({\n  isJsm,\n  isFree,\n  pickableSites\n}: {\n  isJsm: boolean;\n  isFree: boolean;\n  pickableSites: Sites[];\n}) {\n  const JSMProductKeys = [\n    `${ProductKeys.JIRA_SERVICE_DESK}`,\n    `${ProductKeys.JIRA_SERVICE_MANAGEMENT}`\n  ];\n  if (isJsm && !isFree) {\n    pickableSites = pickableSites.filter((site) => {\n      const toFilter = site?.productsAndEditions?.filter(\n        ({ productKey, productEdition }) => {\n          const existingPremiumJSMSite =\n            JSMProductKeys.includes(productKey) &&\n            productEdition.toLowerCase() === 'premium';\n          return existingPremiumJSMSite;\n        }\n      );\n\n      return !toFilter?.length;\n    });\n  }\n\n  return pickableSites;\n}\n\nexport function useSignUpFormUIState() {\n  const signUpFormProps = useContext(SignUpFormUIStateContext);\n\n  const { deferredSiteName } = useAppSelector((store) => store);\n\n  const {\n    devMode,\n    migrationData,\n    userInfo,\n    bitbucketWorkspaces,\n    marketingConsentRequired,\n    productKeys,\n    isStaging,\n    locale,\n    deferSiteNameCreation,\n    templateId,\n    enableResendEmail = false,\n    enableCarouselEndCard = false,\n    defaultErrorType = SubmitErrorType.NO_ERROR,\n    userOrgInfo,\n    hasCcpEntitlements,\n    isNewCCPSiteForMigration\n  } = signUpFormProps;\n\n  const welcomeMessage =\n    userInfo && userInfo.firstName\n      ? messages.personalizedWelcomeMessage\n      : messages.defaultWelcomeMessage;\n\n  const signupSource = new URLSearchParams(window.location.search).get(\n    'signupSource'\n  );\n  const bitbucketPreferred = signupSource === 'bbbundle' ? true : false;\n\n  const initialState: WacSignupFormState = {\n    hasCCPEntitlements: hasCcpEntitlements,\n    isNewCCPSiteForMigration: isNewCCPSiteForMigration,\n    email: null,\n    firstName: null,\n    lastName: null,\n    displayName: null,\n    password: null,\n    cloudName: null,\n    bbName: null,\n    dataRegion: 'US',\n    products: [],\n    consent: {\n      site: null,\n      locale: null,\n      formUrl: null,\n      consents: [\n        {\n          key: 'termsOfService',\n          displayedText: messages.eula.defaultMessage,\n          granted: true\n        },\n        {\n          key: 'privacyPolicy',\n          displayedText: messages.eula.defaultMessage,\n          granted: true\n        },\n        {\n          key: 'generalMarketingOptIn',\n          displayedText: messages.marketingConsent.defaultMessage,\n          granted: false\n        }\n      ]\n    },\n    isExistingSitePickerN2E: false,\n    isLoggedIn: false,\n    selectedSite: null,\n    migrationId: null,\n    isSubmitting: false,\n    isSSOValid: false,\n    cloudNameLength: 0,\n    isNewUser: false\n  };\n  const signupOrigin = new OriginTracing({ product: 'wac-sign-up' });\n  const [showResendEmail, setShowResendEmail] = useState(false);\n  const [showDevopsCarouselEnd, setShowDevopsCarouselEnd] = useState(false);\n  const [goToURL, setGoToURL] = useState('');\n  const resendEmail = {\n    setShowResendEmail,\n    enableResendEmail,\n    enableCarouselEndCard,\n    setShowDevopsCarouselEnd,\n    setGoToURL\n  };\n\n  const [isBbCopyEnabled, setIsBbCopyEnabled] = useState(false);\n  const bbWorkspaces = bitbucketWorkspaces?.values\n    ? cleanseNonAdminWorkspaces(bitbucketWorkspaces)\n    : [];\n  const bbWorkspacesTotal = bbWorkspaces.length || 0;\n  let buttonText = messages.buttonText;\n  let startButtonText = messages.startButtonText;\n\n  // @todo: refactor to a function\n  const isOpsgenie = isOpsgenieIncluded(productKeys);\n  const isStatuspage = isProductIncluded(productKeys, ProductKeys.STATUSPAGE);\n  const isTeamCentral = isProductIncluded(\n    productKeys,\n    ProductKeys.TEAM_CENTRAL\n  );\n  const isJsw = isProductIncluded(productKeys, ProductKeys.JIRA_SOFTWARE);\n  const isConfluence = isProductIncluded(productKeys, ProductKeys.CONFLUENCE);\n  const isJsm = isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_DESK);\n  const isJwm = isProductIncluded(productKeys, ProductKeys.JIRA_CORE);\n  const isJpd = isProductIncluded(\n    productKeys,\n    ProductKeys.JIRA_PRODUCT_DISCOVERY\n  );\n  const isCompass = isProductIncluded(productKeys, ProductKeys.COMPASS);\n  const isBeacon = isProductIncluded(productKeys, ProductKeys.BEACON);\n  const isBundleBBJSW = getIsBundleBbJsw(productKeys);\n  const isBitbucket = getIsBitbucket(productKeys);\n  const isBundleDevops = getIsBundleDevops(productKeys);\n  const isJswJsmBundle = isJsw && isJsm;\n  const isJswJwmBundle = isJsw && isJwm;\n  const isFree = productKeys.length > 0 && productKeys[0].edition === 'free';\n  // suppress User Segmentation Screen for Jira Template Signups\n  const hideUserSegmentation = !!(templateId && (isJsw || isJsm || isJwm));\n\n  // BXPSU-1842 logged out email redirect URL\n  const [n2nSignInRedirect, setN2NSignInRedirect] = useState('');\n  let isSitePickerDisabled = false;\n  if (isBundleDevops) {\n    // use Devops submit button text\n    buttonText = messages.devopsButtonText;\n    startButtonText = messages.devopsStartButtonText;\n\n    // Devops EAP only allows creating new sites. Remove this for Devops GA:\n    isSitePickerDisabled = true;\n  }\n\n  const orgFetchResponse = userOrgInfo ?? DEFAULT_ORG_RESPONSE;\n\n  const orgAdminVortexStatusCounts = useMemo(() => {\n    return getOrgAdminVortexStatusCounts(orgFetchResponse.orgList || []);\n  }, [orgFetchResponse.orgList]);\n\n  if (isBitbucket) {\n    startButtonText = messages.bitbucketSubmitButtonTextMessage;\n  }\n\n  let productsExisting: string[] = [];\n  if (isBundleBBJSW && bbWorkspacesTotal > 0) {\n    productsExisting = [ProductKeys.BITBUCKET];\n  }\n  if (isBundleBBJSW && userInfo && userInfo.sites) {\n    userInfo.sites.map((site: Sites) => {\n      productsExisting = [...productsExisting, ...site.products];\n    });\n  }\n\n  const hideAsterisks = true;\n  let pickableSites: Sites[] = [];\n  let intialEmail = '';\n\n  if (!marketingConsentRequired) {\n    initialState.consent.consents[2].granted = true;\n    initialState.consent.consents[2].displayedText = 'general consent implied';\n  }\n\n  if (userInfo && userInfo.firstName && userInfo.email) {\n    // N2E\n    const { firstName, email, lastName } = userInfo;\n    initialState.firstName = firstName;\n    initialState.lastName = sanitizeLastName(lastName);\n    initialState.displayName = `${firstName} ${initialState.lastName}`.trim();\n    intialEmail = email;\n    initialState.email = email;\n    initialState.isLoggedIn = true;\n    initialState.migrationId = migrationData\n      ? migrationData.migrationSourceUuid\n      : null;\n\n    delete initialState.password;\n\n    !isOpsgenie\n      ? delete initialState.dataRegion\n      : (initialState.dataRegion = 'US');\n\n    if (isSitesDefined(userInfo?.sites) && userInfo.sites.length > 0) {\n      if (userInfo.sites.length === 1 && !isBitbucket) {\n        initialState.cloudName = userInfo.sites[0].displayName;\n        initialState.selectedSite = userInfo.sites[0];\n      }\n\n      if (bbWorkspaces.length > 0) {\n        initialState.bbName = bbWorkspaces[0].workspace.name;\n      }\n\n      pickableSites = getPickableExistingSites({\n        productKeys,\n        isBundleBBJSW,\n        isBundleDevops,\n        isTeamCentral,\n        isJpd,\n        isCompass,\n        isOpsgenie,\n        isJswJsmBundle,\n        isJswJwmBundle,\n        sitesToFilter: userInfo.sites,\n        extendedTrialOverridableSites: userInfo.extendedTrialOverridableSites\n      });\n\n      pickableSites = removeExistingPremiumJSMSites({\n        isJsm,\n        isFree,\n        pickableSites\n      });\n    } else if (userInfo.isNewUser) {\n      initialState.isNewUser = true;\n    }\n  }\n\n  initialState.consent.locale = locale;\n  initialState.consent.site = 'atlassian';\n  initialState.consent.formUrl = window.location.href;\n  initialState.products = productKeys;\n\n  // if BB preferred then ensure BB is the primary product\n  if (bitbucketPreferred && isBundleBBJSW) {\n    initialState.products = [...initialState.products].sort((a, b) =>\n      (a.product || '').localeCompare(b.product || '')\n    );\n  }\n\n  initialState.isExistingSitePickerN2E =\n    !devMode && (pickableSites.length > 0 || isBitbucket);\n\n  const [signupState, setSignupState] = useState(initialState);\n  const [pollingLoaderShown, setPollingLoaderShown] = useState(false);\n  const [shouldShowUseExisting, setShouldShowUseExisting] = useState(\n    !devMode && !_.isEmpty(pickableSites)\n  );\n  const [isValidSiteName, setIsValidSiteName] = useState(false);\n  const [isValidWorkspaceID, setIsValidWorkspaceID] = useState(false);\n  const [selectedOrg, setSelectedOrg] = useState<AccountOrg | null>(null);\n  const [workspaceIDTakenError, setWorkspaceIDTakenError] = useState(false);\n  const [orgProvisioningProgressMessage, setOrgProvisioningProgressMessage] =\n    useState(false);\n  const [submitError, setSubmitError] = useState(defaultErrorType);\n  const [activateProductError, setActivateProductError] = useState(false);\n  const [selectedSiteIsInBreachOfFree, setSelectedSiteIsInBreachOfFree] =\n    useState(false);\n  const [\n    disableSignInWhileTestingFreeBreach,\n    setDisableSignInWhileTestingFreeBreach\n  ] = useState(false);\n\n  useEffect(() => {\n    const isNewCCPSiteForMigration =\n      initialState.migrationId && !signupState.isExistingSitePickerN2E;\n\n    const hasCCPEntitlement =\n      initialState.migrationId &&\n      !isBitbucket &&\n      signupState.selectedSite &&\n      signupState.selectedSite.entitlements &&\n      signupState.selectedSite.entitlements.find(\n        (entilement: { billingSourceSystem: string }) =>\n          entilement.billingSourceSystem === 'CCP'\n      );\n\n    setSignupState({\n      ...signupState,\n      hasCCPEntitlements: !!hasCCPEntitlement,\n      isNewCCPSiteForMigration: !!isNewCCPSiteForMigration\n    });\n  }, [\n    signupState.selectedSite,\n    isBitbucket,\n    initialState.migrationId,\n    signupState.isExistingSitePickerN2E\n  ]);\n\n  useEffect(() => {\n    if (\n      isBbCopyEnabled &&\n      !signupState.isExistingSitePickerN2E &&\n      signupState.cloudName &&\n      signupState.bbName !== signupState.cloudName\n    ) {\n      setSignupState({\n        ...signupState,\n        bbName: signupState.cloudName || ''\n      });\n    }\n    if (\n      isBbCopyEnabled &&\n      signupState.isExistingSitePickerN2E &&\n      signupState.selectedSite &&\n      signupState.bbName !== signupState.selectedSite?.displayName\n    ) {\n      setSignupState({\n        ...signupState,\n        bbName: signupState.selectedSite?.displayName || ''\n      });\n    }\n  }, [\n    isBbCopyEnabled,\n    signupState.cloudName,\n    signupState.selectedSite,\n    signupState.isExistingSitePickerN2E\n  ]);\n\n  useEffect(() => {\n    const n2eAvailable = !!(\n      !devMode &&\n      pickableSites.length > 0 &&\n      userInfo &&\n      isSitesDefined(userInfo?.sites) &&\n      userInfo.sites.length > 0\n    );\n    setSignupState({\n      ...signupState,\n      products: productKeys,\n      isExistingSitePickerN2E: n2eAvailable,\n      // @ts-ignore\n      selectedSite: n2eAvailable ? userInfo.sites[0] : null,\n      cloudName: n2eAvailable\n        ? // @ts-ignore\n          userInfo.sites[0].displayName\n        : signupState.isExistingSitePickerN2E\n        ? ''\n        : signupState.cloudName\n    });\n    setShouldShowUseExisting(!devMode && !_.isEmpty(pickableSites));\n  }, [productKeys]);\n\n  const siteNameAfter = useMemo(() => {\n    if (isOpsgenie && !isBundleDevops) {\n      return '.app.opsgenie.com';\n    }\n    if (isStaging) {\n      return '.jira-dev.com';\n    } else {\n      return '.atlassian.net';\n    }\n  }, [signupState.dataRegion]);\n\n  const isValid = useMemo(() => {\n    return (\n      signupState.email !== null &&\n      signupState.email !== '' &&\n      ((signupState.cloudName !== null && signupState.cloudName !== '') ||\n        deferSiteNameCreation ||\n        (deferredSiteName.isEnabled && signupState.cloudNameLength === 0)) &&\n      !signupState.isSSOValid\n    );\n  }, [signupState]);\n\n  const isValidChooseSignup = useMemo(() => {\n    return (\n      signupState.email !== null &&\n      signupState.email !== '' &&\n      !signupState.isSSOValid\n    );\n  }, [signupState]);\n\n  const isValidN2E = useMemo(() => {\n    const isUserInfoValid =\n      signupState.email !== null &&\n      signupState.email !== '' &&\n      signupState.firstName !== null &&\n      signupState.firstName !== '' &&\n      signupState.lastName !== null &&\n      signupState.lastName !== '' &&\n      ((userInfo && userInfo.email !== '' && userInfo.email !== null) ||\n        (signupState.password !== null && signupState.password !== ''));\n    const isValidName = isBitbucket\n      ? isValidWorkspaceID\n      : isValidSiteName &&\n        signupState.cloudName !== null &&\n        signupState.cloudName !== '';\n    const isAccountOrgSelected = isBitbucket\n      ? selectedOrg !== null || orgAdminVortexStatusCounts.ENABLED === 0\n      : true;\n    return (\n      isUserInfoValid &&\n      !signupState.isSSOValid &&\n      isValidName &&\n      isAccountOrgSelected\n    );\n  }, [signupState, isValidSiteName, isValidWorkspaceID, selectedOrg]);\n\n  useEffect(() => {\n    if (\n      orgAdminVortexStatusCounts.ENABLED === 1 &&\n      orgAdminVortexStatusCounts.DISABLED === 0 &&\n      orgFetchResponse.orgList\n    ) {\n      setSelectedOrg(orgFetchResponse.orgList[0]);\n    }\n  }, [orgAdminVortexStatusCounts]);\n\n  return {\n    signupState,\n    setSignupState,\n    pollingLoaderShown,\n    setPollingLoaderShown,\n    showResendEmail,\n    setShowResendEmail,\n    intialEmail,\n    showDevopsCarouselEnd,\n    setShowDevopsCarouselEnd,\n    goToURL,\n    setGoToURL,\n    resendEmail,\n    isBbCopyEnabled,\n    setIsBbCopyEnabled,\n    bbWorkspaces,\n    bbWorkspacesTotal,\n    isOpsgenie,\n    isStatuspage,\n    isTeamCentral,\n    isBundleBBJSW,\n    isBundleDevops,\n    isCompass,\n    isBeacon,\n    isBitbucket,\n    isJpd,\n    isFree,\n    buttonText,\n    startButtonText,\n    isSitePickerDisabled,\n    productsExisting,\n    hideAsterisks,\n    pickableSites,\n    shouldShowUseExisting,\n    isValidSiteName,\n    setIsValidSiteName,\n    submitError,\n    setSubmitError,\n    activateProductError,\n    setActivateProductError,\n    selectedSiteIsInBreachOfFree,\n    setSelectedSiteIsInBreachOfFree,\n    disableSignInWhileTestingFreeBreach,\n    setDisableSignInWhileTestingFreeBreach,\n    siteNameAfter,\n    isValid,\n    isValidChooseSignup,\n    isValidN2E,\n    initialState,\n    welcomeMessage,\n    signUpFormProps,\n    hideUserSegmentation,\n    signupOrigin,\n    n2nSignInRedirect,\n    setN2NSignInRedirect,\n    isJsw,\n    isConfluence,\n    isValidWorkspaceID,\n    setIsValidWorkspaceID,\n    orgFetchResponse,\n    selectedOrg,\n    setSelectedOrg,\n    workspaceIDTakenError,\n    setWorkspaceIDTakenError,\n    orgAdminVortexStatusCounts,\n    orgProvisioningProgressMessage,\n    setOrgProvisioningProgressMessage\n  };\n}\n","import React, {\n  createContext,\n  useContext,\n  useMemo,\n  PropsWithChildren\n} from 'react';\nimport { Url } from '@atlassiansox/bxpkit-core';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport {\n  EDITION_LABEL_ARRAY,\n  FREE_EDITION_LABEL_KEY,\n  STANDARD_EDITION_LABEL_KEY,\n  PREMIUM_EDITION_LABEL_KEY\n} from '../utility';\nimport { ExperimentScreensFlags } from '../sign-up-layout-container';\n\nexport type Platform = 'ccp' | 'hams' | 'routing';\nconst PLATFORM_OPTIONS = ['ccp', 'hams', 'routing'] as Platform[];\n\nexport type SignUpFormConfig = {\n  readonly bundle?: string;\n  readonly product?: string;\n  readonly edition?: string;\n  readonly templateId?: string;\n  readonly migrationSourceUuid?: string;\n  readonly developer?: string;\n  readonly src?: string;\n  readonly useCcpPlatform: boolean;\n  readonly platform: Platform;\n  readonly experimentScreensFlags?: ExperimentScreensFlags;\n  readonly customSignupContext?: string;\n};\n\nexport type SignUpFormConfigContextProps = {\n  readonly bundleOverride?: string;\n  readonly productOverride?: string;\n  readonly editionOverride?: string;\n  readonly experimentScreensFlags?: ExperimentScreensFlags;\n  readonly customSignupContext?: string;\n};\n\nexport const SignUpConfigContext = createContext<SignUpFormConfigContextProps>(\n  {}\n);\n\nexport function SignUpConfigContextProvider({\n  children,\n  ...props\n}: PropsWithChildren<SignUpFormConfigContextProps>) {\n  return (\n    <SignUpConfigContext.Provider value={props}>\n      {children}\n    </SignUpConfigContext.Provider>\n  );\n}\n\nfunction buildSignUpFormConfig(\n  bundleOverride?: string,\n  productOverride?: string,\n  editionOverride?: string,\n  productParam?: string,\n  bundleParam?: string,\n  editionParam?: string,\n  templateIdParam?: string,\n  developerParam?: string,\n  migrationSourceUuidParam?: string,\n  srcParam?: string,\n  platformParam?: string,\n  experimentScreensFlags?: ExperimentScreensFlags,\n  customSignupContext?: string\n) {\n  // figure out what the product key is\n  let product;\n  if (productOverride && productOverride.length > 0) {\n    product = productOverride.replace(\n      ProductKey.JIRA_SERVICE_MANAGEMENT,\n      ProductKey.JIRA_SERVICE_DESK\n    );\n  } else if (productParam && productParam.length > 0) {\n    product = productParam.replace(\n      ProductKey.JIRA_SERVICE_MANAGEMENT,\n      ProductKey.JIRA_SERVICE_DESK\n    );\n  }\n\n  // figure out what the bundle name is\n  let bundle;\n  if (bundleOverride && bundleOverride.length > 0) {\n    bundle = bundleOverride;\n  } else if (bundleParam && bundleParam.length > 0) {\n    bundle = bundleParam.split('.')[0];\n  }\n\n  // either product (product key), or bundle (bundle name), should exist, not both\n  if (bundle && bundle.length) {\n    product = undefined;\n  } else if (product && product.length) {\n    bundle = undefined;\n  }\n  // if nothing is provided, set bundle to 'default', which is Jira Software\n  else {\n    bundle = 'default';\n  }\n\n  // add edition data\n  let edition;\n  if (editionOverride && editionOverride.length > 0) {\n    edition = EDITION_LABEL_ARRAY.some(\n      (label) => label.toLowerCase() === editionOverride\n    )\n      ? editionOverride\n      : FREE_EDITION_LABEL_KEY.toLowerCase();\n  } else if (editionParam && editionParam.length > 0) {\n    edition = EDITION_LABEL_ARRAY.some(\n      (label) => label.toLowerCase() === editionParam\n    )\n      ? editionParam\n      : FREE_EDITION_LABEL_KEY.toLowerCase();\n  } else {\n    edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n  }\n\n  // adjust edition based on migrationSourceUuid query parameter\n  // should either be standard or premium; always correct free to standard\n  if (\n    migrationSourceUuidParam &&\n    migrationSourceUuidParam.length > 0 &&\n    edition !== STANDARD_EDITION_LABEL_KEY.toLowerCase() &&\n    edition !== PREMIUM_EDITION_LABEL_KEY.toLowerCase()\n  ) {\n    edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n  }\n\n  // Developer Instances should always be Standard Edition\n  if (developerParam) {\n    edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n  }\n  // SPICE-448: Prototype products - Point A alpha or beta products\n  if (bundle === ProductKey.COMPASS || product === ProductKey.COMPASS) {\n    // BXPSU-1499 Compass GA Launch - Add support for Free and Standard\n    // No Compass Premium edition so instead gets set to Standard edition\n    if (edition === PREMIUM_EDITION_LABEL_KEY.toLowerCase()) {\n      edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n    }\n  }\n\n  // Bitbucket CMTs should always be Premium Edition\n  if (\n    !editionParam &&\n    migrationSourceUuidParam &&\n    migrationSourceUuidParam.length > 0 &&\n    bundle === 'bitbucket'\n  ) {\n    edition = PREMIUM_EDITION_LABEL_KEY.toLowerCase();\n  }\n\n  let platform = 'routing' as Platform;\n  let useCcpPlatform = false;\n  if (platformParam) {\n    const platformParamLowerCase = platformParam.toLowerCase() as Platform;\n    if (platformParamLowerCase === 'ccp') {\n      useCcpPlatform = true;\n    }\n\n    if (PLATFORM_OPTIONS.includes(platformParamLowerCase)) {\n      platform = platformParamLowerCase;\n    }\n  }\n\n  return {\n    bundle,\n    edition,\n    product,\n    migrationSourceUuid: migrationSourceUuidParam,\n    templateId: templateIdParam,\n    developer: developerParam,\n    src: srcParam,\n    useCcpPlatform,\n    platform,\n    experimentScreensFlags,\n    customSignupContext\n  };\n}\n\nexport function useSignUpFormConfig(): SignUpFormConfig {\n  const {\n    bundleOverride,\n    productOverride,\n    editionOverride,\n    experimentScreensFlags,\n    customSignupContext\n  } = useContext(SignUpConfigContext);\n\n  const {\n    product: productParam,\n    bundle: bundleParam,\n    edition: editionParam,\n    templateId: templateIdParam,\n    developer: developerParam,\n    migrationSourceUuid: migrationSourceUuidParam,\n    src: srcParam,\n    platform: platformParam\n  } = Url.getUrlParams() || {};\n\n  return useMemo(\n    () =>\n      buildSignUpFormConfig(\n        bundleOverride,\n        productOverride,\n        editionOverride,\n        productParam,\n        bundleParam,\n        editionParam,\n        templateIdParam,\n        developerParam,\n        migrationSourceUuidParam,\n        srcParam,\n        platformParam,\n        experimentScreensFlags,\n        customSignupContext\n      ),\n    [\n      bundleOverride,\n      productOverride,\n      editionOverride,\n      productParam,\n      bundleParam,\n      editionParam,\n      templateIdParam,\n      developerParam,\n      migrationSourceUuidParam,\n      srcParam,\n      platformParam,\n      experimentScreensFlags,\n      customSignupContext\n    ]\n  );\n}\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport CheckCircleOutlineIcon from '@atlaskit/icon/glyph/check-circle-outline';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport Spinner from '@atlaskit/spinner';\nimport Textfield from '@atlaskit/textfield';\nimport {\n  MarieSchemaAnalytics,\n  SanitizedFormattedHtmlMessage\n} from '@atlassiansox/bxpkit-core';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport {\n  useAuthenticationMethodsCheck,\n  useDebounce,\n  useEmailValidation\n} from '../../../../../hook';\nimport {\n  getTranslatableError,\n  messages\n} from '../../../../../messages/sign-up-form';\nimport { EmailFieldPropsType } from '../../../../../model/email-field';\nimport { useAppSelector } from '../../../../../redux';\nimport {\n  ChooseSignupLabel,\n  ChooseSignupSuccessTextfieldWrapper,\n  EmailAfter,\n  ErrorMessageWithDefaultClassName,\n  FieldContainer,\n  Label,\n  LabelDefaultExpandedEmail,\n  SigninWithDiffAccount,\n  SuccessTextfieldWrapper\n} from './styled';\n\nexport function EmailField({\n  onEmailChange,\n  initialEmail,\n  signInAccountUrl,\n  switchAccountUrl,\n  originAnalyticsAttributes,\n  analyticsTrack,\n  wacEnvUrl,\n  isStaging,\n  isDisabled,\n  outlineOnFocus,\n  fadeOnDisable,\n  popOverError,\n  showWarningIcon,\n  onSSOCheckValid,\n  isDeferredSiteNameEnabled,\n  isFocusedChooseSignup,\n  setIsFocusedChooseSignup,\n  showError,\n  setShowError,\n  setN2NSignInRedirect,\n  isConfluence\n}: EmailFieldPropsType) {\n  const { enableDefaultExpandedEmail } = useAppSelector(\n    (state) => state.featureFlags\n  );\n\n  const { segment } = analyticsTrack;\n  const baseUrl = `${wacEnvUrl}${isStaging ? '/apis/stg' : ''}/hamlet`;\n  const hasInitialEmail = (initialEmail && initialEmail !== '') || false;\n  const [alreadySentValid, setAlreadySentValid] = useState(false);\n  const [isFocused, setIsFocused] = useState(false);\n  const [email, setEmail] = useState(initialEmail ? initialEmail : '');\n\n  const { setUserEmail } = useContext(MarieSchemaAnalytics);\n  const { isValid, message, isValidating } = useEmailValidation({\n    email: useDebounce(email, 125),\n    baseUrl,\n    hasInitialEmail,\n    isConfluence\n  });\n\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  const emailExistsOrSSOAnalytics = () => {\n    createAnalyticsEvent({\n      eventName: 'wac-signup-existing-user-signin',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n  };\n\n  const { ssoRedirectUrl, isCheckingSSO, isUserExists } =\n    useAuthenticationMethodsCheck({\n      email: useDebounce(email, 125),\n      allowAuthenticationsMethodCheck: isValid && !hasInitialEmail\n    });\n  useEffect(() => {\n    setN2NSignInRedirect(ssoRedirectUrl);\n  }, [ssoRedirectUrl]);\n  const removeSpaces = (str: string) => {\n    return str.replace(/\\s/g, '');\n  };\n\n  const buildErrorMessage = (ssoRedirectUrl: string) => {\n    if (ssoRedirectUrl === 'error') {\n      return (\n        <SanitizedFormattedHtmlMessage {...messages.warningNetworkError} />\n      );\n    } else if (ssoRedirectUrl === 'exists') {\n      return (\n        <SanitizedFormattedHtmlMessage\n          {...messages.errorEmailInUseMsg}\n          values={{\n            signInAccountUrl: `${signInAccountUrl}&email=${encodeURIComponent(\n              email\n            )}`\n          }}\n        />\n      );\n    } else if (isUserExists && ssoRedirectUrl.includes('/saml?')) {\n      return (\n        <SanitizedFormattedHtmlMessage\n          {...messages.ssoCheck}\n          values={{ redirectUrl: ssoRedirectUrl }}\n        />\n      );\n    }\n    return undefined;\n  };\n\n  if (!isValid && message) {\n    // TODO: tracking and analytics, bxp.formCloudSignup.emailValidationFailure\n  }\n  const handleSignInUserAccount = (event: any) => {\n    if (!event.target || !event.target.href) {\n      return;\n    }\n\n    event.preventDefault();\n    if (signInAccountUrl) {\n      const signInOriginAttributes = originAnalyticsAttributes.signInUser || {};\n      segment('wac-signup-existing-user-signin', signInOriginAttributes);\n\n      window.location.assign(signInAccountUrl);\n    } else {\n      segment('wac-signup-existing-user-signin-error', {});\n    }\n  };\n\n  const handleSwitchUserAccount = (event: any) => {\n    if (!event.target || !event.target.href) {\n      return;\n    }\n\n    event.preventDefault();\n    if (switchAccountUrl) {\n      const switchUserOriginAttributes =\n        originAnalyticsAttributes.switchUser || {};\n      segment('wac-signup-existing-user-switch', switchUserOriginAttributes);\n\n      window.location.assign(switchAccountUrl);\n    } else {\n      segment('wac-signup-existing-user-switch-error', {});\n    }\n  };\n\n  useEffect(() => {\n    if (isUserExists || isCheckingSSO) {\n      onSSOCheckValid(true);\n    } else {\n      onSSOCheckValid(false);\n    }\n  }, [isCheckingSSO]);\n\n  useEffect(() => {\n    !isValidating && !!isValid ? onEmailChange(email) : onEmailChange('');\n\n    if (!isValidating && !!isValid && !alreadySentValid) {\n      // marie schema hash email for context\n      setUserEmail(email);\n      setShowError(true);\n      //\n      setAlreadySentValid(true);\n    }\n  }, [email, isValid]);\n\n  return (\n    <FieldContainer className=\"email-field sign-up-field-container\">\n      <Label\n        as={\n          enableDefaultExpandedEmail\n            ? LabelDefaultExpandedEmail\n            : isConfluence\n            ? ChooseSignupLabel\n            : Label\n        }\n        isDisabled={isDisabled}\n        fadeOnDisable={fadeOnDisable}\n        htmlFor=\"email-field-input\"\n      >\n        <FormattedMessage {...messages.email} />\n      </Label>\n      {isConfluence ? (\n        <ChooseSignupSuccessTextfieldWrapper\n          textInput={email}\n          isValid={!!isValid && !isUserExists && !isCheckingSSO}\n          hasAccount={initialEmail !== ''}\n          isEmpty={email.length === 0}\n          isFocused={isFocusedChooseSignup}\n          isDisabled={isDisabled}\n          fadeOnDisable={fadeOnDisable}\n          outlineOnFocus={outlineOnFocus}\n        >\n          <Textfield\n            className=\"email-field input\"\n            id=\"email-field-input\"\n            testId=\"email_field\"\n            isRequired={!isConfluence}\n            value={email}\n            isInvalid={\n              !isFocusedChooseSignup &&\n              showError &&\n              isUserExists &&\n              isCheckingSSO &&\n              isValid === false\n            }\n            style={{\n              height: isConfluence ? '320px' : 'inherit',\n              color: '#091E44',\n              padding: '8px 10px'\n            }}\n            autoCorrect=\"off\"\n            autoCapitalize=\"none\"\n            autoComplete=\"email\"\n            isDisabled={hasInitialEmail || isDisabled}\n            onFocus={() => {\n              setIsFocusedChooseSignup(true);\n              setShowError(false);\n            }}\n            onBlur={() => {\n              setIsFocusedChooseSignup(false);\n              setShowError(true);\n            }}\n            onChange={(event: any) => {\n              setEmail(removeSpaces(event.currentTarget.value));\n            }}\n            elemAfterInput={\n              <EmailAfter>\n                {!isCheckingSSO && initialEmail === '' && isValid ? (\n                  <CheckCircleOutlineIcon\n                    testId=\"email_success\"\n                    label=\"success\"\n                    primaryColor=\"#36B37E\"\n                  />\n                ) : (isValid === false &&\n                    showError &&\n                    !isFocusedChooseSignup) ||\n                  isUserExists ? (\n                  showWarningIcon && (\n                    <WarningIcon\n                      testId=\"email_warning\"\n                      label=\"success\"\n                      primaryColor=\"#DE350B\"\n                    />\n                  )\n                ) : isValidating || isCheckingSSO ? (\n                  <Spinner size=\"small\" />\n                ) : null}\n              </EmailAfter>\n            }\n          />\n          {message && showError && !isFocusedChooseSignup && (\n            <ErrorMessageWithDefaultClassName\n              isDisabled={isDisabled}\n              fadeOnDisable={fadeOnDisable}\n              popOverError={popOverError}\n              onClick={handleSignInUserAccount}\n            >\n              <SanitizedFormattedHtmlMessage\n                {...getTranslatableError(message)}\n                values={{ signInAccountUrl }}\n              />\n            </ErrorMessageWithDefaultClassName>\n          )}\n\n          {isValid && !isCheckingSSO && ssoRedirectUrl && (\n            <div onClick={emailExistsOrSSOAnalytics}>\n              <ErrorMessageWithDefaultClassName>\n                {buildErrorMessage(ssoRedirectUrl)}\n              </ErrorMessageWithDefaultClassName>\n            </div>\n          )}\n        </ChooseSignupSuccessTextfieldWrapper>\n      ) : (\n        <SuccessTextfieldWrapper\n          textInput={email}\n          isValid={!!isValid && !isUserExists && !isCheckingSSO}\n          hasAccount={initialEmail !== ''}\n          isEmpty={email.length === 0}\n          isFocused={isFocused}\n          isDisabled={isDisabled}\n          fadeOnDisable={fadeOnDisable}\n          outlineOnFocus={outlineOnFocus}\n        >\n          <Textfield\n            className=\"email-field input\"\n            id=\"email-field-input\"\n            testId=\"email_field\"\n            isRequired\n            value={email}\n            isInvalid={\n              isCheckingSSO && isUserExists && isValid === false && email !== ''\n            }\n            style={{ height: 'inherit', color: '#091E44', padding: '8px 10px' }}\n            autoCorrect=\"off\"\n            autoCapitalize=\"none\"\n            autoComplete=\"email\"\n            isDisabled={hasInitialEmail || isDisabled}\n            onFocus={() => setIsFocused(true)}\n            onBlur={() => setIsFocused(false)}\n            onChange={(event: any) => {\n              setEmail(removeSpaces(event.currentTarget.value));\n            }}\n            elemAfterInput={\n              <EmailAfter>\n                {!isCheckingSSO &&\n                !isUserExists &&\n                initialEmail === '' &&\n                isValid ? (\n                  <CheckCircleOutlineIcon\n                    testId=\"email_success\"\n                    label=\"email_success\"\n                    primaryColor=\"#36B37E\"\n                  />\n                ) : (isValid === false && email !== '') || isUserExists ? (\n                  showWarningIcon && (\n                    <WarningIcon\n                      testId=\"email_warning\"\n                      label=\"email_warning\"\n                      primaryColor=\"#DE350B\"\n                    />\n                  )\n                ) : isValidating || isCheckingSSO ? (\n                  <Spinner size=\"small\" />\n                ) : null}\n              </EmailAfter>\n            }\n          />\n          {message && (\n            <ErrorMessageWithDefaultClassName\n              isDisabled={isDisabled}\n              fadeOnDisable={fadeOnDisable}\n              popOverError={popOverError}\n              onClick={handleSignInUserAccount}\n            >\n              <SanitizedFormattedHtmlMessage\n                {...getTranslatableError(message)}\n                values={{ signInAccountUrl }}\n              />\n            </ErrorMessageWithDefaultClassName>\n          )}\n\n          {isValid && !isCheckingSSO && ssoRedirectUrl && (\n            <div onClick={emailExistsOrSSOAnalytics}>\n              <ErrorMessageWithDefaultClassName>\n                {buildErrorMessage(ssoRedirectUrl)}\n              </ErrorMessageWithDefaultClassName>\n            </div>\n          )}\n        </SuccessTextfieldWrapper>\n      )}\n      {!!switchAccountUrl && hasInitialEmail && (\n        <SigninWithDiffAccount onClick={handleSwitchUserAccount}>\n          {isDeferredSiteNameEnabled ? (\n            <SanitizedFormattedHtmlMessage\n              {...messages.useDifferentAccountSignin}\n              values={{ switchAccountUrl }}\n            />\n          ) : (\n            <SanitizedFormattedHtmlMessage\n              {...messages.differentAcountSignin}\n              values={{ switchAccountUrl }}\n            />\n          )}\n        </SigninWithDiffAccount>\n      )}\n    </FieldContainer>\n  );\n}\n\nexport default injectIntl(EmailField);\n","import { useEffect, useState } from 'react';\n\nexport type EmailValidation = {\n  readonly isValidating: boolean;\n  readonly isValid?: boolean;\n  readonly message?: string;\n};\n\nexport type EmailValidationOptions = {\n  readonly email: string;\n  readonly baseUrl: string;\n  readonly hasInitialEmail: boolean;\n  readonly isConfluence?: boolean;\n};\n\nexport function useEmailValidation({\n  email,\n  hasInitialEmail,\n  isConfluence\n}: EmailValidationOptions): EmailValidation {\n  const [{ isValidating, isValid, message }, setValidation] =\n    useState<EmailValidation>({\n      isValidating: false\n    });\n\n  useEffect(() => {\n    if (hasInitialEmail) {\n      return setValidation({\n        isValidating: false,\n        isValid: true,\n        message: undefined\n      });\n    }\n    const emailPart = (email || '').split('@');\n\n    const re =\n      /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n    if (email.length === 0) {\n      return setValidation({\n        isValidating: false,\n        isValid: false,\n        message: isConfluence ? 'Please enter a valid email address' : undefined\n      });\n    } else if (\n      !re.test(email) ||\n      emailPart[0].length > 64 ||\n      emailPart[1].split('.').some((domainPart) => domainPart.length > 63)\n    ) {\n      return setValidation({\n        isValidating: false,\n        isValid: false,\n        message: 'Please enter a valid email address'\n      });\n    } else {\n      setValidation({\n        isValidating: false,\n        isValid: true,\n        message: undefined\n      });\n    }\n  }, [email]);\n\n  return {\n    isValidating,\n    isValid,\n    message\n  };\n}\n","import React from 'react';\nimport { SvgContainer } from '../components/styled';\n\nexport type TooltipIconProps = {\n  readonly fillColor?: string;\n};\n\nexport function TooltipIcon({ fillColor }: TooltipIconProps) {\n  return (\n    <SvgContainer>\n      <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 18\">\n        <path\n          d=\"M9 18c5 0 9-4 9-9s-4-9-9-9-9 4-9 9 4 9 9 9zM5 7c0-2.5 2.3-4.5 4.9-3.9 1.4.3 2.6 1.5 3 2.9.5 2.1-.7 4-2.5 4.7-.2.1-.4.3-.4.5v.8c0 .6-.4 1-1 1s-1-.4-1-1v-2c0-.5.4-1 1-1 1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2c0 .5-.5 1-1 1s-1-.4-1-1zm4 9c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1z\"\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          fill={fillColor}\n        />\n      </svg>\n    </SvgContainer>\n  );\n}\n","import CheckCircleOutlineIcon from '@atlaskit/icon/glyph/check-circle-outline';\nimport EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport Spinner from '@atlaskit/spinner';\nimport Textfield from '@atlaskit/textfield';\nimport { B400, N0, N50, N800 } from '@atlaskit/theme/colors';\nimport { MarieSchemaAnalytics } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport { debounce } from 'lodash';\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useSiteNameValidation } from '../../../../../hook';\nimport {\n  getTranslatableError,\n  messages\n} from '../../../../../messages/sign-up-form';\nimport {\n  AnalyticsTrackType,\n  Sites\n} from '../../../../../model/wac-signup-form';\nimport { TooltipIcon } from '../Icons/tooltip-icon';\nimport {\n  CompoundField,\n  ErrorMessageWithDefaultClassName,\n  FieldContainer,\n  InfoIcon,\n  InputDescription,\n  Label,\n  SiteNameAfter,\n  SiteNameAfterLabel,\n  SitePickerToggle,\n  SuccessTextfieldWrapper,\n  UnderLabelMessage,\n  InputSiteNameInstructions\n} from './styled';\n\nexport type SiteNameProps = {\n  readonly onSiteNameChange: (siteName: string, siteNameLength: number) => void;\n  readonly onSiteNameUseExisting: () => void;\n  readonly sites: Sites[] | null;\n  readonly siteNameAfter: string;\n  readonly wacEnvUrl: string;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly shouldShowUseExisting: boolean;\n  readonly setIsValidSiteName: (val: boolean) => void;\n  readonly isDisabled: boolean;\n  readonly fadeOnDisable?: boolean;\n  readonly outlineOnFocus?: boolean;\n  readonly popOverError?: boolean;\n  readonly showWarningIcon?: boolean;\n  readonly isSuiteSignup?: boolean;\n  readonly showInfoIcon?: boolean;\n  readonly isDeferredSiteNameEnabled?: boolean;\n  setExposedToDeferSitename: (exposed: boolean) => void;\n  readonly activateProductError?: boolean;\n  readonly setActivateProductError?: React.Dispatch<\n    React.SetStateAction<boolean>\n  >;\n  readonly recommendedSiteName?: string;\n  readonly siteNameGenerationExperiment?: boolean;\n  readonly siteNameAddtionalCopyExperiment?: boolean;\n};\n\nexport function useDocumentClick(\n  value: boolean,\n  callback: React.Dispatch<React.SetStateAction<boolean>>,\n  ignoreClass: string\n) {\n  useEffect(() => {\n    const handleClick = (event: any) => {\n      let isIgnored = false;\n      if (event && event.target && event.target.classList) {\n        isIgnored = event.target.classList.contains(ignoreClass);\n      }\n\n      if (value && !isIgnored) {\n        callback(!value);\n      }\n    };\n    document.addEventListener('click', handleClick);\n    return () => {\n      document.removeEventListener('click', handleClick);\n    };\n  }, [value, callback, ignoreClass]);\n}\n\ninterface ToolTipProps {\n  readonly isDisabled?: boolean;\n  readonly fadeOnDisable?: boolean;\n}\n\nexport const DomainToolTip = styled.div<ToolTipProps>`\n  cursor: ${(props) =>\n    props.isDisabled && props.fadeOnDisable ? 'not-allowed' : 'pointer'};\n  margin: 0 3px;\n  border-radius: 3px;\n  svg {\n    height: 14px;\n    width: 14px;\n  }\n`;\nexport const ToolTipText = styled.div<ToolTipProps>`\n  display: ${(props) =>\n    props.isDisabled && props.fadeOnDisable ? 'none' : 'block'};\n  background: ${N0};\n  border: 1px solid ${B400};\n  border-radius: 2px;\n  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);\n  color: ${N800};\n  font-family: inherit;\n  font-size: 0.875rem;\n  font-weight: 400;\n  line-height: 1.42857143;\n  padding: 12px;\n  z-index: 1;\n  position: absolute;\n  left: 6px;\n  top: 25px;\n  max-width: 298px;\n`;\n\nexport const ToolTipContainer = styled.div`\n  position: relative;\n  z-index: 11;\n  display: none;\n  @supports (display: grid) {\n    display: flex;\n    align-items: center;\n  }\n`;\n\nconst sendErrorEvent = debounce((segment, message, isValidating) => {\n  if (isValidating && message) {\n    sendErrorEvent(segment, message, isValidating);\n  } else if (message) {\n    segment('bxp.formCloudSignup.siteValidationError', { message });\n  }\n}, 3000);\n\nexport function SiteNameField({\n  onSiteNameChange,\n  onSiteNameUseExisting,\n  sites,\n  siteNameAfter,\n  shouldShowUseExisting,\n  setIsValidSiteName,\n  analyticsTrack,\n  isDisabled,\n  fadeOnDisable,\n  outlineOnFocus,\n  popOverError,\n  showWarningIcon,\n  isSuiteSignup,\n  isDeferredSiteNameEnabled,\n  setExposedToDeferSitename,\n  activateProductError,\n  setActivateProductError,\n  recommendedSiteName,\n  siteNameGenerationExperiment,\n  siteNameAddtionalCopyExperiment\n}: SiteNameProps) {\n  useEffect(() => {\n    setExposedToDeferSitename(true);\n  }, []);\n\n  const checkIsDisabled = () => {\n    // ensure isDisabled can be set when form is submitting,\n    // otherwise check the field progress state\n    return isDisabled;\n  };\n  const { segment } = analyticsTrack;\n\n  const labelMessage = useMemo(() => {\n    if (isSuiteSignup) {\n      return messages.siteNameSuite;\n    } else if (isDeferredSiteNameEnabled) {\n      return messages.siteNameOptional;\n    } else {\n      return messages.yourSite;\n    }\n  }, [isSuiteSignup, isDeferredSiteNameEnabled]);\n\n  const [siteName, setSiteName] = useState(\n    sites !== null && sites[0] ? sites[0].displayName : ''\n  );\n  const [toolTipOpen, setToolTipOpen] = useState(false);\n  const [isFocused, setIsFocused] = useState(false);\n  const [fieldDisabled, setFieldDisabled] = useState(checkIsDisabled());\n  const { isValid, message, isValidating } = useSiteNameValidation(\n    siteName,\n    analyticsTrack,\n    isDeferredSiteNameEnabled,\n    activateProductError\n  );\n  const toolTipTrigger = 'domain-name-tooltip-trigger';\n  const inputFieldId = 'site-name-field-input';\n  const siteNameExperiment =\n    siteNameGenerationExperiment && siteNameAddtionalCopyExperiment;\n  const siteNameInstructions = siteNameGenerationExperiment\n    ? messages.siteNameInstructionsExperimentB\n    : messages.siteNameInstructions;\n\n  const hideErrorMessageSiteNameExperiment =\n    message ===\n      'Your site name must be at least 3 characters long. Use only lowercase letters and numbers.' &&\n    siteNameAddtionalCopyExperiment;\n\n  useDocumentClick(toolTipOpen, setToolTipOpen, toolTipTrigger);\n  const { setSuiteName } = useContext(MarieSchemaAnalytics);\n\n  useEffect(() => {\n    if (recommendedSiteName) {\n      setSiteName(recommendedSiteName);\n    }\n  }, [recommendedSiteName]);\n\n  useEffect(() => {\n    isValid\n      ? onSiteNameChange(siteName, siteName.length)\n      : onSiteNameChange('', siteName.length);\n    setIsValidSiteName(isValid);\n\n    if (!isValid) {\n      sendErrorEvent(segment, message, isValidating);\n    } else {\n      setSuiteName(siteName);\n      sendErrorEvent.cancel();\n    }\n\n    setFieldDisabled(checkIsDisabled());\n  }, [siteName, isValid, message, isDisabled]);\n\n  return (\n    <FieldContainer className=\"site-name-field sign-up-field-container\">\n      <CompoundField isDisabled={fieldDisabled} fadeOnDisable={fadeOnDisable}>\n        <Label htmlFor={inputFieldId}>\n          <FormattedMessage {...labelMessage} />\n          {isSuiteSignup && (\n            <InfoIcon>\n              <EditorPanelIcon label=\"infoIcon\" size=\"medium\" />\n              <div>\n                <ToolTipText\n                  className={`${toolTipTrigger}-devops`}\n                  isDisabled={fieldDisabled}\n                  fadeOnDisable={fadeOnDisable}\n                >\n                  <FormattedMessage {...messages.helpTooltipTextDevops} />\n                </ToolTipText>\n              </div>\n            </InfoIcon>\n          )}\n        </Label>\n        {!siteNameExperiment && (\n          <ToolTipContainer>\n            <DomainToolTip\n              isDisabled={fieldDisabled}\n              fadeOnDisable={fadeOnDisable}\n              data-testid=\"domain-tool-tip\"\n              className={toolTipOpen ? 'selected' : ''}\n              onClick={() => {\n                if (fieldDisabled) {\n                  return;\n                }\n                if (!toolTipOpen) {\n                  segment('bxp.formCloudSignup.toolTipDisplayed', {});\n                }\n                setToolTipOpen(!toolTipOpen);\n              }}\n            >\n              {!isSuiteSignup && (\n                <TooltipIcon\n                  fillColor={toolTipOpen && !fieldDisabled ? B400 : N50}\n                />\n              )}\n            </DomainToolTip>\n            {toolTipOpen ? (\n              <ToolTipText\n                className={toolTipTrigger}\n                isDisabled={fieldDisabled}\n                fadeOnDisable={fadeOnDisable}\n              >\n                {isDeferredSiteNameEnabled ? (\n                  <FormattedMessage {...messages.deferredSiteNameTooltipText} />\n                ) : (\n                  <FormattedMessage {...messages.helpTooltipText} />\n                )}\n              </ToolTipText>\n            ) : null}\n          </ToolTipContainer>\n        )}\n      </CompoundField>\n      {isDeferredSiteNameEnabled && (\n        <UnderLabelMessage>\n          <FormattedMessage {...messages.siteNameOptionalMessageN2N} />\n        </UnderLabelMessage>\n      )}\n      <SuccessTextfieldWrapper\n        isValidating={isValidating}\n        isValid={!!isValid}\n        textInput={siteName}\n        isEmpty={siteName.length === 0}\n        isFocused={isFocused}\n        outlineOnFocus={outlineOnFocus}\n        isDisabled={fieldDisabled}\n        fadeOnDisable={fadeOnDisable}\n      >\n        <Textfield\n          className=\"site-name-field input\"\n          id={inputFieldId}\n          data-testid=\"site-name-field\"\n          isRequired={!isDeferredSiteNameEnabled}\n          isDisabled={fieldDisabled}\n          value={siteName}\n          isInvalid={isValid === false}\n          autoCorrect=\"off\"\n          autoCapitalize=\"none\"\n          onFocus={() => setIsFocused(true)}\n          onBlur={() => setIsFocused(false)}\n          style={{ height: 'inherit', width: '100%' }}\n          onChange={(event: any) => {\n            setSiteName(event.currentTarget.value);\n            if (setActivateProductError) setActivateProductError(false);\n          }}\n          elemAfterInput={\n            <SiteNameAfter>\n              <SiteNameAfterLabel>{siteNameAfter}</SiteNameAfterLabel>\n              {isValid && siteName !== '' && !isValidating ? (\n                <CheckCircleOutlineIcon\n                  label=\"success\"\n                  primaryColor=\"#36B37E\"\n                />\n              ) : isValid === false && siteName !== '' && !isValidating ? (\n                showWarningIcon && (\n                  <WarningIcon label=\"warning\" primaryColor=\"#DE350B\" />\n                )\n              ) : isValidating ? (\n                <Spinner size=\"small\" />\n              ) : null}\n            </SiteNameAfter>\n          }\n        />\n        {message && !hideErrorMessageSiteNameExperiment && (\n          <ErrorMessageWithDefaultClassName\n            isDisabled={fieldDisabled}\n            fadeOnDisable={fadeOnDisable}\n            popOverError={popOverError}\n          >\n            <FormattedMessage\n              {...getTranslatableError(\n                message,\n                isSuiteSignup,\n                isDeferredSiteNameEnabled\n              )}\n            />\n          </ErrorMessageWithDefaultClassName>\n        )}\n      </SuccessTextfieldWrapper>\n\n      {isSuiteSignup && (\n        <InputDescription>\n          <FormattedMessage {...messages.siteNameSuiteDescriptionDevops} />\n        </InputDescription>\n      )}\n\n      {shouldShowUseExisting && (\n        <SitePickerToggle\n          onClick={() => {\n            if (!fieldDisabled) {\n              onSiteNameUseExisting();\n            }\n          }}\n        >\n          <FormattedMessage {...messages.existingSite} />\n        </SitePickerToggle>\n      )}\n      {siteNameExperiment && (\n        <InputSiteNameInstructions>\n          <FormattedMessage {...siteNameInstructions} />\n        </InputSiteNameInstructions>\n      )}\n    </FieldContainer>\n  );\n}\n","// from https://facebook.github.io/react/docs/higher-order-components.html\nvar getDisplayName = function getDisplayName(WrappedComponent) {\n  return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nexport default getDisplayName;","// There are cases where the context is not available, such as when a dropdown item is used\n// inside @atlaskit/navigation. For this reason we have this helper function which safely calls\n// the context functions if they are available.\nexport default (function (instance, contextKey) {\n  return function (fnToCall) {\n    var _instance$context$con;\n\n    if (!instance.context[contextKey]) {\n      return null;\n    }\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return (_instance$context$con = instance.context[contextKey])[fnToCall].apply(_instance$context$con, args);\n  };\n});","var prefix = function prefix(key) {\n  return \"@atlaskit-private-do-not-use/dropdown-menu:\".concat(key);\n};\n\nexport var focusManagerContext = prefix('focus-manager');\nexport var selectionCacheContext = prefix('selection-cache');\nexport var selectionManagerContext = prefix('selection-manager');\nexport var clickManagerContext = prefix('click-manager');","import styled, { css } from 'styled-components';\nimport { N60A } from '@atlaskit/theme/colors';\nimport { getThemeStyle, themeNamespace } from '../util/theme';\n\nvar getItemState = function getItemState(stateName) {\n  return function (_ref) {\n    var theme = _ref.theme;\n    var stateStyles = getThemeStyle(theme[themeNamespace], stateName);\n    return css([\"\\n    background-color: \", \";\\n    color: \", \";\\n    fill: \", \";\\n    text-decoration: none;\\n\\n    &:focus {\\n      color: \", \";\\n    }\\n  \"], stateStyles.background, stateStyles.text, stateStyles.background, stateStyles.text);\n  };\n};\n\nvar getPadding = function getPadding(_ref2) {\n  var isCompact = _ref2.isCompact,\n      theme = _ref2.theme,\n      description = _ref2.description;\n  var paddingKey = isCompact ? 'compact' : 'default';\n\n  var _getThemeStyle = getThemeStyle(theme[themeNamespace], paddingKey, 'padding'),\n      _getThemeStyle$bottom = _getThemeStyle.bottom,\n      bottom = _getThemeStyle$bottom === void 0 ? 0 : _getThemeStyle$bottom,\n      _getThemeStyle$left = _getThemeStyle.left,\n      left = _getThemeStyle$left === void 0 ? 0 : _getThemeStyle$left,\n      _getThemeStyle$right = _getThemeStyle.right,\n      right = _getThemeStyle$right === void 0 ? 0 : _getThemeStyle$right,\n      _getThemeStyle$top = _getThemeStyle.top,\n      top = _getThemeStyle$top === void 0 ? 0 : _getThemeStyle$top;\n\n  var adjustedTop = typeof top === 'function' ? top() : top;\n  var adjustedBottom = typeof bottom === 'function' ? bottom() : bottom; // Subtract the 1px padding-bottom added to the content and description elements\n  // to maintain original height\n\n  adjustedTop = Math.max(description ? adjustedTop - 1 : adjustedTop, 0);\n  adjustedBottom = Math.max(adjustedBottom - 1, 0);\n  return css([\"\\n    padding: \", \"px \", \"px \", \"px \", \"px;\\n  \"], adjustedTop, right, adjustedBottom, left);\n};\n\nvar getHeightStyles = function getHeightStyles(_ref3) {\n  var isCompact = _ref3.isCompact,\n      theme = _ref3.theme;\n  var heightKey = isCompact ? 'compact' : 'default';\n  var height = getThemeStyle(theme[themeNamespace], heightKey, 'height');\n  return height ? css([\"\\n        height: \", \"px;\\n      \"], height) : '';\n};\n\nvar getWidthStyles = function getWidthStyles(_ref4) {\n  var isCompact = _ref4.isCompact,\n      theme = _ref4.theme;\n  var widthKey = isCompact ? 'compact' : 'default';\n  var width = getThemeStyle(theme[themeNamespace], widthKey, 'width');\n\n  if (!width) {\n    return '';\n  }\n\n  return typeof width === 'number' ? css([\"\\n        width: \", \"px;\\n      \"], width) : css([\"\\n        width: \", \";\\n      \"], width);\n}; // This function is responsible for drawing any focus styles for the element\n\n\nvar getInteractiveStyles = function getInteractiveStyles(_ref5) {\n  var theme = _ref5.theme,\n      isDisabled = _ref5.isDisabled,\n      isDragging = _ref5.isDragging,\n      isSelected = _ref5.isSelected;\n\n  if (isDragging) {\n    return css([\"\\n      \", \" box-shadow: 0 4px 8px -2px \", \",\\n        0 0 1px \", \";\\n    \"], getItemState('dragging'), N60A, N60A);\n  }\n\n  var standardFocus = css([\"\\n    &:focus {\\n      box-shadow: 0 0 0 2px\\n        \", \" inset;\\n      text-decoration: none;\\n    }\\n  \"], getThemeStyle(theme[themeNamespace], 'outline', 'focus'));\n\n  if (isDisabled) {\n    return css([\"\\n      cursor: not-allowed;\\n      \", \" \", \";\\n    \"], getItemState('disabled'), standardFocus);\n  }\n\n  if (isSelected) {\n    return css([\"\\n      \", \" &:hover {\\n        \", \";\\n      }\\n\\n      &:active {\\n        \", \";\\n      }\\n\\n      \", \";\\n    \"], getItemState('selected'), getItemState('hover'), getItemState('active'), standardFocus);\n  }\n\n  return css([\"\\n    &:hover {\\n      \", \";\\n    }\\n\\n    &:active {\\n      \", \";\\n    }\\n\\n    \", \";\\n  \"], getItemState('hover'), getItemState('active'), standardFocus);\n}; // This is the main item style. It is defined as a basic style variable so it can\n// later be applied to different component types (span / a / custom link component)\n\n\nexport var ItemBase = function ItemBase(_ref6) {\n  var theme = _ref6.theme;\n  return css([\"\\n  && {\\n    align-items: center;\\n    border-radius: \", \"px;\\n    box-sizing: border-box;\\n    cursor: pointer;\\n    display: \", \";\\n    flex: none;\\n    \", \" \", \" \", \" \", \" \", \" &:focus {\\n      /* focus shadow drawn by getInteractiveStyles */\\n\\n      outline: none;\\n      /* relative position prevents bgcolor of a hovered element from\\n      obfuscating focus ring of a focused sibling element */\\n      position: relative;\\n    }\\n  }\\n\"], getThemeStyle(theme[themeNamespace], 'borderRadius'), function (_ref7) {\n    var isHidden = _ref7.isHidden;\n    return isHidden ? 'none' : 'flex';\n  }, getItemState('default'), getPadding, getInteractiveStyles, getHeightStyles, getWidthStyles);\n}; // Given some optional link-related props, returns the relevant styled\n// component. For links, it styles the linkComponent if provided, otherwise\n// falling back to a styled <a> tag. If no href is present, a styled <span>\n// is returned. When we upgrade to styled-components@2.x we will be able to\n// simplify this by taking advantage of the withComponent() functionality.\n\nvar styledRootElement = function styledRootElement(_ref8) {\n  var href = _ref8.href,\n      linkComponent = _ref8.linkComponent;\n\n  if (linkComponent) {\n    return styled(linkComponent).withConfig({\n      displayName: \"Item\",\n      componentId: \"z6qfkt-0\"\n    })([\"\\n      \", \";\\n    \"], ItemBase);\n  }\n\n  if (href) {\n    return styled.a.withConfig({\n      displayName: \"Item\",\n      componentId: \"z6qfkt-1\"\n    })([\"\\n      \", \";\\n    \"], ItemBase);\n  }\n\n  return styled.span.withConfig({\n    displayName: \"Item\",\n    componentId: \"z6qfkt-2\"\n  })([\"\\n    \", \";\\n  \"], ItemBase);\n};\n\nexport default styledRootElement;","import styled, { css } from 'styled-components';\nimport { fontSize, fontSizeSmall } from '@atlaskit/theme/constants';\nimport { getThemeStyle, themeNamespace, compactSmallFontSize, compactLineHeight } from '../util/theme'; // Checkbox/Radio wrapper -- sits left of the children\n\nexport var InputWrapper = styled.span.withConfig({\n  displayName: \"ItemParts__InputWrapper\",\n  componentId: \"sc-14xek3m-0\"\n})([\"\\n  display: flex;\\n  margin: 0 2px;\\n\"]); // Elements injected before/after the children\n\nvar BeforeAfterBase = styled.span.withConfig({\n  displayName: \"ItemParts__BeforeAfterBase\",\n  componentId: \"sc-14xek3m-1\"\n})([\"\\n  align-items: center;\\n  display: flex;\\n  flex-shrink: 0;\\n  /* Fix windows line-height issue */\\n  padding-bottom: 1px;\\n\"]);\n\nvar getBeforeSpacing = function getBeforeSpacing(_ref) {\n  var isCompact = _ref.isCompact,\n      theme = _ref.theme;\n  var spaceKey = isCompact ? 'compact' : 'default';\n  var space = getThemeStyle(theme[themeNamespace], spaceKey, 'beforeItemSpacing');\n  return css([\"\\n    margin-right: \", \"px;\\n  \"], space);\n};\n\nexport var Before = styled(BeforeAfterBase).withConfig({\n  displayName: \"ItemParts__Before\",\n  componentId: \"sc-14xek3m-2\"\n})([\"\\n  \", \";\\n\"], getBeforeSpacing);\n\nvar getAfterSpacing = function getAfterSpacing(_ref2) {\n  var isCompact = _ref2.isCompact,\n      theme = _ref2.theme;\n  var spaceKey = isCompact ? 'compact' : 'default';\n  var space = getThemeStyle(theme[themeNamespace], spaceKey, 'afterItemSpacing');\n  return css([\"\\n    margin-left: \", \"px;\\n  \"], space);\n};\n\nexport var After = styled(BeforeAfterBase).withConfig({\n  displayName: \"ItemParts__After\",\n  componentId: \"sc-14xek3m-3\"\n})([\"\\n  \", \";\\n\"], getAfterSpacing); // Alignment and layout for the children\n\nexport var ContentWrapper = styled.span.withConfig({\n  displayName: \"ItemParts__ContentWrapper\",\n  componentId: \"sc-14xek3m-4\"\n})([\"\\n  display: flex;\\n  flex-direction: column;\\n  flex-grow: 1;\\n  margin: 0;\\n  overflow: hidden;\\n\\n  &:first-child {\\n    margin: 0;\\n  }\\n\"]);\nexport var Content = styled.span.withConfig({\n  displayName: \"ItemParts__Content\",\n  componentId: \"sc-14xek3m-5\"\n})([\"\\n  display: block;\\n  flex: 1 1 auto;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: \", \";\\n  line-height: \", \";\\n  /* Fix windows line-height issue */\\n  padding-bottom: 1px;\\n\"], function (_ref3) {\n  var allowMultiline = _ref3.allowMultiline;\n  return allowMultiline ? 'normal' : 'nowrap';\n}, 16 / fontSize());\n\nvar getColorStyle = function getColorStyle(_ref4) {\n  var isDisabled = _ref4.isDisabled,\n      theme = _ref4.theme;\n\n  if (isDisabled) {\n    return css([\"\\n      color: \", \";\\n    \"], getThemeStyle(theme[themeNamespace], 'secondaryText', 'disabled'));\n  }\n\n  return css([\"\\n    color: \", \";\\n\\n    /* This detects hover on the grandparent. Saves us having to maintain isHovered\\n       state in the grandparent. */\\n    *:hover > * > & {\\n      color: \", \";\\n    }\\n\\n    *:active > * > & {\\n      color: \", \";\\n    }\\n  \"], getThemeStyle(theme[themeNamespace], 'secondaryText', 'default'), function () {\n    return getThemeStyle(theme[themeNamespace], 'secondaryText', 'hover');\n  }, function () {\n    return getThemeStyle(theme[themeNamespace], 'secondaryText', 'active');\n  });\n};\n\nvar getDescriptionFontStyles = function getDescriptionFontStyles(_ref5) {\n  var isCompact = _ref5.isCompact;\n  var descriptionFontSize = isCompact ? compactSmallFontSize : fontSizeSmall();\n  var lineHeight = isCompact ? compactLineHeight : 14 / descriptionFontSize;\n  return css([\"\\n    font-size: \", \"px;\\n    line-height: \", \";\\n    /* Fix windows line-height issue */\\n    padding-bottom: 1px;\\n  \"], descriptionFontSize, lineHeight);\n}; // Description is a block element below the children, like a subtitle\n\n\nexport var Description = styled.span.withConfig({\n  displayName: \"ItemParts__Description\",\n  componentId: \"sc-14xek3m-6\"\n})([\"\\n  flex: 1 1 auto;\\n  overflow: hidden;\\n  text-overflow: ellipsis;\\n  white-space: nowrap;\\n  \", \" \", \";\\n\"], getColorStyle, getDescriptionFontStyles);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport styledRootElement from '../styled/Item';\nimport { Before, After, Content, ContentWrapper, Description } from '../styled/ItemParts';\n\nvar Item =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(Item, _Component);\n\n  function Item(props) {\n    var _this;\n\n    _classCallCheck(this, Item);\n\n    _this = _possibleConstructorReturn(this, _getPrototypeOf(Item).call(this, props)); // The type of element rendered at the root of render() can vary based on the `href`\n    // and `linkComponent` props provided. We generate this component here to avoid re-\n    // generating the component inside render(). This is for performance reasons, and also\n    // allows us to avoid generating a new `ref` for the root element each render().\n\n    _defineProperty(_assertThisInitialized(_this), \"setRef\", function (ref) {\n      _this.ref = ref;\n    });\n\n    _defineProperty(_assertThisInitialized(_this), \"href\", function () {\n      return _this.props.isDisabled ? null : _this.props.href;\n    });\n\n    _this.rootComponent = styledRootElement({\n      href: _this.href(),\n      linkComponent: props.linkComponent\n    });\n    return _this;\n  }\n\n  _createClass(Item, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      if (this.ref && this.props.autoFocus) {\n        this.ref.focus();\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          _onClick = _this$props.onClick,\n          _onKeyDown = _this$props.onKeyDown,\n          isCompact = _this$props.isCompact,\n          isDisabled = _this$props.isDisabled,\n          isDragging = _this$props.isDragging,\n          isHidden = _this$props.isHidden,\n          isSelected = _this$props.isSelected,\n          onMouseEnter = _this$props.onMouseEnter,\n          onMouseLeave = _this$props.onMouseLeave,\n          role = _this$props.role,\n          dnd = _this$props.dnd,\n          otherProps = _objectWithoutProperties(_this$props, [\"onClick\", \"onKeyDown\", \"isCompact\", \"isDisabled\", \"isDragging\", \"isHidden\", \"isSelected\", \"onMouseEnter\", \"onMouseLeave\", \"role\", \"dnd\"]);\n\n      var Root = this.rootComponent;\n      var dragHandleProps = dnd && dnd.dragHandleProps || null;\n      var patchedEventHandlers = {\n        onClick: function onClick(event) {\n          // rbd will use event.preventDefault() to block clicks that are used\n          // as a part of the drag and drop lifecycle.\n          if (event.defaultPrevented) {\n            return;\n          }\n\n          if (!isDisabled && _onClick) {\n            _onClick(event);\n          }\n        },\n        onMouseDown: function onMouseDown(event) {\n          // rbd 11.x support\n          if (dragHandleProps && dragHandleProps.onMouseDown) {\n            dragHandleProps.onMouseDown(event);\n          } // We want to prevent the item from getting focus when clicked\n\n\n          event.preventDefault();\n        },\n        onKeyDown: function onKeyDown(event) {\n          // swallowing keyboard events on the element while dragging\n          // rbd should already be doing this - but we are being really clear here\n          if (isDragging) {\n            return;\n          } // rbd 11.x support\n\n\n          if (dragHandleProps && dragHandleProps.onKeyDown) {\n            dragHandleProps.onKeyDown(event);\n          } // if default is prevented - do not fire other handlers\n          // this can happen if the event is used for drag and drop by rbd\n\n\n          if (event.defaultPrevented) {\n            return;\n          } // swallowing event if disabled\n\n\n          if (isDisabled) {\n            return;\n          }\n\n          if (!_onKeyDown) {\n            return;\n          }\n\n          _onKeyDown(event);\n        }\n      };\n\n      var patchedInnerRef = function patchedInnerRef(ref) {\n        _this2.setRef(ref); // give rbd the inner ref too\n\n\n        if (dnd && dnd.innerRef) {\n          dnd.innerRef(ref);\n        }\n      };\n\n      return React.createElement(Root, _extends({\n        \"aria-disabled\": isDisabled,\n        href: this.href(),\n        isCompact: isCompact,\n        isDisabled: isDisabled,\n        isDragging: isDragging,\n        isHidden: isHidden,\n        isSelected: isSelected,\n        onMouseEnter: onMouseEnter,\n        onMouseLeave: onMouseLeave,\n        role: role,\n        tabIndex: isDisabled || isHidden || this.props.href ? null : 0,\n        target: this.props.target,\n        title: this.props.title,\n        innerRef: patchedInnerRef\n      }, dnd && dnd.draggableProps, dragHandleProps, patchedEventHandlers, otherProps), !!this.props.elemBefore && React.createElement(Before, {\n        isCompact: isCompact\n      }, this.props.elemBefore), React.createElement(ContentWrapper, null, React.createElement(Content, {\n        allowMultiline: this.props.shouldAllowMultiline\n      }, this.props.children), !!this.props.description && React.createElement(Description, {\n        isCompact: this.props.isCompact,\n        isDisabled: this.props.isDisabled\n      }, this.props.description)), !!this.props.elemAfter && React.createElement(After, {\n        isCompact: isCompact\n      }, this.props.elemAfter));\n    }\n  }]);\n\n  return Item;\n}(Component);\n\n_defineProperty(Item, \"defaultProps\", {\n  autoFocus: false,\n  description: '',\n  isCompact: false,\n  isDisabled: false,\n  isHidden: false,\n  role: 'button',\n  shouldAllowMultiline: false\n});\n\nexport { Item as default };","import Item, { withItemFocus, withItemClick } from '@atlaskit/item';\nexport default withItemClick(withItemFocus(Item));","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\n// We currently need to keep the dropdown open if an item with `href` is clicked, to avoid the\n// analytics package to track the href value without the event target disappearing. Without this\n// requirement, we could just use a native click event all the way up to DropdownMenuStateless,\n// and could get rid of this HOC and DropdownItemClickManager.\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport getDisplayName from '../../util/getDisplayName';\nimport safeContextCall from '../../util/safeContextCall';\nimport { clickManagerContext } from '../../util/contextNamespace'; // HOC that typically wraps @atlaskit/item\n\nvar withItemClick = function withItemClick(WrappedItem) {\n  var _class, _temp;\n\n  return _temp = _class =\n  /*#__PURE__*/\n  function (_Component) {\n    _inherits(WithItemClick, _Component);\n\n    function WithItemClick() {\n      var _getPrototypeOf2;\n\n      var _this;\n\n      _classCallCheck(this, WithItemClick);\n\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithItemClick)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n      _defineProperty(_assertThisInitialized(_this), \"callContextFn\", safeContextCall(_assertThisInitialized(_this), clickManagerContext));\n\n      _defineProperty(_assertThisInitialized(_this), \"shouldCloseAfterClick\", function () {\n        return !_this.props.isDisabled && !_this.props.href;\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n        _this.props.onClick(event);\n\n        if (_this.shouldCloseAfterClick()) {\n          _this.callContextFn('itemClicked');\n        }\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (event) {\n        if (_this.props.onKeyDown) {\n          _this.props.onKeyDown(event);\n        } else if (event.key === 'Space' || event.key === 'Enter') {\n          _this.handleClick(event);\n        }\n      });\n\n      return _this;\n    }\n\n    _createClass(WithItemClick, [{\n      key: \"render\",\n      value: function render() {\n        var _this$props = this.props,\n            children = _this$props.children,\n            otherProps = _objectWithoutProperties(_this$props, [\"children\"]);\n\n        return React.createElement(WrappedItem, _extends({}, otherProps, {\n          onClick: this.handleClick,\n          onKeyDown: this.handleKeyDown\n        }), children);\n      }\n    }]);\n\n    return WithItemClick;\n  }(Component), _defineProperty(_class, \"displayName\", \"WithItemClick(\".concat(getDisplayName(WrappedItem), \")\")), _defineProperty(_class, \"defaultProps\", {\n    onClick: function onClick() {}\n  }), _defineProperty(_class, \"contextTypes\", _defineProperty({}, clickManagerContext, PropTypes.object)), _temp;\n};\n\nexport default withItemClick;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport uuid from 'uuid';\nimport getDisplayName from '../../util/getDisplayName';\nimport safeContextCall from '../../util/safeContextCall';\nimport { focusManagerContext } from '../../util/contextNamespace'; // HOC that typically wraps @atlaskit/item\n\nvar withItemFocus = function withItemFocus(WrappedComponent) {\n  var _class, _temp;\n\n  return _temp = _class =\n  /*#__PURE__*/\n  function (_Component) {\n    _inherits(WithItemFocus, _Component);\n\n    function WithItemFocus() {\n      var _getPrototypeOf2;\n\n      var _this;\n\n      _classCallCheck(this, WithItemFocus);\n\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithItemFocus)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n      _defineProperty(_assertThisInitialized(_this), \"contextId\", void 0);\n\n      _defineProperty(_assertThisInitialized(_this), \"callContextFn\", safeContextCall(_assertThisInitialized(_this), focusManagerContext));\n\n      _defineProperty(_assertThisInitialized(_this), \"isFocusable\", function () {\n        return !_this.props.isDisabled && !_this.props.isHidden;\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"handleFocus\", function () {\n        if (_this.isFocusable()) {\n          _this.callContextFn('itemFocused', _this.contextId);\n        }\n      });\n\n      return _this;\n    }\n\n    _createClass(WithItemFocus, [{\n      key: \"componentDidMount\",\n      value: function componentDidMount() {\n        if (!this.isFocusable()) {\n          return;\n        }\n\n        this.contextId = uuid();\n        this.callContextFn('registerItem', this.contextId, ReactDOM.findDOMNode(this) // eslint-disable-line react/no-find-dom-node\n        );\n      }\n    }, {\n      key: \"componentDidUpdate\",\n      value: function componentDidUpdate() {\n        if (!this.isFocusable()) {\n          return;\n        }\n\n        this.callContextFn('updateItem', this.contextId, ReactDOM.findDOMNode(this) // eslint-disable-line react/no-find-dom-node\n        );\n      }\n    }, {\n      key: \"componentWillUnmount\",\n      value: function componentWillUnmount() {\n        if (this.isFocusable()) {\n          this.callContextFn('deregisterItem', this.contextId);\n        }\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var _this$props = this.props,\n            children = _this$props.children,\n            otherProps = _objectWithoutProperties(_this$props, [\"children\"]);\n\n        return React.createElement(WrappedComponent, _extends({\n          onFocus: this.handleFocus,\n          role: \"menuitem\"\n        }, otherProps), children);\n      }\n    }]);\n\n    return WithItemFocus;\n  }(Component), _defineProperty(_class, \"displayName\", \"WithItemFocus(\".concat(getDisplayName(WrappedComponent), \")\")), _defineProperty(_class, \"contextTypes\", _defineProperty({}, focusManagerContext, PropTypes.object)), _temp;\n};\n\nexport default withItemFocus;","import styled, { css } from 'styled-components';\nimport { fontSizeSmall } from '@atlaskit/theme/constants';\nimport { getThemeStyle, gridSize, themeNamespace } from '../util/theme';\n\nvar getPadding = function getPadding(_ref) {\n  var isCompact = _ref.isCompact,\n      theme = _ref.theme;\n  var paddingType = isCompact ? 'compact' : 'default';\n\n  var _getThemeStyle = getThemeStyle(theme[themeNamespace], paddingType, 'padding'),\n      _getThemeStyle$bottom = _getThemeStyle.bottom,\n      bottom = _getThemeStyle$bottom === void 0 ? 0 : _getThemeStyle$bottom,\n      _getThemeStyle$left = _getThemeStyle.left,\n      left = _getThemeStyle$left === void 0 ? 0 : _getThemeStyle$left,\n      _getThemeStyle$right = _getThemeStyle.right,\n      right = _getThemeStyle$right === void 0 ? 0 : _getThemeStyle$right,\n      _getThemeStyle$top = _getThemeStyle.top,\n      top = _getThemeStyle$top === void 0 ? 0 : _getThemeStyle$top;\n\n  return css([\"\\n    padding: \", \"px \", \"px \", \"px \", \"px;\\n  \"], top, right, bottom, left);\n}; // eslint-disable-next-line import/prefer-default-export\n\n\nvar GroupTitle = styled.div.withConfig({\n  displayName: \"ItemGroup__GroupTitle\",\n  componentId: \"ofbfv9-0\"\n})([\"\\n  align-items: center;\\n  color: \", \";\\n  display: flex;\\n  flex: 1 1 auto;\\n  \", \";\\n\"], function (_ref2) {\n  var theme = _ref2.theme;\n  return getThemeStyle(theme[themeNamespace], 'secondaryText', 'default');\n}, getPadding);\nGroupTitle.displayName = 'ItemGroupTitle';\nvar GroupTitleAfter = styled.div.withConfig({\n  displayName: \"ItemGroup__GroupTitleAfter\",\n  componentId: \"ofbfv9-1\"\n})([\"\\n  flex: 0 0 auto;\\n  margin-right: -\", \"px;\\n\"], gridSize / 2);\nGroupTitleAfter.displayName = 'ItemGroupTitleAfter';\nvar GroupTitleText = styled.div.withConfig({\n  displayName: \"ItemGroup__GroupTitleText\",\n  componentId: \"ofbfv9-2\"\n})([\"\\n  flex: 1 1 auto;\\n  font-size: \", \"px;\\n  line-height: 1;\\n  text-transform: uppercase;\\n  /* Required for children to truncate */\\n  min-width: 0;\\n\"], fontSizeSmall);\nGroupTitleText.displayName = 'ItemGroupTitleText';\nexport { GroupTitle, GroupTitleAfter, GroupTitleText };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport textContent from 'react-addons-text-content';\nimport { GroupTitle, GroupTitleText, GroupTitleAfter } from '../styled/ItemGroup';\n\nvar ItemGroup =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(ItemGroup, _Component);\n\n  function ItemGroup() {\n    _classCallCheck(this, ItemGroup);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(ItemGroup).apply(this, arguments));\n  }\n\n  _createClass(ItemGroup, [{\n    key: \"render\",\n    value: function render() {\n      var _this = this;\n\n      var _this$props = this.props,\n          children = _this$props.children,\n          elemAfter = _this$props.elemAfter,\n          isCompact = _this$props.isCompact,\n          title = _this$props.title,\n          label = _this$props.label,\n          innerRef = _this$props.innerRef,\n          role = _this$props.role;\n\n      var ariaLabel = function () {\n        if (label) {\n          return textContent(label);\n        }\n\n        if (title) {\n          return textContent(title);\n        }\n\n        return '';\n      }();\n\n      return React.createElement(\"div\", {\n        \"aria-label\": ariaLabel,\n        role: role,\n        ref: innerRef\n      }, title ? React.createElement(GroupTitle, {\n        \"aria-hidden\": \"true\",\n        isCompact: isCompact\n      }, React.createElement(GroupTitleText, null, title), elemAfter ? React.createElement(GroupTitleAfter, {\n        innerRef: function innerRef(r) {\n          _this.headingAfterElement = r;\n        }\n      }, elemAfter) : null) : null, children);\n    }\n  }]);\n\n  return ItemGroup;\n}(Component);\n\n_defineProperty(ItemGroup, \"defaultProps\", {\n  role: 'group'\n});\n\nexport { ItemGroup as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport { ItemGroup } from '@atlaskit/item';\n\nvar DropdownItemGroup =\n/*#__PURE__*/\nfunction (_Component) {\n  _inherits(DropdownItemGroup, _Component);\n\n  function DropdownItemGroup() {\n    _classCallCheck(this, DropdownItemGroup);\n\n    return _possibleConstructorReturn(this, _getPrototypeOf(DropdownItemGroup).apply(this, arguments));\n  }\n\n  _createClass(DropdownItemGroup, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          children = _this$props.children,\n          elemAfter = _this$props.elemAfter,\n          title = _this$props.title;\n      return React.createElement(ItemGroup, {\n        elemAfter: elemAfter,\n        title: title,\n        role: \"menu\"\n      }, children);\n    }\n  }]);\n\n  return DropdownItemGroup;\n}(Component);\n\nexport { DropdownItemGroup as default };","import DropdownMenu, {\n  DropdownItem,\n  DropdownItemGroup\n} from '@atlaskit/dropdown-menu';\nimport CheckCircleIcon from '@atlaskit/icon/glyph/check-circle';\nimport Textfield from '@atlaskit/textfield';\nimport { G300 } from '@atlaskit/theme/colors';\nimport _ from 'lodash';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport {\n  AnalyticsTrackType,\n  Product,\n  ProductKeys,\n  Sites\n} from '../../../../../model/wac-signup-form';\nimport { InfoBox } from './';\n\nimport {\n  isProductIncluded,\n  useSignUpFormUIState,\n  useSitePermission\n} from '../../../../../hook';\nimport {\n  DomainToolTip,\n  ToolTipText,\n  ToolTipContainer,\n  useDocumentClick\n} from './site-name-field';\nimport { B400, N50 } from '@atlaskit/theme/colors';\nimport { TooltipIcon } from '../Icons/tooltip-icon';\n\nimport {\n  CompoundField,\n  DropdownButtonStyle,\n  DropdownButtonStyleOpen,\n  DropdownTrigger,\n  ErrorMessageWithDefaultClassName,\n  FieldContainer,\n  FieldErrorState,\n  JswTrialNotice,\n  Label,\n  SiteNameAfter,\n  SiteNameAfterLabel,\n  SitePickerTextfieldWrapper,\n  SitePickerToggle,\n  StyledInfoBoxWrapper,\n  UnderLabelMessage\n} from './styled';\n\nexport type SitePickerProps = {\n  onSiteNameChange: (selectedSite: Sites, cloudName: string) => void;\n  onSiteNameStartNew: () => void;\n  sites: Sites[];\n  isBundleActive: boolean;\n  siteNameAfter: string;\n  analyticsTrack: AnalyticsTrackType;\n  isFree: boolean;\n  setIsValidSiteName: (val: boolean) => void;\n  isDisabled: boolean;\n  showFreeLimitExceededError: boolean;\n  selectedSiteId: string;\n  productKeys: Product[];\n  isDeferredSiteNameEnabled?: boolean;\n  fadeOnDisable?: boolean;\n};\n\nexport type FormattedSite = {\n  readonly name: string;\n  readonly value: string;\n  readonly products?: string[];\n};\n\nexport type FormattedProduct = {\n  readonly title: FormattedMessage.MessageDescriptor;\n  readonly sites: FormattedSite[];\n};\n\ntype OnOpenChangeProps = {\n  readonly isOpen: boolean;\n  readonly event?: { [key: string]: any };\n};\n\nconst getSiteById = (cloudId: string, sites: Sites[]) => {\n  const matchedSites = sites.filter((site) => site.cloudId === cloudId);\n  return matchedSites.length > 0 ? matchedSites[0] : sites[0];\n};\n\nexport const isSelectedSiteValid = (\n  sitesByCategory: {\n    [key: string]: FormattedProduct;\n  },\n  siteId: string\n) => {\n  return (\n    sitesByCategory?.withJiraSoftware?.sites?.find(\n      (site) => site.value === siteId\n    ) ||\n    sitesByCategory?.withoutJiraSoftware?.sites?.find(\n      (site) => site.value === siteId\n    )\n  );\n};\n\nfunction productKeyToSplitSitesBy(productKeys: Product[]) {\n  if (\n    isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_DESK) ||\n    isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_MANAGEMENT)\n  ) {\n    return {\n      siteKey: ProductKeys.CONFLUENCE,\n      recommendedSitesTitle: messages.dropdownWithRecommended,\n      otherSitesTitle: messages.dropdownWithoutRecommended\n    };\n  } else {\n    return {\n      siteKey: ProductKeys.JIRA_SOFTWARE,\n      recommendedSitesTitle: messages.dropdownWithJiraSoftware,\n      otherSitesTitle: messages.dropdownWithoutJiraSoftware\n    };\n  }\n}\nexport function orderSpecificProductFirstSort(\n  a: FormattedSite,\n  b: FormattedSite\n) {\n  if (\n    a?.products?.includes(ProductKeys.CONFLUENCE) &&\n    !b?.products?.includes(ProductKeys.CONFLUENCE)\n  ) {\n    return -1;\n  }\n  if (\n    !a?.products?.includes(ProductKeys.CONFLUENCE) &&\n    b?.products?.includes(ProductKeys.CONFLUENCE)\n  ) {\n    return 1;\n  }\n  if (\n    a?.products?.includes(ProductKeys.CONFLUENCE) &&\n    b?.products?.includes(ProductKeys.CONFLUENCE)\n  ) {\n    return 0;\n  }\n  return 0;\n}\n\nexport function SitePickerField({\n  isBundleActive,\n  sites,\n  siteNameAfter,\n  onSiteNameStartNew,\n  onSiteNameChange,\n  setIsValidSiteName,\n  isFree,\n  isDisabled,\n  showFreeLimitExceededError = false,\n  selectedSiteId,\n  productKeys,\n  isDeferredSiteNameEnabled,\n  fadeOnDisable,\n  analyticsTrack\n}: SitePickerProps) {\n  // const isSiteAdmin = false; // TODO change to use hook\n  const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n  const [activeSite, setActiveSite] = useState(sites[0]);\n  const [triggerText, setTriggerText] = useState({ ...messages.selectSite });\n  const [hideJswTrialNotice, setHideJswTrialNotice] = useState(true);\n  const [showConfluenceNotice, setShowConfluenceNotice] = useState(false);\n  const [isLoaded, setIsLoaded] = useState(false);\n  const [toolTipOpen, setToolTipOpen] = useState(false);\n  const { isBeacon } = useSignUpFormUIState();\n  const { isPermitted, isValidating } = useSitePermission(\n    activeSite.cloudId,\n    isBundleActive\n  );\n\n  const showSiteSwitcher = sites.length > 1;\n  const isJsm =\n    isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_DESK) ||\n    isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_MANAGEMENT);\n  const hasSitesWithConfluence = sites.some((site) => {\n    return site?.products.some((p) => p === ProductKeys.CONFLUENCE);\n  });\n\n  const toolTipTrigger = 'domain-name-tooltip-trigger';\n  useDocumentClick(toolTipOpen, setToolTipOpen, toolTipTrigger);\n\n  const { segment } = analyticsTrack;\n\n  const useRecomendedSitesInDropdown = isBundleActive || isJsm;\n\n  const categorizedSitesData = useMemo(() => {\n    const siteKeyDataToSplitBy = productKeyToSplitSitesBy(productKeys);\n    const sitesByCategory: { [key: string]: FormattedProduct } = {\n      withRecommendedSite: {\n        title: siteKeyDataToSplitBy.recommendedSitesTitle,\n        sites: []\n      },\n      withoutRecommendedSite: {\n        title: siteKeyDataToSplitBy.otherSitesTitle,\n        sites: []\n      }\n    };\n\n    sites = _.sortBy(sites, ['displayName']);\n\n    const addSiteToResult = (hasJsw: boolean, site: FormattedSite) => {\n      if (hasJsw) {\n        sitesByCategory.withRecommendedSite.sites.push(site);\n      } else {\n        sitesByCategory.withoutRecommendedSite.sites.push(site);\n      }\n    };\n\n    sites.map((site) => {\n      addSiteToResult(site.products.includes(siteKeyDataToSplitBy.siteKey), {\n        value: site.cloudId,\n        name: site.displayName,\n        products: site.products\n      });\n    });\n\n    const displaySitesFromAllCategories =\n      sitesByCategory.withRecommendedSite.sites.length > 0 &&\n      sitesByCategory.withoutRecommendedSite.sites.length > 0;\n\n    const displayOnlySitesContainingJiraSoftware =\n      sitesByCategory.withRecommendedSite.sites.length > 0 &&\n      sitesByCategory.withoutRecommendedSite.sites.length === 0;\n\n    const displayOnlySitesMissingJiraSoftware =\n      sitesByCategory.withRecommendedSite.sites.length === 0 &&\n      sitesByCategory.withoutRecommendedSite.sites.length > 0;\n\n    return {\n      sitesByCategory,\n      displaySitesFromAllCategories,\n      displayOnlySitesContainingJiraSoftware,\n      displayOnlySitesMissingJiraSoftware\n    };\n  }, [sites]);\n\n  useEffect(() => {\n    if (isLoaded) {\n      if (selectedSiteId) {\n        const found = isSelectedSiteValid(\n          categorizedSitesData.sitesByCategory,\n          selectedSiteId\n        );\n        if (found) {\n          handleDropdownItemClick(found);\n          return;\n        }\n      }\n      if (categorizedSitesData.sitesByCategory?.withRecommendedSite?.sites[0]) {\n        handleDropdownItemClick(\n          categorizedSitesData.sitesByCategory.withRecommendedSite.sites[0]\n        );\n      } else if (\n        categorizedSitesData.sitesByCategory?.withoutRecommendedSite?.sites[0]\n      ) {\n        handleDropdownItemClick(\n          categorizedSitesData.sitesByCategory.withoutRecommendedSite.sites[0]\n        );\n      }\n      if (isJsm) {\n        const confluenceOrderedFirst = [\n          ...categorizedSitesData.sitesByCategory.withRecommendedSite.sites,\n          ...categorizedSitesData.sitesByCategory.withoutRecommendedSite.sites\n        ].sort(orderSpecificProductFirstSort);\n        handleDropdownItemClick(confluenceOrderedFirst[0]);\n      }\n    } else {\n      setIsLoaded(true);\n    }\n  }, [isLoaded]);\n\n  useEffect(() => {\n    if (isJsm) {\n      const siteHasConf = activeSite?.products.some(\n        (p) => p === ProductKeys.CONFLUENCE\n      );\n      setShowConfluenceNotice(\n        !siteHasConf && hasSitesWithConfluence && !showFreeLimitExceededError\n      );\n    }\n  }, [activeSite]);\n\n  useEffect(() => {\n    setIsValidSiteName(isPermitted);\n  }, [isPermitted]);\n\n  const trigger = (\n    <DropdownTrigger>\n      <FormattedMessage {...triggerText} />\n    </DropdownTrigger>\n  );\n\n  const handleDropdownItemClick = ({ name, value }: FormattedSite) => {\n    const selectedSite = getSiteById(value, sites);\n    onSiteNameChange(selectedSite, selectedSite.displayName);\n    setActiveSite(selectedSite);\n    setTriggerText(\n      Object.assign({}, messages.selectSite, {\n        defaultMessage: name + siteNameAfter\n      })\n    );\n    setHideJswTrialNotice(\n      isFree || selectedSite.products.includes(ProductKeys.JIRA_SOFTWARE)\n    );\n  };\n\n  const triggerButtonTheme = () => {\n    const buttonStyles = !isDropdownOpen\n      ? DropdownButtonStyle\n      : Object.assign({}, DropdownButtonStyle, DropdownButtonStyleOpen);\n    return {\n      buttonStyles,\n      spinnerStyles: {}\n    };\n  };\n\n  const dropDownItems = (sitesData: FormattedSite[]) => {\n    return sitesData.map((site: FormattedSite) => {\n      return (\n        <DropdownItem\n          key={site.name}\n          onClick={() => handleDropdownItemClick(site)}\n        >\n          {site.name + siteNameAfter}\n        </DropdownItem>\n      );\n    });\n  };\n\n  return (\n    <FieldContainer className={'site-picker-field sign-up-field-container'}>\n      <CompoundField>\n        <Label>\n          {isDeferredSiteNameEnabled ? (\n            <FormattedMessage {...messages.siteNameLabel} />\n          ) : (\n            <FormattedMessage {...messages.yourSite} />\n          )}\n        </Label>\n        {isDeferredSiteNameEnabled && (\n          <ToolTipContainer>\n            <DomainToolTip\n              isDisabled={isDisabled}\n              fadeOnDisable={fadeOnDisable}\n              data-testid=\"domain-tool-tip\"\n              className={toolTipOpen ? 'selected' : ''}\n              onClick={() => {\n                if (isDisabled) {\n                  return;\n                }\n                if (!toolTipOpen) {\n                  segment('bxp.formCloudSignup.toolTipDisplayed', {});\n                }\n                setToolTipOpen(!toolTipOpen);\n              }}\n            >\n              <TooltipIcon\n                fillColor={toolTipOpen && !isDisabled ? B400 : N50}\n              />\n            </DomainToolTip>\n            {toolTipOpen && (\n              <ToolTipText\n                className={toolTipTrigger}\n                isDisabled={isDisabled}\n                fadeOnDisable={fadeOnDisable}\n              >\n                <FormattedMessage {...messages.deferredSiteNameTooltipText} />\n              </ToolTipText>\n            )}\n          </ToolTipContainer>\n        )}\n      </CompoundField>\n      {isDeferredSiteNameEnabled && (\n        <UnderLabelMessage>\n          <FormattedMessage {...messages.siteNameOptionalMessageN2E} />\n        </UnderLabelMessage>\n      )}\n      <FieldErrorState showError={showFreeLimitExceededError}>\n        {showSiteSwitcher && (\n          <DropdownMenu\n            trigger={trigger}\n            triggerType=\"button\"\n            shouldFitContainer={true}\n            isLoading={isValidating}\n            triggerButtonProps={{\n              shouldFitContainer: true,\n              theme: triggerButtonTheme,\n              isDisabled\n            }}\n            onOpenChange={({ isOpen }: OnOpenChangeProps) =>\n              setIsDropdownOpen(isOpen)\n            }\n          >\n            {useRecomendedSitesInDropdown && (\n              <>\n                {categorizedSitesData.displaySitesFromAllCategories && (\n                  <>\n                    <DropdownItemGroup\n                      key=\"withJiraSoftware\"\n                      title={\n                        <FormattedMessage\n                          {...categorizedSitesData.sitesByCategory\n                            .withRecommendedSite.title}\n                        />\n                      }\n                    >\n                      {dropDownItems(\n                        categorizedSitesData.sitesByCategory.withRecommendedSite\n                          .sites\n                      )}\n                    </DropdownItemGroup>\n                    <DropdownItemGroup\n                      key=\"withoutJiraSoftware\"\n                      title={\n                        <FormattedMessage\n                          {...categorizedSitesData.sitesByCategory\n                            .withoutRecommendedSite.title}\n                        />\n                      }\n                    >\n                      {dropDownItems(\n                        categorizedSitesData.sitesByCategory\n                          .withoutRecommendedSite.sites\n                      )}\n                    </DropdownItemGroup>\n                  </>\n                )}\n                {categorizedSitesData.displayOnlySitesContainingJiraSoftware &&\n                  dropDownItems(\n                    categorizedSitesData.sitesByCategory.withRecommendedSite\n                      .sites\n                  )}\n                {categorizedSitesData.displayOnlySitesMissingJiraSoftware &&\n                  dropDownItems(\n                    categorizedSitesData.sitesByCategory.withoutRecommendedSite\n                      .sites\n                  )}\n              </>\n            )}\n            {!useRecomendedSitesInDropdown && [\n              ...dropDownItems(\n                categorizedSitesData.sitesByCategory.withRecommendedSite.sites\n              ),\n              ...dropDownItems(\n                categorizedSitesData.sitesByCategory.withoutRecommendedSite\n                  .sites\n              )\n            ]}\n          </DropdownMenu>\n        )}\n\n        {!showSiteSwitcher && (\n          <SitePickerTextfieldWrapper>\n            <Textfield\n              isRequired\n              className={'site-picker-field input'}\n              value={sites[0].displayName}\n              style={{ height: 'inherit', width: '60%', color: '#091E44' }}\n              isDisabled={true}\n              elemAfterInput={\n                <SiteNameAfter>\n                  <SiteNameAfterLabel>{siteNameAfter}</SiteNameAfterLabel>\n                </SiteNameAfter>\n              }\n            />\n          </SitePickerTextfieldWrapper>\n        )}\n      </FieldErrorState>\n\n      {isPermitted && !hideJswTrialNotice && isBundleActive && (\n        <JswTrialNotice>\n          <CheckCircleIcon label=\"\" primaryColor={G300} size=\"medium\" />\n          <FormattedMessage {...messages.jswTrialNotice} />\n        </JswTrialNotice>\n      )}\n\n      {!isPermitted && (\n        <ErrorMessageWithDefaultClassName>\n          <FormattedMessage {...messages.siteAdminManageError} />\n        </ErrorMessageWithDefaultClassName>\n      )}\n\n      {showFreeLimitExceededError && (\n        <ErrorMessageWithDefaultClassName>\n          <FormattedMessage {...messages.freeBreachLimitExceededError} />\n        </ErrorMessageWithDefaultClassName>\n      )}\n\n      {!isBeacon && ( // Beacon cannot be used to create new site, so disable the toggle\n        <SitePickerToggle\n          onClick={() => {\n            if (!isDisabled) {\n              onSiteNameStartNew();\n            }\n          }}\n        >\n          {isDeferredSiteNameEnabled ? (\n            <FormattedMessage {...messages.createNewSite} />\n          ) : (\n            <FormattedMessage {...messages.newSite} />\n          )}\n        </SitePickerToggle>\n      )}\n\n      {showConfluenceNotice && (\n        <StyledInfoBoxWrapper className=\"jsm-confluence-notice\">\n          <InfoBox>\n            <p>\n              <FormattedMessage {...messages.jsmConfluenceNotice} />\n            </p>\n          </InfoBox>\n        </StyledInfoBoxWrapper>\n      )}\n    </FieldContainer>\n  );\n}\n","import { useEffect, useState } from 'react';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport { GetUserPermissionsIsPermittedRequestPermissionId } from '@atlassiansox/asc-stargate';\n\nexport type SitePermission = {\n  readonly isValidating: boolean;\n  readonly isPermitted: boolean;\n};\n\nexport function useSitePermission(\n  siteId: string,\n  isBBJSW: boolean\n): SitePermission {\n  const stargateClient = useStargateClient();\n  if (!isBBJSW) {\n    return { isValidating: false, isPermitted: true };\n  }\n  const [{ isValidating, isPermitted }, setValidation] =\n    useState<SitePermission>({\n      isValidating: false,\n      isPermitted: true\n    });\n\n  const checkPermissions = async () => {\n    await stargateClient\n      .getUserPermissionsIsPermitted({\n        permissionId: GetUserPermissionsIsPermittedRequestPermissionId.MANAGE,\n        resourceId: `ari:cloud:platform::site/${siteId}`,\n        dontRequirePrincipalInSite: true\n      })\n      .then((response) => {\n        if (response.permitted) {\n          return setValidation({\n            isValidating: false,\n            isPermitted: true\n          });\n        } else {\n          return setValidation({\n            isValidating: false,\n            isPermitted: false\n          });\n        }\n      })\n      .catch(() => {\n        return setValidation({\n          isValidating: false,\n          isPermitted: false\n        });\n      });\n  };\n\n  useEffect(() => {\n    setValidation({ isValidating: true, isPermitted: true });\n    checkPermissions().catch(console.error);\n  }, [siteId]);\n\n  return { isValidating, isPermitted };\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};","export const presetSizes = {\n  xsmall: 8,\n  small: 16,\n  medium: 24,\n  large: 48,\n  xlarge: 96\n};","/** @jsx jsx */\nimport React, { useContext, useEffect, useLayoutEffect as useRealLayoutEffect } from 'react';\nimport { css, jsx, keyframes } from '@emotion/react';\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\n/**\n * Returns the appropriate circle stroke color.\n */\nfunction getStrokeColor({\n  mode,\n  appearance\n}) {\n  if (mode === 'light') {\n    return appearance === 'inherit' ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-inverse, ${N0})`;\n  }\n  return appearance === 'inherit' ? `var(--ds-icon-subtle, ${DN900})` : `var(--ds-icon-inverse, ${DN500})`;\n}\nconst rotate = keyframes({\n  to: {\n    transform: 'rotate(360deg)'\n  }\n});\nconst rotateStyles = css({\n  animation: `${rotate} 0.86s infinite`,\n  animationTimingFunction: 'cubic-bezier(0.4, 0.15, 0.6, 0.85)',\n  transformOrigin: 'center'\n});\n\n/**\n * There are three parts to the load in animation:\n * 1. Fade in\n * 2. Accelerated spin\n * 3. Stretch the spinner line\n */\nconst loadIn = keyframes({\n  from: {\n    transform: 'rotate(50deg)',\n    opacity: 0,\n    strokeDashoffset: 60\n  },\n  to: {\n    transform: 'rotate(230deg)',\n    opacity: 1,\n    strokeDashoffset: 50\n  }\n});\nconst loadInStyles = css({\n  animation: `${loadIn} 1s ease-in-out`,\n  /**\n   * When the animation completes, stay at the last frame of the animation.\n   */\n  animationFillMode: 'forwards',\n  /**\n   * We are going to animate this in.\n   */\n  opacity: 0\n});\nconst wrapperStyles = css({\n  display: 'inline-flex',\n  /**\n   * Align better inline with text.\n   */\n  verticalAlign: 'middle'\n});\nconst circleStyles = css({\n  fill: 'none',\n  strokeDasharray: 60,\n  strokeDashoffset: 'inherit',\n  strokeLinecap: 'round',\n  strokeWidth: 1.5,\n  '@media screen and (forced-colors: active)': {\n    filter: 'grayscale(100%)',\n    stroke: 'CanvasText'\n  }\n});\n\n/**\n * `useLayoutEffect` is being used in SSR safe form. On the server, this work doesn’t need to run.\n * `useEffect` is used in-place, because `useEffect` is not run on the server and it matches types\n * which makes things simpler than doing an `isServer` check or a `null` check.\n *\n * @see https://hello.atlassian.net/wiki/spaces/DST/pages/2081696628/DSTDACI-010+-+Interaction+Tracing+hooks+in+DS+components\n */\nconst useLayoutEffect = typeof window === 'undefined' ? useEffect : useRealLayoutEffect;\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Spinner({\n  testId,\n  appearance = 'inherit',\n  delay = 0,\n  size: providedSize = 'medium',\n  interactionName\n}, ref) {\n  const size = typeof providedSize === 'number' ? providedSize : presetSizes[providedSize];\n  const animationDelay = `${delay}ms`;\n  const {\n    mode\n  } = useGlobalTheme();\n  const stroke = getStrokeColor({\n    mode,\n    appearance\n  });\n  const context = useContext(InteractionContext);\n  useLayoutEffect(() => {\n    if (context != null) {\n      return context.hold(interactionName);\n    }\n  }, [context, interactionName]);\n\n  /**\n   * The Spinner animation uses a combination of two\n   * css animations on two separate elements.\n   */\n  return jsx(\"span\", {\n    /**\n     * This span exists to off-load animations from the circle element,\n     * which were causing performance issues (style recalculations)\n     * on Safari and older versions of Chrome.\n     *\n     * This can be removed and styles placed back on the circle element once\n     * Safari fixes this bug and off-loads rendering to the GPU from the CPU.\n     */\n    css: [wrapperStyles, rotateStyles],\n    \"data-testid\": testId && `${testId}-wrapper`,\n    style: {\n      animationDelay,\n      width: size,\n      height: size\n    }\n  }, jsx(\"svg\", {\n    height: size,\n    width: size,\n    viewBox: \"0 0 16 16\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    \"data-testid\": testId,\n    ref: ref,\n    css: loadInStyles,\n    style: {\n      animationDelay\n    }\n  }, jsx(\"circle\", {\n    cx: \"8\",\n    cy: \"8\",\n    r: \"7\",\n    css: circleStyles,\n    style: {\n      stroke\n    }\n  })));\n}));","import React from 'react';\nimport Spinner from '@atlaskit/spinner';\nfunction getSpinnerAppearance({\n  appearance,\n  isDisabled,\n  isSelected\n}) {\n  if (isDisabled) {\n    return 'inherit';\n  }\n  if (isSelected) {\n    return 'invert';\n  }\n  if (appearance === 'primary' || appearance === 'danger') {\n    return 'invert';\n  }\n  return 'inherit';\n}\nexport default function LoadingSpinner({\n  spacing = 'default',\n  ...rest\n}) {\n  const size = spacing === 'default' ? 'medium' : 'small';\n  return /*#__PURE__*/React.createElement(Spinner, {\n    size: size,\n    appearance: getSpinnerAppearance(rest)\n  });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport Button from './button';\nimport LoadingSpinner from './shared/loading-spinner';\n/**\n * __Loading button__\n *\n * A small wrapper around Button that allows you to show an @atlaskit/spinner as an overlay on the button when you set an isLoading prop to true.\n *\n * - [Examples](https://atlassian.design/components/button/examples#loading-button)\n */\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton({\n  isLoading = false,\n  ...rest\n}, ref) {\n  // Button already has React.memo, so just leaning on that\n  return /*#__PURE__*/React.createElement(Button, _extends({}, rest, {\n    ref: ref,\n    overlay: isLoading ? /*#__PURE__*/React.createElement(LoadingSpinner, rest) : null\n  }));\n});\n\n// Tools including enzyme rely on components having a display name\nLoadingButton.displayName = 'LoadingButton';\nexport default LoadingButton;","import { useCallbackWithAnalytics } from '@atlaskit/analytics-next';\nimport { LoadingButton } from '@atlaskit/button';\nimport { N30, N80 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { text } from './styled';\n\nexport const StyledSubmitButton = styled(LoadingButton)`\n  font-family: ${text};\n  font-weight: 500;\n  svg {\n    margin: 0;\n  }\n\n  :hover {\n    background-color: #0049b0;\n  }\n\n  :disabled,\n  :disabled:hover {\n    color: ${N80} !important;\n    background-color: ${N30};\n    opacity: 0.6;\n  }\n  &.devops {\n    margin-top: 30px;\n  }\n`;\n\nexport const SubmitButton = ({ label = '', ...props }) => {\n  const handler = useCallbackWithAnalytics(() => undefined, {\n    eventName: 'reactSignUpFormSubmitButtonClicked',\n    data: {\n      event: 'clicked', // event verb, in past tense (eg, \"clicked\")\n      eventComponent: 'submitButton', // name of component being interacted with, in camelCase\n      label,\n      uuid: 'reactSignUpFormSubmitButton' // required for Magnolia events, unique id for a given component if available\n    }\n  });\n\n  return (\n    <StyledSubmitButton {...props} onClick={handler}>\n      {props.children}\n    </StyledSubmitButton>\n  );\n};\n","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\nexport const useCallbackWithAnalytics = (method, payload, channel) => {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n  const methodRef = useTrackedRef(method);\n  const payloadRef = useTrackedRef(payload);\n  return useCallback((...args) => {\n    const pload = typeof payloadRef.current === 'function' ? payloadRef.current(...args) : payloadRef.current;\n    createAnalyticsEvent(pload).fire(channel);\n    methodRef.current(...args);\n  }, [createAnalyticsEvent, methodRef, payloadRef, channel]);\n};","import Textfield from '@atlaskit/textfield';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport {\n  ErrorMessageWithDefaultClassName,\n  FullNameFieldWrapper,\n  Label,\n  NameFieldGroup\n} from './styled';\n\nexport type DisplayNameProps = {\n  readonly onNameChange: (displayName: string | null) => void;\n  readonly displayname: string | null | undefined;\n  readonly isDisabled: boolean;\n  readonly fadeOnDisable?: boolean;\n  readonly outlineOnFocus?: boolean;\n  readonly popOverError?: boolean;\n};\n\nconst nonValidNamePattern =\n  /((http(s)?|ftp|callto|mailto|skype|magnet):)|www\\.|:\\/\\/|@|\\$|^\\s+$/i;\n\nexport function DisplayNameField({\n  onNameChange,\n  displayname,\n  isDisabled,\n  fadeOnDisable,\n  popOverError,\n  outlineOnFocus\n}: DisplayNameProps) {\n  const checkIsDisabled = () => {\n    // ensure isDisabled can be set when form is submitting,\n    return isDisabled;\n  };\n  const [alreadySentValid, setAlreadySentValid] = useState(false);\n  const [displayName, setDisplayName] = useState(\n    displayname ? displayname : ''\n  );\n  const [isValidDisplayName, setIsValidDisplayName] = useState(true);\n  const [isWithinMaxLength, setIsWithinMaxLength] = useState(true);\n  const [isDisplayNameFocused, setIsDisplayNameFocused] = useState(false);\n  const [fieldDisabled, setFieldDisabled] = useState(checkIsDisabled());\n\n  useEffect(() => {\n    isValidDisplayName && isWithinMaxLength\n      ? onNameChange(displayName)\n      : onNameChange('');\n\n    if (\n      isValidDisplayName &&\n      isWithinMaxLength &&\n      displayName.length > 0 &&\n      !alreadySentValid\n    ) {\n      setAlreadySentValid(true);\n    }\n  }, [displayName]);\n\n  useEffect(() => {\n    setFieldDisabled(checkIsDisabled());\n  }, [isDisabled]);\n\n  const updateDisplayName = (event: React.FormEvent<HTMLInputElement>) => {\n    const value: string = event.currentTarget.value;\n    setDisplayName(event.currentTarget.value);\n    setIsValidDisplayName(true);\n    setIsWithinMaxLength(true);\n\n    if (value.match(nonValidNamePattern)) {\n      setIsValidDisplayName(false);\n    } else if (value.length > 255) {\n      setIsWithinMaxLength(false);\n    }\n  };\n\n  return (\n    <FullNameFieldWrapper className={'full-name-field sign-up-field-container'}>\n      <NameFieldGroup\n        isValid={isValidDisplayName && isWithinMaxLength}\n        val={displayName}\n        outlineOnFocus={outlineOnFocus}\n        isFocused={isDisplayNameFocused}\n        isDisabled={fieldDisabled}\n        fadeOnDisable={fadeOnDisable}\n      >\n        <Label>\n          <FormattedMessage {...messages.fullNameLabel} />\n        </Label>\n        <Textfield\n          className={'full-name-field first-name input'}\n          value={displayName}\n          style={{ height: 'inherit' }}\n          onChange={updateDisplayName}\n          isDisabled={fieldDisabled}\n          onFocus={() => setIsDisplayNameFocused(true)}\n          onBlur={() => setIsDisplayNameFocused(false)}\n        />\n      </NameFieldGroup>\n      {!isValidDisplayName && (\n        <ErrorMessageWithDefaultClassName\n          isDisabled={fieldDisabled}\n          fadeOnDisable={fadeOnDisable}\n          popOverError={popOverError}\n        >\n          <FormattedMessage {...messages.errorName} />\n        </ErrorMessageWithDefaultClassName>\n      )}\n      {!isWithinMaxLength && (\n        <ErrorMessageWithDefaultClassName\n          isDisabled={fieldDisabled}\n          fadeOnDisable={fadeOnDisable}\n          popOverError={popOverError}\n        >\n          <FormattedMessage {...messages.errorNameLength} />\n        </ErrorMessageWithDefaultClassName>\n      )}\n    </FullNameFieldWrapper>\n  );\n}\n","import InfoIcon from '@atlaskit/icon/glyph/info';\nimport { B400 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { InfoBoxContainer, InfoBoxContent } from './styled';\n\nexport type InfoBoxProps = {\n  readonly children: React.ReactNode;\n  readonly fontSize?: string;\n};\n\nexport function InfoBox({ children, fontSize }: InfoBoxProps) {\n  return (\n    <InfoBoxContainer>\n      <InfoIcon label=\"\" primaryColor={B400} size=\"small\" />\n      <InfoBoxContent fontSize={fontSize}>{children}</InfoBoxContent>\n    </InfoBoxContainer>\n  );\n}\n","import CrossIcon from '@atlaskit/icon/glyph/cross';\nimport ModalDialog, { ModalTransition } from '@atlaskit/modal-dialog';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport {\n  AnalyticsTrackType,\n  BitbucketWorkspaces,\n  ProductKeys\n} from '../../../../../model/wac-signup-form';\nimport { InfoBox } from './info-box';\nimport { ModalContents } from './styled';\n\nexport type BitbucketJiraInfoBoxProps = {\n  readonly productsExisting: string[];\n  analyticsTrack: AnalyticsTrackType;\n  bitbucketWorkspaces?: BitbucketWorkspaces;\n};\n\nexport function BitbucketJiraInfoBox({\n  productsExisting,\n  analyticsTrack,\n  bitbucketWorkspaces\n}: BitbucketJiraInfoBoxProps) {\n  const { segment } = analyticsTrack;\n\n  let hasOtherProducts = false;\n  let hasBitBucket = false;\n  let hasJiraSoftware = false;\n  let infoText: FormattedMessage.MessageDescriptor = messages.infoBoxDefault;\n\n  const [isModalOpen, setModalBoxOpen] = useState(false);\n\n  productsExisting.map((productKey) => {\n    switch (productKey) {\n      case ProductKeys.BITBUCKET:\n        hasBitBucket = true;\n        break;\n      case ProductKeys.JIRA_SOFTWARE:\n        hasJiraSoftware = true;\n        break;\n      default:\n        hasOtherProducts = true;\n    }\n  });\n\n  useEffect(() => {\n    if (!!bitbucketWorkspaces) {\n      let userstate = '';\n      if (hasOtherProducts && !hasBitBucket && !hasJiraSoftware) {\n        userstate = 'noBB_noJSW_yesOtherSite';\n        segment('bxp.try.signup.initialversionshown', { userstate });\n      } else if (hasJiraSoftware && !hasBitBucket) {\n        userstate = 'noBB_yesJSW';\n        segment('bxp.try.signup.initialversionshown', { userstate });\n      } else if (!hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n        userstate = 'yesBB_yesJSW_noOtherSite';\n        segment('bxp.try.signup.initialversionshown', { userstate });\n      } else if (hasBitBucket && !hasJiraSoftware && !hasOtherProducts) {\n        userstate = 'yesBB_noJSW_noOtherSite';\n        segment('bxp.try.signup.initialversionshown', { userstate });\n      } else if (hasOtherProducts && hasBitBucket && !hasJiraSoftware) {\n        userstate = 'yesBB_noJSW_yesOtherSite';\n        segment('bxp.try.signup.initialversionshown', { userstate });\n      } else if (hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n        userstate = 'yesBB_yesJSW_yesOtherSite';\n        segment('bxp.try.signup.initialversionshown', { userstate });\n      }\n    }\n  }, [bitbucketWorkspaces]);\n\n  if (hasOtherProducts && !hasBitBucket && !hasJiraSoftware) {\n    infoText = messages.infoBoxSite;\n  } else if (hasJiraSoftware && !hasBitBucket) {\n    infoText = messages.infoBoxSiteJsw;\n  } else if (!hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n    infoText = messages.infoBoxBb;\n  } else if (hasBitBucket && !hasJiraSoftware && !hasOtherProducts) {\n    infoText = messages.infoBoxBb;\n  } else if (hasOtherProducts && hasBitBucket && !hasJiraSoftware) {\n    infoText = messages.infoBoxSiteBb;\n  } else if (hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n    infoText = messages.infoBoxSiteBb;\n  }\n\n  if (!(infoText.defaultMessage && infoText.defaultMessage.length > 1)) {\n    return null;\n  } else {\n    return (\n      <InfoBox>\n        <p>\n          <FormattedMessage {...infoText} />\n        </p>\n        <p className=\"link\" onClick={() => setModalBoxOpen(true)}>\n          <FormattedMessage {...messages.infoBoxModalCta} />\n        </p>\n        <ModalTransition>\n          {isModalOpen && (\n            <ModalDialog onClose={() => setModalBoxOpen(false)} width=\"370px\">\n              <ModalContents>\n                <div className=\"message\">\n                  <SanitizedFormattedHtmlMessage {...messages.infoBoxModal} />\n                </div>\n                <span className=\"exit\" onClick={() => setModalBoxOpen(false)}>\n                  <CrossIcon label=\"\" size=\"medium\" />\n                </span>\n              </ModalContents>\n            </ModalDialog>\n          )}\n        </ModalTransition>\n      </InfoBox>\n    );\n  }\n}\n","import 'isomorphic-fetch';\nimport { Product, ProductKeys } from '../../model/wac-signup-form';\nimport { IStargateClient } from '@atlassiansox/asc-stargate';\n\nexport type FreeBreachTestPayloadType = {\n  readonly cloudId: string;\n  readonly productKeys: string[];\n  readonly stargateClient: IStargateClient;\n};\n\nexport type BreachStatusType = {\n  readonly isInBreachOfFree: boolean;\n};\n\nconst FREE_BREACH_PRODUCTS = [\n  ProductKeys.JIRA_SOFTWARE,\n  ProductKeys.JIRA_SERVICE_DESK,\n  ProductKeys.JIRA_CORE,\n  ProductKeys.CONFLUENCE\n];\n\nexport function computeFreeTrialRedirectURL(selectedSiteId: string) {\n  const { origin, pathname, search } = window.location;\n  const searchParams = new URLSearchParams(search);\n  searchParams.set('edition', 'standard');\n  searchParams.set('selectedSiteId', selectedSiteId);\n  return `${origin}${pathname}?${searchParams.toString()}`;\n}\n\nexport function productsCanBeInBreachOfFree(products: Product[]) {\n  const productsCanBeInBreach = products.reduce(\n    (allProductsAreEligible: boolean, product: Product) => {\n      return (\n        allProductsAreEligible &&\n        FREE_BREACH_PRODUCTS.includes(product.product as ProductKeys) &&\n        product.edition === 'free'\n      );\n    },\n    true\n  );\n\n  return productsCanBeInBreach;\n}\n\nexport async function checkBreachStatus({\n  cloudId,\n  productKeys,\n  stargateClient\n}: FreeBreachTestPayloadType) {\n  const { isInBreachOfFree } = await stargateClient.postExpandFreeValidation({\n    cloudId,\n    productKeys\n  });\n\n  return isInBreachOfFree;\n}\n","import { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport type { AnalyticsTrackType } from '../../../../../model/wac-signup-form';\nimport { computeFreeTrialRedirectURL } from '../../../../../service/sign-up-form/free-breach';\nimport { InfoBox } from './info-box';\n\nexport type BreachInfoBoxProps = {\n  analyticsTrack: AnalyticsTrackType;\n  selectedSiteId: string;\n};\n\nexport function BreachInfoBox({\n  analyticsTrack,\n  selectedSiteId\n}: BreachInfoBoxProps) {\n  const freeTrialRedirectURL = computeFreeTrialRedirectURL(selectedSiteId);\n  return (\n    <InfoBox>\n      <p className=\"title\">\n        <FormattedMessage {...messages.freeBreachInfoBoxConsiderTrial} />\n      </p>\n      <SanitizedFormattedHtmlMessage {...messages.freeBreachInfoBoxCopy} />\n      <p\n        className=\"link\"\n        onClick={() => {\n          analyticsTrack.segment('bxpSignupFreeUserBreachStart30DayTrial', {\n            selectedSiteId\n          });\n          window.location.href = freeTrialRedirectURL;\n        }}\n      >\n        <FormattedMessage {...messages.freeBreachInfoBoxStartTrialCta} />\n      </p>\n    </InfoBox>\n  );\n}\n","import { Checkbox } from '@atlaskit/checkbox';\nimport DropdownMenu, { DropdownItem } from '@atlaskit/dropdown-menu';\nimport Textfield from '@atlaskit/textfield';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport type {\n  AnalyticsTrackType,\n  BitbucketWorkspace,\n  WorkspaceType\n} from '../../../../../model/wac-signup-form';\nimport {\n  BitbucketAccountCheckbox,\n  CompoundField,\n  DropdownButtonStyle,\n  DropdownButtonStyleOpen,\n  DropdownTrigger,\n  FieldContainer,\n  Label,\n  SitePickerTextfieldWrapper\n} from './styled';\n\nexport type BitbucketAccountPickerProps = {\n  bbWorkspaces: BitbucketWorkspace[];\n  bbWorkspacesTotal: number;\n  bbNameOverride: string;\n  selectedSite: string | null;\n  sitesCount: number;\n  onAccountChange: (accountName: string) => void;\n  bbAccountCopy: (isEnabled: boolean) => void;\n  analyticsTrack: AnalyticsTrackType;\n  isValidSiteName: boolean;\n  isDisabled: boolean;\n};\n\ntype OnOpenChangeProps = {\n  readonly isOpen: boolean;\n  readonly isDisabled: boolean;\n  readonly event?: { [key: string]: any };\n};\n\nexport function BitbucketAccountPicker({\n  bbWorkspaces,\n  bbAccountCopy,\n  bbNameOverride,\n  onAccountChange,\n  selectedSite,\n  sitesCount,\n  isValidSiteName,\n  isDisabled\n}: BitbucketAccountPickerProps) {\n  const [isCopyChecked, setIsCopyChecked] = useState(false);\n  const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n  const [triggerText, setTriggerText] = useState({ ...messages.selectAccount });\n  const [isCheckboxDisabled, setIsCheckboxDisabled] = useState(sitesCount > 1);\n  const [bbAccountName, setBbAccountName] = useState('');\n\n  useMemo(() => {\n    if (selectedSite && selectedSite.length > 0) {\n      setIsCheckboxDisabled(false);\n    }\n    if (!isValidSiteName) {\n      setIsCheckboxDisabled(true);\n    }\n  }, [selectedSite, isValidSiteName]);\n\n  useEffect(() => {\n    if (!isValidSiteName) {\n      setIsCopyChecked(false);\n      bbAccountCopy(false);\n    }\n  }, [isValidSiteName]);\n\n  useEffect(() => {\n    if (bbWorkspaces?.[0]?.workspace?.name) {\n      handleDropdownItemClick(bbWorkspaces[0].workspace);\n    }\n  }, []);\n\n  const triggerButtonTheme = () => {\n    const buttonStyles = !isDropdownOpen\n      ? DropdownButtonStyle\n      : Object.assign({}, DropdownButtonStyle, DropdownButtonStyleOpen);\n    return {\n      buttonStyles,\n      spinnerStyles: {}\n    };\n  };\n\n  const handleCopyAccount = () => {\n    setIsCopyChecked(!isCopyChecked);\n\n    bbAccountCopy(!isCopyChecked);\n    if (isCopyChecked) {\n      onAccountChange(bbAccountName);\n    }\n  };\n\n  const handleDropdownItemClick = ({ name }: WorkspaceType) => {\n    setTriggerText(\n      Object.assign({}, messages.selectAccount, { defaultMessage: name })\n    );\n    onAccountChange(name);\n    setBbAccountName(name);\n  };\n\n  const trigger = (\n    <DropdownTrigger>\n      <FormattedMessage {...triggerText} />\n    </DropdownTrigger>\n  );\n\n  return (\n    <FieldContainer\n      className={'bitbucket-account-picker-field sign-up-field-container'}\n    >\n      <CompoundField>\n        <Label>\n          <FormattedMessage {...messages.yourBitbucketAccount} />\n        </Label>\n      </CompoundField>\n\n      {isCopyChecked && (\n        <SitePickerTextfieldWrapper>\n          <Textfield\n            className={'bitbucket-account-picker-field site-name input'}\n            isRequired\n            id={'site-field'}\n            value={bbNameOverride}\n            style={{ height: 'inherit', width: '60%', color: '#091E44' }}\n            isDisabled={true}\n          />\n        </SitePickerTextfieldWrapper>\n      )}\n\n      {!isCopyChecked && bbWorkspaces.length === 1 && (\n        <SitePickerTextfieldWrapper>\n          <Textfield\n            className={\n              'bitbucket-account-picker-field bitbucket-workspace input'\n            }\n            isRequired\n            id={'bb-workspace-field'}\n            value={bbWorkspaces[0].workspace.name}\n            style={{ height: 'inherit', width: '60%', color: '#091E44' }}\n            isDisabled={true}\n          />\n        </SitePickerTextfieldWrapper>\n      )}\n      {!isCopyChecked && bbWorkspaces.length > 1 && (\n        <DropdownMenu\n          trigger={trigger}\n          triggerType=\"button\"\n          shouldFitContainer={true}\n          triggerButtonProps={{\n            shouldFitContainer: true,\n            theme: triggerButtonTheme,\n            isDisabled\n          }}\n          onOpenChange={({ isOpen }: OnOpenChangeProps) =>\n            setIsDropdownOpen(isOpen)\n          }\n        >\n          {bbWorkspaces.map((workspace) => {\n            return (\n              <DropdownItem\n                key={workspace.workspace.uuid}\n                onClick={() => handleDropdownItemClick(workspace.workspace)}\n              >\n                {workspace.workspace.name}\n              </DropdownItem>\n            );\n          })}\n        </DropdownMenu>\n      )}\n      {\n        <BitbucketAccountCheckbox>\n          <Checkbox\n            label={<FormattedMessage {...messages.bitbucketAccountDuplicate} />}\n            isChecked={isCopyChecked}\n            onChange={() => handleCopyAccount()}\n            name=\"checkbox-basic\"\n            isDisabled={isCheckboxDisabled || isDisabled}\n          />\n        </BitbucketAccountCheckbox>\n      }\n    </FieldContainer>\n  );\n}\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n  /* istanbul ignore next */\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction createStyleElement(options) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', options.key);\n\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce);\n  }\n\n  tag.appendChild(document.createTextNode(''));\n  tag.setAttribute('data-s', '');\n  return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  function StyleSheet(options) {\n    var _this = this;\n\n    this._insertTag = function (tag) {\n      var before;\n\n      if (_this.tags.length === 0) {\n        if (_this.insertionPoint) {\n          before = _this.insertionPoint.nextSibling;\n        } else if (_this.prepend) {\n          before = _this.container.firstChild;\n        } else {\n          before = _this.before;\n        }\n      } else {\n        before = _this.tags[_this.tags.length - 1].nextSibling;\n      }\n\n      _this.container.insertBefore(tag, before);\n\n      _this.tags.push(tag);\n    };\n\n    this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n    this.tags = [];\n    this.ctr = 0;\n    this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n    this.key = options.key;\n    this.container = options.container;\n    this.prepend = options.prepend;\n    this.insertionPoint = options.insertionPoint;\n    this.before = null;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.hydrate = function hydrate(nodes) {\n    nodes.forEach(this._insertTag);\n  };\n\n  _proto.insert = function insert(rule) {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this));\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    if (process.env.NODE_ENV !== 'production') {\n      var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n      }\n      this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n    }\n\n    if (this.isSpeedy) {\n      var sheet = sheetForTag(tag);\n\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n          console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule));\n    }\n\n    this.ctr++;\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode && tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0;\n\n    if (process.env.NODE_ENV !== 'production') {\n      this._alreadyInsertedOrderInsensitiveRule = false;\n    }\n  };\n\n  return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n  var previous = 0;\n  var character = 0;\n\n  while (true) {\n    previous = character;\n    character = peek(); // &\\f\n\n    if (previous === 38 && character === 12) {\n      points[index] = 1;\n    }\n\n    if (token(character)) {\n      break;\n    }\n\n    next();\n  }\n\n  return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n  // pretend we've started with a comma\n  var index = -1;\n  var character = 44;\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1;\n        }\n\n        parsed[index] += identifierWithPointTracking(position - 1, points, index);\n        break;\n\n      case 2:\n        parsed[index] += delimit(character);\n        break;\n\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : '';\n          points[index] = parsed[index].length;\n          break;\n        }\n\n      // fallthrough\n\n      default:\n        parsed[index] += from(character);\n    }\n  } while (character = next());\n\n  return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n  return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n  if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n  // negative .length indicates that this rule has been already prefixed\n  element.length < 1) {\n    return;\n  }\n\n  var value = element.value,\n      parent = element.parent;\n  var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent;\n    if (!parent) return;\n  } // short-circuit for the simplest case\n\n\n  if (element.props.length === 1 && value.charCodeAt(0) !== 58\n  /* colon */\n  && !fixedElements.get(parent)) {\n    return;\n  } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n  if (isImplicitRule) {\n    return;\n  }\n\n  fixedElements.set(element, true);\n  var points = [];\n  var rules = getRules(value, points);\n  var parentRules = parent.props;\n\n  for (var i = 0, k = 0; i < rules.length; i++) {\n    for (var j = 0; j < parentRules.length; j++, k++) {\n      element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n    }\n  }\n};\nvar removeLabel = function removeLabel(element) {\n  if (element.type === 'decl') {\n    var value = element.value;\n\n    if ( // charcode for l\n    value.charCodeAt(0) === 108 && // charcode for b\n    value.charCodeAt(2) === 98) {\n      // this ignores label\n      element[\"return\"] = '';\n      element.value = '';\n    }\n  }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n  return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n  return function (element, index, children) {\n    if (element.type !== 'rule' || cache.compat) return;\n    var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n    if (unsafePseudoClasses) {\n      var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n\n      var commentContainer = isNested ? element.parent.children : // global rule at the root level\n      children;\n\n      for (var i = commentContainer.length - 1; i >= 0; i--) {\n        var node = commentContainer[i];\n\n        if (node.line < element.line) {\n          break;\n        } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n\n\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return;\n          }\n\n          break;\n        }\n      }\n\n      unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n        console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n      });\n    }\n  };\n};\n\nvar isImportRule = function isImportRule(element) {\n  return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n  for (var i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n  element.type = '';\n  element.value = '';\n  element[\"return\"] = '';\n  element.children = '';\n  element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n  if (!isImportRule(element)) {\n    return;\n  }\n\n  if (element.parent) {\n    console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n    nullifyElement(element);\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n    nullifyElement(element);\n  }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value;\n    // appearance, user-select, transform, hyphens, text-size-adjust\n\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value;\n    // flex, flex-direction\n\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value;\n    // order\n\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value;\n    // align-items\n\n    case 5187:\n      return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n    // align-self\n\n    case 5443:\n      return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n    // align-content\n\n    case 4675:\n      return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n    // flex-shrink\n\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n    // flex-basis\n\n    case 5292:\n      return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n    // flex-grow\n\n    case 6060:\n      return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n    // transition\n\n    case 4554:\n      return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n    // cursor\n\n    case 6187:\n      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n    // background, background-image\n\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // justify-content\n\n    case 4968:\n      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n    // (margin|padding)-inline-(start|end)\n\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (m)ax-content, (m)in-content\n        case 109:\n          // -\n          if (charat(value, length + 4) !== 45) break;\n        // (f)ill-available, (f)it-content\n\n        case 102:\n          return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n        // (s)tretch\n\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n    // position: sticky\n\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break;\n    // display: (flex|inline-flex)\n\n    case 6444:\n      switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value;\n        // (inline-)?fl(e)x\n\n        case 101:\n          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n      }\n\n      break;\n    // writing-mode\n\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n        // vertical-r(l)\n\n        case 108:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n        // horizontal(-)tb\n\n        case 45:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n      }\n\n      return WEBKIT + value + MS + value + value;\n  }\n\n  return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n  if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n    case DECLARATION:\n      element[\"return\"] = prefix(element.value, element.length);\n      break;\n\n    case KEYFRAMES:\n      return serialize([copy(element, {\n        value: replace(element.value, '@', '@' + WEBKIT)\n      })], callback);\n\n    case RULESET:\n      if (element.length) return combine(element.props, function (value) {\n        switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n          // :read-(only|write)\n          case ':read-only':\n          case ':read-write':\n            return serialize([copy(element, {\n              props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n            })], callback);\n          // :placeholder\n\n          case '::placeholder':\n            return serialize([copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n            })], callback);\n        }\n\n        return '';\n      });\n  }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n  var key = options.key;\n\n  if (process.env.NODE_ENV !== 'production' && !key) {\n    throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n  }\n\n  if (key === 'css') {\n    var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n\n    Array.prototype.forEach.call(ssrStyles, function (node) {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return;\n      }\n      document.head.appendChild(node);\n      node.setAttribute('data-s', '');\n    });\n  }\n\n  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var inserted = {};\n  var container;\n  var nodesToHydrate = [];\n\n  {\n    container = options.container || document.head;\n    Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n    document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n      var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n      for (var i = 1; i < attrib.length; i++) {\n        inserted[attrib[i]] = true;\n      }\n\n      nodesToHydrate.push(node);\n    });\n  }\n\n  var _insert;\n\n  var omnipresentPlugins = [compat, removeLabel];\n\n  if (process.env.NODE_ENV !== 'production') {\n    omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n      get compat() {\n        return cache.compat;\n      }\n\n    }), incorrectImportAlarm);\n  }\n\n  {\n    var currentSheet;\n    var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n      if (!element.root) {\n        if (element[\"return\"]) {\n          currentSheet.insert(element[\"return\"]);\n        } else if (element.value && element.type !== COMMENT) {\n          // insert empty rule in non-production environments\n          // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n          currentSheet.insert(element.value + \"{}\");\n        }\n      }\n    } : rulesheet(function (rule) {\n      currentSheet.insert(rule);\n    })];\n    var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n    var stylis = function stylis(styles) {\n      return serialize(compile(styles), serializer);\n    };\n\n    _insert = function insert(selector, serialized, sheet, shouldCache) {\n      currentSheet = sheet;\n\n      if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n        currentSheet = {\n          insert: function insert(rule) {\n            sheet.insert(rule + serialized.map);\n          }\n        };\n      }\n\n      stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true;\n      }\n    };\n  }\n\n  var cache = {\n    key: key,\n    sheet: new StyleSheet({\n      key: key,\n      container: container,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted: inserted,\n    registered: {},\n    insert: _insert\n  };\n  cache.sheet.hydrate(nodesToHydrate);\n  return cache;\n};\n\nexport { createCache as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","import { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B100, B200, B300, B400, B50, B75, DN10, DN200, DN30, DN80, DN90, N10, N100, 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-disabled, ${N20})`,\n    dotChecked: `var(--ds-icon-inverse, ${N10})`,\n    dotDisabled: `var(--ds-icon-disabled, ${N70})`,\n    dotActive: `var(--ds-icon-inverse, ${B400})`,\n    border: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? N100 : N40})`,\n    borderHover: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? N100 : N40})`,\n    borderDisabled: `var(--ds-border-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-disabled, ${DN10})`,\n    dotChecked: `var(--ds-icon-inverse, ${DN10})`,\n    dotDisabled: `var(--ds-icon-disabled, ${DN90})`,\n    dotActive: `var(--ds-icon-inverse, ${DN10})`,\n    border: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? DN200 : DN80})`,\n    borderHover: `var(--ds-border-input, ${DN200})`,\n    borderDisabled: `var(--ds-border-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/** @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 { getBooleanFF } from '@atlaskit/platform-feature-flags';\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.6.1\";\nconst fontFamily = getFontFamily();\nconst noop = __noop;\nconst labelPaddingStyles = css({\n  padding: `${\"var(--ds-space-025, 2px)\"} ${\"var(--ds-space-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  // TODO https://product-fabric.atlassian.net/browse/DSP-10507 revisit and remove the scale of 14/24\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  margin: \"var(--ds-space-0, 0px)\",\n  position: 'relative',\n  alignItems: 'center',\n  justifyContent: 'center',\n  flexShrink: 0,\n  backgroundColor: 'var(--radio-background-color)',\n  /* Border should multiply by 24/14 to offset scale, a scale of 12 / 7 is to fix a Chrome bug that makes the circle become an oval and the\n    inner circle not be centred at various zoom levels */\n  border: `${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? '1px' : 'calc(2px * 12 / 7)'} solid var(--radio-border-color)`,\n  borderRadius: '50%',\n  MozAppearance: 'none',\n  outline: 'none',\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  /* 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});\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 (\n    // 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\n      // 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`\n      // isInvalid is used in a nonstandard way so cannot\n      // use :invalid selector\n      ,\n      \"data-invalid\": isInvalid ? 'true' : undefined\n      // 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/**\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 */\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 _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useCallback, useState } from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport Radio from './radio';\nconst noOptions = [];\nexport default function RadioGroup(props) {\n  const {\n    onChange,\n    options = noOptions,\n    value: propValue,\n    defaultValue,\n    isDisabled,\n    isRequired,\n    isInvalid,\n    onInvalid = noop,\n    name,\n    analyticsContext,\n    ['aria-labelledby']: ariaLabelledBy\n  } = props;\n  const [selectedValue, setSelectedValue] = useState(propValue !== undefined ? propValue : defaultValue);\n  const onRadioChange = useCallback((e, analyticsEvent) => {\n    setSelectedValue(e.currentTarget.value);\n    if (onChange) {\n      onChange(e, analyticsEvent);\n    }\n  }, [onChange]);\n\n  // If propValue is provided than act as a controlled component\n  // If not then act as an uncontrolled component using the value from state\n  const value = typeof propValue !== 'undefined' ? propValue : selectedValue;\n  return /*#__PURE__*/React.createElement(\"div\", {\n    role: \"radiogroup\",\n    \"aria-labelledby\": ariaLabelledBy\n  }, options.map(({\n    ...optionProps\n  }, index) => {\n    if (typeof isDisabled !== 'undefined') {\n      optionProps.isDisabled = isDisabled;\n    }\n    const isChecked = value != null && optionProps.value === value;\n    return /*#__PURE__*/React.createElement(Radio, _extends({}, optionProps, {\n      name: name || optionProps.name,\n      key: index,\n      onChange: onRadioChange,\n      onInvalid: onInvalid,\n      isInvalid: isChecked && isInvalid,\n      isChecked: isChecked,\n      isRequired: isRequired,\n      analyticsContext: analyticsContext\n    }));\n  }));\n}","import { RadioGroup } from '@atlaskit/radio';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport type { AnalyticsTrackType } from '../../../../../model/wac-signup-form';\nimport { InfoBox } from './info-box';\n\nimport { Label, RadioGroupWrapper } from './styled';\n\nexport type GdprLocationProps = {\n  onLocationChange: (gdprLocation: string | null) => void;\n  analyticsTrack: AnalyticsTrackType;\n};\nconst gdprData = [\n  { name: 'gdprDataUS', value: 'US', label: 'US' },\n  { name: 'gdprDataEU', value: 'EU', label: 'EU' }\n];\n\nexport function GdprLocation({\n  onLocationChange,\n  analyticsTrack\n}: GdprLocationProps) {\n  const { segment } = analyticsTrack;\n\n  return (\n    <>\n      <Label>\n        <FormattedMessage {...messages.gdprMessage} />\n      </Label>\n      <RadioGroupWrapper>\n        <RadioGroup\n          options={gdprData}\n          defaultValue={'US'}\n          onChange={(event) => {\n            segment('wac-signup-gdpr-selected', { value: event.target.value });\n            onLocationChange(event.target.value);\n          }}\n        />\n      </RadioGroupWrapper>\n      <InfoBox fontSize={'14px'}>\n        <SanitizedFormattedHtmlMessage\n          {...messages.opsgenieDataStorageInfoBoxCopy}\n        />\n      </InfoBox>\n    </>\n  );\n}\n","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  getAtlaskitAnalyticsContext: PropTypes.func,\n  getAtlaskitAnalyticsEventHandlers: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsContext extends Component {\n  constructor(props) {\n    super(props);\n\n    _defineProperty(this, \"getChildContext\", () => ({\n      getAtlaskitAnalyticsContext: this.getAnalyticsContext\n    }));\n\n    _defineProperty(this, \"getAnalyticsContext\", () => {\n      const {\n        data\n      } = this.props;\n      const {\n        getAtlaskitAnalyticsContext = noop\n      } = this.context;\n      return [...getAtlaskitAnalyticsContext(), data];\n    });\n\n    _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n      const {\n        getAtlaskitAnalyticsEventHandlers = noop\n      } = this.context;\n      return getAtlaskitAnalyticsEventHandlers();\n    });\n\n    this.contextValue = {\n      getAtlaskitAnalyticsContext: this.getAnalyticsContext,\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(AnalyticsContext, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsContext, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsContext;","var _process$env;\n\nimport LegacyAnalyticsContext from './LegacyAnalyticsContext';\nimport ModernAnalyticsContext from './ModernAnalyticsContext';\nlet ExportedAnalyticsContext;\n\nif (typeof process !== 'undefined' && process !== null && (_process$env = process.env) !== null && _process$env !== void 0 && _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n  ExportedAnalyticsContext = ModernAnalyticsContext;\n} else {\n  ExportedAnalyticsContext = LegacyAnalyticsContext;\n}\n\nexport default ExportedAnalyticsContext;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\n\nconst AnalyticsContext = ({\n  data,\n  children\n}) => {\n  const dataRef = useTrackedRef(data);\n  const analyticsContext = useAnalyticsContext();\n  const getAtlaskitAnalyticsContext = useCallback(() => {\n    return [...analyticsContext.getAtlaskitAnalyticsContext(), dataRef.current];\n  }, [analyticsContext, dataRef]);\n  const value = useMemo(() => ({\n    getAtlaskitAnalyticsContext,\n    getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers\n  }), [analyticsContext, getAtlaskitAnalyticsContext]);\n  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n    value: value\n  }, children);\n};\n\nexport default AnalyticsContext;","import { AnalyticsContext } from '@atlaskit/analytics-next';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { MigrationSourceDiv, WacSignupFormContainer } from './styled';\n\nexport type MigrationSourceProps = {\n  readonly isClaimedMigration: boolean;\n};\n\nexport function MigrationSource({ isClaimedMigration }: MigrationSourceProps) {\n  return (\n    <AnalyticsContext data={{ productKey: null }}>\n      <WacSignupFormContainer>\n        <MigrationSourceDiv>\n          {isClaimedMigration && (\n            <SanitizedFormattedHtmlMessage\n              {...messages.claimedMigrationSource}\n            />\n          )}\n\n          {!isClaimedMigration && (\n            <SanitizedFormattedHtmlMessage\n              {...messages.invalidMigrationSource}\n            />\n          )}\n        </MigrationSourceDiv>\n      </WacSignupFormContainer>\n    </AnalyticsContext>\n  );\n}\n","import {\n  CreateUIAnalyticsEvent,\n  UIAnalyticsEvent\n} from '@atlaskit/analytics-next';\nimport {\n  ProductKeys,\n  BitbucketWorkspace,\n  Sites,\n  ProductPayloadObject\n} from '../../model/wac-signup-form';\nimport { NewRelicTracking, SegmentType } from '@atlassiansox/bxpkit-core';\nimport { uniq } from 'lodash';\nimport { DeferSitenameCohort } from '../../layouts/legacy/view/utility/get-defer-sitename-experiment-cohort';\nimport { Environment } from '@atlassiansox/bxpkit-core';\nimport {\n  MarieSchemaAnalyticsType,\n  Product\n} from '@atlassiansox/bxpkit-core/src';\n\ntype CreateSolutionStatsEventType = {\n  readonly workspaceUuid?: string;\n  readonly signUpFormUIState: { [key: string]: any };\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\n/**\n * This function returns an analytics-next event for\n * tracking which products were provisioned vs existing,\n * as well as the primary cloudId & any existing instance IDs\n * in the cloud provisioning (or activateProducts) request.\n *\n * @param signUpFormUIState - complete signup form UIState object\n * @param createAnalyticsEvent - analytics-next function, to be passed in from UI\n */\n\nexport function createSolutionStatsEvent({\n  signUpFormUIState,\n  createAnalyticsEvent\n}: CreateSolutionStatsEventType): UIAnalyticsEvent | undefined {\n  const {\n    signupState,\n    isBbCopyEnabled,\n    bbWorkspaces,\n    productsExisting,\n    pickableSites,\n    isBundleBBJSW,\n    isBundleDevops\n  } = signUpFormUIState;\n\n  if (!isBundleDevops && !isBundleBBJSW) {\n    return;\n  }\n\n  let isNewSiteProvisioned = false;\n  const isN2NAtlassian = productsExisting.length === 0;\n  const isNewBitbucketWorkspace = isBbCopyEnabled || bbWorkspaces.length === 0;\n  const signupUrl = window?.location?.href || '';\n  const targetCloudId = signupState?.selectedSite?.cloudId || null;\n\n  const existingProducts = uniq(productsExisting);\n  let existingInstanceIds: string[] = [];\n  let provisionedProducts: string[] = [];\n\n  // gather all existing instance IDs\n  if (bbWorkspaces && bbWorkspaces.length > 0) {\n    existingInstanceIds = existingInstanceIds.concat(\n      bbWorkspaces.map(\n        (workspace: BitbucketWorkspace) => workspace?.workspace?.uuid\n      )\n    );\n  }\n  if (pickableSites && pickableSites.length > 0) {\n    existingInstanceIds = existingInstanceIds.concat(\n      pickableSites.map((site: Sites) => site?.cloudId)\n    );\n  }\n\n  if (isBundleBBJSW) {\n    // either existing sitepicker is not rendered, or a site\n    // was selected without JSW included\n    isNewSiteProvisioned =\n      !signupState.isExistingSitePickerN2E ||\n      (signupState?.selectedSite?.products &&\n        !signupState?.selectedSite?.products.includes(\n          ProductKeys.JIRA_SOFTWARE\n        ));\n\n    // potentially provisioned products for BB/JSW\n    provisionedProducts = [\n      ProductKeys.JIRA_SOFTWARE,\n      ProductKeys.BITBUCKET\n    ].map((key) => key.toString());\n\n    // filter out provisioned products if existing products were used\n    if (!isNewSiteProvisioned) {\n      provisionedProducts = provisionedProducts.filter(\n        (key) => key != ProductKeys.JIRA_SOFTWARE\n      );\n    }\n\n    if (!isNewBitbucketWorkspace) {\n      provisionedProducts = provisionedProducts.filter(\n        (key) => key != ProductKeys.BITBUCKET\n      );\n    }\n  }\n\n  existingInstanceIds = uniq(existingInstanceIds);\n\n  return createAnalyticsEvent({\n    eventName: 'bxp.formCloudSignup.solutionStats',\n    event: 'clicked',\n    eventComponent: 'button',\n    data: {\n      isN2NAtlassian,\n      signupUrl,\n      existingProducts,\n      provisionedProducts,\n      existingInstanceIds,\n      isNewSiteProvisioned,\n      targetCloudId,\n      provisionedCloudId: null\n    }\n  });\n}\n\nexport type TrackSignupButtonClickedOptions = {\n  context: MarieSchemaAnalyticsType;\n  buttonLabel: string | undefined;\n  createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackSignupButtonClicked = ({\n  context,\n  buttonLabel,\n  createAnalyticsEvent\n}: TrackSignupButtonClickedOptions) => {\n  const eventName = 'bxp.formCloudSignup.signup-button-clicked';\n  const data = {\n    eventType: 'track',\n    eventContainer: 'signUpForm',\n    event: 'clicked',\n    eventComponent: 'button',\n    uuid: '6707236536632157',\n    label: buttonLabel,\n    productKey: context.productKey,\n    productsOffered: context.productsOffered,\n    loginUserDetected: context.loginUserDetected,\n    userEmail: context.userEmail,\n    suiteName: context.suiteName,\n    productEdition: context.productEdition,\n    productPlatform: context.productPlatform,\n    schemaVersion: context.schemaVersion\n  };\n\n  context?.analyticsTrack?.segment(eventName, data);\n  createAnalyticsEvent({ eventName, data }).fire();\n};\n\nexport type TrackN2ESubmitOptions = {\n  cloudId: string | undefined;\n  products: Product[] | null;\n  segment: SegmentType;\n};\nexport const trackN2ESubmit = ({\n  cloudId,\n  products,\n  segment\n}: TrackN2ESubmitOptions) => {\n  segment('bxp.formCloudSignup.N2ESubmit', {\n    cloudId,\n    products,\n    signupUrl: window.location.href\n  });\n};\n\nexport type TrackN2ESubmitOptions2 = {\n  cloudId: string;\n  products: Product[];\n  signupUrl: string;\n  accountId: string;\n  createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackN2ESubmit2 = ({\n  cloudId,\n  products,\n  signupUrl,\n  accountId,\n  createAnalyticsEvent\n}: TrackN2ESubmitOptions2) => {\n  createAnalyticsEvent({\n    eventName: 'bxp.formCloudSignup.N2ESubmit',\n    event: 'clicked',\n    eventComponent: 'button',\n    targetCloudId: cloudId,\n    provisionedProducts: products,\n    signupUrl,\n    aaid: accountId\n  }).fire();\n};\n\nexport type TrackRecaptchaErrorOptions = {\n  segment: SegmentType;\n};\nexport const trackRecaptchaError = ({\n  segment\n}: TrackRecaptchaErrorOptions) => {\n  segment('bxp.formCloudSignup.reCaptchaError', {});\n};\n\nexport type TrackSubmitWithCaptchaOptions = {\n  newRelic: NewRelicTracking;\n};\nexport const trackSubmitWithCaptcha = ({\n  newRelic\n}: TrackSubmitWithCaptchaOptions) => {\n  newRelic.action('bxp.formCloudSignup.submitWithCaptcha', '');\n};\n\nexport type TrackSignUpFormSubmitSucceededOptions = {\n  createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackSignUpFormSubmitSucceeded = ({\n  createAnalyticsEvent\n}: TrackSignUpFormSubmitSucceededOptions) => {\n  createAnalyticsEvent({\n    eventName: 'reactSignUpFormSubmitSucceeded',\n    data: {\n      event: 'submitSucceeded', // event verb, in past tense (eg, \"clicked\")\n      uuid: 'reactSignUpForm' // required for Magnolia events, unique id for a given component if available\n    }\n  }).fire();\n};\n\nexport type TrackSignUpFormSubmitFailedOptions = {\n  createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackSignUpFormSubmitFailed = ({\n  createAnalyticsEvent\n}: TrackSignUpFormSubmitFailedOptions) => {\n  createAnalyticsEvent({\n    eventName: 'reactSignUpFormSubmitFailed',\n    data: {\n      event: 'submitFailed', // event verb, in past tense (eg, \"clicked\")\n      uuid: 'reactSignUpForm' // required for Magnolia events, unique id for a given component if available\n    }\n  }).fire();\n};\n\nexport type TrackSignupContextTooLargeOptions = {\n  contextLength: number;\n  newRelic: NewRelicTracking;\n};\nexport const trackSignupContextTooLarge = ({\n  contextLength,\n  newRelic\n}: TrackSignupContextTooLargeOptions) => {\n  newRelic.action(\n    'bxp.formCloudSignup.signupContextTooLarge',\n    contextLength.toString()\n  );\n};\n\nexport type TrackActivateProductsSubmitOptions = {\n  activateProducts: boolean;\n  segment: SegmentType;\n};\nexport const trackActivateProductsSubmit = ({\n  activateProducts,\n  segment\n}: TrackActivateProductsSubmitOptions) => {\n  segment('bxp.formCloudSignup.activateProductsSubmit', {\n    activateProducts\n  });\n};\n\nexport type TrackFormSubmitOptions = {\n  isLoggedIn: boolean | undefined;\n  segment: SegmentType;\n  newRelic: NewRelicTracking;\n};\nexport const trackFormSubmit = ({\n  isLoggedIn,\n  segment,\n  newRelic\n}: TrackFormSubmitOptions) => {\n  segment('bxp.formCloudSignup.formSubmit', {\n    type: isLoggedIn ? 'N2E' : 'N2N'\n  });\n  newRelic.action('bxp.formCloudSignup.formSubmit', isLoggedIn ? 'N2E' : 'N2N');\n};\n\nexport type TrackProgressPollInvalidOptions = {\n  segment: SegmentType;\n};\nexport const trackProgressPollInvalid = ({\n  segment\n}: TrackProgressPollInvalidOptions) => {\n  segment('bxp.formCloudSignup.progressPollInvalid', { label: 'cloudName' });\n};\n\nexport type TrackWaitedSignupPageSubmitMoreThan15S = {\n  newRelic: NewRelicTracking;\n  segment: SegmentType;\n};\nexport const trackWaitedSignupPageSubmitMoreThan15SOptions = ({\n  newRelic,\n  segment\n}: TrackWaitedSignupPageSubmitMoreThan15S) => {\n  const eventName = 'bxp.formCloudSignup.waitedSignupPageSubmit>15s';\n  newRelic.action(eventName, '');\n  segment(eventName, {});\n};\n\nexport type TrackWaitedSignupPageSubmitMoreThan60SOptions = {\n  newRelic: NewRelicTracking;\n  segment: SegmentType;\n};\nexport const trackWaitedSignupPageSubmitMoreThan60S = ({\n  newRelic,\n  segment\n}: TrackWaitedSignupPageSubmitMoreThan60SOptions) => {\n  const eventName = 'bxp.formCloudSignup.waitedSignupPageSubmit>60s';\n  newRelic.action(eventName, '');\n  segment(eventName, {});\n};\n\nexport type TrackProgressUriErrOptions = {\n  err: any;\n  newRelic: NewRelicTracking;\n  segment: SegmentType;\n};\nexport const trackProgressUriErr = ({\n  err,\n  newRelic,\n  segment\n}: TrackProgressUriErrOptions) => {\n  const eventName = 'bxp.formCloudSignup.progressUri';\n  segment(eventName, { err });\n  newRelic.trackAjax(eventName, err, false);\n};\n\nexport type TrackProgressUriOptions = {\n  response: any;\n  newRelic: NewRelicTracking;\n};\nexport const trackProgressUri = ({\n  response,\n  newRelic\n}: TrackProgressUriOptions) => {\n  newRelic.trackAjax('bxp.formCloudSignup.progressUri', response, true);\n};\n\nexport type TrackProgressPollMissingOptions = {\n  segment: SegmentType;\n};\nexport const trackProgressPollMissing = ({\n  segment\n}: TrackProgressPollMissingOptions) => {\n  segment('bxp.formCloudSignup.progressPollMissing', { label: 'body' });\n};\n\nexport type TrackSubmitSuccessOptions = {\n  isLoggedIn: boolean;\n  segment: SegmentType;\n};\nexport const trackSubmitSuccess = ({\n  isLoggedIn,\n  segment\n}: TrackSubmitSuccessOptions) => {\n  segment('bxp.formCloudSignup.submitSuccess', {\n    type: isLoggedIn ? 'N2E' : 'N2N'\n  });\n  segment('bxp.formCloudSignup.confirmedEvaluation', {});\n};\n\nexport type TrackGoToBitbucketOptions = {\n  newRelic: NewRelicTracking;\n};\nexport const trackGoToBitbucket = ({ newRelic }: TrackGoToBitbucketOptions) => {\n  newRelic.action('bxp.formCloudSignup.goToBitbucket', '');\n};\n\nexport type TrackGoToJSWOptions = {\n  newRelic: NewRelicTracking;\n};\nexport const trackGoToJSW = ({ newRelic }: TrackGoToJSWOptions) => {\n  newRelic.action('bxp.formCloudSignup.goToJSW', '');\n};\n\nexport type TrackProgressPollErrorOptions = {\n  label: string;\n  segment: SegmentType;\n};\nexport const trackProgressPollError = ({\n  label,\n  segment\n}: TrackProgressPollErrorOptions) => {\n  segment('bxp.formCloudSignup.progressPollError', { label });\n};\n\nexport type TrackProgressPollOptions = {\n  label: string;\n  segment: SegmentType;\n};\n\nexport type TrackSubmitSuccessProductsOptions = {\n  products: ProductPayloadObject[];\n  isLoggedIn: boolean;\n  segment: SegmentType;\n};\nexport const trackSubmitSuccessProducts = ({\n  isLoggedIn,\n  segment\n}: TrackSubmitSuccessProductsOptions) => {\n  segment('bxp.formCloudSignup.submitSuccess', {\n    type: isLoggedIn ? 'N2E' : 'N2N'\n  });\n};\n\ninterface TrackDeferSitenameSignups {\n  isSitenameSpecified: boolean;\n  isSiteNew: boolean;\n  numberOfExistingUserSites: number;\n  optionalSitenameFeatureCohort: DeferSitenameCohort;\n  sitename: string | null;\n  userId: string;\n}\n\n// add to atlassian-service-clients if this gets productionized\nexport const trackDeferSitenameSignups = ({\n  isSitenameSpecified,\n  isSiteNew,\n  optionalSitenameFeatureCohort,\n  numberOfExistingUserSites,\n  sitename,\n  userId\n}: TrackDeferSitenameSignups) => {\n  fetch(\n    `${Environment.getApiPrivateUrl()}/bxp/signup/analytics/deferred-sitename-signup`,\n    {\n      method: 'POST',\n      headers: [['Content-Type', 'application/json']],\n      body: JSON.stringify({\n        action: 'provisioningInitiated',\n        actionSubject: 'product',\n        product: 'marketing',\n        attributes: {\n          isSiteNew,\n          isSitenameSpecified,\n          numberOfExistingUserSites,\n          optionalSitenameFeatureCohort,\n          sitename\n        },\n        userId,\n        tenantId: 'tenantId',\n        tenantIdType: 'tenantIdType'\n      })\n    }\n  ).catch((err) => console.log(err));\n};\n\nexport interface TrackExposedToDeferSitename {\n  createAnalyticsEvent: CreateUIAnalyticsEvent;\n  value: DeferSitenameCohort;\n  products: string[];\n}\n\nexport const trackExposedToDeferSitename = ({\n  createAnalyticsEvent,\n  value,\n  products\n}: TrackExposedToDeferSitename) =>\n  createAnalyticsEvent({\n    action: 'exposed',\n    actionSubject: 'feature',\n    product: 'marketing',\n    attributes: {\n      flagKey: 'economy.growth.defer-site-name.experiment',\n      value,\n      growthInitiative: 'signup',\n      products\n    }\n  }).fire();\n\nexport interface TrackErrorParsingAnchorJourneyCookieOptions {\n  createAnalyticsEvent: CreateUIAnalyticsEvent;\n}\n\nexport const trackErrorParsingAnchorJourneyCookie = ({\n  createAnalyticsEvent\n}: TrackErrorParsingAnchorJourneyCookieOptions) => {\n  createAnalyticsEvent({\n    eventName: 'bxp.anchorJourney.parseCookieError'\n  }).fire();\n};\n","import { UIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport { AppKey, Url } from '@atlassiansox/bxpkit-core';\nimport 'isomorphic-fetch';\nimport Cookies from 'js-cookie';\nimport type {\n  AnalyticsTrackType,\n  ConsentsObject,\n  ProductPayloadObject\n} from '../../model';\nimport { ProductKeys } from '../../model';\n\nimport { ResendEmailType, SubmitErrorType } from '../../model';\nimport {\n  trackGoToBitbucket,\n  trackGoToJSW,\n  trackProgressPollError,\n  trackProgressPollInvalid,\n  trackProgressPollMissing,\n  trackProgressUri,\n  trackProgressUriErr,\n  trackSubmitSuccess,\n  trackSubmitSuccessProducts,\n  trackWaitedSignupPageSubmitMoreThan15SOptions,\n  trackWaitedSignupPageSubmitMoreThan60S\n} from './analytics';\n\nconst URL_JSW_STAGE = 'jira-dev.com';\nconst URL_JSW_PROD = 'atlassian.net';\n\nconst URL_BB_STAGE = 'https://integration.bb-inf.net';\nconst URL_BB_PROD = 'https://bitbucket.org';\n\nexport const URL_BITBUCKET_BUNDLE_PAGE = 'software/bitbucket/bundle';\n\nexport type FormSubmitN2NType = {\n  readonly payload: FormPayloadType | FormPayloadActivateProducts;\n  readonly wacEnvUrl: string;\n  readonly confirmationPageUrl: string;\n  readonly checkEmailPageUrl: string;\n  readonly isStaging: boolean;\n  readonly isLoggedIn?: boolean;\n  readonly isJswIncluded?: boolean | null;\n  readonly isOpsgenieIncluded?: boolean | null;\n  readonly dataRegion?: string | null;\n  readonly setPollingLoaderShown: (val: boolean) => void;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly setSubmitError: (val: SubmitErrorType) => void;\n  readonly resendEmail?: ResendEmailScreenType;\n  readonly solutionStatsEvent?: UIAnalyticsEvent;\n  readonly hideUserSegmentation?: boolean;\n  readonly isAppProvisioningEligible?: boolean;\n};\n\nexport type FormSubmitDeferredPasswordType = {\n  readonly email: string | null;\n  readonly displayName: string | null | undefined;\n  readonly continueUrl: string | null;\n  readonly isStaging: boolean | null;\n  readonly setPollingLoaderShown: (val: boolean) => void;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly setSubmitError: (val: SubmitErrorType) => void;\n};\n\nexport type ResendEmailScreenType = {\n  readonly enableResendEmail: boolean;\n  readonly setShowResendEmail: (val: boolean) => void;\n  readonly setShowDevopsCarouselEnd: (val: boolean) => void;\n  readonly setGoToURL: (val: string) => void;\n  readonly enableCarouselEndCard: boolean;\n};\n\nexport type GoToJSWType = {\n  readonly isStaging: boolean;\n  readonly jswName: string;\n  readonly resendEmail?: ResendEmailScreenType;\n};\n\nexport type GoToBitbucketType = {\n  readonly isStaging: boolean;\n  readonly resendEmail?: ResendEmailScreenType;\n};\n\ntype PollForSuccessType = {\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly confirmationPageUrl: string;\n  readonly checkEmailPageUrl: string;\n  readonly isStaging: boolean;\n  readonly wacEnvUrl: string;\n  readonly isLoggedIn: boolean;\n  readonly isNewUser?: boolean;\n  readonly progressUri: string;\n  readonly cloudName: string | null;\n  readonly products: ProductPayloadObject[];\n  readonly setSubmitError: (val: SubmitErrorType) => void;\n  readonly setPollingLoaderShown: (val: boolean) => void;\n  readonly handlePollProgressStatusFailure?: () => void;\n  readonly isJswIncluded?: boolean | null;\n  readonly isOpsgenieIncluded?: boolean | null;\n  readonly dataRegion?: string | null;\n  readonly resendEmail?: ResendEmailScreenType;\n  readonly solutionStatsEvent?: UIAnalyticsEvent;\n  readonly hideUserSegmentation?: boolean;\n  readonly isAppProvisioningEligible?: boolean;\n  readonly isBitbucketWorkspace?: boolean;\n  readonly bitbucketWorkspaceUuid?: string;\n};\n\nexport type FormPayloadActivateProducts = {\n  activateProducts?: boolean;\n  products: ProductPayloadObject[];\n  cloudId?: string;\n  cloudName: string | null;\n  advancedSettings?: {\n    [key: string]: number | boolean | string | Record<string, unknown>;\n  };\n  signupContext?: string;\n};\n\nexport type FormPayloadType = {\n  adminUsername: string;\n  gRecaptchaResponse?: string;\n  cloudName: string | null;\n  email: string | null;\n  timezone: string | null;\n  firstName: string | null;\n  lastName: string | null;\n  adminPassword?: string | null;\n  signupContext?: string;\n  dataRegion?: string;\n  consent: {\n    site: string | null;\n    locale: string | null;\n    formUrl: string | null;\n    consents: ConsentsObject[];\n  };\n} & FormPayloadActivateProducts;\n\nconst localStorageGet = (key: string): string => {\n  try {\n    return localStorage.getItem(key) || '';\n  } catch (e) {\n    return '';\n  }\n};\n\n// N2N anon user\nfunction goToCheckEmail(\n  wacEnvUrl: string,\n  checkEmailPageUrl: string,\n  cloudName: string,\n  products: string,\n  analyticsTrack: AnalyticsTrackType,\n  resendEmail?: ResendEmailScreenType\n) {\n  const splitPath = checkEmailPageUrl?.split('/');\n\n  if (splitPath && splitPath.length >= 2 && splitPath[1].includes('wac')) {\n    // remove contextual path if applicable\n    splitPath.splice(0, 2);\n    checkEmailPageUrl = `/${splitPath.join('/')}`;\n  }\n\n  const { newRelic, segment } = analyticsTrack;\n\n  newRelic.action('apollo.signup.redirect-to-check-email', '');\n  segment('bxp.formCloudSignup.navigatedToCheckEmail', {});\n\n  const queryParams = {\n    accountName: cloudName,\n    products\n  };\n\n  // if (features.enableAutogenSiteName) {\n  //   delete queryParams.accountName;\n  // }\n  // setResendEmailParams(cloudId, requestId);\n\n  if (resendEmail?.enableResendEmail) {\n    resendEmail.setShowResendEmail(true);\n    return;\n  }\n  const urlParams = csvParams(queryParams);\n  const nextUrl = `${wacEnvUrl}${checkEmailPageUrl}/?${urlParams}`;\n  window.location.assign(nextUrl);\n  return;\n}\n\nfunction goToBitbucket({ isStaging, resendEmail }: GoToBitbucketType) {\n  const nextUrl = `${\n    isStaging ? URL_BB_STAGE : URL_BB_PROD\n  }/dashboard/overview`;\n  if (resendEmail?.enableCarouselEndCard) {\n    resendEmail.setGoToURL(nextUrl);\n    return resendEmail.setShowDevopsCarouselEnd(true);\n  }\n  window.location.assign(nextUrl);\n}\n\nfunction goToJSW({ isStaging, jswName, resendEmail }: GoToJSWType) {\n  const nextUrl = `https://${jswName}.${\n    isStaging ? URL_JSW_STAGE : URL_JSW_PROD\n  }`;\n  if (resendEmail?.enableCarouselEndCard) {\n    resendEmail.setGoToURL(nextUrl);\n    return resendEmail.setShowDevopsCarouselEnd(true);\n  }\n  window.location.assign(nextUrl);\n}\n\nexport function generateRenameUrl(\n  wacEnvUrl: string,\n  cloudId: string,\n  progressUri: string,\n  redirectUrl: string,\n  siteRenamePageUrl: string,\n  isPermitted?: boolean\n) {\n  const queryParams: any = {\n    cloudId,\n    requestId: getRequestId(progressUri),\n    redirecturl: encodeURIComponent(redirectUrl),\n    isPermitted\n  };\n  return `${wacEnvUrl}${siteRenamePageUrl}?${csvParams(queryParams)}`;\n}\n\n// Allow for product developers to connect to staging instance\nexport const isTestTenantByName = (\n  isStaging: boolean,\n  cloudName: string | null\n) => {\n  // testing tenant pattern: atl-vertigo--jira-jira-branch-foo--bar\n  // short tenant pattern: atl-vertigo--jira-(jes/jed)-foo--bar\n  const TEST_TENANT_PATTERN =\n    /^atl-vertigo--(((?:jira|j|rolex|stg)+-jira-branch-[^-]+--)|(conf-(conf|stg)-proxy-\\w+--[\\w-]+)).*$/;\n  const SHORT_TEST_TENANT_PATTERN = /^atl-vertigo--jira-(jes|jed)-[^-]+--.*$/;\n  return (\n    isStaging &&\n    cloudName &&\n    (TEST_TENANT_PATTERN.test(cloudName) ||\n      SHORT_TEST_TENANT_PATTERN.test(cloudName))\n  );\n};\n\ntype GenerateConfirmationUrlOptions = {\n  readonly wacEnvUrl: string;\n  readonly confirmationPageUrl: string;\n  readonly cloudId: string;\n  readonly progressUri: string;\n  readonly cloudName: string;\n  readonly products: string;\n  readonly isOpsgenieIncluded?: boolean | null;\n  readonly dataRegion?: string | null;\n  readonly analyticsTrack?: AnalyticsTrackType;\n  readonly bbBundlePreferred?: boolean;\n  readonly isDevops?: boolean;\n  readonly isSimpleSignup?: boolean;\n  readonly hideUserSegmentation?: boolean;\n  readonly isAppProvisioningEligible?: boolean;\n  readonly isNewUser?: boolean;\n  readonly bitbucketWorkspaceUuid?: string;\n};\n\n// Generates the post-email confirmation url for verfied users\nexport function generateConfirmationUrl({\n  wacEnvUrl,\n  confirmationPageUrl,\n  cloudId,\n  progressUri,\n  cloudName,\n  products,\n  isOpsgenieIncluded,\n  dataRegion,\n  analyticsTrack,\n  bbBundlePreferred,\n  isDevops,\n  isSimpleSignup,\n  hideUserSegmentation,\n  isAppProvisioningEligible,\n  isNewUser,\n  bitbucketWorkspaceUuid\n}: GenerateConfirmationUrlOptions) {\n  // code for removing the /wac/ part of url if applicable\n  const splitPath = confirmationPageUrl?.split('/');\n\n  if (splitPath && splitPath.length >= 2 && splitPath[1].includes('wac')) {\n    // remove contextual path if applicable\n    splitPath.splice(0, 2);\n    confirmationPageUrl = `/${splitPath.join('/')}`;\n  }\n\n  if (analyticsTrack) {\n    const { newRelic, segment } = analyticsTrack;\n\n    newRelic.action('apollo.signup.redirect-to-confirmation', '');\n    segment('bxp.formCloudSignup.navigatedToConfirmation', {});\n  }\n\n  const constructedQueryParameters: { [key: string]: any } = {\n    ondemandurl: cloudName,\n    cloudId,\n    requestId: getRequestId(progressUri)\n  };\n\n  if (bitbucketWorkspaceUuid !== undefined) {\n    constructedQueryParameters.bitbucketWorkspaceUuid = bitbucketWorkspaceUuid;\n  }\n\n  constructedQueryParameters.products =\n    products.length > 1 ? products : undefined;\n\n  if (isOpsgenieIncluded) {\n    constructedQueryParameters.dataRegion =\n      dataRegion === 'EU' ? 'europe' : 'main';\n  }\n\n  const parametersFromUrl = Url.getUrlParams() || {};\n  if (isDevops) {\n    if (parametersFromUrl.hasOwnProperty('signupSource')) {\n      constructedQueryParameters.signupSource = parametersFromUrl.signupSource;\n    }\n    constructedQueryParameters.isFoundingAdmin = true;\n  }\n\n  if (isSimpleSignup) {\n    if (parametersFromUrl.hasOwnProperty('signupSource')) {\n      constructedQueryParameters.signupSource = parametersFromUrl.signupSource;\n    }\n    constructedQueryParameters.isFoundingAdmin = true;\n  }\n\n  if (\n    parametersFromUrl.hasOwnProperty('signupSource') &&\n    parametersFromUrl.signupSource === 'confluenceBundle'\n  ) {\n    constructedQueryParameters.signupSource = parametersFromUrl.signupSource;\n  }\n\n  // Add `n2n` param for EXPCEN-3749\n  if (parametersFromUrl.hasOwnProperty('n2n')) {\n    constructedQueryParameters.n2n = parametersFromUrl.n2n;\n  } else if (products.includes(ProductKeys.JIRA_SOFTWARE) && isNewUser) {\n    constructedQueryParameters.n2n = true;\n  }\n\n  // Add `templateId` param to EXPCEN-3749\n  if (parametersFromUrl.hasOwnProperty('templateId')) {\n    constructedQueryParameters.templateId = parametersFromUrl.templateId;\n  }\n\n  // Add `team_type` param to SPICE-931\n  if (parametersFromUrl.hasOwnProperty('team_type')) {\n    constructedQueryParameters.team_type = parametersFromUrl.team_type;\n  }\n\n  // If BB is the preferred signup, it should be ordered first in the product param\n  if (bbBundlePreferred) {\n    constructedQueryParameters.products = constructedQueryParameters.products\n      .split(',')\n      .sort()\n      .join();\n  }\n\n  // If this is a Jira Template signup, User Segmentation Screen should be hidden\n  if (hideUserSegmentation) {\n    constructedQueryParameters.hideUserSegmentation = true;\n  }\n\n  if (isAppProvisioningEligible === true) {\n    constructedQueryParameters.provisionApp = true;\n    const appKeyIncluded = constructedQueryParameters.products\n      .split(',')\n      .map((key: string) => {\n        return Object.values(AppKey).includes(key as AppKey);\n      });\n    if (appKeyIncluded.includes(true)) {\n      const indx = appKeyIncluded.indexOf(true);\n      constructedQueryParameters.appKey =\n        constructedQueryParameters.products.split(',')[indx];\n    }\n  }\n\n  const nextUrl = `${wacEnvUrl}${confirmationPageUrl}/?${csvParams(\n    constructedQueryParameters\n  )}`;\n  return nextUrl;\n}\n\nexport function pollForSuccess({\n  analyticsTrack,\n  confirmationPageUrl,\n  checkEmailPageUrl,\n  isStaging,\n  wacEnvUrl,\n  isLoggedIn,\n  isNewUser,\n  progressUri,\n  cloudName,\n  products,\n  setSubmitError,\n  setPollingLoaderShown,\n  isJswIncluded,\n  solutionStatsEvent,\n  isOpsgenieIncluded,\n  dataRegion,\n  resendEmail,\n  hideUserSegmentation,\n  isAppProvisioningEligible,\n  isBitbucketWorkspace,\n  bitbucketWorkspaceUuid,\n  handlePollProgressStatusFailure = () => {}\n}: PollForSuccessType) {\n  const { segment, newRelic } = analyticsTrack;\n\n  const signupSource = new URLSearchParams(window.location.search).get(\n    'signupSource'\n  );\n  const bitbucketBundlePreferred = signupSource === 'bbbundle' ? true : false;\n\n  let secondsPassed = 0;\n  if (!cloudName) {\n    trackProgressPollInvalid({ segment });\n    return;\n  }\n  const poll = setInterval(async () => {\n    secondsPassed++;\n    if (secondsPassed === 15) {\n      trackWaitedSignupPageSubmitMoreThan15SOptions({\n        newRelic,\n        segment\n      });\n      setSubmitError(SubmitErrorType.WARNING_TIMEOUT_PENDING);\n    }\n    if (secondsPassed === 60) {\n      trackWaitedSignupPageSubmitMoreThan60S({\n        newRelic,\n        segment\n      });\n      setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n      clearInterval(poll);\n      setPollingLoaderShown(false);\n    }\n    const response = await fetch(`${progressUri}`, {\n      method: 'GET',\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      credentials: 'include'\n    }).catch((err) => {\n      clearInterval(poll);\n      trackProgressUriErr({ err, newRelic, segment });\n      return err;\n    });\n\n    trackProgressUri({ newRelic, response });\n    const body = response.status === 200 ? await response.json() : null;\n    if (!body) {\n      clearInterval(poll);\n      trackProgressPollMissing({ segment });\n    }\n\n    if (body) {\n      const statusActivate = body.bestStatuses.ACTIVATE_PRODUCT;\n\n      let statusSignup;\n      if (isBitbucketWorkspace) {\n        // move the user to the confirmation page if HAMS_CREATE_CLOUD status is SKIPPED\n        if (body.bestStatuses.HAMS_CREATE_CLOUD) {\n          statusSignup =\n            body.bestStatuses.HAMS_CREATE_CLOUD === 'SKIPPED'\n              ? 'COMPLETE_SUCCESS'\n              : 'COMPLETE_ERROR';\n        }\n      } else {\n        statusSignup =\n          body.bestStatuses.HAMS_CREATE_CLOUD !== 'SKIPPED'\n            ? body.bestStatuses.HAMS_CREATE_CLOUD\n            : body.bestStatuses.BAG_CREATE_CLOUD;\n      }\n\n      if (body.cloudId && solutionStatsEvent) {\n        if (solutionStatsEvent?.payload?.data?.isNewSiteProvisioned) {\n          solutionStatsEvent.update({\n            data: Object.assign({}, solutionStatsEvent?.payload?.data, {\n              provisionedCloudId: body?.cloudId,\n              targetCloudId: body?.cloudId\n            })\n          });\n        }\n        solutionStatsEvent.fire();\n      }\n\n      if (statusActivate && body.completed) {\n        clearInterval(poll);\n\n        if (body.successful) {\n          trackSubmitSuccess({ isLoggedIn, segment });\n\n          if (isJswIncluded || bitbucketBundlePreferred) {\n            trackGoToBitbucket({ newRelic });\n            return goToBitbucket({ isStaging, resendEmail });\n          } else {\n            trackGoToJSW({ newRelic });\n            // Give JSW an extra second before redirect\n            return setTimeout(\n              () => goToJSW({ isStaging, jswName: cloudName, resendEmail }),\n              1000\n            );\n          }\n        } else {\n          trackProgressPollError({\n            label: 'body',\n            segment\n          });\n        }\n        // TODO: else if successful === false, throw error/show in UI\n      }\n\n      switch (statusSignup) {\n        case 'COMPLETE_SUCCESS':\n        case 'COMPLETE_MANUAL_SUCCESS':\n          clearInterval(poll);\n\n          const cloudId = isBitbucketWorkspace ? body.orgId : body.cloudId;\n          const productParam = products.map((p) => p.product).join(',');\n\n          // TODO if (!cloudId) throw Error;\n          if (!cloudId) {\n            trackProgressPollMissing({ segment });\n          } else {\n            trackSubmitSuccessProducts({\n              products,\n              isLoggedIn,\n              segment\n            });\n          }\n\n          if (isLoggedIn) {\n            const confirmURL = generateConfirmationUrl({\n              wacEnvUrl,\n              confirmationPageUrl,\n              cloudId,\n              progressUri,\n              cloudName,\n              products: productParam,\n              isOpsgenieIncluded,\n              dataRegion,\n              analyticsTrack,\n              bbBundlePreferred: bitbucketBundlePreferred,\n              hideUserSegmentation,\n              isAppProvisioningEligible,\n              isNewUser,\n              bitbucketWorkspaceUuid\n            });\n            // devops carousel\n            if (resendEmail?.enableCarouselEndCard) {\n              resendEmail.setShowDevopsCarouselEnd(true);\n              return resendEmail.setGoToURL(confirmURL);\n            }\n            return window.location.assign(confirmURL);\n          } else {\n            return goToCheckEmail(\n              wacEnvUrl,\n              checkEmailPageUrl,\n              cloudName,\n              productParam,\n              analyticsTrack,\n              resendEmail\n            );\n          }\n\n        case 'COMPLETE_ERROR':\n          clearInterval(poll);\n          trackProgressPollError({\n            label: statusSignup,\n            segment\n          });\n          // TODO: show error on frontend\n\n          if (isBitbucketWorkspace) {\n            setSubmitError(SubmitErrorType.ERROR_PRODUCT_ACTIVATE);\n            setPollingLoaderShown(false);\n            handlePollProgressStatusFailure();\n          }\n          return;\n      }\n    }\n  }, 1000);\n}\n\nexport async function formSubmitN2N({\n  payload,\n  wacEnvUrl,\n  confirmationPageUrl,\n  checkEmailPageUrl,\n  isStaging,\n  isLoggedIn,\n  isJswIncluded,\n  solutionStatsEvent,\n  isOpsgenieIncluded,\n  dataRegion,\n  setPollingLoaderShown,\n  analyticsTrack,\n  setSubmitError,\n  resendEmail,\n  hideUserSegmentation,\n  isAppProvisioningEligible\n}: FormSubmitN2NType) {\n  const { segment, newRelic } = analyticsTrack;\n  setPollingLoaderShown(true);\n\n  const submitUrl = isLoggedIn\n    ? `https://${\n        isStaging ? 'wac.stg.internal.' : 'www.'\n      }atlassian.com/gateway/api/cloud/signup`\n    : `${wacEnvUrl}/endpoint/cloud/signupAnon`;\n  try {\n    const response = await fetch(submitUrl, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        'atl-cookies': JSON.stringify({\n          _ga: Cookies.get('_ga') || '',\n          seg_xid: localStorageGet('seg_xid'),\n          __atl_path: Cookies.get('__atl_path') || '',\n          ajs_anonymous_id: Cookies.get('ajs_anonymous_id') || ''\n        })\n      },\n      body: JSON.stringify(payload),\n      credentials: 'include'\n    });\n\n    if (response.ok && response.status === 200) {\n      newRelic.trackAjax('cofs_create_cloud_bxp_react', response, true);\n      const body = await response.json();\n\n      // when site name creation is differed the payload wont have a cloudName to pass to the poll function\n      // the response from the fetch will include the auto gen site name to be used as the cloudName\n      // without a cloudName it wont redirect to the email confirmation or the rename page\n      let cloudName = null;\n      if (payload?.signupContext?.match('autogenSiteName')) {\n        cloudName = body.cloudName;\n      } else {\n        cloudName = payload.cloudName;\n      }\n\n      // set r.e.d session key for reading by email verification component\n      if ('email' in payload) {\n        // ensure payload is type FormPayloadType\n        const resendData = Object.assign(\n          {},\n          {\n            cloudName: encodeURIComponent(cloudName || ''),\n            cloudId: body.cloudId || '',\n            requestId: body.progressUri ? getRequestId(body.progressUri) : '',\n            email: encodeURIComponent(payload.email || ''),\n            primaryProduct: encodeURIComponent(\n              payload?.products[0]?.product || ''\n            )\n          }\n        );\n        sessionStorage.setItem(\n          ResendEmailType.RESEND_DATA,\n          window.btoa(JSON.stringify(resendData))\n        );\n      }\n\n      pollForSuccess({\n        isLoggedIn: isLoggedIn || false,\n        confirmationPageUrl,\n        checkEmailPageUrl,\n        progressUri: body.progressUri,\n        products: payload.products,\n        analyticsTrack,\n        isStaging,\n        wacEnvUrl,\n        cloudName,\n        setSubmitError,\n        setPollingLoaderShown,\n        isJswIncluded,\n        isOpsgenieIncluded,\n        dataRegion,\n        resendEmail,\n        solutionStatsEvent,\n        hideUserSegmentation,\n        isAppProvisioningEligible\n      });\n\n      return response;\n    }\n    if (!response.ok || response.status !== 200) {\n      let body = '';\n      try {\n        body = await response.json();\n      } catch (e) {\n        body = 'Unable to parse response as JSON';\n        sessionStorage.removeItem(ResendEmailType.RESEND_DATA);\n      }\n      newRelic.trackAjax('cofs_create_cloud_bxp_react', response, false);\n      segment('bxp.formCloudSignup.submitError', {\n        type: isLoggedIn ? 'N2E' : 'N2N',\n        body\n      });\n      setPollingLoaderShown(false);\n      setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n      return Promise.reject(response);\n    }\n    return Promise.reject();\n  } catch (error) {\n    setPollingLoaderShown(false);\n    setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n    newRelic.trackAjax('cofs_create_cloud_bxp_react', error, false);\n    segment('bxp.formCloudSignup.submitError', {\n      type: isLoggedIn ? 'N2E' : 'N2N',\n      error: JSON.stringify(error)\n    });\n    sessionStorage.removeItem(ResendEmailType.RESEND_DATA);\n    return Promise.reject(error);\n  }\n}\n\nfunction csvParams(queryParams: any) {\n  return Object.keys(queryParams)\n    .map((key) => `${key}=${queryParams[key]}`)\n    .join('&');\n}\n\nfunction getRequestId(progressUri: string) {\n  const pattern = new RegExp(/(cloud|organization)\\/[\\w-]+\\/status\\/([\\w-]+)$/);\n  const matches = pattern.exec(progressUri);\n  return matches ? matches[2] : '';\n}\n","export default function warn(s) {\n  console.warn('[react-ga]', s);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport warn from '../utils/console/warn';\nvar NEWTAB = '_blank';\nvar MIDDLECLICK = 1;\n\nvar OutboundLink = /*#__PURE__*/function (_Component) {\n  _inherits(OutboundLink, _Component);\n\n  var _super = _createSuper(OutboundLink);\n\n  function OutboundLink() {\n    var _this;\n\n    _classCallCheck(this, OutboundLink);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n      var _this$props = _this.props,\n          target = _this$props.target,\n          eventLabel = _this$props.eventLabel,\n          to = _this$props.to,\n          onClick = _this$props.onClick,\n          trackerNames = _this$props.trackerNames;\n      var eventMeta = {\n        label: eventLabel\n      };\n      var sameTarget = target !== NEWTAB;\n      var normalClick = !(event.ctrlKey || event.shiftKey || event.metaKey || event.button === MIDDLECLICK);\n\n      if (sameTarget && normalClick) {\n        event.preventDefault();\n        OutboundLink.trackLink(eventMeta, function () {\n          window.location.href = to;\n        }, trackerNames);\n      } else {\n        OutboundLink.trackLink(eventMeta, function () {}, trackerNames);\n      }\n\n      if (onClick) {\n        onClick(event);\n      }\n    });\n\n    return _this;\n  }\n\n  _createClass(OutboundLink, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props2 = this.props,\n          href = _this$props2.to,\n          target = _this$props2.target,\n          oldProps = _objectWithoutProperties(_this$props2, [\"to\", \"target\"]);\n\n      var props = _objectSpread(_objectSpread({}, oldProps), {}, {\n        target: target,\n        href: href,\n        onClick: this.handleClick\n      });\n\n      if (target === NEWTAB) {\n        props.rel = \"\".concat(props.rel ? props.rel : '', \" noopener noreferrer\").trim();\n      }\n\n      delete props.eventLabel;\n      delete props.trackerNames;\n      return /*#__PURE__*/React.createElement('a', props);\n    }\n  }]);\n\n  return OutboundLink;\n}(Component);\n\n_defineProperty(OutboundLink, \"trackLink\", function () {\n  warn('ga tracking not enabled');\n});\n\nexport { OutboundLink as default };\nOutboundLink.propTypes = {\n  eventLabel: PropTypes.string.isRequired,\n  target: PropTypes.string,\n  to: PropTypes.string,\n  onClick: PropTypes.func,\n  trackerNames: PropTypes.arrayOf(PropTypes.string)\n};\nOutboundLink.defaultProps = {\n  target: null,\n  to: null,\n  onClick: null,\n  trackerNames: null\n};","import warn from './console/warn';\nimport mightBeEmail from './mightBeEmail';\nvar redacted = 'REDACTED (Potential Email Address)';\nexport default function redactEmail(string) {\n  if (mightBeEmail(string)) {\n    warn('This arg looks like an email address, redacting.');\n    return redacted;\n  }\n\n  return string;\n}","// GA strings need to have leading/trailing whitespace trimmed, and not all\n// browsers have String.prototoype.trim().\nexport default function trim(s) {\n  return s && s.toString().replace(/^\\s+|\\s+$/g, '');\n}","/**\n * To Title Case 2.1 - http://individed.com/code/to-title-case/\n * Copyright 2008-2013 David Gouch. Licensed under the MIT License.\n * https://github.com/gouch/to-title-case\n */\nimport trim from './trim';\nvar smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i; // test\n\nexport default function toTitleCase(string) {\n  return trim(string).replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, function (match, index, title) {\n    if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ':' && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\\s-]/) < 0) {\n      return match.toLowerCase();\n    }\n\n    if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n      return match;\n    }\n\n    return match.charAt(0).toUpperCase() + match.substr(1);\n  });\n}","var isLoaded = false;\nexport default function (options) {\n  if (isLoaded) return;\n  isLoaded = true;\n  var gaAddress = 'https://www.google-analytics.com/analytics.js';\n\n  if (options && options.gaAddress) {\n    gaAddress = options.gaAddress;\n  } else if (options && options.debug) {\n    gaAddress = 'https://www.google-analytics.com/analytics_debug.js';\n  }\n\n  var onerror = options && options.onerror; // https://developers.google.com/analytics/devguides/collection/analyticsjs/\n\n  /* eslint-disable */\n\n  (function (i, s, o, g, r, a, m) {\n    i['GoogleAnalyticsObject'] = r;\n    i[r] = i[r] || function () {\n      (i[r].q = i[r].q || []).push(arguments);\n    }, i[r].l = 1 * new Date();\n    a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n    a.async = 1;\n    a.src = g;\n    a.onerror = onerror;\n    m.parentNode.insertBefore(a, m);\n  })(window, document, 'script', gaAddress, 'ga');\n  /* eslint-enable */\n\n}","export default function log(s) {\n  console.info('[react-ga]', s);\n}","export var gaCalls = [];\nexport default {\n  calls: gaCalls,\n  ga: function ga() {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    gaCalls.push([].concat(args));\n  },\n  resetCalls: function resetCalls() {\n    gaCalls.length = 0;\n  }\n};","function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * React Google Analytics Module\n *\n * @package react-ga\n * @author  Adam Lofting <adam@mozillafoundation.org>\n *          Atul Varma <atul@mozillafoundation.org>\n */\n\n/**\n * Utilities\n */\nimport format from './utils/format';\nimport removeLeadingSlash from './utils/removeLeadingSlash';\nimport trim from './utils/trim';\nimport loadGA from './utils/loadGA';\nimport warn from './utils/console/warn';\nimport log from './utils/console/log';\nimport TestModeAPI from './utils/testModeAPI';\n\nvar _isNotBrowser = typeof window === 'undefined' || typeof document === 'undefined';\n\nvar _debug = false;\nvar _titleCase = true;\nvar _testMode = false;\nvar _alwaysSendToDefaultTracker = true;\nvar _redactEmail = true;\n\nvar internalGa = function internalGa() {\n  var _window;\n\n  if (_testMode) return TestModeAPI.ga.apply(TestModeAPI, arguments);\n  if (_isNotBrowser) return false;\n  if (!window.ga) return warn('ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually');\n  return (_window = window).ga.apply(_window, arguments);\n};\n\nfunction _format(s) {\n  return format(s, _titleCase, _redactEmail);\n}\n\nfunction _gaCommand(trackerNames) {\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  var command = args[0];\n\n  if (typeof internalGa === 'function') {\n    if (typeof command !== 'string') {\n      warn('ga command must be a string');\n      return;\n    }\n\n    if (_alwaysSendToDefaultTracker || !Array.isArray(trackerNames)) internalGa.apply(void 0, args);\n\n    if (Array.isArray(trackerNames)) {\n      trackerNames.forEach(function (name) {\n        internalGa.apply(void 0, _toConsumableArray([\"\".concat(name, \".\").concat(command)].concat(args.slice(1))));\n      });\n    }\n  }\n}\n\nfunction _initialize(gaTrackingID, options) {\n  if (!gaTrackingID) {\n    warn('gaTrackingID is required in initialize()');\n    return;\n  }\n\n  if (options) {\n    if (options.debug && options.debug === true) {\n      _debug = true;\n    }\n\n    if (options.titleCase === false) {\n      _titleCase = false;\n    }\n\n    if (options.redactEmail === false) {\n      _redactEmail = false;\n    }\n\n    if (options.useExistingGa) {\n      return;\n    }\n  }\n\n  if (options && options.gaOptions) {\n    internalGa('create', gaTrackingID, options.gaOptions);\n  } else {\n    internalGa('create', gaTrackingID, 'auto');\n  }\n}\n\nexport function addTrackers(configsOrTrackingId, options) {\n  if (Array.isArray(configsOrTrackingId)) {\n    configsOrTrackingId.forEach(function (config) {\n      if (_typeof(config) !== 'object') {\n        warn('All configs must be an object');\n        return;\n      }\n\n      _initialize(config.trackingId, config);\n    });\n  } else {\n    _initialize(configsOrTrackingId, options);\n  }\n\n  return true;\n}\nexport function initialize(configsOrTrackingId, options) {\n  if (options && options.testMode === true) {\n    _testMode = true;\n  } else {\n    if (_isNotBrowser) {\n      return;\n    }\n\n    if (!options || options.standardImplementation !== true) loadGA(options);\n  }\n\n  _alwaysSendToDefaultTracker = options && typeof options.alwaysSendToDefaultTracker === 'boolean' ? options.alwaysSendToDefaultTracker : true;\n  addTrackers(configsOrTrackingId, options);\n}\n/**\n * ga:\n * Returns the original GA object.\n */\n\nexport function ga() {\n  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n    args[_key2] = arguments[_key2];\n  }\n\n  if (args.length > 0) {\n    internalGa.apply(void 0, args);\n\n    if (_debug) {\n      log(\"called ga('arguments');\");\n      log(\"with arguments: \".concat(JSON.stringify(args)));\n    }\n  }\n\n  return window.ga;\n}\n/**\n * set:\n * GA tracker set method\n * @param {Object} fieldsObject - a field/value pair or a group of field/value pairs on the tracker\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function set(fieldsObject, trackerNames) {\n  if (!fieldsObject) {\n    warn('`fieldsObject` is required in .set()');\n    return;\n  }\n\n  if (_typeof(fieldsObject) !== 'object') {\n    warn('Expected `fieldsObject` arg to be an Object');\n    return;\n  }\n\n  if (Object.keys(fieldsObject).length === 0) {\n    warn('empty `fieldsObject` given to .set()');\n  }\n\n  _gaCommand(trackerNames, 'set', fieldsObject);\n\n  if (_debug) {\n    log(\"called ga('set', fieldsObject);\");\n    log(\"with fieldsObject: \".concat(JSON.stringify(fieldsObject)));\n  }\n}\n/**\n * send:\n * Clone of the low level `ga.send` method\n * WARNING: No validations will be applied to this\n * @param  {Object} fieldObject - field object for tracking different analytics\n * @param  {Array} trackerNames - trackers to send the command to\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function send(fieldObject, trackerNames) {\n  _gaCommand(trackerNames, 'send', fieldObject);\n\n  if (_debug) {\n    log(\"called ga('send', fieldObject);\");\n    log(\"with fieldObject: \".concat(JSON.stringify(fieldObject)));\n    log(\"with trackers: \".concat(JSON.stringify(trackerNames)));\n  }\n}\n/**\n * pageview:\n * Basic GA pageview tracking\n * @param  {String} path - the current page page e.g. '/about'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n * @param {String} title - (optional) the page title e. g. 'My Website'\n */\n\nexport function pageview(rawPath, trackerNames, title) {\n  if (!rawPath) {\n    warn('path is required in .pageview()');\n    return;\n  }\n\n  var path = trim(rawPath);\n\n  if (path === '') {\n    warn('path cannot be an empty string in .pageview()');\n    return;\n  }\n\n  var extraFields = {};\n\n  if (title) {\n    extraFields.title = title;\n  }\n\n  if (typeof ga === 'function') {\n    _gaCommand(trackerNames, 'send', _objectSpread({\n      hitType: 'pageview',\n      page: path\n    }, extraFields));\n\n    if (_debug) {\n      log(\"called ga('send', 'pageview', path);\");\n      var extraLog = '';\n\n      if (title) {\n        extraLog = \" and title: \".concat(title);\n      }\n\n      log(\"with path: \".concat(path).concat(extraLog));\n    }\n  }\n}\n/**\n * modalview:\n * a proxy to basic GA pageview tracking to consistently track\n * modal views that are an equivalent UX to a traditional pageview\n * @param  {String} modalName e.g. 'add-or-edit-club'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function modalview(rawModalName, trackerNames) {\n  if (!rawModalName) {\n    warn('modalName is required in .modalview(modalName)');\n    return;\n  }\n\n  var modalName = removeLeadingSlash(trim(rawModalName));\n\n  if (modalName === '') {\n    warn('modalName cannot be an empty string or a single / in .modalview()');\n    return;\n  }\n\n  if (typeof ga === 'function') {\n    var path = \"/modal/\".concat(modalName);\n\n    _gaCommand(trackerNames, 'send', 'pageview', path);\n\n    if (_debug) {\n      log(\"called ga('send', 'pageview', path);\");\n      log(\"with path: \".concat(path));\n    }\n  }\n}\n/**\n * timing:\n * GA timing\n * @param args.category {String} required\n * @param args.variable {String} required\n * @param args.value  {Int}  required\n * @param args.label  {String} required\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function timing() {\n  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      category = _ref.category,\n      variable = _ref.variable,\n      value = _ref.value,\n      label = _ref.label;\n\n  var trackerNames = arguments.length > 1 ? arguments[1] : undefined;\n\n  if (typeof ga === 'function') {\n    if (!category || !variable || typeof value !== 'number') {\n      warn('args.category, args.variable ' + 'AND args.value are required in timing() ' + 'AND args.value has to be a number');\n      return;\n    } // Required Fields\n\n\n    var fieldObject = {\n      hitType: 'timing',\n      timingCategory: _format(category),\n      timingVar: _format(variable),\n      timingValue: value\n    };\n\n    if (label) {\n      fieldObject.timingLabel = _format(label);\n    }\n\n    send(fieldObject, trackerNames);\n  }\n}\n/**\n * event:\n * GA event tracking\n * @param args.category {String} required\n * @param args.action {String} required\n * @param args.label {String} optional\n * @param args.value {Int} optional\n * @param args.nonInteraction {boolean} optional\n * @param args.transport {string} optional\n * @param {{action: string, category: string}} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function event() {\n  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      category = _ref2.category,\n      action = _ref2.action,\n      label = _ref2.label,\n      value = _ref2.value,\n      nonInteraction = _ref2.nonInteraction,\n      transport = _ref2.transport,\n      args = _objectWithoutProperties(_ref2, [\"category\", \"action\", \"label\", \"value\", \"nonInteraction\", \"transport\"]);\n\n  var trackerNames = arguments.length > 1 ? arguments[1] : undefined;\n\n  if (typeof ga === 'function') {\n    // Simple Validation\n    if (!category || !action) {\n      warn('args.category AND args.action are required in event()');\n      return;\n    } // Required Fields\n\n\n    var fieldObject = {\n      hitType: 'event',\n      eventCategory: _format(category),\n      eventAction: _format(action)\n    }; // Optional Fields\n\n    if (label) {\n      fieldObject.eventLabel = _format(label);\n    }\n\n    if (typeof value !== 'undefined') {\n      if (typeof value !== 'number') {\n        warn('Expected `args.value` arg to be a Number.');\n      } else {\n        fieldObject.eventValue = value;\n      }\n    }\n\n    if (typeof nonInteraction !== 'undefined') {\n      if (typeof nonInteraction !== 'boolean') {\n        warn('`args.nonInteraction` must be a boolean.');\n      } else {\n        fieldObject.nonInteraction = nonInteraction;\n      }\n    }\n\n    if (typeof transport !== 'undefined') {\n      if (typeof transport !== 'string') {\n        warn('`args.transport` must be a string.');\n      } else {\n        if (['beacon', 'xhr', 'image'].indexOf(transport) === -1) {\n          warn('`args.transport` must be either one of these values: `beacon`, `xhr` or `image`');\n        }\n\n        fieldObject.transport = transport;\n      }\n    }\n\n    Object.keys(args).filter(function (key) {\n      return key.substr(0, 'dimension'.length) === 'dimension';\n    }).forEach(function (key) {\n      fieldObject[key] = args[key];\n    });\n    Object.keys(args).filter(function (key) {\n      return key.substr(0, 'metric'.length) === 'metric';\n    }).forEach(function (key) {\n      fieldObject[key] = args[key];\n    }); // Send to GA\n\n    send(fieldObject, trackerNames);\n  }\n}\n/**\n * exception:\n * GA exception tracking\n * @param args.description {String} optional\n * @param args.fatal {boolean} optional\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function exception(_ref3, trackerNames) {\n  var description = _ref3.description,\n      fatal = _ref3.fatal;\n\n  if (typeof ga === 'function') {\n    // Required Fields\n    var fieldObject = {\n      hitType: 'exception'\n    }; // Optional Fields\n\n    if (description) {\n      fieldObject.exDescription = _format(description);\n    }\n\n    if (typeof fatal !== 'undefined') {\n      if (typeof fatal !== 'boolean') {\n        warn('`args.fatal` must be a boolean.');\n      } else {\n        fieldObject.exFatal = fatal;\n      }\n    } // Send to GA\n\n\n    send(fieldObject, trackerNames);\n  }\n}\nexport var plugin = {\n  /**\n   * require:\n   * GA requires a plugin\n   * @param name {String} e.g. 'ecommerce' or 'myplugin'\n   * @param options {Object} optional e.g {path: '/log', debug: true}\n   * @param trackerName {String} optional e.g 'trackerName'\n   */\n  require: function require(rawName, options, trackerName) {\n    if (typeof ga === 'function') {\n      // Required Fields\n      if (!rawName) {\n        warn('`name` is required in .require()');\n        return;\n      }\n\n      var name = trim(rawName);\n\n      if (name === '') {\n        warn('`name` cannot be an empty string in .require()');\n        return;\n      }\n\n      var requireString = trackerName ? \"\".concat(trackerName, \".require\") : 'require'; // Optional Fields\n\n      if (options) {\n        if (_typeof(options) !== 'object') {\n          warn('Expected `options` arg to be an Object');\n          return;\n        }\n\n        if (Object.keys(options).length === 0) {\n          warn('Empty `options` given to .require()');\n        }\n\n        ga(requireString, name, options);\n\n        if (_debug) {\n          log(\"called ga('require', '\".concat(name, \"', \").concat(JSON.stringify(options)));\n        }\n      } else {\n        ga(requireString, name);\n\n        if (_debug) {\n          log(\"called ga('require', '\".concat(name, \"');\"));\n        }\n      }\n    }\n  },\n\n  /**\n   * execute:\n   * GA execute action for plugin\n   * Takes variable number of arguments\n   * @param pluginName {String} e.g. 'ecommerce' or 'myplugin'\n   * @param action {String} e.g. 'addItem' or 'myCustomAction'\n   * @param actionType {String} optional e.g. 'detail'\n   * @param payload {Object} optional e.g { id: '1x5e', name : 'My product to track' }\n   */\n  execute: function execute(pluginName, action) {\n    var payload;\n    var actionType;\n\n    for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n      args[_key3 - 2] = arguments[_key3];\n    }\n\n    if (args.length === 1) {\n      payload = args[0];\n    } else {\n      actionType = args[0];\n      payload = args[1];\n    }\n\n    if (typeof ga === 'function') {\n      if (typeof pluginName !== 'string') {\n        warn('Expected `pluginName` arg to be a String.');\n      } else if (typeof action !== 'string') {\n        warn('Expected `action` arg to be a String.');\n      } else {\n        var command = \"\".concat(pluginName, \":\").concat(action);\n        payload = payload || null;\n\n        if (actionType && payload) {\n          ga(command, actionType, payload);\n\n          if (_debug) {\n            log(\"called ga('\".concat(command, \"');\"));\n            log(\"actionType: \\\"\".concat(actionType, \"\\\" with payload: \").concat(JSON.stringify(payload)));\n          }\n        } else if (payload) {\n          ga(command, payload);\n\n          if (_debug) {\n            log(\"called ga('\".concat(command, \"');\"));\n            log(\"with payload: \".concat(JSON.stringify(payload)));\n          }\n        } else {\n          ga(command);\n\n          if (_debug) {\n            log(\"called ga('\".concat(command, \"');\"));\n          }\n        }\n      }\n    }\n  }\n};\n/**\n * outboundLink:\n * GA outboundLink tracking\n * @param args.label {String} e.g. url, or 'Create an Account'\n * @param {function} hitCallback - Called after processing a hit.\n */\n\nexport function outboundLink(args, hitCallback, trackerNames) {\n  if (typeof hitCallback !== 'function') {\n    warn('hitCallback function is required');\n    return;\n  }\n\n  if (typeof ga === 'function') {\n    // Simple Validation\n    if (!args || !args.label) {\n      warn('args.label is required in outboundLink()');\n      return;\n    } // Required Fields\n\n\n    var fieldObject = {\n      hitType: 'event',\n      eventCategory: 'Outbound',\n      eventAction: 'Click',\n      eventLabel: _format(args.label)\n    };\n    var safetyCallbackCalled = false;\n\n    var safetyCallback = function safetyCallback() {\n      // This prevents a delayed response from GA\n      // causing hitCallback from being fired twice\n      safetyCallbackCalled = true;\n      hitCallback();\n    }; // Using a timeout to ensure the execution of critical application code\n    // in the case when the GA server might be down\n    // or an ad blocker prevents sending the data\n    // register safety net timeout:\n\n\n    var t = setTimeout(safetyCallback, 250);\n\n    var clearableCallbackForGA = function clearableCallbackForGA() {\n      clearTimeout(t);\n\n      if (!safetyCallbackCalled) {\n        hitCallback();\n      }\n    };\n\n    fieldObject.hitCallback = clearableCallbackForGA; // Send to GA\n\n    send(fieldObject, trackerNames);\n  } else {\n    // if ga is not defined, return the callback so the application\n    // continues to work as expected\n    setTimeout(hitCallback, 0);\n  }\n}\nexport var testModeAPI = TestModeAPI;\nexport default {\n  initialize: initialize,\n  ga: ga,\n  set: set,\n  send: send,\n  pageview: pageview,\n  modalview: modalview,\n  timing: timing,\n  event: event,\n  exception: exception,\n  plugin: plugin,\n  outboundLink: outboundLink,\n  testModeAPI: TestModeAPI\n};","import redactEmail from './redactEmail';\nimport toTitleCase from './toTitleCase';\nexport default function format() {\n  var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n  var titleCase = arguments.length > 1 ? arguments[1] : undefined;\n  var redactingEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n  var _str = s || '';\n\n  if (titleCase) {\n    _str = toTitleCase(s);\n  }\n\n  if (redactingEmail) {\n    _str = redactEmail(_str);\n  }\n\n  return _str;\n}","// See if s could be an email address. We don't want to send personal data like email.\n// https://support.google.com/analytics/answer/2795983?hl=en\nexport default function mightBeEmail(s) {\n  // There's no point trying to validate rfc822 fully, just look for ...@...\n  return typeof s === 'string' && s.indexOf('@') !== -1;\n}","export default function removeLeadingSlash(string) {\n  if (string.substring(0, 1) === '/') {\n    return string.substring(1);\n  }\n\n  return string;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport UnboundOutboundLink from './components/OutboundLink';\nimport * as Defaults from './core';\nvar initialize = Defaults.initialize;\nexport { initialize };\nvar addTrackers = Defaults.addTrackers;\nexport { addTrackers };\nvar ga = Defaults.ga;\nexport { ga };\nvar set = Defaults.set;\nexport { set };\nvar send = Defaults.send;\nexport { send };\nvar pageview = Defaults.pageview;\nexport { pageview };\nvar modalview = Defaults.modalview;\nexport { modalview };\nvar timing = Defaults.timing;\nexport { timing };\nvar event = Defaults.event;\nexport { event };\nvar exception = Defaults.exception;\nexport { exception };\nvar plugin = Defaults.plugin;\nexport { plugin };\nvar outboundLink = Defaults.outboundLink;\nexport { outboundLink };\nvar testModeAPI = Defaults.testModeAPI;\nexport { testModeAPI };\nUnboundOutboundLink.origTrackLink = UnboundOutboundLink.trackLink;\nUnboundOutboundLink.trackLink = Defaults.outboundLink;\nexport var OutboundLink = UnboundOutboundLink;\nexport default _objectSpread(_objectSpread({}, Defaults), {}, {\n  OutboundLink: OutboundLink\n});","import {\n  CartServiceInterface,\n  CheckEmailAnalyticsInterface,\n  GetCheckEmailAnalyticsServiceOptions,\n  HamletClientInterface\n} from '../../model/check-email-page';\nimport { CheckEmailAnalytics } from './analytics';\nimport { CartService } from './cart-service';\nimport { HamletClient } from './mini-hamlet-client';\n\nexport * from './analytics';\nexport * from './cart-service';\nexport * from './mini-hamlet-client';\n\nlet hamletClient: HamletClientInterface;\nlet cartService: CartServiceInterface;\nlet checkEmailAnalytics: CheckEmailAnalyticsInterface;\n\nexport function getCheckEmailAnalyticsService({\n  baseUrl,\n  analyticsTrack,\n  productKeys,\n  googleAnalyticsId\n}: GetCheckEmailAnalyticsServiceOptions) {\n  if (!checkEmailAnalytics) {\n    hamletClient = new HamletClient({ baseUrl });\n    cartService = new CartService({ productKeys, hamletClient });\n    checkEmailAnalytics = new CheckEmailAnalytics({\n      analyticsTrack,\n      googleAnalyticsId,\n      cartService\n    });\n  }\n  return checkEmailAnalytics;\n}\n","import { ProductKey, Url } from '@atlassiansox/bxpkit-core';\nimport { extend } from 'lodash';\nimport {\n  CartServiceContructorType,\n  CartServiceInterface,\n  HamletClientInterface,\n  HamletPricingResponseType,\n  HamletProductType\n} from '../../model/check-email-page';\n\nexport const CartService: CartServiceContructorType = class CartServiceClass\n  implements CartServiceInterface\n{\n  private readonly client: HamletClientInterface;\n  private readonly productKeysProp?: string[];\n  private products: HamletProductType[];\n\n  constructor({\n    productKeys,\n    hamletClient\n  }: {\n    productKeys?: string[];\n    hamletClient: HamletClientInterface;\n  }) {\n    this.client = hamletClient;\n    this.productKeysProp = productKeys;\n    this.products = [];\n  }\n\n  /**\n   * Return cart products\n   */\n\n  getProducts(): Promise<HamletProductType[]> {\n    return new Promise(async (resolve) => {\n      if (this.products.length > 0) {\n        return resolve(this.products);\n      } else {\n        this.products = await this._load();\n        resolve(this.products);\n      }\n    });\n  }\n\n  /**\n   * Loads cart data from Hamlet Pricing\n   */\n\n  async _load(): Promise<any> {\n    const queryProducts = [\n      ProductKey.JIRA_SOFTWARE,\n      ProductKey.JIRA_SERVICE_DESK,\n      ProductKey.JIRA_CORE,\n      ProductKey.JIRA_ROADMAPS,\n      ProductKey.JIRA_BONFIRE,\n      ProductKey.JIRA_REFAPP,\n      ProductKey.CONFLUENCE,\n      ProductKey.CONFLUENCE_PLUGIN_QUESTIONS,\n      ProductKey.CONFLUENCE_TEAM_CALENDARS\n    ];\n\n    const pricingData = await this.client.hamletPricing({\n      productKeys: queryProducts,\n      licenseType: 'evaluation',\n      requestingApplication: 'WAC',\n      monthsValid: '1'\n    });\n\n    // parse\n    const products = this._parseProducts(pricingData);\n    return Promise.resolve(products);\n  }\n\n  /**\n   * Parse products into cart\n   */\n\n  _parseProducts(pricingData: HamletPricingResponseType): HamletProductType[] {\n    const result: any[] = [];\n    if (pricingData?.products?.length === 0) {\n      return result;\n    }\n    const productCatalog = pricingData.products;\n    const urlProducts: { [key: string]: number } = {};\n\n    // read unitCount and products query string parameters\n    const queryParams = Url.getUrlParams();\n    const unitCounts = queryParams?.unitCount\n      ? queryParams.unitCount.split(',')\n      : [10];\n    let queryParamProducts = [];\n    // check query string params for products\n    if (queryParams?.products) {\n      queryParamProducts = queryParams?.products.split(',');\n    }\n    // if props exist for productKeys, those have priority\n    if (this.productKeysProp && this.productKeysProp.length > 0) {\n      queryParamProducts = this.productKeysProp;\n    }\n\n    // create a map of products/unit counts for each item in querystring\n    for (let i = 0, iLen = queryParamProducts.length; i < iLen; i++) {\n      const product = queryParamProducts[i];\n      let count = 0;\n\n      if (unitCounts.length === 1) {\n        if (\n          product === ProductKey.JIRA_SOFTWARE ||\n          product === ProductKey.CONFLUENCE\n        ) {\n          count = parseInt(unitCounts[0], 10);\n        }\n      } else if (unitCounts.length === queryParamProducts.length) {\n        count = parseInt(unitCounts[i], 10);\n      }\n\n      urlProducts[product] = count;\n    }\n\n    // check if product is orderable, if so then add it to the cart\n    Object.keys(urlProducts).map((key) => {\n      let orderable = null;\n      const productUnitCount = urlProducts[key];\n      const productHamlet = productCatalog.filter((p) => {\n        return p.productKey === key;\n      })[0];\n\n      if (productHamlet) {\n        if (\n          productHamlet.parentKey === 'atlassian.ondemand' ||\n          productHamlet.productType === 'HOSTED_ADDON' ||\n          productUnitCount !== 0\n        ) {\n          orderable = productHamlet.orderableItems.filter((item) => {\n            return item.unitCount === productUnitCount;\n          })[0];\n        }\n        if (!orderable) {\n          orderable =\n            productHamlet.monthly.length > 0\n              ? productHamlet.monthly[0]\n              : productHamlet.orderableItems[0];\n        }\n      }\n\n      if (productHamlet && orderable) {\n        result.push(\n          extend({}, orderable, {\n            amount: orderable?.renewalAmount,\n            mpac: productHamlet.marketplaceAddon === true,\n            productKey: productHamlet.productKey,\n            name: productHamlet.productDescription,\n            saleType: 'EVALUATION'\n          })\n        );\n      }\n    });\n\n    return result;\n  }\n};\n","import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport { Storage, Url } from '@atlassiansox/bxpkit-core';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\nimport ReactGA from 'react-ga';\nimport { CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES } from '../../model/check-email-page';\nimport {\n  CartServiceInterface,\n  CheckEmailAnalyticsContructorType,\n  CheckEmailAnalyticsInterface,\n  CheckEmailAnalyticsOptionsType\n} from '../../model/check-email-page';\n\n/**\n * Analytics service for Check Email Component\n */\n\nexport const CheckEmailAnalytics: CheckEmailAnalyticsContructorType = class CheckEmailAnalyticsClass\n  implements CheckEmailAnalyticsInterface\n{\n  public baseUrl?: string;\n  public analyticsTrack?: AnalyticsTrackType;\n  public cartService: CartServiceInterface;\n\n  public constructor({\n    analyticsTrack,\n    cartService,\n    googleAnalyticsId = ''\n  }: CheckEmailAnalyticsOptionsType) {\n    this.analyticsTrack = analyticsTrack;\n    this.cartService = cartService;\n\n    ReactGA.initialize(googleAnalyticsId, {\n      testMode: process?.env?.NODE_ENV === 'test'\n    });\n    void this._onloadEvents();\n    if (!this.analyticsTrack) {\n      // tslint:disable-next-line: no-console\n      console.warn('Check Email Component: analytics disabled');\n    }\n  }\n\n  /**\n   * All events that should fire on load\n   */\n\n  public async _onloadEvents() {\n    const googleApps =\n      Url.getParameterByName('googleappsintegration') === 'true';\n\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      const products = await this.cartService.getProducts();\n\n      const completedOrderDetails: any = [];\n\n      products.map((product) => {\n        // add to cart events\n        const detailsAddToCart = {\n          id: product.productKey,\n          label: `${product.productKey}.cloud`,\n          name: product.name,\n          description: product.description,\n          sku: product.orderableItemId,\n          category: 'cart-cloud',\n          saleType: product.saleType,\n          core_funnel: true\n        };\n        segment('Added Product', detailsAddToCart);\n\n        // confirmed eval event(s)\n        const detailsConfirmedEval = {\n          id: product.productKey,\n          sku: product.orderableItemId,\n          name: product.name,\n          description: product.description,\n          saleType: 'EVALUATION',\n          category: 'cart-cloud',\n          core_funnel: false,\n          label: `${product.productKey}.cloud`,\n          lead_score: '',\n          licenses: '',\n          platform: 'cloud',\n          product: product.name,\n          start_date: new Date(),\n          _atl_path: Storage.getCookie('__atl_path'),\n          _sio: Storage.getCookie('_sio')\n        };\n        segment('Confirmed Evaluation', detailsConfirmedEval);\n\n        // save for completed order event\n        completedOrderDetails.push({\n          id: product.productKey,\n          sku: product.orderableItemId,\n          name: product.name,\n          description: product.description,\n          saleType: 'EVALUATION'\n        });\n      });\n\n      // order event with everything in-cart\n      if (completedOrderDetails.length > 0) {\n        segment('Completed Order', {\n          type: 'ONDEMAND_TRIAL',\n          googleApps: googleApps.toString(),\n          products: completedOrderDetails\n        });\n      }\n\n      if (googleApps) {\n        segment('Confirm Google Apps', {\n          category: 'cart-cloud',\n          label: 'google-apps',\n          core_funnel: false\n        });\n      }\n    }\n\n    ReactGA.event({\n      category: 'cart-cloud',\n      action: 'Viewed Checkout Step',\n      label: 'view-confirmation-page',\n      nonInteraction: true\n    });\n\n    return Promise.resolve();\n  }\n\n  /**\n   * User selects resend email button\n   */\n\n  public clickResendButton(createAnalyticsEvent: CreateUIAnalyticsEvent) {\n    createAnalyticsEvent({\n      action: 'clicked',\n      name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.RESEND_EMAIL_CLICKED\n    }).fire();\n\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      segment('Click resend email', {});\n    }\n\n    ReactGA.event({\n      category: 'Signup',\n      action: 'Clicked',\n      label: 'resend-verification-email'\n    });\n  }\n\n  /**\n   * track no-content/204 status\n   */\n\n  public resendApiNoContent() {\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      segment('Resend api returned no content', {});\n    }\n  }\n\n  /**\n   * track already verified/304 status\n   */\n\n  public resendApiAlreadyVerified() {\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      segment('Resend api account already verified', {});\n    }\n  }\n\n  /**\n   * track resend API failures\n   */\n\n  public resendApiFailure() {\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      segment('Resend api fail', {});\n    }\n  }\n\n  /**\n   * track success/200 status\n   */\n\n  public resendApiSuccess() {\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      segment('Resend api success', {});\n    }\n  }\n\n  /**\n   * User selects contact link\n   */\n\n  public contactLinkAnalytics(createAnalyticsEvent: CreateUIAnalyticsEvent) {\n    createAnalyticsEvent({\n      action: 'clicked',\n      name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.CONTACT_LINK_CLICKED\n    }).fire();\n\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      segment('Click contact us', {});\n    }\n  }\n\n  /**\n   * User selects create a new account link\n   */\n\n  public navigateBack(\n    event: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n    createAnalyticsEvent: CreateUIAnalyticsEvent\n  ) {\n    event.preventDefault();\n\n    createAnalyticsEvent({\n      action: 'clicked',\n      name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.CREATE_NEW_ACCOUNT_CLICKED\n    }).fire();\n\n    if (this.analyticsTrack) {\n      const { segment } = this.analyticsTrack;\n      segment('Click change email', {});\n    }\n\n    window.history.back();\n  }\n};\n\ndeclare global {\n  interface Window {\n    ga: any;\n  }\n}\n","import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\n\nexport const CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES = {\n  CREATE_NEW_ACCOUNT_CLICKED: 'check_email_page_create_new_account_clicked',\n  CONTACT_LINK_CLICKED: 'check_email_page_contact_link_clicked',\n  RESEND_EMAIL_CLICKED: 'check_email_page_resend_email_clicked',\n  RESEND_EMAIL_API_SUCCESS: 'check_email_page_resend_email_api_success',\n  RESEND_EMAIL_API_FAILURE: 'check_email_page_resend_email_api_failure'\n};\n\nexport type GetCheckEmailAnalyticsServiceOptions = {\n  readonly baseUrl?: string;\n  readonly productKeys?: string[];\n  readonly analyticsTrack?: AnalyticsTrackType;\n  readonly googleAnalyticsId?: string;\n};\n\nexport interface CheckEmailPagePropsType {\n  readonly layout?: 'default' | 'devops';\n  readonly baseUrl?: string;\n  readonly productKeys?: string[];\n  readonly analyticsTrack?: AnalyticsTrackType;\n  readonly hideHeader?: boolean;\n}\n\nexport type CheckEmailPageLayoutPropsType = {\n  readonly email: string;\n  readonly shouldEnable: boolean;\n  readonly baseUrl?: string;\n  readonly hideHeader?: boolean;\n  readonly checkEmailAnalyticsService: CheckEmailAnalyticsInterface;\n};\n\nexport type CheckEmailAnalyticsOptionsType = {\n  readonly productKeys?: string[];\n  readonly analyticsTrack?: AnalyticsTrackType;\n  readonly cartService: CartServiceInterface;\n  readonly googleAnalyticsId?: string;\n};\n\nexport type ResendVerificationEmailRequestType = {\n  readonly cloudId?: string;\n  readonly cloudName?: string;\n  readonly email?: string;\n  readonly pagePath?: string;\n  readonly requestId?: string;\n  readonly primaryProduct?: string;\n};\n\nexport type HamletClientOptionsType = {\n  readonly baseUrl?: string;\n};\n\nexport type ResendVerificationEmailResponseType = {\n  readonly success: boolean;\n  readonly status: number;\n};\n\nexport type HamletPricingRequestType = {\n  readonly productKeys: string[];\n  readonly licenseType?: string;\n  readonly monthsValid?: string | number;\n  readonly requestingApplication?: string;\n};\n\nexport type HamletOrderableItemsType = {\n  readonly amount: number;\n  readonly description: string;\n  readonly edition: unknown;\n  readonly editionDescription: string;\n  readonly editionId: string;\n  readonly editionType: string;\n  readonly editionTypeIsDeprecated: boolean;\n  readonly enterprise: boolean;\n  readonly licenseType: string;\n  readonly monthsValid: number;\n  readonly orderableItemId: string;\n  readonly publiclyAvailable: boolean;\n  readonly renewalAmount: number;\n  readonly renewalFrequency: string;\n  readonly saleType: string;\n  readonly sku: unknown;\n  readonly starter: boolean;\n  readonly unitCount: number;\n  readonly unitLabel: string;\n};\n\nexport type HamletMonthlyType = {\n  readonly editionType: string;\n  readonly editionTypeIsDeprecated: boolean;\n  readonly price: number;\n  readonly unitBlockSize: number;\n  readonly unitLabel: string;\n  readonly unitLimit: number;\n  readonly unitStart: number;\n  readonly renewalAmount: number;\n};\n\nexport type HamletProductsType = {\n  readonly annual: unknown[];\n  readonly billingType: string;\n  readonly contactSalesForAdditionalPricing: boolean;\n  readonly dataCenter: boolean;\n  readonly discountOptOut: boolean;\n  readonly lastModified: string;\n  readonly marketplaceAddon: boolean;\n  readonly parentDescription: string;\n  readonly parentKey: string;\n  readonly productDescription: string;\n  readonly productKey: string;\n  readonly productType: string;\n  readonly userCountEnforced: boolean;\n  readonly monthly: HamletMonthlyType[];\n  readonly orderableItems: HamletOrderableItemsType[];\n};\n\nexport type HamletPricingResponseType = {\n  readonly currency: string;\n  readonly products: HamletProductsType[];\n};\n\nexport type HamletProductType = {\n  readonly name: string;\n} & (HamletOrderableItemsType & HamletMonthlyType & HamletProductsType);\n\nexport type HamletClientConstructorType = new ({\n  baseUrl\n}: HamletClientOptionsType) => HamletClientInterface;\n\nexport interface HamletClientInterface {\n  hamletPricing({\n    productKeys,\n    licenseType,\n    requestingApplication,\n    monthsValid\n  }: HamletPricingRequestType): Promise<HamletPricingResponseType>;\n\n  sendEmail(\n    resendData: ResendVerificationEmailRequestType\n  ): Promise<ResendVerificationEmailResponseType>;\n\n  sendVerificationEmail({\n    cloudName,\n    email\n  }: ResendVerificationEmailRequestType): Promise<ResendVerificationEmailResponseType>;\n\n  resendVerificationEmail({\n    cloudId,\n    cloudName,\n    email,\n    pagePath,\n    requestId\n  }: ResendVerificationEmailRequestType): Promise<ResendVerificationEmailResponseType>;\n}\n\nexport type CartServiceOptionstype = {\n  productKeys?: string[];\n  hamletClient: HamletClientInterface;\n};\n\nexport type CartServiceContructorType = new ({\n  productKeys,\n  hamletClient\n}: CartServiceOptionstype) => CartServiceInterface;\n\nexport interface CartServiceInterface {\n  getProducts(): Promise<HamletProductType[]>;\n  _load(): Promise<any>;\n  _parseProducts(pricingData: HamletPricingResponseType): HamletProductType[];\n}\n\nexport type CheckEmailAnalyticsContructorType = new ({\n  cartService,\n  analyticsTrack\n}: CheckEmailAnalyticsOptionsType) => CheckEmailAnalyticsInterface;\n\nexport interface CheckEmailAnalyticsInterface {\n  gaId?: string;\n  baseUrl?: string;\n  analyticsTrack?: AnalyticsTrackType;\n  cartService: CartServiceInterface;\n  _onloadEvents(): Promise<void>;\n  clickResendButton(createAnalyticsEvent: CreateUIAnalyticsEvent): void;\n  resendApiNoContent(): void;\n  resendApiAlreadyVerified(): void;\n  resendApiFailure(): void;\n  resendApiSuccess(): void;\n  contactLinkAnalytics(createAnalyticsEvent: CreateUIAnalyticsEvent): void;\n  navigateBack(\n    event: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n    createAnalyticsEvent: CreateUIAnalyticsEvent\n  ): void;\n}\n","/**\n * These are the default parameters for LogoProps if the user does not specify values.\n */\nexport const defaultLogoParams = {\n  iconColor: 'inherit',\n  iconGradientStart: 'inherit',\n  iconGradientStop: 'inherit',\n  label: '',\n  size: 'medium',\n  textColor: 'currentColor'\n};\n\n/**\n * The props for the <Wrapper /> that takes the svg and turns it into a component.\n */\n\nexport const sizes = {\n  xsmall: 16,\n  small: 24,\n  medium: 32,\n  large: 40,\n  xlarge: 48\n};\n\n/**\n * In order to pass linting rules, these props were renamed to be more descriptive i.e. props renamed to LogoProps and\n * defaultParams to defaultLogoParams. However, this is a breaking change as it is a file with public entry points. The code\n * below is here to keep Logo backwards compatible.\n * See the ticket here: https://product-fabric.atlassian.net/browse/DSP-4086.\n *\n * Note that some consumers are accessing this using like so: import { Props } from '@atlaskit/logo/constants', this should\n * still work despite `LogoProps` being in a different types.tsx file.\n *\n */\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-175 Internal documentation for deprecation (no external access)} This has been renamed, please import `LogoProps` instead.\n */\n// eslint-disable-next-line @repo/internal/react/consistent-types-definitions\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-176 Internal documentation for deprecation (no external access)} This has been renamed, please import `defaultLogoParams` instead.\n */\nexport const DefaultProps = defaultLogoParams;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport { B200, B400, N0, N100, N400, N50, N600, N800 } from '@atlaskit/theme/colors';\n// TODO: This is where we need to add tokens for all appearance color values\nexport const getColorsFromAppearance = appearance => {\n  let iconGradientStart, iconGradientStop, iconColor, textColor, atlassianLogoTextColor;\n  switch (appearance) {\n    case 'brand':\n      iconGradientStart = B400;\n      iconGradientStop = B200;\n      iconColor = B200;\n      textColor = `var(--ds-text, ${N800})`;\n      // This is only used for the top level Atlassian wordmark (see AtlassianLogo\n      // or AtlassianStartLogo for example), and is only different for the Brand\n      // appearance - a bold brand color. For other appearances,\n      // atlassianLogoTextColor is the same as textColor.\n      atlassianLogoTextColor = B400;\n      break;\n    case 'neutral':\n      iconGradientStart = N600;\n      iconGradientStop = N100;\n      iconColor = N100;\n      textColor = N400;\n      atlassianLogoTextColor = N400;\n      break;\n    case 'inverse':\n      iconGradientStart = N50;\n      iconGradientStop = N0;\n      iconColor = N0;\n      textColor = `var(--ds-text-inverse, ${N0})`;\n      atlassianLogoTextColor = `var(--ds-text-inverse, ${N0})`;\n      break;\n  }\n  return {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor,\n    atlassianLogoTextColor\n  };\n};","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n  /* istanbul ignore next */\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction createStyleElement(options) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', options.key);\n\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce);\n  }\n\n  tag.appendChild(document.createTextNode(''));\n  tag.setAttribute('data-s', '');\n  return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  function StyleSheet(options) {\n    var _this = this;\n\n    this._insertTag = function (tag) {\n      var before;\n\n      if (_this.tags.length === 0) {\n        if (_this.insertionPoint) {\n          before = _this.insertionPoint.nextSibling;\n        } else if (_this.prepend) {\n          before = _this.container.firstChild;\n        } else {\n          before = _this.before;\n        }\n      } else {\n        before = _this.tags[_this.tags.length - 1].nextSibling;\n      }\n\n      _this.container.insertBefore(tag, before);\n\n      _this.tags.push(tag);\n    };\n\n    this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n    this.tags = [];\n    this.ctr = 0;\n    this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n    this.key = options.key;\n    this.container = options.container;\n    this.prepend = options.prepend;\n    this.insertionPoint = options.insertionPoint;\n    this.before = null;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.hydrate = function hydrate(nodes) {\n    nodes.forEach(this._insertTag);\n  };\n\n  _proto.insert = function insert(rule) {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this));\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    if (process.env.NODE_ENV !== 'production') {\n      var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n      }\n      this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n    }\n\n    if (this.isSpeedy) {\n      var sheet = sheetForTag(tag);\n\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n          console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule));\n    }\n\n    this.ctr++;\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode && tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0;\n\n    if (process.env.NODE_ENV !== 'production') {\n      this._alreadyInsertedOrderInsensitiveRule = false;\n    }\n  };\n\n  return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n  var previous = 0;\n  var character = 0;\n\n  while (true) {\n    previous = character;\n    character = peek(); // &\\f\n\n    if (previous === 38 && character === 12) {\n      points[index] = 1;\n    }\n\n    if (token(character)) {\n      break;\n    }\n\n    next();\n  }\n\n  return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n  // pretend we've started with a comma\n  var index = -1;\n  var character = 44;\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1;\n        }\n\n        parsed[index] += identifierWithPointTracking(position - 1, points, index);\n        break;\n\n      case 2:\n        parsed[index] += delimit(character);\n        break;\n\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : '';\n          points[index] = parsed[index].length;\n          break;\n        }\n\n      // fallthrough\n\n      default:\n        parsed[index] += from(character);\n    }\n  } while (character = next());\n\n  return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n  return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n  if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n  // negative .length indicates that this rule has been already prefixed\n  element.length < 1) {\n    return;\n  }\n\n  var value = element.value,\n      parent = element.parent;\n  var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent;\n    if (!parent) return;\n  } // short-circuit for the simplest case\n\n\n  if (element.props.length === 1 && value.charCodeAt(0) !== 58\n  /* colon */\n  && !fixedElements.get(parent)) {\n    return;\n  } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n  if (isImplicitRule) {\n    return;\n  }\n\n  fixedElements.set(element, true);\n  var points = [];\n  var rules = getRules(value, points);\n  var parentRules = parent.props;\n\n  for (var i = 0, k = 0; i < rules.length; i++) {\n    for (var j = 0; j < parentRules.length; j++, k++) {\n      element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n    }\n  }\n};\nvar removeLabel = function removeLabel(element) {\n  if (element.type === 'decl') {\n    var value = element.value;\n\n    if ( // charcode for l\n    value.charCodeAt(0) === 108 && // charcode for b\n    value.charCodeAt(2) === 98) {\n      // this ignores label\n      element[\"return\"] = '';\n      element.value = '';\n    }\n  }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n  return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n  return function (element, index, children) {\n    if (element.type !== 'rule' || cache.compat) return;\n    var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n    if (unsafePseudoClasses) {\n      var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n\n      var commentContainer = isNested ? element.parent.children : // global rule at the root level\n      children;\n\n      for (var i = commentContainer.length - 1; i >= 0; i--) {\n        var node = commentContainer[i];\n\n        if (node.line < element.line) {\n          break;\n        } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n\n\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return;\n          }\n\n          break;\n        }\n      }\n\n      unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n        console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n      });\n    }\n  };\n};\n\nvar isImportRule = function isImportRule(element) {\n  return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n  for (var i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n  element.type = '';\n  element.value = '';\n  element[\"return\"] = '';\n  element.children = '';\n  element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n  if (!isImportRule(element)) {\n    return;\n  }\n\n  if (element.parent) {\n    console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n    nullifyElement(element);\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n    nullifyElement(element);\n  }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value;\n    // appearance, user-select, transform, hyphens, text-size-adjust\n\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value;\n    // flex, flex-direction\n\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value;\n    // order\n\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value;\n    // align-items\n\n    case 5187:\n      return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n    // align-self\n\n    case 5443:\n      return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n    // align-content\n\n    case 4675:\n      return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n    // flex-shrink\n\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n    // flex-basis\n\n    case 5292:\n      return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n    // flex-grow\n\n    case 6060:\n      return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n    // transition\n\n    case 4554:\n      return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n    // cursor\n\n    case 6187:\n      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n    // background, background-image\n\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // justify-content\n\n    case 4968:\n      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n    // (margin|padding)-inline-(start|end)\n\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (m)ax-content, (m)in-content\n        case 109:\n          // -\n          if (charat(value, length + 4) !== 45) break;\n        // (f)ill-available, (f)it-content\n\n        case 102:\n          return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n        // (s)tretch\n\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n    // position: sticky\n\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break;\n    // display: (flex|inline-flex)\n\n    case 6444:\n      switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value;\n        // (inline-)?fl(e)x\n\n        case 101:\n          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n      }\n\n      break;\n    // writing-mode\n\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n        // vertical-r(l)\n\n        case 108:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n        // horizontal(-)tb\n\n        case 45:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n      }\n\n      return WEBKIT + value + MS + value + value;\n  }\n\n  return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n  if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n    case DECLARATION:\n      element[\"return\"] = prefix(element.value, element.length);\n      break;\n\n    case KEYFRAMES:\n      return serialize([copy(element, {\n        value: replace(element.value, '@', '@' + WEBKIT)\n      })], callback);\n\n    case RULESET:\n      if (element.length) return combine(element.props, function (value) {\n        switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n          // :read-(only|write)\n          case ':read-only':\n          case ':read-write':\n            return serialize([copy(element, {\n              props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n            })], callback);\n          // :placeholder\n\n          case '::placeholder':\n            return serialize([copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n            })], callback);\n        }\n\n        return '';\n      });\n  }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n  var key = options.key;\n\n  if (process.env.NODE_ENV !== 'production' && !key) {\n    throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n  }\n\n  if (key === 'css') {\n    var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n\n    Array.prototype.forEach.call(ssrStyles, function (node) {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return;\n      }\n      document.head.appendChild(node);\n      node.setAttribute('data-s', '');\n    });\n  }\n\n  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var inserted = {};\n  var container;\n  var nodesToHydrate = [];\n\n  {\n    container = options.container || document.head;\n    Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n    document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n      var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n      for (var i = 1; i < attrib.length; i++) {\n        inserted[attrib[i]] = true;\n      }\n\n      nodesToHydrate.push(node);\n    });\n  }\n\n  var _insert;\n\n  var omnipresentPlugins = [compat, removeLabel];\n\n  if (process.env.NODE_ENV !== 'production') {\n    omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n      get compat() {\n        return cache.compat;\n      }\n\n    }), incorrectImportAlarm);\n  }\n\n  {\n    var currentSheet;\n    var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n      if (!element.root) {\n        if (element[\"return\"]) {\n          currentSheet.insert(element[\"return\"]);\n        } else if (element.value && element.type !== COMMENT) {\n          // insert empty rule in non-production environments\n          // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n          currentSheet.insert(element.value + \"{}\");\n        }\n      }\n    } : rulesheet(function (rule) {\n      currentSheet.insert(rule);\n    })];\n    var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n    var stylis = function stylis(styles) {\n      return serialize(compile(styles), serializer);\n    };\n\n    _insert = function insert(selector, serialized, sheet, shouldCache) {\n      currentSheet = sheet;\n\n      if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n        currentSheet = {\n          insert: function insert(rule) {\n            sheet.insert(rule + serialized.map);\n          }\n        };\n      }\n\n      stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true;\n      }\n    };\n  }\n\n  var cache = {\n    key: key,\n    sheet: new StyleSheet({\n      key: key,\n      container: container,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted: inserted,\n    registered: {},\n    insert: _insert\n  };\n  cache.sheet.hydrate(nodesToHydrate);\n  return cache;\n};\n\nexport { createCache as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { sizes } from './constants';\nconst CSS_VAR_COLOR = '--logo-color';\nconst CSS_VAR_FILL = '--logo-fill';\nconst baseWrapperStyles = css({\n  display: 'inline-block',\n  position: 'relative',\n  color: `var(${CSS_VAR_COLOR})`,\n  fill: `var(${CSS_VAR_FILL})`,\n  lineHeight: 1,\n  userSelect: 'none',\n  whiteSpace: 'normal',\n  // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n  '> svg': {\n    height: '100%',\n    fill: 'inherit'\n  }\n});\nconst stopColorStyles = css({\n  // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n  stop: {\n    stopColor: 'currentColor'\n  }\n});\nconst sizeStyles = Object.entries(sizes).reduce((acc, [key, val]) => {\n  acc[key] = css({\n    height: `${val}px`\n  });\n  return acc;\n}, {});\n\n/**\n * __Wrapper__\n *\n * An internal component used by `@atlaskit/logo` to render logo SVGs with correct styles.\n */\nconst Wrapper = ({\n  label,\n  svg,\n  size,\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor,\n  testId: userDefinedTestId,\n  ...rest\n}) => {\n  const shouldApplyStopColor = iconGradientStart === 'inherit' && iconGradientStop === 'inherit' && appearance === undefined;\n  const testId = userDefinedTestId && `${userDefinedTestId}--wrapper`;\n  return jsx(\"span\", _extends({\n    css: [baseWrapperStyles, shouldApplyStopColor && stopColorStyles, size && sizeStyles[size]],\n    \"data-testid\": testId,\n    style: {\n      [CSS_VAR_COLOR]: iconColor,\n      [CSS_VAR_FILL]: textColor\n    },\n    \"aria-label\": label ? label : undefined,\n    role: label ? 'img' : undefined,\n    dangerouslySetInnerHTML: {\n      __html: svg\n    }\n    // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n  }, rest));\n};\nexport default Wrapper;","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor,\n    // We treat the word \"Atlassian\" differently to normal product logos, it has a bold brand look\n    atlassianLogoTextColor: textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 190 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"99.684716%\" y1=\"15.8138128%\" x2=\"39.8444399%\" y2=\"97.4388388%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill=\"${colors.atlassianLogoTextColor}\" >\n      <path fill=\"url(#${id})\" d=\"M6.90502605,15.6123193 C6.76436383,15.4302139 6.53773035,15.3340846 6.30742588,15.35884 C6.0771214,15.3835955 5.876643,15.525635 5.7787929,15.7333781 L0.0719979599,27.0218487 C-0.0337056449,27.2310259 -0.0224063827,27.4794358 0.101860917,27.6783741 C0.226128216,27.8773125 0.445645594,27.9984148 0.68202605,27.9984369 L8.62844459,27.9984369 C8.88847261,28.0044096 9.12761649,27.8581627 9.23847268,27.6253781 C10.9526159,24.1210252 9.91378448,18.7926722 6.90502605,15.6123193 Z\"></path>\n      <path fill=\"${colors.iconColor}\" d=\"M11.0859556,5.33713587 C8.19309829,9.74089822 7.85921851,15.3267488 10.2073011,20.0371359 L14.0383488,27.6176065 C14.1538739,27.8462194 14.3900332,27.9906411 14.6483769,27.9906653 L22.5933685,27.9906653 C22.829749,27.9906431 23.0492663,27.8695408 23.1735336,27.6706025 C23.2978009,27.4716641 23.3091002,27.2232543 23.2033966,27.014077 C23.2033966,27.014077 12.5147056,5.8619594 12.2460792,5.33290058 C12.1377032,5.11315026 11.9118188,4.97410225 11.6646746,4.97500451 C11.4175304,4.97590676 11.1926893,5.11660025 11.0859556,5.33713587 L11.0859556,5.33713587 Z\"></path>\n      <path d=\"M104.2774,14.3919316 C104.2774,17.1872257 105.588069,19.4065198 110.714802,20.3862846 C113.773504,21.0215787 114.414212,21.5100493 114.414212,22.5187551 C114.414212,23.4985198 113.772077,24.1327551 111.617715,24.1327551 C109.013896,24.0864379 106.462135,23.403307 104.189999,22.1442846 L104.189999,26.6972257 C105.733976,27.4465198 107.772754,28.2822846 111.559566,28.2822846 C116.919251,28.2822846 119.045788,25.9175787 119.045788,22.4033434 M119.045788,22.4033434 C119.045788,19.0892257 117.268858,17.5327551 112.25878,16.4668728 C109.491535,15.8615787 108.821574,15.2566375 108.821574,14.3919316 C108.821574,13.297814 109.811889,12.835814 111.646968,12.835814 C113.860906,12.835814 116.045591,13.4986375 118.113622,14.4208728 L118.113622,10.0691081 C116.130615,9.17615406 113.970906,8.73311319 111.792518,8.7724022 C106.840589,8.7724022 104.2774,10.9048728 104.2774,14.3919316\" fill=\"inherit\"></path>\n      <polygon fill=\"inherit\" points=\"173.129997 9.07000017 173.129997 28.0038825 177.20791 28.0038825 177.20791 13.5657649 178.926691 17.3983531 184.694132 28.0038825 189.820865 28.0038825 189.820865 9.07000017 185.742952 9.07000017 185.742952 21.2891766 184.198975 17.7442355 179.567399 9.07000017\"></polygon>\n      <rect fill=\"inherit\" x=\"142.740005\" y=\"9.07000017\" width=\"4.45677247\" height=\"18.9338824\"></rect>\n      <path d=\"M137.600792,22.4033434 C137.600792,19.0892257 135.823862,17.5327551 130.813784,16.4668728 C128.046539,15.8615787 127.376579,15.2566375 127.376579,14.3919316 C127.376579,13.297814 128.366893,12.835814 130.201972,12.835814 C132.41591,12.835814 134.600595,13.4986375 136.668626,14.4208728 L136.668626,10.0691081 C134.685619,9.17615406 132.52591,8.73311319 130.347522,8.7724022 C125.395593,8.7724022 122.832404,10.9048728 122.832404,14.3919316 C122.832404,17.1872257 124.143073,19.4065198 129.269806,20.3862846 C132.328508,21.0215787 132.969216,21.5100493 132.969216,22.5187551 C132.969216,23.4985198 132.327081,24.1327551 130.172719,24.1327551 C127.568901,24.0864379 125.017139,23.403307 122.745003,22.1442846 L122.745003,26.6972257 C124.28898,27.4465198 126.327758,28.2822846 130.11457,28.2822846 C135.474256,28.2822846 137.600792,25.9175787 137.600792,22.4033434\" fill=\"inherit\"></path>\n      <polygon fill=\"inherit\" points=\"69.6599979 9.07000017 69.6599979 28.0038825 78.8204081 28.0038825 80.2627142 23.9115296 74.1456665 23.9115296 74.1456665 9.07000017\"></polygon>\n      <polygon fill=\"inherit\" points=\"51.5549984 9.07000017 51.5549984 13.1620002 56.5069282 13.1620002 56.5069282 28.0038825 60.9925967 28.0038825 60.9925967 13.1620002 66.2941332 13.1620002 66.2941332 9.07000017\"></polygon>\n      <path d=\"M45.0573091,9.07000017 L39.1785647,9.07000017 L32.5050001,28.0038825 L37.6014102,28.0038825 L38.5474889,24.815059 C40.877531,25.4919503 43.3551322,25.4919503 45.6851743,24.815059 L46.6312529,28.0038825 L51.7287333,28.0038825 L45.0573091,9.07000017 Z M42.1177585,21.4007061 C41.287584,21.4006584 40.4616854,21.2831148 39.6651602,21.0516472 L42.1177585,12.7889413 L44.5703569,21.0544708 C43.7736914,21.2849831 42.9477956,21.4015755 42.1177585,21.4007061 L42.1177585,21.4007061 Z\" fill=\"inherit\"></path>\n      <path d=\"M94.6019534,9.07000017 L88.7235658,9.07000017 L82.0500011,28.0038825 L87.1474815,28.0038825 L88.0935601,24.815059 C90.4236023,25.4919503 92.9012034,25.4919503 95.2312455,24.815059 L96.1773242,28.0038825 L101.274805,28.0038825 L94.6019534,9.07000017 Z M91.6627596,21.4007061 C90.8325851,21.4006584 90.0066865,21.2831148 89.2101613,21.0516472 L91.6627596,12.7889413 L94.1153579,21.0544708 C93.3186924,21.2849831 92.4927966,21.4015755 91.6627596,21.4007061 L91.6627596,21.4007061 Z\" fill=\"inherit\"></path>\n      <path d=\"M163.256954,9.07000017 L157.378566,9.07000017 L150.705002,28.0038825 L155.802482,28.0038825 L156.748561,24.815059 C159.078603,25.4919503 161.556204,25.4919503 163.886246,24.815059 L164.832325,28.0038825 L169.930162,28.0038825 L163.256954,9.07000017 Z M160.315977,21.4007061 C159.485802,21.4006584 158.659903,21.2831148 157.863378,21.0516472 L160.315977,12.7889413 L162.768575,21.0544708 C161.971909,21.2849831 161.146014,21.4015755 160.315977,21.4007061 L160.315977,21.4007061 Z\" fill=\"inherit\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Atlassian logo__\n *\n * The Atlassian logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianLogo = ({\n  appearance,\n  label = 'Atlassian',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","import React from 'react';\n\nconst InboxImg: React.FC = (props) => (\n  <svg viewBox=\"0 0 535.538 474.071\" {...props}>\n    <defs>\n      <linearGradient\n        id=\"prefix__linear-gradient\"\n        x1={-136.716}\n        y1={85.338}\n        x2={4.399}\n        y2={85.338}\n        gradientTransform=\"matrix(.818 -.355 0 1 88.514 172.44)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.121} stopColor=\"#fff\" stopOpacity={0} />\n        <stop offset={0.4} stopColor=\"#bbd6ff\" stopOpacity={0.332} />\n        <stop offset={0.816} stopColor=\"#5a9cff\" stopOpacity={0.809} />\n        <stop offset={1} stopColor=\"#3384ff\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-2\"\n        x1={292.375}\n        y1={66.313}\n        x2={311.681}\n        y2={66.313}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.657} stopColor=\"#0065ff\" />\n        <stop offset={0.756} stopColor=\"#0060f0\" />\n        <stop offset={0.937} stopColor=\"#0052cc\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-4\"\n        x1={-158.115}\n        y1={294.262}\n        x2={51.105}\n        y2={294.262}\n        xlinkHref=\"#prefix__linear-gradient\"\n      />\n      <linearGradient\n        id=\"prefix__linear-gradient-5\"\n        x1={-158.115}\n        y1={309.083}\n        x2={51.105}\n        y2={309.083}\n        xlinkHref=\"#prefix__linear-gradient\"\n      />\n      <linearGradient\n        id=\"prefix__linear-gradient-6\"\n        x1={-158.115}\n        y1={301.206}\n        x2={51.105}\n        y2={301.206}\n        xlinkHref=\"#prefix__linear-gradient\"\n      />\n      <linearGradient\n        id=\"prefix__linear-gradient-7\"\n        x1={376.152}\n        y1={474.071}\n        x2={376.152}\n        y2={246.333}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#0065ff\" stopOpacity={0} />\n        <stop offset={0.661} stopColor=\"#0065ff\" stopOpacity={0.673} />\n        <stop offset={1} stopColor=\"#0065ff\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-8\"\n        x1={381.752}\n        y1={248.741}\n        x2={319.155}\n        y2={35.582}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#6bd5e5\" />\n        <stop offset={0.203} stopColor=\"#67d4e4\" />\n        <stop offset={0.394} stopColor=\"#5cd0e2\" />\n        <stop offset={0.579} stopColor=\"#49c9de\" />\n        <stop offset={0.759} stopColor=\"#2fbfd8\" />\n        <stop offset={0.857} stopColor=\"#1db9d4\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-9\"\n        x1={297.786}\n        y1={271.526}\n        x2={297.786}\n        y2={100.805}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#00a3bf\" />\n        <stop offset={0.818} stopColor=\"#00c7e5\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-10\"\n        x1={242.54}\n        y1={73.753}\n        x2={473.423}\n        y2={304.635}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.119} stopColor=\"#7a869a\" stopOpacity={0} />\n        <stop offset={1} stopColor=\"#7a869a\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-11\"\n        x1={22.116}\n        y1={169.947}\n        x2={173.833}\n        y2={18.23}\n        gradientTransform=\"matrix(.818 -.355 0 1 88.514 172.44)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#0065ff\" />\n        <stop offset={0.818} stopColor=\"#3384ff\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-12\"\n        x1={287.083}\n        y1={124.032}\n        x2={287.083}\n        y2={77.423}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.547} stopColor=\"#0052cc\" />\n        <stop offset={0.902} stopColor=\"#2684ff\" />\n        <stop offset={0.933} stopColor=\"#2481fc\" />\n        <stop offset={0.958} stopColor=\"#1c77f2\" />\n        <stop offset={0.98} stopColor=\"#1067e1\" />\n        <stop offset={1} stopColor=\"#0052cc\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-13\"\n        x1={298.353}\n        y1={125.998}\n        x2={298.353}\n        y2={77.25}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.481} stopColor=\"#0052cc\" />\n        <stop offset={0.926} stopColor=\"#2684ff\" />\n        <stop offset={0.945} stopColor=\"#227ffa\" />\n        <stop offset={0.969} stopColor=\"#1771eb\" />\n        <stop offset={0.994} stopColor=\"#0559d3\" />\n        <stop offset={1} stopColor=\"#0052cc\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__linear-gradient-14\"\n        x1={274.475}\n        y1={59.599}\n        x2={295.653}\n        y2={59.599}\n        gradientTransform=\"rotate(37.942 286.848 58.43)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.628} stopColor=\"#0065ff\" />\n        <stop offset={0.765} stopColor=\"#005ae1\" />\n        <stop offset={0.852} stopColor=\"#0052cc\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__New_Gradient_Swatch_13\"\n        x1={-40.95}\n        y1={-1059.962}\n        x2={-36.771}\n        y2={-1064.142}\n        gradientTransform=\"matrix(1 0 0 -1.522 312.893 -1573.203)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#00c7e5\" />\n        <stop offset={1} stopColor=\"#b3f5ff\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__New_Gradient_Swatch_13-2\"\n        x1={-40.594}\n        y1={-1065.291}\n        x2={-37.128}\n        y2={-1068.757}\n        gradientTransform=\"matrix(1 0 0 -1.522 320.464 -1580.944)\"\n        xlinkHref=\"#prefix__New_Gradient_Swatch_13\"\n      />\n      <linearGradient\n        id=\"prefix__New_Gradient_Swatch_13-3\"\n        x1={-40.185}\n        y1={-1070.019}\n        x2={-37.537}\n        y2={-1072.667}\n        gradientTransform=\"matrix(1 0 0 -1.522 326.899 -1587.525)\"\n        xlinkHref=\"#prefix__New_Gradient_Swatch_13\"\n      />\n      <linearGradient\n        id=\"prefix__linear-gradient-16\"\n        x1={295.563}\n        y1={77.114}\n        x2={319.051}\n        y2={62.939}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.279} stopColor=\"#2684ff\" />\n        <stop offset={0.56} stopColor=\"#086cff\" />\n        <stop offset={0.628} stopColor=\"#0065ff\" />\n        <stop offset={0.765} stopColor=\"#005ae1\" />\n        <stop offset={0.852} stopColor=\"#0052cc\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__New_Gradient_Swatch_11\"\n        x1={310.986}\n        y1={194.755}\n        x2={363.199}\n        y2={194.755}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#00a3bf\" />\n        <stop offset={1} stopColor=\"#00c7e5\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__New_Gradient_Swatch_2\"\n        x1={330.492}\n        y1={219.33}\n        x2={330.492}\n        y2={191.873}\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#ff5630\" />\n        <stop offset={1} stopColor=\"#ff8f73\" />\n      </linearGradient>\n      <linearGradient\n        id=\"prefix__New_Gradient_Swatch_2-2\"\n        x1={343.475}\n        y1={219.534}\n        x2={343.475}\n        y2={191.768}\n        xlinkHref=\"#prefix__New_Gradient_Swatch_2\"\n      />\n      <linearGradient\n        id=\"prefix__linear-gradient-17\"\n        x1={116.917}\n        y1={-2418.323}\n        x2={110.364}\n        y2={-2429.673}\n        gradientTransform=\"matrix(.912 -.365 -.022 -1.088 -45.115 -2378.143)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#fff\" stopOpacity={0.4} />\n        <stop offset={0.92} stopColor=\"#fff\" />\n      </linearGradient>\n      <radialGradient\n        id=\"prefix__radial-gradient\"\n        cx={333.607}\n        cy={227.537}\n        r={18.393}\n        gradientTransform=\"rotate(81.59 311.98 208.873) scale(1 .836)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0.164} stopColor=\"#00b8d9\" />\n        <stop offset={0.363} stopColor=\"#00b5d6\" />\n        <stop offset={0.525} stopColor=\"#00adcc\" />\n        <stop offset={0.642} stopColor=\"#00a3bf\" />\n      </radialGradient>\n      <radialGradient\n        id=\"prefix__radial-gradient-2\"\n        cx={336.354}\n        cy={227.33}\n        r={22.804}\n        gradientTransform=\"matrix(.032 .999 -.663 .021 476.454 -113.664)\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop offset={0} stopColor=\"#00c7e5\" />\n        <stop offset={0.398} stopColor=\"#00c4e2\" />\n        <stop offset={0.741} stopColor=\"#00b9da\" />\n        <stop offset={0.765} stopColor=\"#00b8d9\" />\n      </radialGradient>\n      <clipPath id=\"prefix__clip-path\">\n        <path\n          id=\"prefix___Clipping_Path_\"\n          data-name=\"&lt;Clipping Path&gt;\"\n          className=\"prefix__cls-1\"\n          d=\"M103.743 321.455L0 366.224V225.881l103.743-33.508v129.082z\"\n        />\n      </clipPath>\n      <clipPath id=\"prefix__clip-path-2\">\n        <path\n          id=\"prefix___Clipping_Path_2\"\n          data-name=\"&lt;Clipping Path&gt;\"\n          className=\"prefix__cls-2\"\n          d=\"M309.714 54.989c2.04 1.878 2.36 5.189 1.57 8.535-.382 1.62-.347 2.447-.557 3.721a28.089 28.089 0 00.471 10.876c-.47.12-1.175.287-2.04.446a42.432 42.432 0 01-5.06.528c-2.593.185-3.9.282-4.588.244a21.493 21.493 0 01-3.845-.563c.732-5.805-.342-9.334-1.546-11.525-.741-1.349-2.216-3.436-1.6-5.588.234-.812.749-1.575 1.206-3.334a16.269 16.269 0 00.423-2.3l1.942-1.586a4.353 4.353 0 007.127-1.082 8.549 8.549 0 011.19-.086c.445.003 3.478.031 5.307 1.714z\"\n        />\n      </clipPath>\n      <style>\n        {\n          '.prefix__cls-1{fill:url(#prefix__linear-gradient)}.prefix__cls-2{fill:url(#prefix__linear-gradient-2)}.prefix__cls-33,.prefix__cls-9{fill:#00c7e5}.prefix__cls-9{opacity:.3}.prefix__cls-22,.prefix__cls-43,.prefix__cls-45{fill:none}.prefix__cls-43{stroke-miterlimit:10}.prefix__cls-12{fill:#9ce3ee}.prefix__cls-16{fill:#1db9d4}.prefix__cls-18{fill:#3384ff}.prefix__cls-21{fill:#fff}.prefix__cls-22{stroke:#ff5230;stroke-width:2.321px}.prefix__cls-23{fill:#e0ada6}.prefix__cls-24{fill:#253858}.prefix__cls-36{fill:#344563}.prefix__cls-37{fill:#b5917c}.prefix__cls-43{stroke:#ff5630;stroke-width:2px}'\n        }\n      </style>\n    </defs>\n    <title>{'Incoming'}</title>\n    <g\n      style={{\n        isolation: 'isolate'\n      }}\n    >\n      <g id=\"prefix__Layer_2\" data-name=\"Layer 2\">\n        <g id=\"prefix__Layer_1-2\" data-name=\"Layer 1\">\n          <g\n            style={{\n              mixBlendMode: 'multiply'\n            }}\n            opacity={0.19}\n          >\n            <path\n              id=\"prefix___Clipping_Path_3\"\n              data-name=\"&lt;Clipping Path&gt;\"\n              className=\"prefix__cls-1\"\n              d=\"M103.743 321.455L0 366.224V225.881l103.743-33.508v129.082z\"\n            />\n            <g clipPath=\"url(#prefix__clip-path)\">\n              <path\n                fill=\"url(#prefix__linear-gradient-4)\"\n                d=\"M5.398 302.743l39.117-16.962\"\n              />\n              <path\n                fill=\"url(#prefix__linear-gradient-5)\"\n                d=\"M5.398 317.564l39.117-16.962\"\n              />\n              <path\n                fill=\"url(#prefix__linear-gradient-6)\"\n                d=\"M5.398 309.687l39.117-16.962\"\n              />\n            </g>\n          </g>\n          <path\n            className=\"prefix__cls-9\"\n            d=\"M151.657 108.409c8.351.127 7.9 4.325 14.51 3.148 7.577-1.348 8.567-11.762 19.038-11.762 17.342 0 17.333 18.018 17.333 18.018s2.945 8.756 9.98 9.083a1.288 1.288 0 01.287.025c0 .219-68.3.082-91.323.036-6.854-.014-20.048-.044-26.595-.062 10.939-4.014 16.046-4.736 18.487-4.09 5.563 1.472 2.827-6.3 12.407-8.45 7.553-1.694 8.888 1.251 12.952 1.251 7.198.001 2.781-6.215 12.924-7.197zM474.391 8.614c8.351.127 7.9 4.325 14.51 3.148C496.477 10.413 497.468 0 507.938 0c17.342 0 17.333 18.018 17.333 18.018s2.945 8.756 9.98 9.083a1.288 1.288 0 01.287.025c0 .219-68.3.082-91.323.036-6.854-.014-20.048-.044-26.595-.062 10.939-4.014 16.046-4.736 18.487-4.09 5.563 1.472 2.827-6.3 12.407-8.45 7.553-1.694 8.888 1.251 12.952 1.251 7.199.001 2.781-6.211 12.925-7.197z\"\n          />\n          <path\n            strokeWidth={19.44}\n            stroke=\"url(#prefix__linear-gradient-7)\"\n            strokeMiterlimit={10}\n            fill=\"none\"\n            d=\"M376.152 246.333v227.738\"\n          />\n          <path\n            className=\"prefix__cls-9\"\n            d=\"M508.348 292.622c-1.236-12.277-4.055-16.728-14.045-16.8s-10.56 3.127-13.713 5.658-5.688 1.941-9.706 1.224-8.655-1.181-12.673 1.434-4.637 3.8-10.077 3.333c-4.73-.4-5.955-.353-8.172.27a16.478 16.478 0 00-3.05 1.34c-5.09 2.58-6.065 4.342-9.4 5.643a17.024 17.024 0 01-6.146 1.1l86.984.4z\"\n          />\n          <path\n            id=\"prefix___Path_\"\n            data-name=\"&lt;Path&gt;\"\n            d=\"M427.644 49.459a58.919 58.919 0 00-18.08 2.828c-.288.088-128.712 40.5-129 40.6a58.992 58.992 0 00-41.748 56.411v122.321h117.939l129.858-44.872V104.422c0-32.567-26.402-54.963-58.969-54.963z\"\n            fill=\"url(#prefix__linear-gradient-8)\"\n          />\n          <path\n            className=\"prefix__cls-12\"\n            d=\"M486.613 211.789l-.006-.017-129.378 43.646.777 2.303 128.607-43.386v-2.546zM486.607 203.459l-129.378 43.645.777 2.303 128.607-43.385v-2.546l-.006-.017zM486.607 118.245l-129.378 43.647.777 2.302 128.607-43.386v-2.546l-.006-.017zM486.607 109.932l-129.378 43.646.777 2.303 128.607-43.386v-2.547l-.006-.016z\"\n          />\n          <path\n            d=\"M373.347 256.707v-126.15a58.977 58.977 0 00-37.716-55.005l-5.756 1.812a58.988 58.988 0 0138.925 55.468v122.73z\"\n            style={{\n              mixBlendMode: 'multiply'\n            }}\n            fill=\"#ebecf0\"\n            opacity={0.62}\n          />\n          <path\n            id=\"prefix___Path_2\"\n            data-name=\"&lt;Path&gt;\"\n            d=\"M297.786 90.325a58.969 58.969 0 00-58.969 58.969v122.325h117.938V149.294a58.969 58.969 0 00-58.969-58.969z\"\n            fill=\"#0065ff\"\n          />\n          <path\n            d=\"M356.755 224.881l-16.42 6.494c-22.883-13.854-38.335-39.285-38.371-65.094a75.843 75.843 0 00-37.723-65.476 58.891 58.891 0 00-25.423 48.446v122.275l93.075-36.811z\"\n            fill=\"url(#prefix__linear-gradient-9)\"\n          />\n          <path\n            className=\"prefix__cls-16\"\n            d=\"M297.786 90.325c-1.346 0-2.676.061-4 .15h8a60.186 60.186 0 00-4-.15z\"\n          />\n          <path\n            className=\"prefix__cls-16\"\n            d=\"M301.964 166.281c.038 25.809 15.488 51.24 38.371 65.094l16.42-6.494v-75.587a58.961 58.961 0 00-54.969-58.819h-8a58.628 58.628 0 00-29.546 10.33 75.843 75.843 0 0137.724 65.476z\"\n          />\n          <path\n            d=\"M301.964 166.281c.038 25.809 15.488 51.24 38.371 65.094l16.42-6.494v-75.587a58.961 58.961 0 00-54.969-58.819h-8a58.628 58.628 0 00-29.546 10.33 75.843 75.843 0 0137.724 65.476z\"\n            style={{\n              mixBlendMode: 'multiply'\n            }}\n            fill=\"url(#prefix__linear-gradient-10)\"\n          />\n          <path\n            id=\"prefix___Clipping_Path_4\"\n            data-name=\"&lt;Clipping Path&gt;\"\n            className=\"prefix__cls-18\"\n            d=\"M297.917 433.7c-32.568 0-58.969-23.636-58.969-52.792V271.393h117.937v109.512c0 29.157-26.401 52.795-58.968 52.795z\"\n          />\n          <path\n            id=\"prefix___Path_3\"\n            data-name=\"&lt;Path&gt;\"\n            fill=\"url(#prefix__linear-gradient-11)\"\n            d=\"M248.699 258.602L94.887 325.299V194.551l153.812-51.335v115.386z\"\n          />\n          <path\n            fill=\"#ff5230\"\n            d=\"M378.124 72.088l-4.777 1.853v182.757l4.777-1.853V98.244l29.21-10.698V62.231l-29.21 9.857z\"\n          />\n          <path\n            className=\"prefix__cls-21\"\n            d=\"M241.831 179.947l-21.375 9.269v-27.067l21.375-8.336v26.134z\"\n          />\n          <path\n            className=\"prefix__cls-22\"\n            d=\"M184.7 192.47c3.309-1.435 3.309 1.722 6.617.288s3.31-4.592 6.619-6.027 3.309 1.722 6.617.288 3.311-4.593 6.622-6.028a3.993 3.993 0 011.624-.384M184.7 204.221c3.309-1.435 3.309 1.722 6.617.288s3.31-4.592 6.619-6.027 3.309 1.722 6.617.288 3.311-4.593 6.622-6.028a3.677 3.677 0 011.9-.367M184.7 198.346c3.309-1.435 3.309 1.722 6.617.288s3.31-4.592 6.619-6.027 3.309 1.722 6.617.288 3.311-4.593 6.622-6.028a5.342 5.342 0 01.731-.26\"\n          />\n          <path\n            id=\"prefix___Path_4\"\n            data-name=\"&lt;Path&gt;\"\n            className=\"prefix__cls-22\"\n            d=\"M233.332 177.632c0 7.232-4.8 15.175-10.711 17.74s-10.711-1.218-10.711-8.451 4.8-15.175 10.711-17.74 10.711 1.219 10.711 8.451z\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M294.376 79.076c-12.172 4.071-18.2 6.466-20.009 10.37-.934 2.015-.583 2.9-.54 9.438a145.2 145.2 0 01-.868 16.945 8.264 8.264 0 01-.512 1.669c-1.59 3.715-5.3 4.673-5.027 5.717.2.75 2.316 1.016 3.925.662 1.025-.226 2.276-1.3 4.777-3.452.867-.746 1.486-1.243 1.649-2.123a9.087 9.087 0 00-.216-2.337 9.486 9.486 0 01-.162-1.872c-.244-1.455 4.407-10.288 5.368-16.663a21.635 21.635 0 00.239-3.257 74.506 74.506 0 0015.765-4.81 10.342 10.342 0 002.226-8.013 9.3 9.3 0 00-1.742-3.927c-1.226.394-2.886.988-4.873 1.653z\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M284.676 102.975c-.15-2.27-.348-4.542-.351-6.817 0-2.691.171-4.973.361-7.719a3.957 3.957 0 012.007-3.143l16.747-8.046 5 .235a4.429 4.429 0 012.162.986c1.229 1.065 1.552 3.11 1.667 3.892a10.032 10.032 0 01.042 2.741c-.439 2.713-6.071 3.573-14.672 6.366l-3.6 1.242a42.646 42.646 0 01-.166 7.178 43.081 43.081 0 01-3.518 12.958c-1.654 2.708-1.723 4.592-1.445 5.84a3.774 3.774 0 01.246 2.152c-.316 1-1.2 1.254-3.072 2.489-2.366 1.562-2.107 1.92-3.223 2.32-1.95.7-4.671.3-5.036-.775-.508-1.49 4.153-2.421 6.481-6.73 1.224-2.272.939-6.571.37-15.169z\"\n          />\n          <path\n            className=\"prefix__cls-24\"\n            d=\"M294.6 45.948c-.676.278.958 3.069-.149 5.954-1.095 2.853-3.733 2.834-4.242 5.507-.274 1.44.13 3.338 1.3 3.907 1.513.735 3.614-1.081 3.87-1.3 3.012-2.6 3.435-7.77 1.712-11.312-.738-1.528-1.982-2.964-2.491-2.756z\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M296.717 49.781a7.179 7.179 0 01.278 2.366 7.255 7.255 0 01-.948 3.218 9.468 9.468 0 006.548-.574 9.161 9.161 0 011.247-7.191z\"\n          />\n          <path\n            d=\"M300.99 81.349a9.3 9.3 0 00-1.742-3.927c-1.225.394-2.884.989-4.872 1.653-12.172 4.071-18.2 6.466-20.009 10.37-.934 2.015-.583 2.9-.54 9.438a145.1 145.1 0 01-.791 16.22 7.846 7.846 0 014.366-1.337c.269-2.135 4.453-10.326 5.359-16.338a21.635 21.635 0 00.239-3.255 74.506 74.506 0 0015.765-4.81 10.342 10.342 0 002.225-8.014z\"\n            fill=\"url(#prefix__linear-gradient-12)\"\n          />\n          <path\n            d=\"M312.266 82.363c-.115-.782-.438-2.828-1.667-3.892a4.429 4.429 0 00-2.162-.986l-5-.235-16.745 8.05a3.957 3.957 0 00-2.007 3.143c-.19 2.746-.365 5.029-.361 7.719 0 2.275.2 4.547.351 6.817.48 7.25.754 11.437.094 13.936a8.371 8.371 0 013.371-.667c.266 0 .52.018.772.038a10.68 10.68 0 011.438-3.433 43.081 43.081 0 003.518-12.958 42.646 42.646 0 00.166-7.178l3.6-1.242c8.6-2.793 14.233-3.653 14.672-6.366a10.032 10.032 0 00-.04-2.746z\"\n            fill=\"url(#prefix__linear-gradient-13)\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M294.891 55.53a28.349 28.349 0 01-5.13 3.058 34.548 34.548 0 00-4.955 2.559c-.483.308-.873.576-1.136.761 0-.683-.016-1.722-.095-2.987-.132-2.1-.35-3.4-.763-6.434-.147-1.079-.356-2.66-.594-4.6l-2.557-.357a58.4 58.4 0 00-.907 7.629 33.021 33.021 0 00.21 7.41 28.43 28.43 0 00.655 3.071 1.507 1.507 0 001.548 1.116 30.456 30.456 0 004.025-.522c2.936-.582 8.66-1.718 11.341-5.974.441-.7 1.615-2.565.85-3.762a3.022 3.022 0 00-2.492-.968z\"\n          />\n          <path\n            d=\"M296.532 60.256c.441-.7 1.615-2.565.85-3.762a3.022 3.022 0 00-2.491-.964 28.349 28.349 0 01-5.13 3.058 34.548 34.548 0 00-4.955 2.559c-.483.308-.873.576-1.136.761 0-.683-.016-1.722-.095-2.987-.132-2.1-.35-3.4-.763-6.434-.068-.5-.15-1.114-.241-1.812a7.146 7.146 0 01-3.4.032 58.706 58.706 0 00-.414 4.449 33.021 33.021 0 00.21 7.41 28.43 28.43 0 00.655 3.071 1.507 1.507 0 001.548 1.116 30.456 30.456 0 004.025-.522c2.932-.583 8.656-1.719 11.337-5.975z\"\n            fill=\"url(#prefix__linear-gradient-14)\"\n          />\n          <path\n            id=\"prefix___Clipping_Path_5\"\n            data-name=\"&lt;Clipping Path&gt;\"\n            className=\"prefix__cls-2\"\n            d=\"M309.714 54.989c2.04 1.878 2.36 5.189 1.57 8.535-.382 1.62-.347 2.447-.557 3.721a28.089 28.089 0 00.471 10.876c-.47.12-1.175.287-2.04.446a42.432 42.432 0 01-5.06.528c-2.593.185-3.9.282-4.588.244a21.493 21.493 0 01-3.845-.563c.732-5.805-.342-9.334-1.546-11.525-.741-1.349-2.216-3.436-1.6-5.588.234-.812.749-1.575 1.206-3.334a16.269 16.269 0 00.423-2.3l1.942-1.586a4.353 4.353 0 007.127-1.082 8.549 8.549 0 011.19-.086c.445.003 3.478.031 5.307 1.714z\"\n          />\n          <g clipPath=\"url(#prefix__clip-path-2)\">\n            <path className=\"prefix__cls-18\" d=\"M292.038 65.434l.114-3.497\" />\n          </g>\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M294.322 39.432a4.769 4.769 0 00-1.3 3.069l-.022.659s.032.373-.871 1.615c-.279.384 1.2.782 1.2.782a5.74 5.74 0 00.12 1.793c.06.255.1.32.217.8a9.069 9.069 0 00.325 1.35c.2.327.768.627 2.47.4a10.764 10.764 0 014.46-.637 2.55 2.55 0 002.923-1.657 6.142 6.142 0 001.085-1.827 6.281 6.281 0 00-.518-5.645 6.913 6.913 0 00-.9-1.112 5.019 5.019 0 00-4.3-1.345l-2.123.319a4.775 4.775 0 00-2.766 1.436z\"\n          />\n          <path\n            className=\"prefix__cls-24\"\n            d=\"M292.259 41.751q1.318.089 2.7.219t2.7.3a15.394 15.394 0 00-.161 2.507 25.653 25.653 0 001.034 4.752 7.074 7.074 0 01-.183 4.769c-.8 1.6-1.192 1.914-1.152 3.041a3.906 3.906 0 002.839 3.482c2.047.417 4.018-1.722 4.846-2.621 1.688-1.832 2.029-3.546 3.36-3.68a2.322 2.322 0 011.623.592 8.665 8.665 0 00.721-5.071 8.354 8.354 0 00-.988-2.728A17.917 17.917 0 00307.682 45a12.717 12.717 0 01-1.636-3.761 6.357 6.357 0 00-2.2-3.4 6.505 6.505 0 00-2.4-.837 11.92 11.92 0 00-4.553-.179 5.665 5.665 0 00-4.635 4.925z\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M282.515 46.878a3.58 3.58 0 01-.829.9 2.138 2.138 0 01-.906.3c-.713.106-.937.763-1.194.647s.063-.816-.2-1.957c-.149-.656-.325-.716-.331-1.241a3.367 3.367 0 01.36-1.366c.277-.69.469-.769.575-.785a.6.6 0 01.462.189c.112-.526.281-.691.429-.73.276-.074.728.223.728.223.052-.072.38-.523.631-.448.086.026.135.1.292.469.293.681.244.69.335.785.312.324.765.08.995.393a.765.765 0 01.065.595c-.065.373-.266.528-.72 1.1-.334.413-.24.348-.692.926z\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M280.112 47.633c-.11-.3.2-.677.857-1.362a4.23 4.23 0 011.506-1.11c.726-.3.8-.039 1.521-.364.6-.267.817-.56 1.313-.529.284.018.629.141.65.312s-.24.3-.452.426a9.5 9.5 0 00-1.456 1.088 2.133 2.133 0 01-.5 1.134 2.231 2.231 0 01-1.091.654c-.882.275-2.165.247-2.348-.249z\"\n          />\n          <path\n            d=\"M272.4 39.873h3.271V47.5a.39.39 0 01-.39.39h-2.492a.39.39 0 01-.39-.39v-7.627z\"\n            transform=\"rotate(-91.278 274.03 43.883)\"\n            fill=\"url(#prefix__New_Gradient_Swatch_13)\"\n          />\n          <path\n            d=\"M280.384 40.15h2.434v6.729a.4.4 0 01-.4.4h-1.64a.4.4 0 01-.4-.4V40.15h.006z\"\n            transform=\"rotate(-91.278 281.6 43.714)\"\n            fill=\"url(#prefix__New_Gradient_Swatch_13-2)\"\n          />\n          <path\n            transform=\"rotate(-91.26 288.056 43.493)\"\n            fill=\"url(#prefix__New_Gradient_Swatch_13-3)\"\n            d=\"M287.277 40.696h1.52v5.748h-1.52z\"\n          />\n          <rect\n            className=\"prefix__cls-33\"\n            x={289.992}\n            y={43.2}\n            width={2.421}\n            height={0.586}\n            rx={0.237}\n            ry={0.237}\n            transform=\"rotate(-91.278 291.202 43.494)\"\n          />\n          <rect\n            className=\"prefix__cls-33\"\n            x={267.587}\n            y={43.501}\n            width={3.922}\n            height={0.949}\n            rx={0.385}\n            ry={0.385}\n            transform=\"rotate(-91.278 269.547 43.976)\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M282.441 43.68a.511.511 0 01-.354-.086c-.264-.172-.25-.509-.359-.513-.132 0-.144.492-.427.586a.459.459 0 01-.4-.1c-.206-.165-.129-.4-.26-.467-.23-.119-.605.532-.906.45-.268-.073-.447-.706-.272-1.2.248-.7 1.13-.907 1.431-.979a3.717 3.717 0 012 .233c.6.166.8.308.914.5a1.365 1.365 0 01.128.823c-.015.2-.034.452-.155.493-.2.066-.42-.509-.7-.467s-.281.655-.64.727z\"\n          />\n          <path\n            className=\"prefix__cls-24\"\n            d=\"M277.555 115.964a8.1 8.1 0 01-.121-.83 9.138 9.138 0 01-.036-.633 25.65 25.65 0 00-.911 1.442c-1.244 2.12-1.339 2.969-2.118 3.4-.5.276-1.337.419-2.832-.262-.6.483-1.456 1.2-2.457 2.128-1.6 1.482-1.72 1.778-1.66 2 .19.716 2.212 1.039 3.925.662 1.025-.226 2.276-1.3 4.777-3.452 1.074-.923 1.554-1.4 1.649-2.123a9.413 9.413 0 00-.216-2.332zM288.791 117.2a6.228 6.228 0 00-1.162.927c-1.453 1.478-1.133 2.67-2.387 3.627a3.564 3.564 0 01-2.465.693 3.36 3.36 0 01-1.656-.7c-1.9 1.469-3.619 2.186-3.3 3.121.366 1.074 3.086 1.474 5.036.775.76-.272.883-.525 1.631-1.152a13.559 13.559 0 011.592-1.167c.914-.588 1.36-.72 1.865-1.074a4.044 4.044 0 00.492-.4 3.451 3.451 0 00.834-1.011c.225-.513 0-.872-.256-2.152a16.404 16.404 0 01-.224-1.487z\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M308.174 54.517a2.986 2.986 0 012.27 1.081c.757.81 1.031 1.843 1.132 3.558a21.578 21.578 0 01-.393 5.566c-.4 1.93-.964 4.7-1.7 8.559a47.38 47.38 0 01-6.229 15.759l-2.512-.842c.383-1.091.653-1.973.809-2.5 1.577-5.334 1.393-7.84 3.206-11.717.363-.776.7-1.375.878-1.688q-.089-1.532-.148-3.1c-.151-4.062-.128-7.965.029-11.694a3.4 3.4 0 012.658-2.982z\"\n          />\n          <path\n            className=\"prefix__cls-23\"\n            d=\"M299.05 89.428a7.251 7.251 0 00-1.69.948 8.338 8.338 0 00.352 3.753.533.533 0 00.276.162.438.438 0 01.769.2.686.686 0 00.806-.306.651.651 0 00.5.658.635.635 0 00.61-.247l.171-3.151a1.783 1.783 0 01.53-.3c.413-.147.645-.047 1.084-.2a1.66 1.66 0 00.482-.253c.8-.646.544-2.44.544-2.44l-2.6-.379a3.486 3.486 0 01-.755 1.231 7.2 7.2 0 00-1.079.324z\"\n          />\n          <path\n            d=\"M311.576 59.157c-.1-1.716-.374-2.748-1.132-3.558a2.986 2.986 0 00-2.27-1.081 3.4 3.4 0 00-2.655 2.979c-.157 3.728-.18 7.632-.029 11.694q.058 1.57.148 3.1c-.18.313-.515.912-.878 1.688-1.8 3.839-1.635 6.338-3.163 11.564a7.265 7.265 0 012.859 1.449 47.251 47.251 0 005.029-13.711c.733-3.861 1.295-6.63 1.7-8.559a21.578 21.578 0 00.391-5.565z\"\n            fill=\"url(#prefix__linear-gradient-16)\"\n          />\n          <path\n            d=\"M333.718 191.873a3.834 3.834 0 006.334-.1 4.47 4.47 0 01-.469-1.168 5.684 5.684 0 01-.107-1.561 11.506 11.506 0 01.256-2.04L334 188.516z\"\n            fill=\"#9c7761\"\n          />\n          <path\n            className=\"prefix__cls-36\"\n            d=\"M339.54 187.134l1.371-.959a2.9 2.9 0 001.176-1.755l.121-.553a17.7 17.7 0 00.405-4.114 2.4 2.4 0 00-1.314-2.081l-.215-.11a13.483 13.483 0 00-5.015-1.438l-3.42-.291a1.692 1.692 0 00-1.689-.668c-.778.24-.926 1.316-.736 2a2.23 2.23 0 001.08 1.279l2.891 5.979z\"\n          />\n          <path\n            className=\"prefix__cls-37\"\n            d=\"M331.946 178.316a19.268 19.268 0 00-1.106 4.642 7.76 7.76 0 01-.393.674c-.576.883-1.171 1.407-1.009 1.624.014.019.693.28.809.372.243.193.1 2.253.573 3.094.951 1.707 6.531 2.087 8.322-.46a3.492 3.492 0 00.59-2.073 2.378 2.378 0 01-.3-.113 2.509 2.509 0 01-1.187-1.136c-.453-.961.281-1.735-.191-2.117a.812.812 0 00-.754-.089c-.69.27-.79 1.7-.79 1.7h-.022c-.012 0-.269-.058-1.041-.242-.011-2.5-.663-3.433-1.3-3.8a5.411 5.411 0 01-1.259-.824 4.432 4.432 0 01-.942-1.252z\"\n          />\n          <path\n            d=\"M329.07 215.784c.2 2.652.5 6.55.938 11.278.561 6.079.854 9.118 1.054 10.139 1.068 5.443 3.8 14.295 4.627 19.139a6.489 6.489 0 01-.049 2.661 7.59 7.59 0 01-2.434 3.818c-1.275 1.057-2.5 1.284-2.431 1.7.067.4 1.248.673 2.307.49 1.192-.207 1.256-.828 3.018-1.794a13.534 13.534 0 002.535-1.394 2.048 2.048 0 00.224-.33 4.092 4.092 0 00.114-3.182l-3.011-43.223z\"\n            fill=\"url(#prefix__radial-gradient)\"\n          />\n          <path\n            d=\"M335.257 215.317c1.026 13.008 1.433 18.1 1.459 18.314v.021c.271 2.312.56 2.64.592 3.636.028.864-.19.6-.378 2.58-.074.781-.091 1.4-.1 1.754-.012.4-.01.879.02 1.57.2 4.669.978 5.03 1.568 10.766a65.067 65.067 0 01.42 8.672 59.428 59.428 0 01-.194 3.628 3.236 3.236 0 01.787 1.068c.419.935.11 1.578.6 2.031a1.9 1.9 0 001.342.346c.727.019 2.108-.151 2.316-.822.155-.5-.437-.954-.886-1.607-.863-1.252-.821-2.682-.658-4.721.42-5.239 1.431-11.831 1.715-14.466.194-1.806.347-3.664.347-3.664.041-.489.082-1.017.129-1.7.346-4.964.405-9.217.524-17.724.052-3.737.067-6.821.071-8.909a1.083 1.083 0 00-.089-.727c-.451-.8-2.123-.6-4.2-.418-1.227.108-3.066.255-5.385.372z\"\n            fill=\"url(#prefix__radial-gradient-2)\"\n          />\n          <path\n            className=\"prefix__cls-36\"\n            d=\"M338.967 258.206a8.031 8.031 0 01-2.8.528c-.154 0-.3-.015-.455-.023-.024.1-.039.193-.069.291 0 0-.062.231-.151.467a6.588 6.588 0 01-2.046 2.941 3.243 3.243 0 00-2.538 1.536 2.2 2.2 0 00-.193.813 4.151 4.151 0 002.371.253 4.29 4.29 0 00.63-.185 7.609 7.609 0 002.425-1.478 7.891 7.891 0 002.889-1.265q0-.453-.01-.908-.02-1.494-.053-2.97z\"\n          />\n          <path\n            className=\"prefix__cls-36\"\n            d=\"M342.141 262.552l.054-.633a17.023 17.023 0 01-3.352.274v.436a59.428 59.428 0 01-.194 3.628 3.236 3.236 0 01.787 1.068c.419.935.11 1.578.6 2.031a1.9 1.9 0 001.342.346c.727.019 2.108-.151 2.316-.822.155-.5-.437-.954-.886-1.607-.872-1.251-.831-2.682-.667-4.721z\"\n          />\n          <path\n            d=\"M360.073 172.63a40.724 40.724 0 01-1.923 4.724c-1.283 2.656-2.315 4.035-3.09 6.734a19.522 19.522 0 00-.559 2.6 42.566 42.566 0 00-5.741 4.041q-.238.2-.468.4a4.361 4.361 0 01-1.76.921 4.479 4.479 0 01-1.313.131c-1.961-.062-4.655-.357-5.167-.414a4.278 4.278 0 01-3.468 1.6 4.149 4.149 0 01-2.866-1.5c-.652.062-2.82.264-4.72.323a4.516 4.516 0 01-1.368-.141 4.357 4.357 0 01-1.719-.91q-.24-.207-.487-.413a42.559 42.559 0 00-5.741-4.041 19.546 19.546 0 00-.559-2.6c-.775-2.7-1.807-4.078-3.09-6.734a40.768 40.768 0 01-1.923-4.724l-3.126.817a65.794 65.794 0 002.847 12.148 65.737 65.737 0 001.7 4.487 26.549 26.549 0 004.452 5.052 38.819 38.819 0 014.927 4.369 20.523 20.523 0 012.226 3.123c.014.182.028.365.046.548a55.569 55.569 0 002.754 12.653 28.651 28.651 0 0016.961-.489c-.1-4.405-.093-9.01.056-13.8a59.959 59.959 0 013.48-3.619c4.619-4.411 7.285-5.523 8.969-9.247a21.013 21.013 0 00.948-3.08 179.594 179.594 0 002.847-12.148z\"\n            fill=\"url(#prefix__New_Gradient_Swatch_11)\"\n          />\n          <path\n            d=\"M333.91 203.121q-.024-5.737-.192-11.248l-4.32.229a14.847 14.847 0 01-2.256 10.629l-.071 14.929a24.162 24.162 0 006.606 1.67q.259-7.866.233-16.209z\"\n            fill=\"url(#prefix__New_Gradient_Swatch_2)\"\n          />\n          <path\n            d=\"M345.14 192.084l-5.088-.316-.057 27.766a8.089 8.089 0 005.7-2.373 6.914 6.914 0 001.206-1.821l.056-13.8a16.043 16.043 0 01-1.814-9.457z\"\n            fill=\"url(#prefix__New_Gradient_Swatch_2-2)\"\n          />\n          <path\n            className=\"prefix__cls-37\"\n            d=\"M311.945 173.192a1.731 1.731 0 001.685.105 2.571 2.571 0 001.342-2.216c.053-.913-.4-1.176-.528-2.452a5.9 5.9 0 01.072-1.632 1.556 1.556 0 00-.829.4 1.792 1.792 0 00-.35 1.882 2.688 2.688 0 00-1.239.847c-.707.886-.934 2.442-.153 3.066z\"\n          />\n          <path className=\"prefix__cls-43\" d=\"M313.526 172.494l-3.155-12.467\" />\n          <path\n            className=\"prefix__cls-37\"\n            d=\"M311.1 174.071a153.312 153.312 0 00-.886-3.729 1.64 1.64 0 01-.047-.682 2.727 2.727 0 012.754-1.911c.109.017.4.063.475.25s-.138.368-.049.61c.071.19.236.164.281.334.066.251-.26.439-.177.637.054.129.214.1.293.238.1.175-.034.421-.085.517a1.581 1.581 0 01-1.053.689 1.307 1.307 0 01.771.618c.321.678-.273 1.527-.761 1.925a2.38 2.38 0 01-1.516.504zM362.227 172.866a1.731 1.731 0 01-1.685.105 2.571 2.571 0 01-1.342-2.216c-.053-.913.4-1.176.528-2.452a5.9 5.9 0 00-.072-1.632 1.556 1.556 0 01.829.4 1.792 1.792 0 01.35 1.882 2.688 2.688 0 011.239.847c.708.885.934 2.442.153 3.066z\"\n          />\n          <path className=\"prefix__cls-43\" d=\"M360.646 172.168l3.156-12.467\" />\n          <path\n            className=\"prefix__cls-37\"\n            d=\"M363.074 173.745c.351-1.545.633-2.733.886-3.729a1.64 1.64 0 00.047-.682 2.727 2.727 0 00-2.754-1.911c-.109.017-.4.063-.475.25s.138.368.049.61c-.071.19-.236.164-.281.334-.066.251.26.439.177.637-.054.129-.214.1-.293.238-.1.175.034.421.085.517a1.581 1.581 0 001.053.689 1.307 1.307 0 00-.771.618c-.321.678.273 1.527.761 1.925a2.38 2.38 0 001.516.504z\"\n          />\n          <path\n            className=\"prefix__cls-45\"\n            d=\"M193.431 225.452l-35.068 13.455v5.37l35.068-14.103v-4.722zM193.431 233.407l-35.068 14.103v4.877l35.068-14.331v-4.649z\"\n          />\n          <path\n            className=\"prefix__cls-33\"\n            d=\"M193.431 223.845L158.363 237.3v1.607l35.068-13.455v-1.607z\"\n          />\n          <path\n            className=\"prefix__cls-33\"\n            d=\"M193.431 223.845v-1.606l-35.068 13.455v1.606l35.068-13.455zM193.431 239.676v-1.62l-35.068 14.331v1.62l35.068-14.331zM158.363 254.007v1.621l35.068-14.331v-1.621l-35.068 14.331zM193.431 231.791l-35.068 14.102v1.617l35.068-14.103v-1.616z\"\n          />\n          <path\n            className=\"prefix__cls-33\"\n            d=\"M193.431 231.791v-1.617l-35.068 14.103v1.616l35.068-14.102z\"\n          />\n          <g id=\"prefix__Layer_2-2\" data-name=\"Layer 2\">\n            <g id=\"prefix__Blue\">\n              <path\n                d=\"M112.683 209.117c-.354-.3-.9-.06-1.114.6l-5.381 15.769c-.159.466-.014.9.324.962a.542.542 0 00.305-.036l7.882-3.159a1.1 1.1 0 00.6-.7c1.609-4.864.448-10.827-2.616-13.436z\"\n                fill=\"url(#prefix__linear-gradient-17)\"\n              />\n              <path\n                className=\"prefix__cls-21\"\n                d=\"M116.582 195.167c-3.043 7.254-2.7 13.8-.508 17.938l3.987 7.545a.458.458 0 00.615.211l7.882-3.159a1.2 1.2 0 00.66-1.078.745.745 0 00-.079-.333s-11.126-21.066-11.4-21.592c-.257-.468-.863-.238-1.157.468z\"\n              />\n            </g>\n          </g>\n        </g>\n      </g>\n    </g>\n  </svg>\n);\n\nexport default InboxImg;\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n  header: {\n    id: `${ID_PREFIX}header`,\n    defaultMessage: 'Great, check your inbox'\n  },\n  devopsHeader: {\n    id: `${ID_PREFIX}devopsHeader`,\n    defaultMessage: 'Your suite is ready!'\n  },\n  devopsSubHeader: {\n    id: `${ID_PREFIX}devopsSubHeader`,\n    defaultMessage: 'Activate your account to log in'\n  },\n  devopsNoResendNoEmail: {\n    id: `${ID_PREFIX}devopsNoResendNoEmail`,\n    defaultMessage:\n      \"<div>Didn't receive an email from us?</div> Check your spam folder or try resending the email below.\"\n  },\n  devopsEmailSent: {\n    id: `${ID_PREFIX}devopsEmailSent`,\n    defaultMessage:\n      \"We've sent an email to <div>{email}</div> with a link to activate your account.\"\n  },\n  resendEmailLineOne: {\n    id: `${ID_PREFIX}resendEmailLineOne`,\n    defaultMessage: \"We've emailed a verification link to:\"\n  },\n  resendEmailLineTwo: {\n    id: `${ID_PREFIX}resendEmailLineTwo`,\n    defaultMessage: 'It will expire shortly, so verify soon.'\n  },\n  resendEmailCheckSpam: {\n    id: `${ID_PREFIX}resendEmailCheckSpam`,\n    defaultMessage: 'Remember to check your spam folder.'\n  },\n  resendEmailAction: {\n    id: `${ID_PREFIX}resendEmailAction`,\n    defaultMessage: 'Resend Email'\n  },\n  resendEmailChangeEmail: {\n    id: `${ID_PREFIX}resendEmailChangeEmail`,\n    defaultMessage: 'Need to change your email address?'\n  },\n  resendEmailChangeEmailAction: {\n    id: `${ID_PREFIX}resendEmailChangeEmailAction`,\n    defaultMessage: \"You'll need to create a new account.\"\n  },\n  resendEmailStillNoEmail: {\n    id: `${ID_PREFIX}resendEmailStillNoEmail`,\n    defaultMessage: 'Still not getting the email? We can help.'\n  },\n  resendEmailCreateAHelpTicket: {\n    id: `${ID_PREFIX}resendEmailCreateAHelpTicket`,\n    defaultMessage: 'Create a help ticket.'\n  },\n  noResendNoEmail: {\n    id: `${ID_PREFIX}noResendNoEmail`,\n    defaultMessage: \"Didn't receive an email from us?\"\n  },\n  noResendEmailConfirmation: {\n    id: `${ID_PREFIX}noResendEmailConfirmation`,\n    defaultMessage:\n      'Email confirmation helps us to ensure your data will always be safe.'\n  },\n  noResendContactUsHtml: {\n    id: `${ID_PREFIX}noResendContactUsHtml`,\n    defaultMessage: '<a href=\"/company/contact\">Contact us.</a>'\n  }\n});\n","import { N20A, N500, N600, N800 } from '@atlaskit/theme/colors';\nimport { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\n\nexport const CharlieDisplayFontStack =\n  \"'Charlie Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif;\";\n\nexport const CharlieTextFontStack =\n  \"'Charlie Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif;\";\n\nexport const Wrapper = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding-top: 0px;\n  align-items: center;\n  font-family: ${CharlieTextFontStack};\n  font-weight: 400;\n  font-size: 16px;\n  line-height: 24px;\n  color: #091e42;\n  letter-spacing: 0.05em;\n\n  a {\n    text-decoration: none !important;\n  }\n\n  a:hover {\n    text-decoration: underline !important;\n  }\n\n  svg {\n    margin-bottom: 0 !important;\n  }\n`;\n\nexport const Header = styled.span`\n  padding: 25px 0;\n  font-weight: 600;\n  font-family: ${CharlieDisplayFontStack};\n  font-size: 1.25em;\n  line-height: 1.2;\n  letter-spacing: unset;\n  color: #172b4d;\n`;\nexport const DevopsHeader = styled.span`\n  font-size: 32px;\n  line-height: 40px;\n  font-family: ${CharlieDisplayFontStack};\n  color: ${N600};\n  font-weight: 400;\n  text-align: center;\n  display: flex;\n  flex-direction: column;\n  padding-bottom: 20px;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 24px;\n    line-height: 28px;\n    padding-bottom: 16px;\n  }\n\n  span:first-child {\n    padding-bottom: 14px;\n  }\n\n  @media only screen and (max-width: 424px) {\n    max-width: 266px;\n  }\n`;\nexport const DevopsImageWrapper = styled.div`\n  width: 225px;\n  padding-bottom: 25px;\n  display: flex;\n  justify-content: center;\n  margin-top: 35px;\n\n  @media only screen and (max-width: 769px) {\n    margin-top: 16px;\n    padding-bottom: 20px;\n  }\n`;\nexport const ImageWrapper = styled.div`\n  width: 225px;\n  padding-bottom: 25px;\n`;\n\nexport const Group = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding-bottom: 25px;\n  align-items: center;\n`;\n\nexport const Bold = styled.span`\n  font-weight: 900;\n`;\n\nexport const RotationKeyframes = keyframes`\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n`;\n\nexport const Devopsgroup = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding-bottom: 0px;\n  align-items: center;\n  text-align: center;\n  max-width: 422px;\n\n  @media only screen and (max-width: 769px) {\n    max-width: 300px;\n  }\n`;\nexport const DevopsText = styled.p`\n  font-family: ${CharlieTextFontStack};\n  color: ${N800};\n  div {\n    font-weight: 600;\n    display: contents;\n\n    @media only screen and (max-width: 769px) {\n      display: block;\n    }\n  }\n\n  &.break div {\n    @media only screen and (max-width: 769px) {\n      padding-bottom: 10px;\n    }\n  }\n`;\nexport const DevopsButtonGroup = styled.div`\n  margin-top: 20px;\n  margin-bottom: 20px;\n  button {\n    background: ${N20A};\n    border-radius: 3px;\n    padding: 6px 12px;\n  }\n  span {\n    color: ${N500};\n    font-size: 14px;\n    line-height: 20px;\n    font-family: ${CharlieTextFontStack};\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport CheckCircleIcon from '@atlaskit/icon/glyph/check-circle';\nimport CrossCircleIcon from '@atlaskit/icon/glyph/cross-circle';\nimport RefreshIcon from '@atlaskit/icon/glyph/refresh';\nimport { G300, R300 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\n\nimport useResendEmailAPI, {\n  ResendEmailStatuses\n} from '../../../../../../hook/useResendEmailAPI';\nimport useResendEmailData from '../../../../../../hook/useResendEmailData';\nimport { CheckEmailAnalyticsInterface } from '../../../../../../model/check-email-page';\nimport { CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES } from '../../../../../../model/check-email-page';\nimport { messages } from '../../messages';\nimport { CharlieDisplayFontStack, RotationKeyframes } from '../../styled';\n\nconst RESEND_ATTEMPT_LIMIT = 3;\n\nconst StyledButton = styled(Button)`\n  font-family: ${CharlieDisplayFontStack} !important;\n  line-height: 15px !important;\n`;\n\nconst Container = styled.div`\n  position: relative;\n`;\n\nconst IconContainer = styled.div`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  position: absolute;\n  right: -36px;\n  top: 50%;\n  transform: translateY(-50%);\n  height: 32px;\n  width: 32px;\n`;\n\nconst Rotation = styled.div`\n  animation: ${RotationKeyframes} 1.25s linear 0s infinite;\n`;\n\ninterface ResendEmailButtonProps {\n  baseUrl?: string;\n  checkEmailAnalyticsService: CheckEmailAnalyticsInterface;\n}\n\nconst ResendEmailButton: React.FC<ResendEmailButtonProps> = ({\n  baseUrl,\n  checkEmailAnalyticsService\n}) => {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const [resendEmailData, incrementResendCount] = useResendEmailData();\n  const { state: resendEmailState, triggerResendEmail } = useResendEmailAPI({\n    baseUrl,\n    checkEmailAnalyticsService\n  });\n\n  if (\n    resendEmailData.resendCount > RESEND_ATTEMPT_LIMIT ||\n    resendEmailData.resendCount < 0\n  ) {\n    return (\n      <>\n        <FormattedMessage {...messages.resendEmailStillNoEmail} />\n        <a href=\"/company/contact\">\n          <FormattedMessage {...messages.resendEmailCreateAHelpTicket} />\n        </a>\n      </>\n    );\n  }\n\n  const onClick = () => {\n    const newCount = resendEmailData.resendCount + 1;\n    if (newCount > RESEND_ATTEMPT_LIMIT) {\n      return incrementResendCount();\n    }\n\n    checkEmailAnalyticsService.clickResendButton(createAnalyticsEvent);\n\n    triggerResendEmail(resendEmailData).then((success) => {\n      if (success) {\n        incrementResendCount();\n        createAnalyticsEvent({\n          action: 'resendEmail',\n          name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.RESEND_EMAIL_API_SUCCESS\n        }).fire();\n      } else {\n        createAnalyticsEvent({\n          action: 'resendEmail',\n          name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.RESEND_EMAIL_API_FAILURE\n        }).fire();\n      }\n    });\n  };\n\n  const Icon = () => {\n    switch (resendEmailState.status) {\n      case ResendEmailStatuses.SUCCESS:\n        return (\n          <CheckCircleIcon\n            label=\"resend email success\"\n            primaryColor={G300}\n            size=\"large\"\n          />\n        );\n      case ResendEmailStatuses.FAILURE:\n        return (\n          <CrossCircleIcon\n            label=\"resend email failure\"\n            primaryColor={R300}\n            size=\"large\"\n          />\n        );\n      default:\n        return null;\n    }\n  };\n\n  return (\n    <Container>\n      <StyledButton\n        appearance=\"primary\"\n        onClick={onClick}\n        isDisabled={resendEmailState.status === ResendEmailStatuses.REQUESTING}\n        iconAfter={\n          resendEmailState.status === ResendEmailStatuses.REQUESTING ? (\n            <Rotation>\n              <RefreshIcon label=\"resend email requesting\" />\n            </Rotation>\n          ) : undefined\n        }\n      >\n        <FormattedMessage {...messages.resendEmailAction} />\n      </StyledButton>\n      <IconContainer>\n        <Icon />\n      </IconContainer>\n    </Container>\n  );\n};\n\nexport default injectIntl(ResendEmailButton);\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport { B400, B200 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedHTMLMessage, FormattedMessage } from 'react-intl';\nimport { CheckEmailPageLayoutPropsType } from '../../../../../model/check-email-page';\nimport { InboxImage, ResendEmailButton } from '../components';\nimport { messages } from '../messages';\nimport { Bold, Group, Header, ImageWrapper, Wrapper } from '../styled';\n\nexport function LayoutDefault({\n  email,\n  shouldEnable,\n  baseUrl,\n  checkEmailAnalyticsService\n}: CheckEmailPageLayoutPropsType) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  let pageContent = (\n    <>\n      <div>\n        <FormattedMessage {...messages.noResendNoEmail} />\n        {\n          ' ' /* without this single space, these two strings sit too close together. */\n        }\n        <span\n          className=\"contactLink\"\n          onClick={() =>\n            checkEmailAnalyticsService.contactLinkAnalytics(\n              createAnalyticsEvent\n            )\n          }\n        >\n          <FormattedHTMLMessage {...messages.noResendContactUsHtml} />\n        </span>\n      </div>\n      <FormattedMessage {...messages.noResendEmailConfirmation} />\n    </>\n  );\n\n  if (shouldEnable) {\n    pageContent = (\n      <>\n        <Group>\n          <FormattedMessage {...messages.resendEmailLineOne} />\n          <Bold>{email}</Bold>\n          <FormattedMessage {...messages.resendEmailLineTwo} />\n        </Group>\n        <Group>\n          <FormattedMessage {...messages.resendEmailCheckSpam} />\n        </Group>\n        <Group>\n          <ResendEmailButton\n            baseUrl={baseUrl}\n            checkEmailAnalyticsService={checkEmailAnalyticsService}\n          />\n        </Group>\n        <Group>\n          <Bold>\n            <FormattedMessage {...messages.resendEmailChangeEmail} />\n          </Bold>\n          <a\n            href=\"#\"\n            onClick={(e) =>\n              checkEmailAnalyticsService.navigateBack(e, createAnalyticsEvent)\n            }\n          >\n            <FormattedMessage {...messages.resendEmailChangeEmailAction} />\n          </a>\n        </Group>\n      </>\n    );\n  }\n\n  return (\n    <Wrapper>\n      <AtlassianLogo\n        size=\"xlarge\"\n        textColor={B400}\n        iconColor={B200}\n        iconGradientStart={B400}\n        iconGradientStop={B200}\n      />\n      <Header>\n        <FormattedMessage {...messages.header} />\n      </Header>\n      <ImageWrapper>\n        <InboxImage />\n      </ImageWrapper>\n      {pageContent}\n    </Wrapper>\n  );\n}\n","import React from 'react';\n\nconst EnvelopeImg: React.FC = (props) => (\n  <svg width=\"150\" height=\"128\" viewBox=\"0 0 150 128\" {...props}>\n    <g clipPath=\"url(#clip0)\">\n      <rect width=\"150\" height=\"127.685\" fill=\"white\" fillOpacity=\"0.01\" />\n      <path\n        d=\"M149.861 52.5802L91.7015 5.85771C86.9468 2.06703 81.046 0.00274658 74.9651 0.00274658C68.8843 0.00274658 62.9835 2.06703 58.2287 5.85771L0.13947 52.5802H0V127.615H150V52.5802H149.861Z\"\n        fill=\"#0065FF\"\n      />\n      <path\n        d=\"M131.241 15.6206H17.7126V107.545H131.241V15.6206Z\"\n        fill=\"#FAFBFC\"\n      />\n      <path\n        d=\"M118.271 39.8884H30.6136V41.2831H118.271V39.8884Z\"\n        fill=\"#3384FF\"\n      />\n      <path\n        d=\"M131.241 13.5983H17.7126V22.0711H131.241V13.5983Z\"\n        fill=\"#1DB9D4\"\n      />\n      <path\n        d=\"M76.4295 46.5829H30.6136V47.9776H76.4295V46.5829Z\"\n        fill=\"#3384FF\"\n      />\n      <path\n        d=\"M118.271 33.1938H30.6136V34.5885H118.271V33.1938Z\"\n        fill=\"#3384FF\"\n      />\n      <path\n        d=\"M118.271 59.9023H30.6136V61.297H118.271V59.9023Z\"\n        fill=\"#3384FF\"\n      />\n      <path\n        d=\"M118.271 66.5969H30.6136V67.9916H118.271V66.5969Z\"\n        fill=\"#3384FF\"\n      />\n      <path\n        d=\"M81.0321 73.2914H30.6136V74.6861H81.0321V73.2914Z\"\n        fill=\"#3384FF\"\n      />\n      <path\n        d=\"M150 127.685C124.547 127.685 108.368 123.57 98.2566 117.782C74.8954 104.254 71.9665 84.7977 47.5593 68.5495C30.265 57.0432 12.2734 53.7656 0 52.7196V127.685H150Z\"\n        fill=\"url(#paint0_linear)\"\n      />\n      <path\n        d=\"M0 127.685C25.5927 127.685 41.6318 123.57 51.7434 117.782C75.1046 104.254 77.9637 84.7977 102.441 68.5495C119.665 57.0432 137.727 53.7656 150 52.7196V127.685H0Z\"\n        fill=\"#6BD5E5\"\n      />\n    </g>\n    <defs>\n      <linearGradient\n        id=\"paint0_linear\"\n        x1=\"74.993\"\n        y1=\"127.699\"\n        x2=\"74.993\"\n        y2=\"52.7057\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stopColor=\"#1DB9D4\" />\n        <stop offset=\"0.12\" stopColor=\"#38C3DA\" />\n        <stop offset=\"0.26\" stopColor=\"#4FCBDF\" />\n        <stop offset=\"0.41\" stopColor=\"#5FD1E2\" />\n        <stop offset=\"0.59\" stopColor=\"#68D4E4\" />\n        <stop offset=\"0.82\" stopColor=\"#6BD5E5\" />\n      </linearGradient>\n      <clipPath id=\"clip0\">\n        <rect width=\"150\" height=\"127.685\" fill=\"white\" />\n      </clipPath>\n    </defs>\n  </svg>\n);\nexport default EnvelopeImg;\n","import React from 'react';\nimport { FormattedHTMLMessage, FormattedMessage } from 'react-intl';\nimport { CheckEmailPageLayoutPropsType } from '../../../../../model/check-email-page';\nimport { ResendEmailButton } from '../components';\nimport EnvelopeImg from '../components/EnvelopeImage';\nimport { messages } from '../messages';\nimport {\n  DevopsButtonGroup,\n  Devopsgroup,\n  DevopsHeader,\n  DevopsImageWrapper,\n  DevopsText,\n  Wrapper\n} from '../styled';\n\nexport function LayoutDevops({\n  email,\n  baseUrl,\n  hideHeader,\n  checkEmailAnalyticsService\n}: CheckEmailPageLayoutPropsType) {\n  const DevopsResendPage = (\n    <Devopsgroup>\n      <DevopsText>\n        <FormattedHTMLMessage\n          {...messages.devopsEmailSent}\n          values={{ email }}\n        />\n      </DevopsText>\n      <DevopsImageWrapper>\n        <EnvelopeImg />\n      </DevopsImageWrapper>\n      <DevopsText className=\"break\">\n        <FormattedHTMLMessage {...messages.devopsNoResendNoEmail} />\n      </DevopsText>\n      <DevopsButtonGroup>\n        <ResendEmailButton\n          baseUrl={baseUrl}\n          checkEmailAnalyticsService={checkEmailAnalyticsService}\n        />\n      </DevopsButtonGroup>\n    </Devopsgroup>\n  );\n\n  return (\n    <Wrapper>\n      <DevopsHeader>\n        {!hideHeader && <FormattedMessage {...messages.devopsHeader} />}\n        <FormattedMessage {...messages.devopsSubHeader} />\n      </DevopsHeader>\n\n      {DevopsResendPage}\n    </Wrapper>\n  );\n}\n","import React from 'react';\nimport { injectIntl } from 'react-intl';\nimport { useResendEmailData } from '../../../../hook';\nimport { CheckEmailPagePropsType } from '../../../../model/check-email-page';\nimport { getCheckEmailAnalyticsService } from '../../../../service/check-email-page';\nimport { LayoutDefault, LayoutDevops } from './container';\n\n// UA ID detected on current checkemail page\nconst googleAnalyticsId = 'UA-6032469-23';\n\nexport const CheckEmailPage: React.FC<CheckEmailPagePropsType> = ({\n  layout,\n  baseUrl,\n  analyticsTrack,\n  productKeys,\n  hideHeader\n}) => {\n  const [{ email = '', shouldEnable }, {}] = useResendEmailData();\n  const props = Object.assign(\n    {},\n    {\n      baseUrl,\n      email,\n      shouldEnable,\n      hideHeader\n    }\n  );\n\n  const checkEmailAnalyticsService = getCheckEmailAnalyticsService({\n    analyticsTrack,\n    baseUrl,\n    productKeys,\n    googleAnalyticsId\n  });\n\n  return (() => {\n    switch (layout) {\n      case 'devops':\n        return (\n          <LayoutDevops\n            {...props}\n            checkEmailAnalyticsService={checkEmailAnalyticsService}\n          />\n        );\n      case 'default':\n      default:\n        return (\n          <LayoutDefault\n            {...props}\n            checkEmailAnalyticsService={checkEmailAnalyticsService}\n          />\n        );\n    }\n  })();\n};\n\nexport default injectIntl(CheckEmailPage);\n","import DropdownMenu, { DropdownItem } from '@atlaskit/dropdown-menu';\nimport React, { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { GetAccountOrgsResponse } from '@atlassiansox/asc-stargate';\nimport {\n  DropdownTrigger,\n  OrganizationDropdownContainer,\n  OrganizationDropdownButtonStyle,\n  OrganizationDropdownButtonStyleOpen,\n  OrganizationDropdownTextContainer,\n  OrganizationDropdownItemContainer,\n  OrgPickerElementMargin,\n  FieldLabel\n} from './styled';\nimport { AccountOrg, VortexStatus } from '../../utility';\n\ntype OnOpenChangeProps = {\n  readonly isOpen: boolean;\n  readonly isDisabled: boolean;\n  readonly event?: { [key: string]: any };\n};\n\ntype BitbucketOrganizationPickerProps = {\n  orgList: GetAccountOrgsResponse;\n  selectedOrg: AccountOrg | null;\n  setSelectedOrg: (org: AccountOrg) => void;\n};\n\nexport function shouldRenderBitbucketOrgPicker(\n  orgAdminVortexStatusCounts: Record<VortexStatus, number>\n) {\n  if (\n    orgAdminVortexStatusCounts.ENABLED === 1 &&\n    orgAdminVortexStatusCounts.DISABLED === 0\n  ) {\n    return false;\n  }\n  return orgAdminVortexStatusCounts.ENABLED > 0;\n}\n\nexport function BitbucketOrganizationPicker({\n  orgList,\n  selectedOrg,\n  setSelectedOrg\n}: BitbucketOrganizationPickerProps) {\n  const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n\n  const trigger = (\n    <DropdownTrigger>\n      <OrganizationDropdownTextContainer>\n        {selectedOrg ? (\n          selectedOrg.name\n        ) : (\n          <FormattedMessage {...messages.selectOrganization} />\n        )}\n      </OrganizationDropdownTextContainer>\n    </DropdownTrigger>\n  );\n\n  const triggerButtonTheme = () => {\n    const buttonStyles = !isDropdownOpen\n      ? OrganizationDropdownButtonStyle\n      : Object.assign(\n          {},\n          OrganizationDropdownButtonStyle,\n          OrganizationDropdownButtonStyleOpen\n        );\n    return {\n      buttonStyles,\n      spinnerStyles: {}\n    };\n  };\n\n  return (\n    <OrgPickerElementMargin>\n      <FieldLabel>\n        <FormattedMessage\n          {...messages.bitbucketOrganizationIdFieldLabelMessage}\n        />\n      </FieldLabel>\n      <OrganizationDropdownContainer>\n        <DropdownMenu\n          trigger={trigger}\n          triggerType=\"button\"\n          shouldFitContainer={true}\n          triggerButtonProps={{\n            shouldFitContainer: true,\n            theme: triggerButtonTheme\n          }}\n          onOpenChange={({ isOpen }: OnOpenChangeProps) =>\n            setIsDropdownOpen(isOpen)\n          }\n        >\n          {orgList\n            .filter((item) => item.vortexMode === VortexStatus.ENABLED)\n            .map((item) => (\n              <DropdownItem key={item.id} onClick={() => setSelectedOrg(item)}>\n                <OrganizationDropdownItemContainer>\n                  {item.name}\n                </OrganizationDropdownItemContainer>\n              </DropdownItem>\n            ))}\n        </DropdownMenu>\n      </OrganizationDropdownContainer>\n    </OrgPickerElementMargin>\n  );\n}\n","import React from 'react';\nimport { SvgContainer } from '../components/styled';\n\nexport type UnionIcon = {};\n\nexport function UnionIcon({}: UnionIcon) {\n  return (\n    <SvgContainer>\n      <svg\n        xmlns=\"http://www.w3.org/2000/svg\"\n        viewBox=\"0 0 19 18\"\n        width=\"24\"\n        height=\"24\"\n      >\n        <path\n          fillRule=\"evenodd\"\n          clipRule=\"evenodd\"\n          d=\"M9 10C11.7614 10 14 7.76142 14 5C14 2.23858 11.7614 0 9 0C6.23858 0 4 2.23858 4 5C4 6.44777 4.61532 7.75182 5.59871 8.6649C2.31433 10.0065 0 13.233 0 17C0 17.5523 0.447715 18 1 18H9C9.55229 18 10 17.5523 10 17C10 16.4477 9.55229 16 9 16H2.07089C2.55612 12.6077 5.47353 10 9 10ZM12 5C12 6.65685 10.6569 8 9 8C7.34315 8 6 6.65685 6 5C6 3.34315 7.34315 2 9 2C10.6569 2 12 3.34315 12 5Z\"\n          fill=\"#42526E\"\n        />\n        <path\n          d=\"M14 11C14 10.4477 14.4477 10 15 10C15.5523 10 16 10.4477 16 11V13H18C18.5523 13 19 13.4477 19 14C19 14.5523 18.5523 15 18 15H16V17C16 17.5523 15.5523 18 15 18C14.4477 18 14 17.5523 14 17V15H12C11.4477 15 11 14.5523 11 14C11 13.4477 11.4477 13 12 13H14V11Z\"\n          fill=\"#42526E\"\n        />\n      </svg>\n    </SvgContainer>\n  );\n}\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport AppSwitcherIcon from '@atlaskit/icon/glyph/app-switcher';\nimport EmailIcon from '@atlaskit/icon/glyph/email';\nimport { MarieSchemaAnalytics } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React, { useContext } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { UnionIcon } from '../Icons/UnionIcon';\n\nexport type CarouselEndProps = {\n  readonly isBundleDevops: boolean;\n  readonly goToProduct: string;\n};\n\nexport function CarouselEnd({ isBundleDevops, goToProduct }: CarouselEndProps) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const product = isBundleDevops ? 'Jira' : 'Devops';\n  const context = useContext(MarieSchemaAnalytics);\n  const buttonId = 'go-to-jira-42074419682455333';\n  const buttonClick = () => {\n    context?.analyticsTrack?.segment(`bxp.formCloudSignup.go-to-jira-button`, {\n      eventType: 'track',\n      eventContainer: 'carouselEnd',\n      event: 'clicked',\n      eventComponent: 'button',\n      label: `Go to ${product}`,\n      uuid: '42074419682455333',\n      productKey: context.productKey,\n      productsOffered: context.productsOffered,\n      loginUserDetected: context.loginUserDetected,\n      userEmail: context.userEmail,\n      suiteName: context.suiteName,\n      productEdition: context.productEdition,\n      productPlatform: context.productPlatform,\n      schemaVersion: context.schemaVersion\n    });\n    createAnalyticsEvent({\n      eventName: 'bxp.formCloudSignup.go-to-jira-button',\n      data: {\n        event: 'clicked',\n        uuid: '42074419682455333',\n        eventType: 'track',\n        eventContainer: 'carouselEnd',\n        eventComponent: 'button',\n        label: `Go to ${product}`,\n        productKey: context.productKey,\n        productsOffered: context.productsOffered,\n        loginUserDetected: context.loginUserDetected,\n        userEmail: context.userEmail,\n        suiteName: context.suiteName,\n        productEdition: context.productEdition,\n        productPlatform: context.productPlatform,\n        schemaVersion: context.schemaVersion\n      }\n    }).fire();\n\n    window.location.assign(goToProduct);\n  };\n  return (\n    <div>\n      <DevOpsCarouselEndHeading>\n        {' '}\n        <FormattedMessage {...messages.devopsCarouselEndHeading} />\n      </DevOpsCarouselEndHeading>\n      <DevopsCarouselEndGroup>\n        <EmailIcon label=\"Email Icon\" />\n        <DevopsCarouselEndText>\n          <FormattedMessage {...messages.devopsCarouselEndTextOne} />\n        </DevopsCarouselEndText>\n      </DevopsCarouselEndGroup>\n      <DevopsCarouselEndGroup>\n        <AppSwitcherIcon size=\"medium\" label=\"appswitcherIcon\" />\n        <DevopsCarouselEndText>\n          <FormattedMessage {...messages.devopsCarouselEndTextTwo} />\n        </DevopsCarouselEndText>\n      </DevopsCarouselEndGroup>\n      <DevopsCarouselEndGroup>\n        <UnionIcon />\n        <DevopsCarouselEndText>\n          <FormattedMessage {...messages.devopsCarouselEndTextThree} />\n        </DevopsCarouselEndText>\n      </DevopsCarouselEndGroup>\n      <DevOpsCarouselEndButton>\n        <Button appearance=\"primary\" id={buttonId} onClick={buttonClick}>\n          <FormattedMessage\n            {...messages.devopsCarouselButton}\n            values={{ product }}\n          />\n        </Button>\n      </DevOpsCarouselEndButton>\n    </div>\n  );\n}\nconst DevopsCarouselEndGroup = styled.div`\n  display: flex;\n  margin: 0 auto 20px auto;\n  max-width: 280px;\n`;\nconst DevopsCarouselEndText = styled.div`\n  font-size: 14px;\n  line-height: 20px;\n  margin-left: 15px;\n  font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n    Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  font-style: normal;\n`;\nconst DevOpsCarouselEndHeading = styled.div`\n  font-family: Charlie Display;\n  font-size: 32px;\n  line-height: 30px;\n  text-align: center;\n  margin-bottom: 60px;\n`;\nconst DevOpsCarouselEndButton = styled.div`\n  text-align: center;\n  margin-top: 70px;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { WelcomeDivDevops } from './styled';\n\nexport type FormWelcomeMessageProps = {\n  readonly isBundleDevops: boolean;\n  readonly isLoggedIn: boolean | undefined;\n  readonly welcomeMessage: any;\n  readonly username: string | null;\n};\n\nexport function FormWelcomeMessage({\n  isBundleDevops,\n  isLoggedIn,\n  welcomeMessage,\n  username\n}: FormWelcomeMessageProps) {\n  if (isBundleDevops && isLoggedIn) {\n    return (\n      <WelcomeDivDevops>\n        <FormattedMessage\n          values={{ username }}\n          {...messages.devopsSignedInWelcomeMessage}\n        />\n      </WelcomeDivDevops>\n    );\n  }\n  return <FormattedMessage values={{ username }} {...welcomeMessage} />;\n}\n","declare global {\n  interface Window {\n    cmsPageVariant?: string;\n  }\n}\n\nexport type DeferSitenameCohort = 'variant-1' | 'control' | 'non-enrolled';\n\nconst cmsPageVariants = new Map<string, DeferSitenameCohort>([\n  ['defer_sitename_confluence_treatment', 'variant-1'],\n  ['defer_sitename_jsw_treatment', 'variant-1'],\n  ['defer_sitename_confluence_control', 'control'],\n  ['defer_sitename_jsw_control', 'control'],\n  ['defer_sitename_confluence_non-enrolled', 'non-enrolled'],\n  ['defer_sitename_jsw_non-enrolled', 'non-enrolled']\n]);\n\nexport function getDeferSitenameExperimentCohort(): DeferSitenameCohort {\n  if (window?.cmsPageVariant && cmsPageVariants.has(window.cmsPageVariant)) {\n    return cmsPageVariants.get(window.cmsPageVariant) as DeferSitenameCohort;\n  }\n\n  return 'non-enrolled';\n}\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafSyntheticEventHandler({\n  fn,\n  action,\n  componentName,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(() => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","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';\n\n// This file is a singleton for managing tooltips\n\nlet active = null;\nexport function show(entry) {\n  let phase = 'waiting-to-show';\n  function isActive() {\n    return Boolean(active && active.entry === entry);\n  }\n  function cleanup() {\n    if (isActive()) {\n      clearScheduled();\n      active = null;\n    }\n  }\n  function done() {\n    if (isActive()) {\n      entry.done();\n    }\n    phase = 'done';\n    cleanup();\n  }\n  function immediatelyHideAndDone() {\n    if (isActive()) {\n      entry.hide({\n        isImmediate: true\n      });\n    }\n    done();\n  }\n  function keep() {\n    if (!isActive()) {\n      return;\n    }\n\n    // aborting a wait to hide\n    if (phase === 'waiting-to-hide') {\n      phase = 'shown';\n      clearScheduled();\n      return;\n    }\n\n    // aborting hide animation\n    if (phase === 'hide-animating') {\n      phase = 'shown';\n      clearScheduled();\n      entry.show({\n        isImmediate: false\n      });\n      return;\n    }\n  }\n  function requestHide({\n    isImmediate\n  }) {\n    if (!isActive()) {\n      return;\n    }\n\n    // If we were not showing yet anyway; finish straight away\n    if (phase === 'waiting-to-show') {\n      immediatelyHideAndDone();\n      return;\n    }\n\n    // already waiting to hide\n    if (phase === 'waiting-to-hide') {\n      return;\n    }\n    if (isImmediate) {\n      immediatelyHideAndDone();\n      return;\n    }\n    phase = 'waiting-to-hide';\n    scheduleTimeout(() => {\n      phase = 'hide-animating';\n      entry.hide({\n        isImmediate: false\n      });\n    }, entry.delay);\n  }\n  function finishHideAnimation() {\n    if (isActive() && phase === 'hide-animating') {\n      done();\n    }\n  }\n  function isVisible() {\n    return phase === 'shown' || phase === 'waiting-to-hide' || phase === 'hide-animating';\n  }\n  function getInitialMouse() {\n    if (entry.source.type === 'mouse') {\n      return entry.source.mouse;\n    }\n    return null;\n  }\n  function start() {\n    const showImmediately = Boolean(active && active.isVisible());\n\n    // If there was an active tooltip; we tell it to remove itself at once!\n    if (active) {\n      clearScheduled();\n      active.entry.hide({\n        isImmediate: true\n      });\n      active.entry.done();\n      active = null;\n    }\n\n    // this tooltip is now the active tooltip\n    active = {\n      entry,\n      isVisible\n    };\n    function show() {\n      phase = 'shown';\n      entry.show({\n        isImmediate: showImmediately\n      });\n    }\n    if (showImmediately) {\n      show();\n      return;\n    }\n    phase = 'waiting-to-show';\n    scheduleTimeout(show, entry.delay);\n  }\n  // let's get started!\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    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport TooltipPrimitive from './TooltipPrimitive';\nconst baseStyles = css({\n  boxSizing: 'border-box',\n  maxWidth: '240px',\n  padding: `${\"var(--ds-space-025, 2px)\"} ${\"var(--ds-space-075, 6px)\"}`,\n  top: \"var(--ds-space-0, 0px)\",\n  left: \"var(--ds-space-0, 0px)\",\n  borderRadius: \"var(--ds-radius-100, 3px)\",\n  fontSize: \"var(--ds-font-size-075, 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  }) =>\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  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  return {\n    getBoundingClientRect,\n    clientWidth: 0,\n    clientHeight: 0\n  };\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\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.8.2\"\n};\n\n// Inverts motion direction\nconst invertedDirection = {\n  top: 'bottom',\n  bottom: 'top',\n  left: 'right',\n  right: 'left'\n};\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 */\nconst getDirectionFromPlacement = placement => placement.split('-')[0];\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    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;\n      // @ts-ignore - React Ref typing is too strict for this use case\n      targetRef.current = node.firstChild;\n    }\n  }, [children]);\n\n  // Putting a few things into refs so that we don't have to break memoization\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    }\n    // Only call onHideHandler if we have called onShowHandler\n    if (hasCalledShowHandler.current) {\n      lastHandlers.current.onHideHandler();\n    }\n    // @ts-ignore\n    apiRef.current = null;\n    // @ts-ignore\n    hasCalledShowHandler.current = false;\n    // just in case\n    setState('hide');\n  }, []);\n  const abort = useCallback(() => {\n    if (!apiRef.current) {\n      return;\n    }\n    apiRef.current.abort();\n    // Only call onHideHandler if we have called onShowHandler\n    if (hasCalledShowHandler.current) {\n      lastHandlers.current.onHideHandler();\n    }\n    // @ts-ignore\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    }\n\n    // Tell the tooltip to keep showing\n    if (apiRef.current && apiRef.current.isActive()) {\n      apiRef.current.keep();\n      return;\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        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    (_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    if (state === 'before-fade-out') {\n      setState('fade-out');\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]);\n\n  // 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  const onMouseOver = useCallback(event => {\n    // Ignoring events from the container ref\n    if (containerRef.current && event.target === containerRef.current) {\n      return;\n    }\n\n    // Using prevent default as a signal that parent tooltips\n    if (event.defaultPrevented) {\n      return;\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]);\n\n  // 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  const onMouseOut = useCallback(event => {\n    // Ignoring events from the container ref\n    if (containerRef.current && event.target === containerRef.current) {\n      return;\n    }\n\n    // Using prevent default as a signal that parent tooltips\n    if (event.defaultPrevented) {\n      return;\n    }\n    event.preventDefault();\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    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  }, []);\n\n  // Doing a cast because typescript is struggling to narrow the type\n  const CastTargetContainer = TargetContainer;\n  const shouldRenderTooltipContainer = state !== 'hide' && Boolean(content);\n  const shouldRenderTooltipChildren = state !== 'hide' && state !== 'fade-out';\n  const getReferenceElement = () => {\n    var _apiRef$current3;\n    if (position === 'mouse' && (_apiRef$current3 = apiRef.current) !== null && _apiRef$current3 !== void 0 && _apiRef$current3.mousePosition) {\n      var _apiRef$current4;\n      return (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 ? void 0 : _apiRef$current4.mousePosition;\n    }\n    return targetRef.current || undefined;\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  };\n\n  // Don't set `data-testid` unless it's defined, as it's not in the interface.\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  // This useEffect is purely for managing the aria attribute when using the\n  // wrapped children approach.\n  useEffect(() => {\n    // If there is no container element, we should exit early, because that\n    // means they are using the render prop API, and that is implemented in a\n    // different way. If there is no target element yet or tooltipId, we also\n    // shouldn't do anything because there is nothing to operate on or with.\n    if (!containerRef.current || !targetRef.current || !tooltipId) {\n      return;\n    }\n\n    // Necessary for TS to know that it has the attribute methods\n    const target = targetRef.current;\n    if (shouldRenderTooltipContainer) {\n      target.setAttribute('aria-describedby', tooltipId);\n    } else {\n      target.removeAttribute('aria-describedby');\n    }\n  }, [shouldRenderTooltipContainer, tooltipId]);\n  return jsx(React.Fragment, null, typeof children === 'function' ?\n  // once we deprecate the wrapped approach, we can put the aria\n  // attribute back into the tooltipTriggerProps and make it required\n  // instead of optional in `types`\n  children({\n    ...tooltipTriggerProps,\n    'aria-describedby': tooltipId\n  }) : 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    }) =>\n    // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n    jsx(Container, {\n      ref: ref\n      /**\n       * \"Tooltip\" classname is a hook used by tests to manipulate\n       * and hide tooltips, including in VR snapshots\n       **/,\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}\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}","import Tooltip from '@atlaskit/tooltip';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { useSignUpFormUIState } from '../../../../../hook';\nimport { messages } from '../../../../../messages';\nimport { TooltipDialog } from './styled';\n\nexport function EulaComponent() {\n  const { isBeacon } = useSignUpFormUIState();\n  if (isBeacon) {\n    return (\n      <p className=\"eula-compass\">\n        <SanitizedFormattedHtmlMessage {...messages.eulaCompass} />\n        <Tooltip\n          component={TooltipDialog}\n          content={\n            <SanitizedFormattedHtmlMessage {...messages.eulaCompassTooltip} />\n          }\n        >\n          <span className=\"tooltip\">&nbsp;ⓘ</span>\n        </Tooltip>\n      </p>\n    );\n  }\n\n  return <SanitizedFormattedHtmlMessage {...messages.eula} />;\n}\n","/**\n *\n * @param contextString input\n * @returns string with only alphanumeric, dashes or underscores chars\n */\nexport const sanitizeCustomSignupContext = (contextString: string): string => {\n  return contextString.toLowerCase().replace(/[^a-z0-9-_]/g, '');\n};\n","import { IStargateClient } from '@atlassiansox/asc-stargate';\nimport { Environment, useStargateClient } from '@atlassiansox/bxpkit-core';\nimport { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport { v4 as generateUuid } from 'uuid';\nimport {\n  BITBUCKET_ANALYTICS_EVENTS,\n  logBitbucketAnalytics\n} from './bitbucket-analytics';\n\nexport type PollForOrgCreationSuccessArgs = {\n  readonly progressUri: string;\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\nexport type CreateAccountOrgArgs = {\n  orgDisplayName: string;\n  stargateClient: IStargateClient;\n  createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\nexport type CheckBitbucketWorkspaceSlugAvailabilityArgs = {\n  readonly workspaceSlug: string;\n  readonly stargateClient: IStargateClient;\n};\n\nexport const handleOrgCreate = async ({\n  orgDisplayName,\n  createAnalyticsEvent,\n  stargateClient = useStargateClient()\n}: CreateAccountOrgArgs): Promise<string | null> => {\n  const orgCreateResponse = await stargateClient\n    .cofsCreateOrg({ orgDisplayName })\n    .then(({ orgId, progressUri }) => {\n      const orgStatusUri = progressUri.split('/organization/')[1];\n      // convert the polling call to originate from wac\n      const pollUrl = `${Environment.getWacIntegrationUrl()}/gateway/api/cofs/${orgStatusUri}`;\n      return { orgId, progressUri: pollUrl };\n    })\n    .catch((error) => {\n      logBitbucketAnalytics({\n        createAnalyticsEvent,\n        analytics: {\n          event: `${BITBUCKET_ANALYTICS_EVENTS.ORG_CREATE} provisioned`,\n          eventType: 'operational',\n          action: 'errored',\n          attributes: {\n            errorCode: error?.response?.status,\n            errorMessage: error?.message\n          }\n        }\n      });\n      return null;\n    });\n\n  if (!orgCreateResponse) {\n    return null;\n  }\n\n  const { orgId, progressUri } = orgCreateResponse;\n\n  const provisioningSuccess = await handlePollOrgCreation({\n    progressUri,\n    createAnalyticsEvent\n  }).catch((error) => {\n    logBitbucketAnalytics({\n      createAnalyticsEvent,\n      analytics: {\n        event: `${BITBUCKET_ANALYTICS_EVENTS.ORG_CREATE_STATUS} polled`,\n        eventType: 'operational',\n        action: 'errored',\n        attributes: {\n          errorCode: error?.response?.status,\n          errorMessage: error?.message\n        }\n      }\n    });\n    return false;\n  });\n\n  logBitbucketAnalytics({\n    createAnalyticsEvent,\n    analytics: {\n      event: `${BITBUCKET_ANALYTICS_EVENTS.ORG_CREATE} provisioned`,\n      eventType: 'operational',\n      action: 'succeeded'\n    }\n  });\n\n  return provisioningSuccess ? orgId : null;\n};\n\nexport async function handlePollOrgCreation({\n  progressUri,\n  createAnalyticsEvent\n}: PollForOrgCreationSuccessArgs) {\n  let secondsPassed = 0;\n\n  return new Promise((resolve, reject) => {\n    const poll = setInterval(async () => {\n      secondsPassed++;\n\n      if (secondsPassed === 120) {\n        logBitbucketAnalytics({\n          createAnalyticsEvent,\n          analytics: {\n            event: `${BITBUCKET_ANALYTICS_EVENTS.ORG_CREATE_STATUS} polled`,\n            eventType: 'operational',\n            action: 'errored',\n            attributes: {\n              errorMessage: 'Error timeout exceeded'\n            }\n          }\n        });\n        clearInterval(poll);\n        reject('Error timeout exceeded');\n      }\n\n      const resp = await fetch(`${progressUri}`, {\n        method: 'GET',\n        headers: {\n          'Content-Type': 'application/json'\n        },\n        credentials: 'include'\n      })\n        .then((res) => res.json())\n        .catch((error) => {\n          logBitbucketAnalytics({\n            createAnalyticsEvent,\n            analytics: {\n              event: `${BITBUCKET_ANALYTICS_EVENTS.ORG_CREATE_STATUS} polled`,\n              eventType: 'operational',\n              action: 'errored',\n              attributes: {\n                errorCode: error?.response?.status,\n                errorMessage: error?.message\n              }\n            }\n          });\n          return { completed: false };\n        });\n\n      if (resp.completed) {\n        clearInterval(poll);\n\n        if (resp.successful) {\n          resolve(true);\n        } else {\n          resolve(false);\n        }\n      }\n    }, 1000);\n  });\n}\n\nexport async function checkBitbucketWorkspaceSlugAvailability({\n  workspaceSlug,\n  stargateClient = useStargateClient()\n}: CheckBitbucketWorkspaceSlugAvailabilityArgs): Promise<string> {\n  return await stargateClient\n    .bitbucketValidateWorkspaceSlug({\n      workspaceSlug\n    })\n    .then(({ new_ari }) => new_ari);\n}\n\nexport function generateBitbucketWorkspaceId(): string {\n  return `ari:cloud:bitbucket::workspace/${generateUuid()}`;\n}\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport { Checkbox } from '@atlaskit/checkbox';\nimport TextField from '@atlaskit/textfield';\nimport {\n  AppKey,\n  Environment,\n  MarieSchemaAnalytics,\n  OfferingCatalog,\n  SanitizedFormattedHtmlMessage,\n  Url,\n  useBXPExpressClient,\n  useStargateClient,\n  Storage\n} from '@atlassiansox/bxpkit-core';\nimport { Base64 } from 'js-base64';\nimport { useAppSelector } from '../../../../redux';\nimport {\n  trackActivateProductsSubmit,\n  trackDeferSitenameSignups,\n  trackFormSubmit,\n  trackN2ESubmit,\n  trackN2ESubmit2,\n  trackRecaptchaError,\n  trackSignupButtonClicked,\n  trackSignupContextTooLarge,\n  trackSignUpFormSubmitFailed,\n  trackSignUpFormSubmitSucceeded,\n  trackSubmitWithCaptcha,\n  trackErrorParsingAnchorJourneyCookie\n} from '../../../../service/sign-up-form/analytics';\nimport { checkProductEdition } from '../../../../service/sign-up-form/product-edition';\nimport _ from 'lodash';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport {\n  getTranslatableError,\n  messages\n} from '../../../../messages/sign-up-form';\nimport {\n  HandleSubmitType,\n  Product,\n  ProductKeys,\n  ProductPayloadObject,\n  Sites,\n  SubmitErrorIDType,\n  SubmitErrorType,\n  WacSignupFormWithIntlProps\n} from '../../../../model/wac-signup-form';\nimport { createSolutionStatsEvent } from '../../../../service/sign-up-form/analytics';\nimport {\n  FormPayloadActivateProducts,\n  formSubmitN2N,\n  isTestTenantByName,\n  pollForSuccess\n} from '../../../../service/sign-up-form/form-submit';\nimport {\n  checkBreachStatus,\n  productsCanBeInBreachOfFree\n} from '../../../../service/sign-up-form/free-breach';\nimport { CheckEmailPage } from '../check-email-page';\nimport {\n  BitbucketOrganizationPicker,\n  shouldRenderBitbucketOrgPicker\n} from './components/bitbucket-organization-picker';\nimport {\n  BitbucketAccountPicker,\n  BitbucketJiraInfoBox,\n  BreachInfoBox,\n  DisplayNameField,\n  EmailField,\n  GdprLocation,\n  InfoBox,\n  MigrationSource,\n  SiteNameField,\n  SitePickerField,\n  SubmitButton\n} from './components';\nimport { CarouselEnd } from './components/carousel-end';\nimport { FormWelcomeMessage } from './components/form-welcome-message';\nimport {\n  ErrorMessageWithDefaultClassName,\n  Eula,\n  EulaChooseSignup,\n  EulaDefaultExpandedEmail,\n  MarketingConsent,\n  NoCard,\n  NoCardDefaultExpandedEmail,\n  ReCaptchaEula,\n  ReCaptchaEulaDefaultExpandedEmail,\n  ResendEmailContainer,\n  WacSignupFormContainer,\n  WelcomeDiv,\n  InputSiteNameMessage,\n  BitbucketFieldsContainer,\n  FieldLabel,\n  WorkspaceIdPrefix,\n  TextFieldWrapper,\n  HelperMessageContainer,\n  OrgPickerElementMargin,\n  OrgProvisioningProgressContainer,\n  CCPSiteMigrationContainer\n} from './components/styled';\n\nimport {\n  useSignUpFormConfig,\n  useSignUpFormGlobalConfiguration,\n  useSignUpFormUIState,\n  useSiteNameGeneration\n} from '../../../../hook';\n\nimport { isNotUndefined } from '@atlassiansox/bxp-shared-utils';\nimport { useDeferSitenameExposed } from '../../../../hook/use-defer-sitename-exposed';\nimport { getDeferSitenameExperimentCohort } from '../utility/get-defer-sitename-experiment-cohort';\nimport { nextUrl } from '../utility/new-url';\nimport { EulaComponent } from './components/eula-component';\nimport {\n  getRedirectUrlFromShadowItError,\n  isResponseError\n} from '../../../../utility';\nimport Cookies from 'js-cookie';\nimport {\n  useExperiment,\n  useFeatureGate\n} from '@atlassiansox/bxp-web-statsig-client';\nimport { sanitizeCustomSignupContext } from '../../../../utility/sanitize-custom-signup-context';\nimport {\n  checkBitbucketWorkspaceSlugAvailability,\n  generateBitbucketWorkspaceId,\n  handleOrgCreate\n} from '../../../../service/sign-up-form/bitbucket-form-submit';\nimport { trackBitbucketWorkspaceProvFailure } from '../../../../service/sign-up-form/bitbucket-analytics';\nimport { default as AKButton } from '@atlaskit/button';\n\nconst offeringCatalog = new OfferingCatalog(Environment.getEnvironment());\n\nfunction getOpsgenieAdvancedSettings(dataRegion?: string | null) {\n  return {\n    advancedSettings: {\n      additionalProvisioningData: {\n        dataRegion: dataRegion === 'EU' ? 'europe' : 'main'\n      },\n      initialProductURL:\n        dataRegion === 'EU'\n          ? 'atlassian-app.eu.opsgenie.com'\n          : 'atlassian-app.opsgenie.com'\n    }\n  };\n}\n// shipit-55 SHPLV-364\ntype MakeAppInstallTypes = {\n  readonly siteName: string;\n  readonly appKey: string;\n  readonly xsrfToken: string;\n};\ntype UserSignupResponse = {\n  id: string;\n  otpRedirect?: string;\n};\n\nfunction getBillingAdvancedSettings() {\n  const queryParameters = Url.getUrlParams() || {};\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  const additionalProvisioningData: { [key: string]: any } = {};\n\n  if (queryParameters.hasOwnProperty('billingMode')) {\n    additionalProvisioningData.billingMode = queryParameters.billingMode;\n  }\n  if (queryParameters.hasOwnProperty('billingCode')) {\n    additionalProvisioningData.billingCode = queryParameters.billingCode;\n  }\n\n  return {\n    advancedSettings: {\n      additionalProvisioningData\n    }\n  };\n}\n\nexport function getBitbucketAdvancedSettings(\n  isStaging: boolean,\n  existingUser?: boolean | null\n) {\n  const suppressEmail = existingUser ? undefined : true;\n  const advancedSettingsObject = {\n    advancedSettings: {\n      initialProductURL: isStaging ? 'integration.bb-inf.net' : 'bitbucket.org',\n      additionalProvisioningData: {\n        signupLocation: 'WAC'\n      }\n    }\n  };\n  if (suppressEmail !== undefined) {\n    Object.assign(advancedSettingsObject.advancedSettings, { suppressEmail });\n  }\n  return advancedSettingsObject;\n}\n\nexport function getBitbucketSignupAction(\n  createBB: boolean,\n  createJSW: boolean\n) {\n  const createdJSW = createJSW ? 'created-jira-software.ondemand' : '';\n  const createdBB = createBB ? 'created-bitbucket.ondemand' : '';\n  const signupUrl = window?.location?.href || '';\n\n  return {\n    advancedSettings: {\n      additionalProvisioningData: {\n        signupUrl,\n        signupAction: `${createdBB}${\n          createBB && createJSW ? '-' : ''\n        }${createdJSW}`\n      }\n    }\n  };\n}\n\nexport function getStatuspageAdvancedSettings(\n  isStaging: boolean,\n  spProduct?: string\n) {\n  return {\n    advancedSettings: {\n      initialProductURL: isStaging\n        ? 'manage.statuspagestaging.com'\n        : 'manage.statuspage.io',\n      additionalProvisioningData: {\n        signupLocation: 'WAC',\n        spProduct: spProduct || 'public'\n      }\n    }\n  };\n}\n\nexport function getDevopsAdvancedSettings() {\n  return {\n    advancedSettings: {\n      additionalProvisioningData: {\n        dataRegion: 'main',\n        signupDevops: true\n      }\n    }\n  };\n}\n\nexport function getRequestId(progressUri: string) {\n  const pattern = new RegExp(/cloud\\/[\\w-]+\\/status\\/([\\w-]+)$/);\n  const matches = pattern.exec(progressUri);\n  return matches ? matches[1] : '';\n}\n\nexport function shouldSkipRecaptcha(email: string) {\n  const botTestPattern =\n    /(bottest@usersinbuckets.com|bottest@atl-paid-dev.com|bottest@bxpwpi.com)$/;\n  return botTestPattern.test(email);\n}\n\nconst DEVELOPER_EXPERIMENT_KEY = 'PUR-7747';\n\nconst WORKSPACE_VALIDATION_PATTERN: RegExp = /^[a-z0-9_-]+$/;\n\nexport function WacSignupForm(formProps: WacSignupFormWithIntlProps) {\n  const {\n    devMode,\n    migrationData,\n    showEmail,\n    hideFullName,\n    userInfo,\n    bitbucketWorkspaces,\n    marketingConsentRequired,\n    signInAccountUrl,\n    switchAccountUrl,\n    originAnalyticsAttributes,\n    productKeys,\n    isStaging,\n    wacEnvUrl,\n    analyticsTrack,\n    formExistingSiteShown = () => undefined,\n    deferSiteNameCreation,\n    templateId,\n    enableFreeBreachTest = false,\n    simulateFreeBreachState = false,\n    spProduct,\n    hideGreeting = false,\n    outlineOnFocus = false,\n    popOverError = false,\n    fadeOnDisable = false,\n    showWarningIcon = false,\n    hideCaptchaEula = false,\n    selectedSiteId = '',\n    siteRenamePageUrl,\n    enableSkipRecaptcha = true,\n    intl,\n    allowSignupWithAllSocialOptions,\n    teamType\n  } = formProps;\n\n  const {\n    edition: editionOverride,\n    useCcpPlatform,\n    platform,\n    experimentScreensFlags,\n    customSignupContext\n  } = useSignUpFormConfig();\n  const { featureFlags, deferredSiteName } = useAppSelector((store) => store);\n  const {\n    enableTintinMvp,\n    provisionSecondPartyApps,\n    enableDeferredFullName,\n    enableDefaultExpandedEmail\n  } = featureFlags;\n\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const stargateClient = useStargateClient();\n  const signUpFormUIState = useSignUpFormUIState();\n  const signupSource = new URLSearchParams(window.location.search).get(\n    'signupSource'\n  );\n  const bitbucketPreferred = signupSource === 'bbbundle' ? true : false;\n  const isPaid = !Url.getUrl()?.includes('/try/cloud/signup');\n  const isNewUser = !!signUpFormUIState.signupState.isNewUser;\n  const experiment = useExperiment('frontend_site_name_additional_copy');\n  const { site_name_additional_copy, site_name_generation } = experiment.value;\n  const isFreeJiraOrConfluence =\n    (signUpFormUIState.isJsw || signUpFormUIState.isConfluence) &&\n    signUpFormUIState.isFree &&\n    productKeys.length === 1;\n  const isNewUserInJiraOrConfluenceNotPaid =\n    isNewUser && isFreeJiraOrConfluence && !isPaid;\n  const isNewUserInSiteNameExperiment =\n    (site_name_additional_copy || site_name_generation) &&\n    isNewUserInJiraOrConfluenceNotPaid;\n\n  const { newRelic, segment } = analyticsTrack;\n  const context = useContext(MarieSchemaAnalytics);\n\n  const { confirmationPageUrl, checkEmailPageUrl, newUserSignupRedirectUrl } =\n    useSignUpFormGlobalConfiguration();\n\n  const generatedCloudName = useSiteNameGeneration();\n\n  const [exposedToDeferSitename, setExposedToDeferSitename] =\n    useState<boolean>(false);\n\n  const [isFocusedChooseSignup, setIsFocusedChooseSignup] = useState(true);\n  const [showError, setShowError] = useState(!!signUpFormUIState.isConfluence);\n  const [formReset, setFormReset] = useState(false);\n  const [recommendedSiteName, setRecommendedSiteName] = useState<\n    string | undefined\n  >(undefined);\n\n  const signupButtonText = isNewUserInSiteNameExperiment\n    ? messages.devopsCarouselButton\n    : signUpFormUIState.isConfluence\n    ? messages.startButtonTextChooseSignup\n    : allowSignupWithAllSocialOptions\n    ? messages.devopsButtonText\n    : signUpFormUIState.buttonText;\n\n  const productName = signUpFormUIState.isJsw ? 'Jira' : 'Confluence';\n\n  useEffect(() => {\n    const cartedProducts = productKeys.map((k) => k.product);\n\n    segment('bxp.formCloudSignup.viewedCheckoutStep', {\n      productAttributes: {\n        cartedProducts,\n        intendedProduct: cartedProducts[0]\n      }\n    });\n    segment('bxp.formCloudSignup.addedProduct', {\n      cartedProducts\n    });\n  }, []);\n\n  useEffect(() => {\n    async function getRecommendedSiteName() {\n      if (\n        userInfo?.email &&\n        site_name_generation &&\n        isNewUserInSiteNameExperiment\n      ) {\n        const { recommendedName } = await stargateClient.getRecommendedSiteName(\n          { email: userInfo.email, webPlatform: 'magnolia' }\n        );\n        setRecommendedSiteName(recommendedName);\n      }\n    }\n    getRecommendedSiteName().catch((err) => err);\n  }, [recommendedSiteName]);\n\n  useEffect(() => {\n    // Trigger isSubmitting state change to avoid race condition on form submit\n    signUpFormUIState.setSignupState({\n      ...signUpFormUIState.signupState,\n      isSubmitting: false\n    });\n  }, [formReset]);\n\n  useDeferSitenameExposed({\n    createAnalyticsEvent,\n    products: signUpFormUIState.signupState.products.map(\n      (product) => product?.product as string\n    ),\n    exposedToDeferSitename\n  });\n\n  if (migrationData && migrationData.invalidMigration) {\n    return (\n      <MigrationSource isClaimedMigration={migrationData.claimedMigration} />\n    );\n  }\n\n  // SHIPIT55\n  const bxpExpressClient = useBXPExpressClient();\n\n  function wrappedClientReq({\n    siteName,\n    appKey,\n    xsrfToken\n  }: MakeAppInstallTypes) {\n    return new Promise(async (resolve) => {\n      const response = await bxpExpressClient\n        .marketplaceAppInstall({\n          siteName,\n          appKey,\n          xsrfToken\n        })\n        .catch((err) => err);\n      resolve(response);\n    });\n  }\n\n  useEffect(() => {\n    // free-breach-test\n    if (\n      enableFreeBreachTest &&\n      signUpFormUIState.signupState.selectedSite &&\n      signUpFormUIState.signupState.products &&\n      productsCanBeInBreachOfFree(signUpFormUIState.signupState.products)\n    ) {\n      signUpFormUIState.setDisableSignInWhileTestingFreeBreach(true);\n      checkBreachStatus({\n        stargateClient,\n        cloudId: signUpFormUIState.signupState.selectedSite.cloudId,\n        productKeys: signUpFormUIState.signupState.products.map(\n          (productKey) => productKey.product\n        ) as string[]\n      })\n        .then((siteInBreach: boolean) => {\n          segment('bxpSignupFreeUserBreachSitePickerInBreach', {\n            selectedSiteId: signUpFormUIState.signupState.selectedSite?.cloudId\n          });\n          signUpFormUIState.setSelectedSiteIsInBreachOfFree(siteInBreach);\n          signUpFormUIState.setDisableSignInWhileTestingFreeBreach(false);\n        })\n        .catch((exception) => {\n          segment('bxpSignupFreeUserBreachSitePickerError', {\n            exception: JSON.stringify(exception)\n          });\n        });\n\n      if (simulateFreeBreachState) {\n        segment('bxpSignupFreeUserBreachSitePickerInBreach', {\n          selectedSiteId: signUpFormUIState.signupState.selectedSite?.cloudId\n        });\n        signUpFormUIState.setSelectedSiteIsInBreachOfFree(true);\n      }\n    }\n  }, [\n    signUpFormUIState.isBbCopyEnabled,\n    signUpFormUIState.signupState.cloudName,\n    signUpFormUIState.signupState.selectedSite,\n    signUpFormUIState.signupState.isExistingSitePickerN2E,\n    enableFreeBreachTest\n  ]);\n\n  const findIfJswIncluded = (cloudId: string | undefined): boolean => {\n    const siteProducts = userInfo?.sites?.filter(\n      (site) => site.cloudId === cloudId\n    )[0].products;\n\n    if (!siteProducts || !cloudId) {\n      return false;\n    }\n\n    return siteProducts.includes(ProductKeys.JIRA_SOFTWARE);\n  };\n\n  const handleSubmit = async ({\n    payload,\n    activateProducts = false,\n    cloudId = '',\n    isJswIncluded,\n    gRecaptchaResponse,\n    productEdition\n  }: HandleSubmitType) => {\n    if (!payload || !payload.products || payload.products.length < 1) {\n      return false;\n    }\n\n    Storage.setLocalStorage('consentConfig', JSON.stringify(payload.consent));\n\n    let referrerHash;\n    if (sessionStorage) {\n      referrerHash = sessionStorage.getItem('sContext');\n    }\n\n    const rHashDecoded = decodeURIComponent(\n      escape(window.atob(referrerHash || ''))\n    );\n    const combinedHash = window.btoa(\n      unescape(\n        encodeURIComponent(\n          [\n            rHashDecoded,\n            document.referrer.replace('|', ''),\n            gRecaptchaResponse\n          ].join('|')\n        )\n      )\n    );\n\n    let payloadProducts = payload.products.map(\n      (p: Product): ProductPayloadObject => {\n        const returnObj = {\n          accountName: payload.cloudName || undefined\n        };\n\n        //  We do not set edition for Opsgenie\n        if (p.product !== 'opsgenie') {\n          Object.assign(returnObj, { edition: editionOverride || p.edition });\n        }\n        if (\n          p.product === ProductKeys.JIRA_SOFTWARE &&\n          signUpFormUIState.isBundleBBJSW\n        ) {\n          Object.assign(returnObj, {\n            edition: productEdition || 'free'\n          });\n        }\n\n        if (signUpFormUIState.signupState.migrationId) {\n          Object.assign(returnObj, {\n            migrationSourceUuid: signUpFormUIState.signupState.migrationId,\n            edition:\n              p.edition !== 'standard' && p.edition !== 'premium'\n                ? 'standard'\n                : p.edition\n          });\n        }\n\n        return {\n          ...returnObj,\n          [`product${activateProducts ? 'Key' : ''}`]: p.product\n        };\n      }\n    );\n\n    // shipit55 apps bundle SHPLV-364\n    const productsIncludesApps = payloadProducts\n      .map(({ product }) => {\n        return Object.values(AppKey).includes(product as AppKey);\n      })\n      .includes(true);\n\n    if (productsIncludesApps) {\n      payloadProducts = _.remove(payloadProducts, ({ product }) => {\n        return !Object.values(AppKey).includes(product as AppKey);\n      });\n    }\n\n    // Check if 2nd Party App Provisioning Eligibility applies:\n    // Redirect if conditions are met (single-product JSW Free Edition\n    // New Site signups, no template/dev/migration signups).\n    const isAppProvisioningEligible =\n      provisionSecondPartyApps &&\n      !devMode &&\n      !templateId &&\n      !migrationData &&\n      payloadProducts.length === 1 &&\n      payloadProducts.map(({ edition }) => edition).includes('free') &&\n      payloadProducts\n        .map(({ product }) => product)\n        .includes(ProductKeys.JIRA_SOFTWARE);\n\n    const isTestTenant = isTestTenantByName(isStaging, payload.cloudName);\n\n    const cofsPayload = {\n      adminUsername: 'admin',\n      cloudName:\n        payload.cloudName ||\n        (deferredSiteName.isEnabled ? generatedCloudName : null),\n      adminPassword: payload.password,\n      email: payload.email,\n      timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n      firstName: payload.firstName,\n      lastName: payload.lastName,\n      products: payloadProducts,\n      consent: payload.consent,\n      gRecaptchaResponse: combinedHash,\n      advancedSettings: {}\n    };\n\n    const signupContext = {};\n    if (templateId) {\n      Object.assign(signupContext, { templateId });\n    }\n    // expcen-2603 cut 50 remove after experiment -> experiment has been removed but still needed for another teams experiment\n    if (\n      payload.products.length === 1 &&\n      payload.products[0].product === ProductKeys.JIRA_SOFTWARE &&\n      payload.products[0].edition === 'free'\n    ) {\n      Object.assign(signupContext, {\n        isCutOnboardingStepsInHalfEnabled: true\n      });\n    }\n    if (deferSiteNameCreation && !signUpFormUIState.signupState.isLoggedIn) {\n      if (signUpFormUIState.isStatuspage) {\n        // For statuspage, do not include the page path so the user\n        // will be directed straight to Statuspage\n        Object.assign(signupContext, {\n          autogenSiteName: 1\n        });\n      } else {\n        Object.assign(signupContext, {\n          pagePath: siteRenamePageUrl,\n          autogenSiteName: 1\n        });\n      }\n      cofsPayload.cloudName = null;\n    }\n\n    const bxpGatewayAnchorCookie = Cookies.get('bxp_gateway_anchor') || '';\n    if (bxpGatewayAnchorCookie) {\n      try {\n        const bxpGatewayAnchor = JSON.parse(bxpGatewayAnchorCookie);\n        if (bxpGatewayAnchor) {\n          bxpGatewayAnchor.timestamp = new Date();\n          Object.assign(signupContext, { bxpGatewayAnchor });\n        }\n      } catch (error) {\n        trackErrorParsingAnchorJourneyCookie({ createAnalyticsEvent });\n      }\n    }\n\n    if (isTestTenant) {\n      Object.assign(cofsPayload, { testingPurposes: true });\n    }\n    // 2nd party app provision skip integration screen in product\n    if (isAppProvisioningEligible) {\n      Object.assign(signupContext, { skipIntegrationsSurvey: true });\n    }\n\n    // slack promo confluence hack yay!!!!\n    if (experimentScreensFlags?.enableSlackPromoConfluence) {\n      Object.assign(signupContext, { slackPromoConfluence: true });\n    }\n\n    // custom signup context passed in from CMS configured Signup Form\n    if (customSignupContext) {\n      const sanitizedCustomSignupContext =\n        sanitizeCustomSignupContext(customSignupContext);\n      Object.assign(signupContext, {\n        customizedContextData: sanitizedCustomSignupContext\n      });\n    }\n\n    const MAX_SIGNUP_CONTEXT_LENGTH = 8192;\n    const signupContextString: string = JSON.stringify(signupContext);\n    if (signupContextString.length <= MAX_SIGNUP_CONTEXT_LENGTH) {\n      Object.assign(cofsPayload, {\n        signupContext: signupContextString\n      });\n    } else {\n      trackSignupContextTooLarge({\n        contextLength: signupContextString.length,\n        newRelic\n      });\n    }\n\n    const activateProductsPayload = {\n      products: payloadProducts,\n      cloudName: payload.cloudName\n    };\n    // suppress emails if you are not a confluence only sign up\n    if (\n      !(\n        payload.products.length === 1 &&\n        payload.products[0].product === ProductKeys.CONFLUENCE\n      )\n    ) {\n      Object.assign(cofsPayload, { advancedSettings: { suppressEmail: true } });\n      Object.assign(activateProductsPayload, {\n        advancedSettings: { suppressEmail: true }\n      });\n    }\n    const bbWorkSpace = signUpFormUIState.bbWorkspaces.filter(\n      (obj) => obj.workspace.name === payload.bbName\n    )[0];\n    const workspaceUuid = bbWorkSpace?.workspace?.uuid;\n\n    trackActivateProductsSubmit({\n      activateProducts,\n      segment\n    });\n\n    if (activateProducts) {\n      Object.assign(activateProductsPayload, { activateProducts }, { cloudId });\n      if (!signUpFormUIState.isBbCopyEnabled && bbWorkSpace !== undefined) {\n        Object.assign(activateProductsPayload, {\n          advancedSettings: {\n            additionalProvisioningData: {\n              workspaceUuid\n            }\n          }\n        });\n      }\n      if (signUpFormUIState.isBundleBBJSW) {\n        _.merge(\n          activateProductsPayload,\n          getBitbucketSignupAction(\n            bbWorkSpace === undefined,\n            !payload?.isExistingSitePickerN2E ||\n              (payload?.selectedSite?.products &&\n                !payload?.selectedSite?.products.includes(\n                  ProductKeys.JIRA_SOFTWARE\n                )) ||\n              false\n          )\n        );\n      }\n      if (signUpFormUIState.isOpsgenie) {\n        _.merge(\n          activateProductsPayload,\n          getOpsgenieAdvancedSettings(signUpFormUIState.signupState.dataRegion)\n        );\n      }\n      if (bitbucketPreferred) {\n        _.merge(\n          activateProductsPayload,\n          getBitbucketAdvancedSettings(isStaging, payload?.isLoggedIn)\n        );\n      }\n\n      if (signUpFormUIState.isStatuspage) {\n        _.merge(\n          activateProductsPayload,\n          getStatuspageAdvancedSettings(isStaging, spProduct)\n        );\n      }\n\n      _.merge(activateProductsPayload, getBillingAdvancedSettings());\n\n      const solutionStatsEvent = signUpFormUIState.isBundleBBJSW\n        ? createSolutionStatsEvent({\n            createAnalyticsEvent,\n            signUpFormUIState\n          })\n        : undefined;\n\n      return formSubmitN2N({\n        payload: activateProductsPayload,\n        wacEnvUrl,\n        confirmationPageUrl,\n        checkEmailPageUrl,\n        isStaging,\n        isLoggedIn: userInfo?.isLoggedIn,\n        isJswIncluded,\n        solutionStatsEvent,\n        isOpsgenieIncluded: signUpFormUIState.isOpsgenie,\n        dataRegion: payload.dataRegion,\n        setPollingLoaderShown: signUpFormUIState.setPollingLoaderShown,\n        analyticsTrack,\n        setSubmitError: signUpFormUIState.setSubmitError,\n        resendEmail: signUpFormUIState.resendEmail,\n        hideUserSegmentation: signUpFormUIState.hideUserSegmentation\n      });\n    }\n\n    if (!signUpFormUIState.isBbCopyEnabled && bbWorkSpace !== undefined) {\n      Object.assign(cofsPayload, {\n        advancedSettings: {\n          additionalProvisioningData: {\n            workspaceUuid\n          }\n        }\n      });\n      _.merge(\n        cofsPayload,\n        getBitbucketSignupAction(\n          bbWorkSpace === undefined,\n          !payload?.isExistingSitePickerN2E ||\n            (payload?.selectedSite?.products &&\n              !payload?.selectedSite?.products.includes(\n                ProductKeys.JIRA_SOFTWARE\n              )) ||\n            false\n        )\n      );\n    }\n\n    // for Devops payloads, avoid setting initialProductURL\n    // (gets set otherwise if a payload includes OG)\n    if (signUpFormUIState.isBundleDevops) {\n      _.merge(cofsPayload, getDevopsAdvancedSettings());\n    } else if (signUpFormUIState.isOpsgenie) {\n      _.merge(\n        cofsPayload,\n        getOpsgenieAdvancedSettings(signUpFormUIState.signupState.dataRegion)\n      );\n    }\n    if (signUpFormUIState.isBundleBBJSW && bbWorkSpace === undefined) {\n      _.merge(\n        cofsPayload,\n        getBitbucketSignupAction(\n          bbWorkSpace === undefined,\n          !payload?.isExistingSitePickerN2E ||\n            (payload?.selectedSite?.products &&\n              !payload?.selectedSite?.products.includes(\n                ProductKeys.JIRA_SOFTWARE\n              )) ||\n            false\n        )\n      );\n    }\n    if (bitbucketPreferred) {\n      _.merge(\n        cofsPayload,\n        getBitbucketAdvancedSettings(isStaging, payload?.isLoggedIn)\n      );\n    }\n    if (signUpFormUIState.isStatuspage) {\n      _.merge(cofsPayload, getStatuspageAdvancedSettings(isStaging, spProduct));\n    }\n\n    _.merge(cofsPayload, getBillingAdvancedSettings());\n\n    // Pass in known Experiment Key to COFS to activate Standard Developer license\n    if (devMode) {\n      Object.assign(cofsPayload, {\n        experiment: {\n          experimentKey: DEVELOPER_EXPERIMENT_KEY\n        }\n      });\n    }\n\n    if (signUpFormUIState.hideUserSegmentation) {\n      _.merge(cofsPayload, {\n        advancedSettings: {\n          additionalProvisioningData: {\n            hideUserSegmentation: true\n          }\n        }\n      });\n    }\n\n    trackFormSubmit({\n      isLoggedIn: userInfo?.isLoggedIn,\n      segment,\n      newRelic\n    });\n\n    const solutionStatsEvent = signUpFormUIState.isBundleBBJSW\n      ? createSolutionStatsEvent({\n          createAnalyticsEvent,\n          signUpFormUIState\n        })\n      : undefined;\n\n    if (!userInfo?.isLoggedIn) {\n      if (signUpFormUIState.n2nSignInRedirect !== '') {\n        return window.location.assign(signUpFormUIState.n2nSignInRedirect);\n      }\n      const displayName = signUpFormUIState.signupState.displayName || '';\n      const product = productKeys.map((p) => p.product).join(',');\n      const userSignupProducts = productKeys.map(({ product, edition }) => ({\n        productKey: product || '',\n        edition: edition || ''\n      }));\n      const nextUrlParams = {\n        accountName: payload.cloudName,\n        product\n      };\n      if (teamType) {\n        Object.assign(nextUrlParams, { team_type: teamType });\n      }\n\n      const url = nextUrl(nextUrlParams);\n      const { email } = signUpFormUIState.signupState;\n      const redirectTo = url(newUserSignupRedirectUrl || window.location.href);\n      signUpFormUIState.setPollingLoaderShown(true);\n\n      return stargateClient\n        .userSignup({\n          displayName,\n          email: email as string,\n          redirectTo,\n          locale: intl?.locale || 'en',\n          gRecaptchaResponse: gRecaptchaResponse || '',\n          products: userSignupProducts\n        })\n        .then((userSignupResponse: UserSignupResponse) => {\n          const { otpRedirect } = userSignupResponse;\n          sessionStorage.setItem(\n            'r.e.d',\n            Base64.encode(JSON.stringify({ email, displayName, redirectTo }))\n          );\n          if (otpRedirect) {\n            window.location.assign(url(otpRedirect));\n            return;\n          }\n          window.location.assign(url(checkEmailPageUrl));\n        })\n        .catch((err) => {\n          console.log(err);\n          signUpFormUIState.setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n        });\n    } else if (enableTintinMvp) {\n      if (payload.products.length) {\n        const ccpProducts = payload.products\n          .map(({ product, edition }) => {\n            // apps and product bundles SHIPit-55 SHPLV-364, we dont want it to try to look up app keys\n            if (Object.values(AppKey).includes(product as AppKey)) {\n              return;\n            }\n\n            return offeringCatalog.mapProductKeyAndEditionToCcpProduct({\n              productKey: product as ProductKeys,\n              edition: edition as string\n            });\n          })\n          .filter((p) => p !== undefined);\n\n        const siteName =\n          (signUpFormUIState.signupState.cloudName as string) ||\n          (deferredSiteName.isEnabled ? generatedCloudName : '') ||\n          (signUpFormUIState.isBitbucket && workspaceID ? workspaceID : '');\n\n        // stop if sitename is invalid • BXPSU-2541\n        if (\n          !deferredSiteName.isEnabled &&\n          !signUpFormUIState.isValidSiteName &&\n          !signUpFormUIState.isBitbucket\n        ) {\n          setFormReset((formReset) => !formReset);\n          return;\n        }\n\n        signUpFormUIState.setPollingLoaderShown(true);\n\n        // create the org if the user does not have a selected org\n        let provisioningOrgId;\n        let bitbucketWorkspaceMetadata = {};\n        let bitbucketWorkspaceUuid = '';\n        if (signUpFormUIState.isBitbucket) {\n          // check if the workspaceSlug is available before provisioning\n          let workspaceAri = generateBitbucketWorkspaceId();\n          try {\n            workspaceAri = await checkBitbucketWorkspaceSlugAvailability({\n              workspaceSlug: workspaceID as string,\n              stargateClient\n            });\n          } catch (error) {\n            const errorCode = error?.response?.status;\n\n            // We will only handle 409 and 400 codes.\n            // Continue provisioning if we get an unexpected error response\n            if (errorCode === 409 || errorCode === 400) {\n              if (errorCode === 409) {\n                signUpFormUIState.setWorkspaceIDTakenError(true);\n              } else {\n                signUpFormUIState.setIsValidWorkspaceID(false);\n              }\n\n              signUpFormUIState.setPollingLoaderShown(false);\n              signUpFormUIState.setOrgProvisioningProgressMessage(false);\n              setFormReset((formReset) => !formReset);\n              return;\n            }\n          }\n\n          provisioningOrgId =\n            signUpFormUIState.selectedOrg?.id ??\n            (await handleOrgCreate({\n              orgDisplayName: workspaceID as string,\n              stargateClient,\n              createAnalyticsEvent\n            }));\n\n          if (!provisioningOrgId) {\n            // handle org create failure\n            signUpFormUIState.setSubmitError(SubmitErrorType.ERROR_ORG_CREATE);\n            signUpFormUIState.setPollingLoaderShown(false);\n            signUpFormUIState.setOrgProvisioningProgressMessage(false);\n            setFormReset((formReset) => !formReset);\n            return;\n          }\n\n          bitbucketWorkspaceUuid = workspaceAri.slice(\n            workspaceAri.lastIndexOf('/') + 1\n          );\n\n          bitbucketWorkspaceMetadata = {\n            orgId: provisioningOrgId,\n            workspaceId: workspaceAri\n          };\n        }\n\n        trackDeferSitenameSignups({\n          isSiteNew: !signUpFormUIState.signupState.isExistingSitePickerN2E,\n          isSitenameSpecified: !!signUpFormUIState.signupState?.cloudName,\n          numberOfExistingUserSites: signUpFormUIState.pickableSites.length,\n          optionalSitenameFeatureCohort: getDeferSitenameExperimentCohort(),\n          sitename: siteName,\n          userId: signUpFormUIState?.signUpFormProps?.userInfo?.accountId || ''\n        });\n\n        const MAX_RETRIES = 1;\n        const RETRY_INTERVAL_SECONDS = 10;\n        let activateProductRetries = 0;\n        const callActivateProduct: () => Promise<void> = () =>\n          stargateClient\n            .activateProduct({\n              email: signUpFormUIState.signupState.email as string,\n              displayName: signUpFormUIState.signupState.displayName as string,\n              // @ts-ignore\n              ccpProducts,\n              siteName,\n              timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n              useCcpPlatform,\n              consent: payload.consent,\n              platform,\n              signupContext: signupContextString,\n              advancedSettings: cofsPayload.advancedSettings,\n              isNewUser,\n              gRecaptchaResponse: gRecaptchaResponse || '',\n              ...(isTestTenant && { testingPurposes: true }),\n              experiment: devMode\n                ? { experimentKey: DEVELOPER_EXPERIMENT_KEY }\n                : undefined,\n              migrationId: signUpFormUIState.signupState.migrationId as string,\n              ...bitbucketWorkspaceMetadata\n            })\n            .then((res) => {\n              // **NOTE**  With rollout integration, the response may be a COFS response, provisionRequestId may not exist, see below\n              const requestId = res.metadata?.provisionRequestId;\n              const products = payload.products\n                ?.map(({ product }) => product)\n                .join(',');\n\n              if (res.service === 'ccp') {\n                // Route user to CCP Confirmation page\n                let redirectUrl = `${confirmationPageUrl}?platform=ccp&provisioningRequestId=${requestId}&ondemandurl=${siteName}&products=${products}`;\n\n                if (res.cloudId) {\n                  redirectUrl += `&cloudId=${res.cloudId}`;\n                }\n\n                if (signupSource === 'confluenceBundle') {\n                  redirectUrl += `&signupSource=${signupSource}`;\n                }\n\n                // Add `n2n` param for EXPCEN-3749\n                if (\n                  products.includes(ProductKeys.JIRA_SOFTWARE) &&\n                  !!signUpFormUIState.signupState.isNewUser\n                ) {\n                  redirectUrl += `&n2n=true`;\n                }\n\n                // Add `templateId` param for EXPCEN-3749\n                if (templateId) {\n                  redirectUrl += `&templateId=${templateId}`;\n                }\n\n                //Add teamType for SPICE-931\n                if (teamType) {\n                  redirectUrl += `&team_type=${teamType}`;\n                }\n\n                window.location.assign(redirectUrl);\n              } else {\n                // Use older COFS logic to poll for successful status,\n                // which then routes to confirmation page\n\n                const progressUri = res.progressUri as string;\n\n                // **NOTE*** maybe want a track event here if progressUri doesn't exist?\n\n                pollForSuccess({\n                  isLoggedIn: true,\n                  confirmationPageUrl,\n                  checkEmailPageUrl,\n                  progressUri,\n                  products: payload.products as ProductPayloadObject[],\n                  analyticsTrack,\n                  isStaging,\n                  wacEnvUrl,\n                  cloudName: siteName,\n                  setSubmitError: signUpFormUIState.setSubmitError,\n                  setPollingLoaderShown:\n                    signUpFormUIState.setPollingLoaderShown,\n                  isJswIncluded,\n                  isNewUser,\n                  isOpsgenieIncluded: signUpFormUIState.isOpsgenie,\n                  dataRegion: signUpFormUIState.signupState.dataRegion,\n                  resendEmail: undefined, // **NOTE** used for Devops signups that won't work in CCP yet\n                  solutionStatsEvent,\n                  hideUserSegmentation: false, // **NOTE** used for Jira Templates which I dont think will work in CCP yet\n                  isAppProvisioningEligible, // **NOTE** won't work in CCP yet\n                  isBitbucketWorkspace: signUpFormUIState.isBitbucket,\n                  handlePollProgressStatusFailure: () =>\n                    setFormReset((formReset) => !formReset),\n                  ...(bitbucketWorkspaceUuid\n                    ? { bitbucketWorkspaceUuid }\n                    : undefined)\n                });\n              }\n            })\n            .catch(async (error) => {\n              // **NOTE** We probably want a gas event so we can track these?\n              console.log(error);\n\n              const errorCode = error?.response?.status;\n              const error_id = error?.response?.headers?.get('atl-traceid');\n\n              if (errorCode === 403 && signUpFormUIState.isBitbucket) {\n                if (activateProductRetries < MAX_RETRIES) {\n                  await new Promise((res) =>\n                    setTimeout(res, RETRY_INTERVAL_SECONDS * 1000)\n                  );\n                  activateProductRetries++;\n                  return callActivateProduct();\n                }\n              }\n\n              const redirectUrlShadowIt =\n                errorCode === 403 && getRedirectUrlFromShadowItError(error);\n\n              if (signUpFormUIState.isBitbucket) {\n                trackBitbucketWorkspaceProvFailure({\n                  createAnalyticsEvent,\n                  metadata: {\n                    errorCode: errorCode,\n                    workspaceUuid: workspaceUuid\n                  }\n                });\n              }\n\n              if (errorCode === 409) {\n                if (signUpFormUIState.isBitbucket) {\n                  signUpFormUIState.setWorkspaceIDTakenError(true);\n                }\n                signUpFormUIState.setActivateProductError(true);\n                signUpFormUIState.setPollingLoaderShown(false);\n                signUpFormUIState.setOrgProvisioningProgressMessage(false);\n\n                setFormReset((formReset) => !formReset);\n              } else if (errorCode === 403 && !!redirectUrlShadowIt) {\n                // Shadow IT unauthorized user redirects to adminhub's Shadow IT request flow.\n                window.location.assign(redirectUrlShadowIt);\n              } else {\n                if (signUpFormUIState.isBitbucket) {\n                  signUpFormUIState.setPollingLoaderShown(false);\n                  setFormReset((formReset) => !formReset);\n                }\n                signUpFormUIState.setSubmitError(\n                  SubmitErrorIDType.ERROR_TIMEOUT(error_id)\n                );\n              }\n            });\n\n        return callActivateProduct();\n      }\n    }\n\n    return formSubmitN2N({\n      payload: cofsPayload,\n      wacEnvUrl,\n      confirmationPageUrl,\n      checkEmailPageUrl,\n      isStaging,\n      solutionStatsEvent,\n      isLoggedIn: userInfo?.isLoggedIn,\n      isOpsgenieIncluded: signUpFormUIState.isOpsgenie,\n      dataRegion: payload.dataRegion,\n      setPollingLoaderShown: signUpFormUIState.setPollingLoaderShown,\n      analyticsTrack,\n      setSubmitError: signUpFormUIState.setSubmitError,\n      resendEmail: signUpFormUIState.resendEmail,\n      hideUserSegmentation: signUpFormUIState.hideUserSegmentation,\n      isAppProvisioningEligible\n    });\n  };\n\n  const { executeRecaptcha } = useGoogleReCaptcha();\n\n  const handleSubmitWithRecaptcha = async (\n    handleSubmitProps: HandleSubmitType\n  ) => {\n    if (!executeRecaptcha) {\n      return;\n    }\n\n    let token: string;\n\n    try {\n      token = await executeRecaptcha('userSignup');\n    } catch (error) {\n      trackRecaptchaError({ segment });\n      throw error;\n    }\n\n    if (token) {\n      trackSubmitWithCaptcha({ newRelic });\n\n      try {\n        await handleSubmit({\n          ...handleSubmitProps,\n          gRecaptchaResponse: token\n        });\n\n        trackSignUpFormSubmitSucceeded({\n          createAnalyticsEvent\n        });\n      } catch (error) {\n        trackSignUpFormSubmitFailed({\n          createAnalyticsEvent\n        });\n      }\n    }\n  };\n\n  const handleStartN2E = async (\n    products: Product[],\n    site: Sites,\n    migrationId: string | null\n  ) => {\n    if (products.length && site.cloudId && site.url) {\n      const siteDomain = site.url.replace('https://', '');\n\n      // SHIPIt-55 SHPLV-364\n      const productsIncludesApps = products\n        .map(({ product }) => {\n          return Object.values(AppKey).includes(product as AppKey);\n        })\n        .includes(true);\n\n      if (provisionSecondPartyApps && productsIncludesApps) {\n        // @ts-ignore\n        const appKey = products.find(({ product }) => {\n          return Object.values(AppKey).includes(product as AppKey);\n        }).product;\n        const xsrfToken = await bxpExpressClient.getXsrfToken();\n        const siteName = site.url.replace('https://', '').split('.')[0];\n        await wrappedClientReq({\n          siteName,\n          // @ts-ignore\n          appKey,\n          xsrfToken\n        });\n      }\n\n      if (products.length > 1) {\n        const { cloudId } = site;\n        const siteName = siteDomain.split('.')[0];\n        const productString = context.productsOffered.join(',');\n\n        const signupContext = {};\n        const bxpGatewayAnchorCookie = Cookies.get('bxp_gateway_anchor') || '';\n        if (bxpGatewayAnchorCookie) {\n          try {\n            const bxpGatewayAnchor = JSON.parse(bxpGatewayAnchorCookie);\n            if (bxpGatewayAnchor) {\n              bxpGatewayAnchor.timestamp = new Date();\n              Object.assign(signupContext, { bxpGatewayAnchor });\n            }\n          } catch (error) {\n            createAnalyticsEvent({\n              eventName: 'bxp.anchorJourney.parseCookieError'\n            }).fire();\n          }\n        }\n\n        const productsEditions =\n          products.map(({ product, edition }) => {\n            return offeringCatalog.mapProductKeyAndEditionToCcpProduct({\n              productKey: product as ProductKeys,\n              edition: edition as string\n            });\n          }) ?? [];\n\n        const offeringKeys = productsEditions\n          .map((item) => item.offeringId)\n          .join(',');\n\n        const ccpHamsStatus = await stargateClient.getCcpHamsStatus({\n          offeringKeys,\n          cloudId\n        });\n\n        if (ccpHamsStatus.service === 'CCP') {\n          const ccp = await stargateClient.getLicenceInformationStatus({\n            cloudId\n          });\n          const primaryProductCCP = Object.values(ccp.products ?? {}).find(\n            (prod) => !!prod.ccpTransactionAccountId && !!prod.ccpEntitlementId\n          );\n\n          if (primaryProductCCP) {\n            const res = await Promise.all(\n              productsEditions.map(async (product) => {\n                return await stargateClient.postProductActivate({\n                  offerings: [product],\n                  transactionAccountId:\n                    primaryProductCCP.ccpTransactionAccountId,\n                  entitlementId: primaryProductCCP.ccpEntitlementId || '',\n                  cloudId,\n                  siteName,\n                  advancedSettings: {\n                    signupContext: JSON.stringify(signupContext)\n                  },\n                  webPlatform: 'magnolia'\n                });\n              })\n            );\n\n            if (res[0].progressUri) {\n              const provisioningRequestIds = res\n                .map((product) => product.progressUri.split('/').pop())\n                .join(',');\n\n              let redirectUrl = `${confirmationPageUrl}?platform=ccp&provisioningRequestId=${provisioningRequestIds}&ondemandurl=${siteName}&products=${productString}`;\n\n              if (signupSource === 'confluenceBundle') {\n                redirectUrl += `&signupSource=${signupSource}`;\n              }\n\n              window.location.assign(redirectUrl);\n            }\n          } else {\n            const discoverProductsUrl = `${site.url}/admin/billing/applications`;\n            window.location.href = discoverProductsUrl;\n          }\n        } else {\n          const newProducts: ProductPayloadObject[] = products.map((item) => ({\n            accountName: siteName,\n            edition: item.edition,\n            productKey: item.product\n          }));\n          const payload: FormPayloadActivateProducts = {\n            cloudName: siteName,\n            cloudId,\n            activateProducts: true,\n            products: newProducts,\n            signupContext: JSON.stringify(signupContext)\n          };\n\n          // eslint-disable-next-line  @typescript-eslint/no-explicit-any\n          const res: any = await stargateClient.postCloudSignUp({\n            payload,\n            webPlatform: 'magnolia'\n          });\n\n          if (res.progressUri) {\n            const requestId = getRequestId(res?.progressUri);\n\n            let redirectUrl = `${confirmationPageUrl}?ondemandurl=${siteName}&cloudId=${cloudId}&requestId=${requestId}&products=${productString}`;\n\n            if (signupSource === 'confluenceBundle') {\n              redirectUrl += `&signupSource=${signupSource}`;\n            }\n\n            window.location.assign(redirectUrl);\n          } else {\n            const discoverProductsUrl = `${site.url}/admin/billing/applications`;\n            window.location.href = discoverProductsUrl;\n          }\n        }\n\n        return;\n      } else {\n        const baseStartUrl = isStaging\n          ? 'https://start.stg.atlassian.com'\n          : 'https://start.atlassian.com';\n        const productKey = products[0].product;\n\n        let startUrl = `${baseStartUrl}?startTrialProduct=${productKey}&startTrialCloudId=${site.cloudId}&startTrialInstance=${siteDomain}`;\n        if (editionOverride) {\n          startUrl += `&edition=${editionOverride}`;\n        } else if (products[0].edition) {\n          startUrl += `&edition=${products[0].edition}`;\n        }\n        if (migrationId) {\n          startUrl += `&migrationSourceUuid=${migrationId}`;\n        }\n\n        // custom signup context passed in from CMS configured Signup Form\n        if (customSignupContext) {\n          const sanitizedCustomSignupContext =\n            sanitizeCustomSignupContext(customSignupContext);\n          startUrl += `&customizedContextData=${sanitizedCustomSignupContext}`;\n        }\n\n        const queryParameters = Url.getUrlParams() || {};\n        if (queryParameters.hasOwnProperty('billingMode')) {\n          startUrl += `&billingMode=${queryParameters.billingMode}`;\n        }\n        if (queryParameters.hasOwnProperty('billingCode')) {\n          startUrl += `&billingCode=${queryParameters.billingCode}`;\n        }\n        startUrl = signUpFormUIState?.signupOrigin?.addToUrl(startUrl);\n\n        const idLoginStartUrl = new URL(\n          Environment.getIdSigninUrl(undefined, false, startUrl)\n        );\n        idLoginStartUrl.searchParams.set('application', 'wac');\n        idLoginStartUrl.searchParams.set(\n          'login_hint',\n          signUpFormUIState.signupState.email as string\n        );\n        const idLoginStartUrlString = idLoginStartUrl.toString();\n\n        trackN2ESubmit2({\n          cloudId: site.cloudId,\n          products,\n          signupUrl: idLoginStartUrlString,\n          accountId:\n            signUpFormUIState?.signUpFormProps?.userInfo?.accountId || '',\n          createAnalyticsEvent\n        });\n\n        window.location.href = idLoginStartUrlString;\n      }\n    } else {\n      // console.error('Missing site or product data');\n    }\n  };\n\n  const submitHandler = async (event: React.FormEvent<HTMLFormElement>) => {\n    event.preventDefault();\n\n    // Verify user is logged into correct account\n    if (userInfo?.isLoggedIn) {\n      const userInfoCheck = await stargateClient.me({});\n      if (userInfoCheck && userInfo?.accountId !== userInfoCheck.accountId) {\n        signUpFormUIState.setSubmitError(SubmitErrorType.AAID_MISMATCH);\n        return;\n      }\n    }\n\n    const buttonLabel = !signUpFormUIState.signupState.isExistingSitePickerN2E\n      ? signUpFormUIState.buttonText.defaultMessage\n      : signUpFormUIState.signupState.isSubmitting\n      ? messages.submitProcessingLabel.defaultMessage\n      : signUpFormUIState.startButtonText.defaultMessage;\n\n    trackSignupButtonClicked({ context, buttonLabel, createAnalyticsEvent });\n\n    const cloudId = signUpFormUIState.signupState?.selectedSite?.cloudId;\n    const siteName = signUpFormUIState.signupState?.cloudName;\n\n    // Check shadow IT to redirect user or not, for both N2N or N2E\n    if (userInfo?.isLoggedIn) {\n      try {\n        if (siteName) {\n          // Check for Shadow IT authorization.\n          await stargateClient.getActivationAuthorization({\n            productKeys: signUpFormUIState.signupState.products\n              .filter(isNotUndefined)\n              .map(({ product }) => product as ProductKeys),\n            productEdition: signUpFormUIState.signupState.products.filter(\n              (product) => !!product && !!product.edition\n            )[0].edition as string,\n            cloudId,\n            siteName,\n            webPlatform: 'magnolia'\n          });\n\n          createAnalyticsEvent({\n            event: 'authorized',\n            eventName: 'cloudSignupShadowItAuthorized',\n            eventType: 'track',\n            eventComponent: 'cloudSignupShadowIt',\n            eventColumn: 'cloudSignupShadowIt'\n          }).fire();\n        }\n      } catch (error) {\n        console.log('Error during shadow IT', error);\n\n        // Unauthorized due to Shadow IT.\n        if (isResponseError(error) && error.response.status === 403) {\n          createAnalyticsEvent({\n            event: 'unauthorized',\n            eventName: 'cloudSignupShadowItUnauthorized',\n            eventType: 'track',\n            eventComponent: 'cloudSignupShadowIt',\n            eventColumn: 'cloudSignupShadowIt'\n          }).fire();\n\n          const redirectUrl = getRedirectUrlFromShadowItError(error);\n\n          // Silently fail errors, unless explicitly unauthorized w/ redirectUrl.\n          if (!!redirectUrl) {\n            createAnalyticsEvent({\n              event: 'redirect',\n              eventName: 'cloudSignupShadowItRedirect',\n              eventType: 'track',\n              eventComponent: 'cloudSignupShadowIt',\n              eventColumn: 'cloudSignupShadowIt'\n            }).fire();\n            // Unauthorized redirect to adminhub's Shadow IT request flow.\n            window.location.assign(redirectUrl);\n            return;\n          }\n        }\n        // Silently fail unexpected errors for Shadow IT.\n        createAnalyticsEvent({\n          event: 'unexpected error',\n          eventName: 'cloudSignupShadowItError',\n          eventType: 'track',\n          eventComponent: 'cloudSignupShadowIt',\n          eventColumn: 'cloudSignupShadowIt'\n        }).fire();\n        console.warn('Unexpected error during Shadow IT', error);\n      }\n    }\n\n    if (\n      signUpFormUIState.signupState.isExistingSitePickerN2E &&\n      signUpFormUIState.isBundleBBJSW\n    ) {\n      // check to get edition type so existing site doesnt downgrade\n      const productEdition = await checkProductEdition({\n        cloudId,\n        productKey: ProductKeys.JIRA_SOFTWARE,\n        wacEnvUrl,\n        createAnalyticsEvent\n      });\n\n      return handleSubmitWithRecaptcha({\n        payload: signUpFormUIState.signupState,\n        activateProducts: true,\n        cloudId,\n        isJswIncluded: findIfJswIncluded(cloudId),\n        productEdition\n      });\n    } else if (\n      signUpFormUIState.signupState.isExistingSitePickerN2E &&\n      signUpFormUIState.signupState.selectedSite\n    ) {\n      trackN2ESubmit({\n        cloudId,\n        products: signUpFormUIState.signupState.products,\n        segment\n      });\n\n      return handleStartN2E(\n        signUpFormUIState.signupState.products,\n        signUpFormUIState.signupState.selectedSite,\n        signUpFormUIState.signupState.migrationId\n      );\n    } else {\n      if (!userInfo?.isLoggedIn) {\n        // For e2e testing, allow bypassing captcha on known pattern\n        // Must be handled in the backend as well\n        if (\n          signUpFormUIState.signupState.email &&\n          enableSkipRecaptcha &&\n          shouldSkipRecaptcha(signUpFormUIState.signupState.email)\n        ) {\n          return handleSubmitWithRecaptcha({\n            payload: signUpFormUIState.signupState\n          });\n        }\n        return handleSubmitWithRecaptcha({\n          payload: signUpFormUIState.signupState\n        });\n      } else {\n        return handleSubmitWithRecaptcha({\n          payload: signUpFormUIState.signupState\n        });\n      }\n    }\n  };\n\n  const handleDeferSite = () => {\n    if (signUpFormUIState.isBitbucket) return null;\n\n    const siteNameField = (!signUpFormUIState.signupState\n      .isExistingSitePickerN2E ||\n      signUpFormUIState.isSitePickerDisabled) && (\n      <SiteNameField\n        setExposedToDeferSitename={setExposedToDeferSitename}\n        onSiteNameChange={(cloudName, cloudNameLength) => {\n          signUpFormUIState.setSignupState({\n            ...signUpFormUIState.signupState,\n            cloudName,\n            cloudNameLength\n          });\n        }}\n        onSiteNameUseExisting={() => {\n          formExistingSiteShown(true);\n          segment('bxp.formCloudSignup.useExistingSiteClicked', {});\n          signUpFormUIState.setSignupState({\n            ...signUpFormUIState.signupState,\n            isExistingSitePickerN2E: true,\n            selectedSite: null,\n            cloudName: ''\n          });\n          signUpFormUIState.setIsValidSiteName(false);\n        }}\n        key={wacEnvUrl}\n        sites={null}\n        shouldShowUseExisting={\n          signUpFormUIState.shouldShowUseExisting &&\n          !signUpFormUIState.isSitePickerDisabled\n        }\n        siteNameAfter={signUpFormUIState.siteNameAfter}\n        wacEnvUrl={wacEnvUrl}\n        analyticsTrack={analyticsTrack}\n        setIsValidSiteName={(val) => signUpFormUIState.setIsValidSiteName(val)}\n        outlineOnFocus={outlineOnFocus}\n        popOverError={popOverError}\n        isDisabled={signUpFormUIState.signupState.isSubmitting}\n        fadeOnDisable={fadeOnDisable}\n        showWarningIcon={showWarningIcon}\n        isSuiteSignup={signUpFormUIState.isBundleDevops}\n        isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n        activateProductError={signUpFormUIState.activateProductError}\n        setActivateProductError={signUpFormUIState.setActivateProductError}\n        siteNameGenerationExperiment={\n          site_name_generation && isNewUserInJiraOrConfluenceNotPaid\n        }\n        siteNameAddtionalCopyExperiment={\n          site_name_additional_copy && isNewUserInJiraOrConfluenceNotPaid\n        }\n        recommendedSiteName={recommendedSiteName}\n      />\n    );\n\n    const sitePickerField = !signUpFormUIState.isSitePickerDisabled &&\n      signUpFormUIState.signupState.isExistingSitePickerN2E &&\n      userInfo &&\n      signUpFormUIState.pickableSites.length > 0 && (\n        <SitePickerField\n          key=\"site-picker\"\n          onSiteNameChange={(selectedSite, cloudName) => {\n            signUpFormUIState.setSignupState({\n              ...signUpFormUIState.signupState,\n              selectedSite,\n              cloudName\n            });\n          }}\n          onSiteNameStartNew={() => {\n            formExistingSiteShown(false);\n            segment('bxp.formCloudSignup.startANewSite', {});\n            signUpFormUIState.setSignupState({\n              ...signUpFormUIState.signupState,\n              isExistingSitePickerN2E: false,\n              selectedSite: null,\n              cloudName: ''\n            });\n          }}\n          isBundleActive={signUpFormUIState.isBundleBBJSW}\n          sites={signUpFormUIState.pickableSites}\n          siteNameAfter={signUpFormUIState.siteNameAfter}\n          analyticsTrack={analyticsTrack}\n          isFree={signUpFormUIState.isFree}\n          setIsValidSiteName={(val: boolean) =>\n            signUpFormUIState.setIsValidSiteName(val)\n          }\n          isDisabled={signUpFormUIState.signupState.isSubmitting}\n          showFreeLimitExceededError={\n            signUpFormUIState.selectedSiteIsInBreachOfFree\n          }\n          selectedSiteId={selectedSiteId}\n          productKeys={signUpFormUIState.signUpFormProps.productKeys}\n          isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n          fadeOnDisable={fadeOnDisable}\n        />\n      );\n\n    const isBeaconLimited =\n      signUpFormUIState.isBeacon && signUpFormUIState.pickableSites.length <= 0;\n\n    const beaconInfoBox = (\n      <InfoBox>\n        <p>\n          <FormattedMessage {...messages.beaconRequireProducts} />\n        </p>\n        <Button\n          appearance=\"primary\"\n          spacing=\"compact\"\n          href={`${wacEnvUrl}/software`}\n        >\n          <FormattedMessage {...messages.beaconExplore} />\n        </Button>\n      </InfoBox>\n    );\n\n    if (deferSiteNameCreation) {\n      if (signUpFormUIState.signupState.isLoggedIn) {\n        return [siteNameField, sitePickerField];\n      } else {\n        return null;\n      }\n    } else {\n      if (isBeaconLimited) {\n        return [beaconInfoBox];\n      } else {\n        return [siteNameField, sitePickerField];\n      }\n    }\n  };\n\n  if (signUpFormUIState.showResendEmail) {\n    const baseUrl = isStaging\n      ? `${wacEnvUrl}/apis/stg/hamlet`\n      : `${wacEnvUrl}/hamlet`;\n    const resendEmailScreen = (\n      <CheckEmailPage\n        layout=\"devops\"\n        baseUrl={baseUrl}\n        analyticsTrack={analyticsTrack}\n        hideHeader={\n          signUpFormUIState.isBundleBBJSW || signUpFormUIState.isBundleDevops\n        }\n        productKeys={productKeys.map((p) => (p.product ? p.product : ''))}\n      />\n    );\n    return <ResendEmailContainer>{resendEmailScreen}</ResendEmailContainer>;\n  }\n  if (signUpFormUIState.showDevopsCarouselEnd) {\n    return (\n      <CarouselEnd\n        isBundleDevops={signUpFormUIState.isBundleDevops}\n        goToProduct={signUpFormUIState.goToURL}\n      />\n    );\n  }\n\n  const [workspaceID, setWorkspaceID] = useState<string | undefined>(undefined);\n\n  const { orgList } = signUpFormUIState.orgFetchResponse;\n\n  const showWorkspaceIDErrorMessage =\n    workspaceID && !signUpFormUIState.isValidWorkspaceID;\n\n  const workspaceIdIsValid = (id: string | undefined): boolean => {\n    return !!id && WORKSPACE_VALIDATION_PATTERN.test(id);\n  };\n\n  const cmtForCCPFeatureFlag = useFeatureGate('wac-enable-cmt-for-ccp-site');\n  const enableSignUp =\n    !signUpFormUIState.signupState.isNewCCPSiteForMigration &&\n    (cmtForCCPFeatureFlag || !signUpFormUIState.signupState.hasCCPEntitlements);\n\n  return (\n    <WacSignupFormContainer\n      onSubmit={(event: React.FormEvent<HTMLFormElement>) => {\n        if (\n          (signUpFormUIState.orgAdminVortexStatusCounts.ENABLED === 0 &&\n            signUpFormUIState.orgAdminVortexStatusCounts.DISABLED > 0) ||\n          (orgList && orgList.length === 0)\n        ) {\n          signUpFormUIState.setOrgProvisioningProgressMessage(true);\n        }\n        if (\n          signUpFormUIState.isConfluence &&\n          !signUpFormUIState.isValidChooseSignup\n        ) {\n          setShowError(true);\n          setIsFocusedChooseSignup(false);\n          event.preventDefault();\n        } else {\n          signUpFormUIState.setSignupState({\n            ...signUpFormUIState.signupState,\n            isSubmitting: true\n          });\n          submitHandler(event)\n            .then(() => {\n              trackSignUpFormSubmitSucceeded({\n                createAnalyticsEvent\n              });\n            })\n            .catch(() => {\n              trackSignUpFormSubmitFailed({\n                createAnalyticsEvent\n              });\n            });\n        }\n      }}\n      method=\"POST\"\n      className={signUpFormUIState.hideAsterisks ? 'no-asterisks' : ''}\n    >\n      {isNewUserInSiteNameExperiment && (\n        <InputSiteNameMessage>\n          <FormattedMessage {...messages.inputSiteNameMessage} />\n        </InputSiteNameMessage>\n      )}\n      {!hideGreeting && (\n        <WelcomeDiv\n          headerStyle={\n            signUpFormUIState.isBundleDevops ||\n            (signUpFormUIState.isBundleBBJSW && !userInfo?.isLoggedIn)\n          }\n        >\n          <FormWelcomeMessage\n            isBundleDevops={signUpFormUIState.isBundleDevops}\n            isLoggedIn={userInfo?.isLoggedIn}\n            welcomeMessage={signUpFormUIState.welcomeMessage}\n            username={signUpFormUIState.initialState.firstName}\n          />\n        </WelcomeDiv>\n      )}\n      {\n        // show email for all non-Devops forms, or Devops N2N\n        ((showEmail && !signUpFormUIState.isBundleDevops) ||\n          (showEmail &&\n            signUpFormUIState.isBundleDevops &&\n            !userInfo?.isLoggedIn)) &&\n          !isNewUserInSiteNameExperiment && (\n            <EmailField\n              onEmailChange={(email) => {\n                signUpFormUIState.setSignupState({\n                  ...signUpFormUIState.signupState,\n                  email\n                });\n              }}\n              initialEmail={signUpFormUIState.intialEmail}\n              signInAccountUrl={signInAccountUrl}\n              switchAccountUrl={switchAccountUrl}\n              originAnalyticsAttributes={originAnalyticsAttributes}\n              analyticsTrack={analyticsTrack}\n              wacEnvUrl={wacEnvUrl}\n              isStaging={isStaging}\n              isDisabled={signUpFormUIState.signupState.isSubmitting}\n              outlineOnFocus={outlineOnFocus}\n              popOverError={popOverError}\n              fadeOnDisable={fadeOnDisable}\n              showWarningIcon={showWarningIcon}\n              onSSOCheckValid={(isValid: boolean) => {\n                signUpFormUIState.setSignupState({\n                  ...signUpFormUIState.signupState,\n                  isSSOValid: isValid\n                });\n              }}\n              isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n              isFocusedChooseSignup={isFocusedChooseSignup}\n              setIsFocusedChooseSignup={setIsFocusedChooseSignup}\n              showError={showError}\n              setShowError={setShowError}\n              setN2NSignInRedirect={signUpFormUIState.setN2NSignInRedirect}\n              isConfluence={signUpFormUIState.isConfluence}\n            />\n          )\n      }\n      {(!signUpFormUIState.isBundleBBJSW || !userInfo?.isLoggedIn) &&\n        !signUpFormUIState.signupState.isExistingSitePickerN2E &&\n        !hideFullName &&\n        !enableDeferredFullName &&\n        !enableDefaultExpandedEmail &&\n        !signUpFormUIState.isConfluence && (\n          <DisplayNameField\n            displayname={signUpFormUIState.signupState.displayName}\n            onNameChange={(displayName) =>\n              signUpFormUIState.setSignupState({\n                ...signUpFormUIState.signupState,\n                displayName\n              })\n            }\n            outlineOnFocus={outlineOnFocus}\n            popOverError={popOverError}\n            isDisabled={signUpFormUIState.signupState.isSubmitting}\n            fadeOnDisable={fadeOnDisable}\n          />\n        )}\n      {signUpFormUIState.isOpsgenie &&\n        !signUpFormUIState.isBundleDevops &&\n        !signUpFormUIState.signupState.isExistingSitePickerN2E &&\n        !!userInfo?.isLoggedIn && (\n          <GdprLocation\n            onLocationChange={(dataRegion) =>\n              signUpFormUIState.setSignupState({\n                ...signUpFormUIState.signupState,\n                dataRegion\n              })\n            }\n            analyticsTrack={analyticsTrack}\n          />\n        )}\n      {signUpFormUIState.isBundleBBJSW && (\n        <BitbucketJiraInfoBox\n          productsExisting={signUpFormUIState.productsExisting}\n          analyticsTrack={analyticsTrack}\n          bitbucketWorkspaces={bitbucketWorkspaces}\n        />\n      )}\n      {signUpFormUIState.isBitbucket && (\n        <BitbucketFieldsContainer>\n          <TextFieldWrapper\n            error={\n              showWorkspaceIDErrorMessage ||\n              signUpFormUIState.workspaceIDTakenError\n            }\n          >\n            <FieldLabel>\n              <FormattedMessage\n                {...messages.bitbucketWorkspaceIdFieldLabelMessage}\n              />\n            </FieldLabel>\n            <TextField\n              testId=\"bitbucket-workspace-id-input\"\n              autoComplete=\"off\"\n              maxLength={62}\n              elemBeforeInput={<WorkspaceIdPrefix children=\"bitbucket.org/\" />}\n              value={workspaceID}\n              onChange={({\n                target: { value: workspaceId }\n              }: React.ChangeEvent<HTMLInputElement>) => {\n                setWorkspaceID(workspaceId);\n                if (\n                  !signUpFormUIState.isValidWorkspaceID &&\n                  workspaceIdIsValid(workspaceId)\n                ) {\n                  signUpFormUIState.setIsValidWorkspaceID(true);\n                } else if (!workspaceIdIsValid(workspaceId)) {\n                  signUpFormUIState.setIsValidWorkspaceID(false);\n                }\n\n                if (signUpFormUIState.workspaceIDTakenError)\n                  signUpFormUIState.setWorkspaceIDTakenError(false);\n              }}\n              isRequired={true}\n              isInvalid={workspaceID && !signUpFormUIState.isValidWorkspaceID}\n            />\n            {showWorkspaceIDErrorMessage && (\n              <ErrorMessageWithDefaultClassName>\n                <FormattedMessage\n                  {...messages.bitbucketWorkspaceIdFieldErrorMessageCMT}\n                />\n              </ErrorMessageWithDefaultClassName>\n            )}\n          </TextFieldWrapper>\n          {signUpFormUIState.workspaceIDTakenError && (\n            <ErrorMessageWithDefaultClassName>\n              <FormattedMessage\n                {...messages.bitbucketWorkspaceIdTakenErrorMessageCMT}\n              />\n            </ErrorMessageWithDefaultClassName>\n          )}\n          {!showWorkspaceIDErrorMessage &&\n            !signUpFormUIState.workspaceIDTakenError && (\n              <HelperMessageContainer>\n                <FormattedMessage\n                  {...messages.bitbucketWorkspaceIdFieldHelperMessage}\n                />\n              </HelperMessageContainer>\n            )}\n          {orgList &&\n            shouldRenderBitbucketOrgPicker(\n              signUpFormUIState.orgAdminVortexStatusCounts\n            ) && (\n              <BitbucketOrganizationPicker\n                orgList={orgList}\n                selectedOrg={signUpFormUIState.selectedOrg}\n                setSelectedOrg={signUpFormUIState.setSelectedOrg}\n              />\n            )}\n          {orgList &&\n            signUpFormUIState.orgAdminVortexStatusCounts.ENABLED > 0 &&\n            signUpFormUIState.orgAdminVortexStatusCounts.DISABLED > 0 && (\n              <OrgPickerElementMargin>\n                <InfoBox>\n                  <p>\n                    <SanitizedFormattedHtmlMessage\n                      {...messages.bitbucketMissingOrgsInfoMessage}\n                      values={{\n                        supportUrl: 'https://support.atlassian.com/contact/'\n                      }}\n                    />\n                  </p>\n                </InfoBox>\n              </OrgPickerElementMargin>\n            )}\n          {orgList &&\n            signUpFormUIState.orgAdminVortexStatusCounts.ENABLED === 0 &&\n            signUpFormUIState.orgAdminVortexStatusCounts.DISABLED > 0 && (\n              <OrgPickerElementMargin>\n                <InfoBox>\n                  <p>\n                    <SanitizedFormattedHtmlMessage\n                      {...messages.bitbucketCreateNewOrgInfoMessage}\n                      values={{\n                        supportUrl: 'https://support.atlassian.com/contact/'\n                      }}\n                    />\n                  </p>\n                </InfoBox>\n              </OrgPickerElementMargin>\n            )}\n        </BitbucketFieldsContainer>\n      )}\n      <>{handleDeferSite()}</>\n      {signUpFormUIState.selectedSiteIsInBreachOfFree &&\n        signUpFormUIState.signupState.isExistingSitePickerN2E && (\n          <BreachInfoBox\n            analyticsTrack={analyticsTrack}\n            selectedSiteId={\n              signUpFormUIState.signupState.selectedSite?.cloudId || ''\n            }\n          />\n        )}\n      {signUpFormUIState.isBundleBBJSW &&\n        signUpFormUIState.bbWorkspaces.length > 0 && (\n          <BitbucketAccountPicker\n            sitesCount={signUpFormUIState.pickableSites.length}\n            bbWorkspaces={signUpFormUIState.bbWorkspaces}\n            bbWorkspacesTotal={signUpFormUIState.bbWorkspacesTotal}\n            selectedSite={\n              signUpFormUIState.signupState.selectedSite?.displayName ||\n              signUpFormUIState.signupState.cloudName\n            }\n            bbAccountCopy={(isEnabled) =>\n              signUpFormUIState.setIsBbCopyEnabled(isEnabled)\n            }\n            onAccountChange={(bbName) =>\n              signUpFormUIState.setSignupState({\n                ...signUpFormUIState.signupState,\n                bbName\n              })\n            }\n            bbNameOverride={signUpFormUIState.signupState.bbName || ''}\n            analyticsTrack={analyticsTrack}\n            isValidSiteName={signUpFormUIState.isValidSiteName}\n            isDisabled={signUpFormUIState.signupState.isSubmitting}\n          />\n        )}\n      {enableSignUp && marketingConsentRequired && (\n        <MarketingConsent className=\"marketing-consent sign-up-field-container\">\n          <Checkbox\n            label={<FormattedMessage {...messages.marketingConsent} />}\n            isDisabled={signUpFormUIState.signupState.isSubmitting}\n            onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n              const consentsState = signUpFormUIState.signupState;\n              consentsState.consent.consents[2].granted = event.target.checked;\n              signUpFormUIState.setSignupState({ ...consentsState });\n            }}\n          />\n        </MarketingConsent>\n      )}\n      {signUpFormUIState.submitError !== SubmitErrorType.NO_ERROR && (\n        <ErrorMessageWithDefaultClassName>\n          <SanitizedFormattedHtmlMessage\n            {...getTranslatableError(signUpFormUIState.submitError)}\n          />\n        </ErrorMessageWithDefaultClassName>\n      )}\n      {enableSignUp &&\n        !signUpFormUIState.isBundleDevops &&\n        !isNewUserInSiteNameExperiment && (\n          <>\n            {enableDefaultExpandedEmail ? (\n              <EulaDefaultExpandedEmail\n                onClick={() => {\n                  segment('bxp.formCloudSignup.eulaClicked', {});\n                }}\n              >\n                <EulaComponent />\n              </EulaDefaultExpandedEmail>\n            ) : signUpFormUIState.isConfluence ? (\n              <EulaChooseSignup\n                onClick={() => {\n                  segment('bxp.formCloudSignup.eulaClicked', {});\n                }}\n              >\n                <SanitizedFormattedHtmlMessage {...messages.eulaChooseSignup} />\n              </EulaChooseSignup>\n            ) : (\n              <Eula\n                onClick={() => {\n                  segment('bxp.formCloudSignup.eulaClicked', {});\n                }}\n              >\n                <EulaComponent />\n              </Eula>\n            )}\n          </>\n        )}\n      {!enableSignUp && (\n        <CCPSiteMigrationContainer>\n          <p>\n            {!signUpFormUIState.signupState.isExistingSitePickerN2E ? (\n              <FormattedMessage {...messages.ccpStartNewSiteRequiresSupport} />\n            ) : (\n              <FormattedMessage {...messages.ccpSiteMigrationRequiresSupport} />\n            )}\n            <br />\n            <FormattedMessage {...messages.ccpSiteMigrationFollowSteps} />\n            <b>\n              <FormattedMessage {...messages.contactSupportForCCPSite} />\n            </b>\n            <FormattedMessage {...messages.ccpSiteMigrationFollowStepsBelow} />\n          </p>\n          <ul>\n            <li style={{ marginBottom: 0 }}>\n              <FormattedMessage {...messages.ccpSiteMigrationStepSelect} />\n              <b>\n                <FormattedMessage\n                  {...messages.ccpSiteMigrationStepProductTrials}\n                />\n              </b>\n              <FormattedMessage {...messages.ccpSiteMigrationStepChoose} />\n              <b>\n                <FormattedMessage\n                  {...messages.ccpSiteMigrationStepExtendProductTrials}\n                />\n              </b>\n            </li>\n            <li style={{ marginTop: 0, marginBottom: 0 }}>\n              <FormattedMessage {...messages.ccpSiteMigrationStepSelectThe} />\n              <b>\n                <FormattedMessage {...messages.ccpSiteMigrationStepSEN} />\n              </b>\n              <FormattedMessage {...messages.ccpSiteMigrationStepDCLicense} />\n              <b>\n                <FormattedMessage {...messages.ccpSiteMigrationStepHelp} />\n              </b>\n            </li>\n            <li style={{ marginTop: 0, marginBottom: 0 }}>\n              <FormattedMessage\n                {...messages.ccpSiteMigrationStepAdditionalInfo}\n                values={{\n                  AdditionalDetailsFieldName: (\n                    <b>\n                      <FormattedMessage\n                        {...messages.ccpSiteMigrationStepAdditionalDetailsFieldName}\n                      />\n                    </b>\n                  )\n                }}\n              />\n            </li>\n          </ul>\n          <br />\n          <AKButton\n            testId=\"contact-support-btn\"\n            style={{ width: '100%' }}\n            appearance=\"primary\"\n            href={`${wacEnvUrl}/company/contact/purchasing-licensing#/`}\n            target=\"_blank\"\n          >\n            <FormattedMessage {...messages.contactSupportForCCPSite} />\n          </AKButton>\n        </CCPSiteMigrationContainer>\n      )}\n      {enableSignUp && !signUpFormUIState.signupState.isExistingSitePickerN2E && (\n        <SubmitButton\n          label={signUpFormUIState.buttonText.defaultMessage}\n          className={`submit-button ${\n            signUpFormUIState.isBundleDevops ? 'devops' : ''\n          }`}\n          id=\"submit-button-6707236536632157\"\n          isDisabled={\n            signUpFormUIState.signupState.isSubmitting ||\n            (!signUpFormUIState.isConfluence && !signUpFormUIState.isValid)\n          }\n          isLoading={signUpFormUIState.pollingLoaderShown}\n          shouldFitContainer\n          type=\"submit\"\n          appearance=\"primary\"\n          testId=\"submit-button\"\n        >\n          <FormattedMessage\n            {...signupButtonText}\n            values={{ product: productName }}\n          />\n        </SubmitButton>\n      )}\n      {enableSignUp && signUpFormUIState.signupState.isExistingSitePickerN2E && (\n        <SubmitButton\n          label={signUpFormUIState.startButtonText.defaultMessage}\n          className={`submit-button ${\n            signUpFormUIState.isBundleDevops ? 'devops' : ''\n          }`}\n          id=\"submit-button-6707236536632157\"\n          isDisabled={\n            !signUpFormUIState.isValidN2E ||\n            signUpFormUIState.signupState.isSubmitting ||\n            signUpFormUIState.selectedSiteIsInBreachOfFree ||\n            signUpFormUIState.disableSignInWhileTestingFreeBreach\n          }\n          isLoading={signUpFormUIState.pollingLoaderShown}\n          shouldFitContainer\n          type=\"submit\"\n          appearance=\"primary\"\n          testId=\"submit-button\"\n        >\n          <FormattedMessage\n            {...(signUpFormUIState.signupState.isSubmitting\n              ? messages.submitProcessingLabel\n              : signUpFormUIState.startButtonText)}\n          />\n        </SubmitButton>\n      )}\n      {signUpFormUIState.isBundleDevops && (\n        <Eula\n          onClick={() => {\n            segment('bxp.formCloudSignup.eulaClicked', {});\n          }}\n        >\n          <SanitizedFormattedHtmlMessage {...messages.eulaDevops} />\n        </Eula>\n      )}\n      {signUpFormUIState.orgProvisioningProgressMessage && (\n        <OrgProvisioningProgressContainer>\n          <FormattedMessage\n            {...messages.bitbucketOrgCreationPreparingProductMessage}\n          />\n          <br />\n          <FormattedMessage\n            {...messages.bitbucketOrgCreationEstimatedTimeMessage}\n          />\n        </OrgProvisioningProgressContainer>\n      )}\n      {enableSignUp &&\n        !allowSignupWithAllSocialOptions &&\n        !signUpFormUIState.isConfluence && (\n          <NoCard\n            as={\n              !signUpFormUIState.isConfluence && enableDefaultExpandedEmail\n                ? NoCardDefaultExpandedEmail\n                : NoCard\n            }\n          >\n            {!isNewUserInSiteNameExperiment && (\n              <FormattedMessage {...messages.noCard} />\n            )}\n          </NoCard>\n        )}\n      {enableSignUp && !signUpFormUIState.signupState.isLoggedIn && (\n        <div>\n          {!hideCaptchaEula && !signUpFormUIState.isConfluence && (\n            <>\n              {enableDefaultExpandedEmail ? (\n                <ReCaptchaEulaDefaultExpandedEmail\n                  onClick={() => {\n                    segment(\n                      'bxp.formCloudSignup.reCaptchaPrivacyPolicyClicked',\n                      {}\n                    );\n                  }}\n                >\n                  <SanitizedFormattedHtmlMessage {...messages.reCaptchaLegal} />\n                </ReCaptchaEulaDefaultExpandedEmail>\n              ) : (\n                <ReCaptchaEula\n                  onClick={() => {\n                    segment(\n                      'bxp.formCloudSignup.reCaptchaPrivacyPolicyClicked',\n                      {}\n                    );\n                  }}\n                >\n                  <SanitizedFormattedHtmlMessage {...messages.reCaptchaLegal} />\n                </ReCaptchaEula>\n              )}\n            </>\n          )}\n        </div>\n      )}\n    </WacSignupFormContainer>\n  );\n}\n\nWacSignupForm.messages = messages;\n\nexport default injectIntl(WacSignupForm);\n","import { generateRandomDigit } from '../utility';\n\nconst RANDOM_DIGIT_MIN = 0;\nconst RANDOM_DIGIT_MAX = 10;\n\nexport const SITE_NAME_PREFIX = 'team-';\n\nexport function useSiteNameGeneration(): string {\n  return `${SITE_NAME_PREFIX}${Date.now()}${generateRandomDigit(\n    RANDOM_DIGIT_MIN,\n    RANDOM_DIGIT_MAX\n  )}`;\n}\n","/**\n *\n * @param min included\n * @param max excluded\n * @returns random digit between two numbers\n */\nexport const generateRandomDigit = (min: number, max: number): number => {\n  return Math.floor(Math.random() * (max - min)) + min;\n};\n","import {\n  trackExposedToDeferSitename,\n  TrackExposedToDeferSitename\n} from '../service/sign-up-form/analytics';\nimport { useEffect } from 'react';\nimport { getDeferSitenameExperimentCohort } from '../layouts/legacy/view/utility/get-defer-sitename-experiment-cohort';\n\ntype Params = Omit<TrackExposedToDeferSitename, 'value'> & {\n  exposedToDeferSitename: boolean;\n};\n\nexport function useDeferSitenameExposed({\n  createAnalyticsEvent,\n  products,\n  exposedToDeferSitename\n}: Params) {\n  useEffect(() => {\n    if (exposedToDeferSitename) {\n      trackExposedToDeferSitename({\n        createAnalyticsEvent,\n        value: getDeferSitenameExperimentCohort(),\n        products\n      });\n    }\n  }, [createAnalyticsEvent, exposedToDeferSitename]);\n}\n","import { Environment } from '@atlassiansox/bxpkit-core';\n\ntype nextUrlOptions = {\n  accountName: string | null;\n  product?: string;\n  bundle?: string;\n  edition?: string;\n  signupSource?: string;\n  hideUserSegmentation?: string;\n  templateId?: string;\n  platform?: string;\n  team_type?: string;\n};\n\n// Returns a url to redirect the user to after submitting the form\nexport const nextUrl = (options: nextUrlOptions) => (url: string) => {\n  let href;\n\n  const splitPath = url.split('/');\n\n  if (url.startsWith('http')) {\n    href = new URL(url);\n  } else if (url[1]?.includes('wac')) {\n    splitPath.splice(0, 2);\n    href = new URL(\n      `${Environment.getWacIntegrationUrl()}/${splitPath.join('/')}`\n    );\n  } else {\n    href = new URL(window.location.href);\n    href.pathname = url;\n  }\n  const params = href.searchParams;\n\n  Object.entries(options)\n    .filter(([_key, value]) => value)\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    .forEach(([key, value]) => params.set(key, value!));\n\n  href.search = params.toString();\n\n  return href.toString();\n};\n","import 'isomorphic-fetch';\nimport { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';\n\nexport type productEditionType = {\n  readonly cloudId: string | undefined;\n  readonly productKey: string;\n  readonly wacEnvUrl: string;\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\nexport type EditionStatusType = {\n  readonly edition?: string;\n  readonly error?: string;\n};\n\nexport async function checkProductEdition({\n  cloudId,\n  productKey,\n  wacEnvUrl,\n  createAnalyticsEvent\n}: productEditionType) {\n  const productEditionStatusResponse = await fetch(\n    `${wacEnvUrl}/gateway/api/cloud/edition/${cloudId}/${productKey}`,\n    {\n      headers: {\n        'content-type': 'application/json'\n      },\n      method: 'GET',\n      credentials: 'include'\n    }\n  );\n\n  const productEditionStatus =\n    (await productEditionStatusResponse.json()) as EditionStatusType;\n\n  if (productEditionStatus.error) {\n    // If edition is free the response comes back as { \"error\": \"Product Edition Not Found\" }\n    const isFreeEdition =\n      productEditionStatus.error === 'Product Edition Not Found';\n    if (isFreeEdition) {\n      return 'free';\n    }\n\n    if (!isFreeEdition) {\n      createAnalyticsEvent({\n        eventName: 'bxp.cloud.edition.failed',\n        errorMessage: productEditionStatus.error\n      }).fire();\n    }\n\n    return null;\n  }\n\n  return productEditionStatus.edition;\n}\n","import retry from 'async-retry';\nimport _ from 'lodash';\nimport type {\n  AnalyticsTrackType,\n  Product,\n  UserInfo\n} from '../model/wac-signup-form';\nimport { ProductKeys } from '../model/wac-signup-form';\nimport { SignUpFormAPI } from '../layouts/legacy/view/sign-up-form';\nimport { sanitizeLastName } from '../layouts/legacy/view/utility';\n\nconst BXP_CLOUD_PERMS_CHECK = 'bxp.cloud-signup.rename.site.permissions.check';\nconst BXP_CLOUD_PERMS_CHECK_FALSE =\n  'bxp.cloud-signup.rename.site.permissions.check.failed';\n\nconst getDecodedSocialSignupInfo = (\n  encodedSocialSignupInfo: any | null | undefined\n) => {\n  if (encodedSocialSignupInfo) {\n    return {\n      ...encodedSocialSignupInfo,\n      email: decodeURIComponent(encodedSocialSignupInfo.email),\n      firstName: decodeURIComponent(encodedSocialSignupInfo.firstName),\n      fullName: decodeURIComponent(encodedSocialSignupInfo.fullName),\n      lastName: decodeURIComponent(encodedSocialSignupInfo.lastName)\n    };\n  } else {\n    return null;\n  }\n};\n\ntype GetRenameSiteUrlType = {\n  wacEnvUrl: string;\n  confirmationPageUrl: string;\n  cloudId: string;\n  cloudName: string;\n  productKeys: string[];\n  progressUri: string;\n  isPermitted: boolean;\n  siteRenamePageUrl: string;\n  hideUserSegmentation?: boolean;\n};\n\nexport function getRenameSiteUrl({\n  wacEnvUrl,\n  confirmationPageUrl,\n  cloudId,\n  cloudName,\n  productKeys,\n  progressUri,\n  isPermitted,\n  siteRenamePageUrl,\n  hideUserSegmentation\n}: GetRenameSiteUrlType) {\n  const confirmationUrl = SignUpFormAPI.generateConfirmationUrl({\n    wacEnvUrl,\n    confirmationPageUrl,\n    cloudId,\n    progressUri,\n    cloudName,\n    products: productKeys.join(','),\n    hideUserSegmentation\n  });\n\n  // Build rename site url\n  return SignUpFormAPI.generateRenameUrl(\n    wacEnvUrl,\n    cloudId,\n    progressUri,\n    confirmationUrl,\n    siteRenamePageUrl,\n    isPermitted\n  );\n}\n\nexport const localStorageGet = (key: string): string => {\n  try {\n    return localStorage.getItem(key) || '';\n  } catch (e) {\n    return '';\n  }\n};\n\nexport function checkIfVisited(\n  userInfo: UserInfo,\n  setShowSignupForm: (val: boolean) => void\n) {\n  if (sessionStorage) {\n    const storage =\n      window.atob(sessionStorage.getItem('social-signup') || '') || null;\n    let socialSignupInfo = null;\n    if (storage !== null) {\n      socialSignupInfo = JSON.parse(storage);\n\n      const decodedSocialSignupInfo =\n        getDecodedSocialSignupInfo(socialSignupInfo);\n      if (decodedSocialSignupInfo !== null) {\n        if (_.isEqual(userInfo, decodedSocialSignupInfo.userInfo)) {\n          // user is the same, redirect to stored rename url\n          window.location.replace(decodedSocialSignupInfo.redirectUrl);\n        } else {\n          // user is not the same, remove session storage and show signup form\n          sessionStorage.removeItem('social-signup');\n          setShowSignupForm(true);\n        }\n        return true;\n      }\n    }\n  }\n  return false;\n}\n\nexport function getStatuspageAdvancedSettings(isStaging: boolean) {\n  return {\n    advancedSettings: {\n      initialProductURL: isStaging\n        ? 'manage.statuspagestaging.com'\n        : 'manage.statuspage.io',\n      additionalProvisioningData: {\n        signupLocation: 'WAC',\n        spProduct: 'public'\n      }\n    }\n  };\n}\n\nexport const getEncodedUserInfo = (unencodedUserInfo: UserInfo) => ({\n  ...unencodedUserInfo,\n  email: encodeURIComponent(unencodedUserInfo.email || ''),\n  firstName: encodeURIComponent(unencodedUserInfo.firstName || ''),\n  fullName: encodeURIComponent(unencodedUserInfo.fullName || ''),\n  lastName: encodeURIComponent(unencodedUserInfo.lastName || '')\n});\n\nconst trackPermsNR = (\n  analyticsTrack: AnalyticsTrackType,\n  cloudId: string,\n  status: any,\n  retryCount: number,\n  permitted?: any\n) => {\n  analyticsTrack.newRelic.action(\n    BXP_CLOUD_PERMS_CHECK,\n    JSON.stringify({\n      cloudId,\n      status,\n      retryCount,\n      permitted\n    })\n  );\n};\n\nexport function checkPerms(\n  cloudId: string,\n  wacEnvUrl: string,\n  analyticsTrack: AnalyticsTrackType\n) {\n  let retryCount = 1;\n  return retry(\n    async (bail) => {\n      // if anything throws, we retry\n      const postBody = {\n        dontRequirePrincipalInSite: 'true',\n        permissionId: 'manage',\n        resourceId: `ari:cloud:platform::site/${cloudId}`\n      };\n\n      const options = {\n        headers: {\n          'content-type': 'application/json'\n        },\n        method: 'POST',\n        body: JSON.stringify(postBody)\n      };\n      const perms = await fetch(\n        `${wacEnvUrl}/gateway/api/permissions/permitted`,\n        options\n      );\n\n      if (\n        403 === perms.status ||\n        401 === perms.status ||\n        500 === perms.status\n      ) {\n        trackPermsNR(analyticsTrack, cloudId, perms.status, retryCount);\n        bail(new Error('Unauthorized or Server error'));\n        return;\n      }\n      // retry if Perms returned http != 200\n      if (200 !== perms.status) {\n        trackPermsNR(analyticsTrack, cloudId, perms.status, retryCount);\n\n        retryCount++;\n        throw new Error(BXP_CLOUD_PERMS_CHECK_FALSE);\n      }\n\n      const data = await perms.json();\n      trackPermsNR(\n        analyticsTrack,\n        cloudId,\n        perms.status,\n        retryCount,\n        data.permitted\n      );\n\n      // retry if Perms returned http 200 with permitted=false\n      if (!(data.permitted === true)) {\n        retryCount++;\n        throw new Error(BXP_CLOUD_PERMS_CHECK_FALSE);\n      }\n      return data;\n    },\n    {\n      retries: 4,\n      minTimeout: 1000,\n      maxTimeout: 1000\n    }\n  );\n}\n\nexport function getProductKeys(products: Product[]) {\n  return products.map(({ product }) => product as string);\n}\n\nexport function filterEligibleSites(\n  userInfo: UserInfo,\n  productKeysSelectedForProvisioning: string[]\n) {\n  const { sites: userSites, extendedTrialOverridableSites } = userInfo;\n  return !!userSites\n    ? userSites?.filter((existingUserSite: { products: any; cloudId: any }) => {\n        const { products: existingProductKeysOnSite, cloudId } =\n          existingUserSite;\n\n        return (\n          !productKeysSelectedForProvisioning.some((productKey) =>\n            existingProductKeysOnSite.includes(productKey)\n          ) || extendedTrialOverridableSites?.includes(cloudId)\n        );\n      })\n    : [];\n}\n\nexport function buildSocialSignUpPayload(\n  userInfo: UserInfo,\n  productsSelectedForProvisioning: Product[],\n  templateId: string | undefined,\n  devMode: boolean,\n  isStaging: boolean,\n  hideUserSegmentation: boolean\n) {\n  const { email, firstName, lastName } = userInfo;\n\n  // Some users may not have a last name due to registration by Full Name in some flows\n  // COFS requires a last name currently, so we set lastname  '.' in this case\n  const sanitizedLastName = sanitizeLastName(lastName);\n\n  const signupContext = {};\n  Object.assign(signupContext, {\n    pagePath: 'rename/site',\n    autogenSiteName: 1\n  });\n\n  // Pass in template id for on-boarding in app (Confluence only currently)\n  if (templateId) {\n    Object.assign(signupContext, { templateId });\n  }\n\n  const payload = {\n    products: productsSelectedForProvisioning.map(\n      ({ product: productKey, edition }) => ({\n        product: productKey,\n        edition\n      })\n    ),\n    adminUsername: 'admin',\n    cloudName: null,\n    email,\n    firstName,\n    lastName: sanitizedLastName\n  };\n  Object.assign(payload, {\n    signupContext: JSON.stringify(signupContext)\n  });\n\n  const isStatuspage = productsSelectedForProvisioning.some(\n    ({ product }) => product === ProductKeys.STATUSPAGE\n  );\n  if (isStatuspage) {\n    _.merge(payload, getStatuspageAdvancedSettings(isStaging));\n  }\n  if (hideUserSegmentation) {\n    _.merge(payload, {\n      advancedSettings: {\n        additionalProvisioningData: {\n          hideUserSegmentation: true\n        }\n      }\n    });\n  }\n\n  // Pass in known Experiment Key to COFS to activate Standard Developer license\n  if (devMode) {\n    const DEVELOPER_EXPERIMENT_KEY = 'PUR-7747';\n    Object.assign(payload, {\n      experiment: {\n        experimentKey: DEVELOPER_EXPERIMENT_KEY\n      }\n    });\n  }\n\n  return payload;\n}\n","import styled from '@emotion/styled';\nimport Cookies from 'js-cookie';\nimport _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport { useSignUpFormGlobalConfiguration } from '../../../../hook/use-sign-up-form-global-configuration';\n\nimport { ProductKeys } from '../../../../model';\nimport type { AnalyticsTrackType, Product, UserInfo } from '../../../../model';\nimport {\n  buildSocialSignUpPayload,\n  checkIfVisited,\n  checkPerms,\n  filterEligibleSites,\n  getEncodedUserInfo,\n  getProductKeys,\n  getRenameSiteUrl,\n  localStorageGet\n} from '../../../../service';\nimport { SocialSignupErrorView } from './error';\nimport { messages } from './messages';\n\nexport type SocialSignUpViewProps = {\n  readonly loadingImageUrl: string;\n  readonly productKeys: Product[];\n  readonly userInfo?: UserInfo;\n  readonly isStaging: boolean;\n  readonly wacEnvUrl: string;\n  readonly devMode: boolean;\n  readonly templateId?: string;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly setShowSignupForm: (val: boolean) => void;\n  readonly tryAgainErrorUrl: string;\n  readonly errorImageSrc: string;\n  readonly testing?: boolean;\n  readonly setShowSocialSignupForm?: (val: boolean) => void;\n  readonly siteRenamePageUrl: string;\n  readonly locale: string;\n};\n\nexport const isProductIncluded = (productKeys: Product[], product: string) => {\n  return _.includes(\n    _.map(productKeys, (productKey: Product) => productKey.product),\n    product\n  );\n};\n\nexport function SocialSignUpView(props: SocialSignUpViewProps) {\n  const {\n    userInfo,\n    productKeys: productsSelectedForProvisioning,\n    setShowSignupForm,\n    loadingImageUrl,\n    errorImageSrc,\n    isStaging,\n    wacEnvUrl,\n    devMode,\n    templateId,\n    analyticsTrack,\n    tryAgainErrorUrl,\n    testing,\n    setShowSocialSignupForm,\n    siteRenamePageUrl\n  } = props;\n  const [showErrorPage, setShowErrorPage] = useState(false);\n  const tryAgainUrl = `${tryAgainErrorUrl}/logout?continue=${window.location.href}`;\n\n  const { confirmationPageUrl } = useSignUpFormGlobalConfiguration();\n\n  useEffect(() => {\n    // return if userInfo is not ready or the user is not logged in\n    if (!userInfo || !userInfo.isLoggedIn) {\n      analyticsTrack.segment('bxp.reactSocialSignup.notLoggedIn', {});\n      return;\n    }\n\n    // check session storage if this user been on social signup before\n    // redirect to stored rename url if they did\n    if (checkIfVisited(userInfo, setShowSignupForm)) {\n      analyticsTrack.segment('bxp.reactSocialSignup.alreadyVisited', {});\n      return;\n    }\n\n    const productKeysSelectedForProvisioning = getProductKeys(\n      productsSelectedForProvisioning\n    );\n\n    const isJsw = isProductIncluded(\n      productsSelectedForProvisioning,\n      ProductKeys.JIRA_SOFTWARE\n    );\n    const isJsm = isProductIncluded(\n      productsSelectedForProvisioning,\n      ProductKeys.JIRA_SERVICE_DESK\n    );\n    const isJwm = isProductIncluded(\n      productsSelectedForProvisioning,\n      ProductKeys.JIRA_CORE\n    );\n    // suppress User Segmentation Screen for Jira Template Signups\n    const hideUserSegmentation = !!(templateId && (isJsw || isJsm || isJwm));\n\n    // show the N2E signup form if the user has existing sites that do not\n    // already have the selected products or do but they are extended trials\n    const eligibleSites = filterEligibleSites(\n      userInfo,\n      productKeysSelectedForProvisioning\n    );\n\n    const hasEligibleSites = eligibleSites.length > 0;\n    // has eligible sites so show N2E form for user to select existing site\n    // to add these new products to\n    setShowSignupForm(hasEligibleSites);\n    analyticsTrack.segment('bxp.reactSocialSignup.hasEligibleSites', {\n      hasEligibleSites\n    });\n\n    if (hasEligibleSites) {\n      // setShowSignupForm equaling false will make the signupform render,\n      // if its true the loading gif will always show\n      if (setShowSocialSignupForm !== undefined) {\n        setShowSocialSignupForm(false);\n      }\n      analyticsTrack.segment('bxp.reactSocialSignup.foundEligibleSites', {\n        numEligibleSites: eligibleSites.length,\n        productKeysSelectedForProvisioning\n      });\n      analyticsTrack.newRelic.action(\n        'Found Eligible Sites',\n        JSON.stringify({\n          numEligibleSites: eligibleSites.length,\n          productKeysSelectedForProvisioning\n        })\n      );\n    } else {\n      if (!!userInfo.sites && userInfo.sites?.length > 1) {\n        analyticsTrack.segment('bxp.reactSocialSignup.foundExistingSites', {\n          numExistingSites: userInfo.sites.length,\n          productKeysSelectedForProvisioning\n        });\n        analyticsTrack.newRelic.action(\n          'Found Existing Sites',\n          JSON.stringify({\n            numExistingSites: userInfo.sites.length,\n            productKeysSelectedForProvisioning\n          })\n        );\n      } else {\n        analyticsTrack.segment('bxp.reactSocialSignup.foundNoSites', {});\n        analyticsTrack.newRelic.action('Found No Sites', '');\n      }\n\n      // if no eligible sites, create new site and redirect to confirmation page\n      const payload = buildSocialSignUpPayload(\n        userInfo,\n        productsSelectedForProvisioning,\n        templateId,\n        devMode,\n        isStaging,\n        hideUserSegmentation\n      );\n\n      const submitUrl = userInfo.isLoggedIn\n        ? `https://${\n            isStaging ? 'wac.stg.internal.' : 'www.'\n          }atlassian.com/gateway/api/cloud/signup`\n        : `${wacEnvUrl}/endpoint/cloud/signupAnon`;\n      fetch(submitUrl, {\n        method: 'POST',\n        headers: {\n          'Content-Type': 'application/json',\n          'atl-cookies': JSON.stringify({\n            _ga: Cookies.get('_ga') || '',\n            seg_xid: localStorageGet('seg_xid'),\n            __atl_path: Cookies.get('__atl_path') || '',\n            ajs_anonymous_id: Cookies.get('ajs_anonymous_id') || ''\n          })\n        },\n        body: JSON.stringify(payload),\n        credentials: 'include'\n      })\n        .then((response: Response) => {\n          if (response.ok && response.status === 200) {\n            response\n              .json()\n              .then((body) => {\n                analyticsTrack.segment(\n                  'bxp.cloud-signup.social-signup-page.site-created',\n                  {\n                    cloudId: body.cloudId,\n                    status: 200\n                  }\n                );\n                const productKeysToAdd = productsSelectedForProvisioning.map(\n                  ({ product: newProductKeyToAdd }) =>\n                    newProductKeyToAdd as string\n                );\n                let isPermitted = false;\n                checkPerms(body.cloudId, wacEnvUrl, analyticsTrack)\n                  .then((res) => {\n                    isPermitted = res.permitted;\n                    analyticsTrack.segment(\n                      'bxp.cloud-signup.rename.site.completed.permissions.check',\n                      {\n                        cloudId: body.cloudId,\n                        status: 200,\n                        permitted: res.permitted\n                      }\n                    );\n                    analyticsTrack.newRelic.action(\n                      'bxp.cloud-signup.rename.site.completed.permissions.check',\n                      JSON.stringify({\n                        cloudId: body.cloudId,\n                        status: 200,\n                        permitted: res.permitted\n                      })\n                    );\n                    const data = {\n                      category: 'cart-cloud',\n                      action: 'Completed permissions check',\n                      label: 'complete-social-signup-page',\n                      attributes: {\n                        cloudId: body.cloudId,\n                        status: 200,\n                        permitted: res.permitted\n                      },\n                      isNonInteraction: true\n                    };\n                    analyticsTrack.segment(data.label, data);\n                    const renameUrl = getRenameSiteUrl({\n                      wacEnvUrl,\n                      confirmationPageUrl,\n                      cloudId: body.cloudId,\n                      cloudName: body.cloudName,\n                      productKeys: productKeysToAdd,\n                      progressUri: body.progressUri,\n                      isPermitted,\n                      siteRenamePageUrl,\n                      hideUserSegmentation\n                    });\n\n                    sessionStorage.setItem(\n                      'social-signup',\n                      window.btoa(\n                        JSON.stringify({\n                          userInfo: getEncodedUserInfo(userInfo),\n                          redirectUrl: renameUrl\n                        })\n                      )\n                    );\n                    window.location.replace(renameUrl);\n                  })\n                  .catch((e) => {\n                    isPermitted = false;\n                    analyticsTrack.segment(\n                      'bxp.cloud-signup.rename.site.failed.permissions.check',\n                      {\n                        cloudId: body.cloudId,\n                        message: e.message\n                      }\n                    );\n                    analyticsTrack.newRelic.action(\n                      'bxp.cloud-signup.rename.site.failed.permissions.check',\n                      JSON.stringify({\n                        cloudId: body.cloudId,\n                        message: e.message\n                      })\n                    );\n                    const data = {\n                      category: 'cart-cloud',\n                      action: 'Failed permissions check',\n                      label: 'complete-social-signup-page',\n                      attributes: {\n                        cloudId: body.cloudId,\n                        message: e.message\n                      },\n                      isNonInteraction: true\n                    };\n                    analyticsTrack.segment(data.label, data);\n                    const renameUrl = getRenameSiteUrl({\n                      wacEnvUrl,\n                      confirmationPageUrl,\n                      cloudId: body.cloudId,\n                      cloudName: body.cloudName,\n                      productKeys: productKeysToAdd,\n                      progressUri: body.progressUri,\n                      isPermitted,\n                      siteRenamePageUrl,\n                      hideUserSegmentation\n                    });\n                    sessionStorage.setItem(\n                      'social-signup',\n                      window.btoa(\n                        JSON.stringify({\n                          userInfo: getEncodedUserInfo(userInfo),\n                          redirectUrl: renameUrl\n                        })\n                      )\n                    );\n                    window.location.replace(renameUrl);\n                  });\n              })\n              .catch(() => {\n                // To-Do show error screen\n                setShowErrorPage(true);\n              });\n          } else {\n            // To-Do show error screen\n            setShowErrorPage(true);\n          }\n        })\n        .catch(() => {\n          // To-Do show error screen\n          setShowErrorPage(true);\n        });\n    }\n  }, [userInfo]);\n\n  return (\n    <Root>\n      {!(showErrorPage || testing) && (\n        <>\n          <img src={loadingImageUrl} alt={'loading...'} width={600} />\n          <FormattedMessage {...messages.socialSignUpLoadingText} />\n        </>\n      )}\n      {(showErrorPage || testing) && (\n        <SocialSignupErrorView\n          tryAgainUrl={tryAgainUrl}\n          errorImageSrc={errorImageSrc}\n          wacEnvUrl={wacEnvUrl}\n        />\n      )}\n    </Root>\n  );\n}\n\nSocialSignUpView.messages = messages;\n\nexport default injectIntl(SocialSignUpView);\n\nconst Root = styled.div`\n  margin: 10px 10px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n","import { defineMessages } from 'react-intl';\n\nexport const messages = defineMessages({\n  cloudStandard: {\n    id: 'WacSignupHeader.cloudStandard',\n    defaultMessage: 'Cloud Standard'\n  },\n  cloudPremium: {\n    id: 'WacSignupHeader.cloudPremium',\n    defaultMessage: 'Cloud Premium'\n  },\n  cloudFree: {\n    id: 'WacSignupHeader.cloudFree',\n    defaultMessage: 'Cloud Free'\n  }\n});\n","import styled from '@emotion/styled';\nimport React from 'react';\nimport { messages } from '../messages';\n\nexport function Subtitle(\n  edition: string | null | undefined,\n  isWhiteBackground: boolean\n) {\n  switch (edition) {\n    case 'standard':\n      return (\n        <SubtitleText primary={isWhiteBackground}>\n          {messages.cloudStandard.defaultMessage}\n        </SubtitleText>\n      );\n    case 'premium':\n      return (\n        <SubtitleText primary={isWhiteBackground}>\n          {messages.cloudPremium.defaultMessage}\n        </SubtitleText>\n      );\n    default:\n      return (\n        <SubtitleText primary={isWhiteBackground}>\n          {messages.cloudFree.defaultMessage}\n        </SubtitleText>\n      );\n  }\n}\n\nconst SubtitleText = styled.h4<{ primary: boolean }>`\n  margin: 0px;\n  font-size: 20px;\n  font-weight: 400;\n  color: ${(props) => (props.primary ? 'rgba(13, 20, 36, 0.97)' : 'white')};\n`;\n","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}\" x1=\"14.8402\" y1=\"15.8324\" x2=\"8.6599\" y2=\"26.5369\" gradientUnits=\"userSpaceOnUse\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"0.9228\"></stop>\n      </linearGradient>\n    </defs>\n    <path fill=\"url(#${id})\" d=\"M11.6397 14.0398C11.2789 13.643 10.7378 13.679 10.4852 14.148L4.64091 25.8728C4.42446 26.3418 4.74912 26.8829 5.25419 26.8829H13.4074C13.6599 26.8829 13.9125 26.7386 14.0207 26.4861C15.7885 22.8424 14.7061 17.3227 11.6397 14.0398Z\" />\n    <path fill=\"${colors.iconColor}\" d=\"M15.9343 3.36124C12.6513 8.55622 12.8678 14.2923 15.0324 18.6215C17.1969 22.9506 18.8565 26.2336 18.9647 26.4861C19.0729 26.7386 19.3254 26.8829 19.578 26.8829H27.7312C28.2363 26.8829 28.597 26.3418 28.3445 25.8728C28.3445 25.8728 17.3774 3.93846 17.0887 3.39732C16.8723 2.89225 16.259 2.85618 15.9343 3.36124Z\" />\n  </svg>`;\n};\n\n/**\n * __Atlassian icon__\n *\n * The Atlassian icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianIcon = ({\n  appearance,\n  label = 'Atlassian',\n  size = defaultLogoParams.size,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor,\n  testId\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    textColor: textColor,\n    size: size,\n    testId: testId\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor,\n    // We treat the word \"Atlassian\" differently to normal product logos\n    atlassianLogoTextColor: textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 158 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\" fill=\"${colors.atlassianLogoTextColor}\">\n      <path d=\"M72.2774003,14.3919316 C72.2774003,17.1872257 73.5880689,19.4065198 78.714802,20.3862846 C81.7735042,21.0215787 82.4142121,21.5100493 82.4142121,22.5187551 C82.4142121,23.4985198 81.7720773,24.1327551 79.6177149,24.1327551 C77.0138964,24.0864379 74.4621351,23.403307 72.1899986,22.1442846 L72.1899986,26.6972257 C73.7339762,27.4465198 75.7727542,28.2822846 79.559566,28.2822846 C84.9192514,28.2822846 87.045788,25.9175787 87.045788,22.4033434 M87.045788,22.4033434 C87.045788,19.0892257 85.2688582,17.5327551 80.2587795,16.4668728 C77.4915351,15.8615787 76.8215745,15.2566375 76.8215745,14.3919316 C76.8215745,13.297814 77.8118891,12.835814 79.6469677,12.835814 C81.8609059,12.835814 84.0455913,13.4986375 86.1136222,14.4208728 L86.1136222,10.0691081 C84.1306149,9.17615406 81.9709058,8.73311319 79.7925183,8.7724022 C74.8405885,8.7724022 72.2774003,10.9048728 72.2774003,14.3919316\"></path>\n      <polygon points=\"141.129997 9.07000017 141.129997 28.0038825 145.20791 28.0038825 145.20791 13.5657649 146.926691 17.3983531 152.694132 28.0038825 157.820865 28.0038825 157.820865 9.07000017 153.742952 9.07000017 153.742952 21.2891766 152.198975 17.7442355 147.567399 9.07000017\"></polygon>\n      <rect x=\"110.740005\" y=\"9.07000017\" width=\"4.45677247\" height=\"18.9338824\"></rect>\n      <path d=\"M105.600792,22.4033434 C105.600792,19.0892257 103.823862,17.5327551 98.8137836,16.4668728 C96.0465393,15.8615787 95.3765786,15.2566375 95.3765786,14.3919316 C95.3765786,13.297814 96.3668932,12.835814 98.2019718,12.835814 C100.41591,12.835814 102.600595,13.4986375 104.668626,14.4208728 L104.668626,10.0691081 C102.685619,9.17615406 100.52591,8.73311319 98.3475224,8.7724022 C93.3955926,8.7724022 90.8324044,10.9048728 90.8324044,14.3919316 C90.8324044,17.1872257 92.143073,19.4065198 97.2698061,20.3862846 C100.328508,21.0215787 100.969216,21.5100493 100.969216,22.5187551 C100.969216,23.4985198 100.327081,24.1327551 98.172719,24.1327551 C95.5689006,24.0864379 93.0171392,23.403307 90.7450027,22.1442846 L90.7450027,26.6972257 C92.2889803,27.4465198 94.3277584,28.2822846 98.1145702,28.2822846 C103.474256,28.2822846 105.600792,25.9175787 105.600792,22.4033434\"></path>\n      <polygon points=\"37.6599979 9.07000017 37.6599979 28.0038825 46.8204081 28.0038825 48.2627142 23.9115296 42.1456665 23.9115296 42.1456665 9.07000017\"></polygon>\n      <polygon points=\"19.5549984 9.07000017 19.5549984 13.1620002 24.5069282 13.1620002 24.5069282 28.0038825 28.9925967 28.0038825 28.9925967 13.1620002 34.2941332 13.1620002 34.2941332 9.07000017\"></polygon>\n      <path d=\"M13.0573091,9.07000017 L7.17856472,9.07000017 L0.505000114,28.0038825 L5.60141023,28.0038825 L6.54748888,24.815059 C8.877531,25.4919503 11.3551322,25.4919503 13.6851743,24.815059 L14.6312529,28.0038825 L19.7287333,28.0038825 L13.0573091,9.07000017 Z M10.1177585,21.4007061 C9.28758405,21.4006584 8.46168544,21.2831148 7.66516023,21.0516472 L10.1177585,12.7889413 L12.5703569,21.0544708 C11.7736914,21.2849831 10.9477956,21.4015755 10.1177585,21.4007061 L10.1177585,21.4007061 Z\"></path>\n      <path d=\"M62.6019534,9.07000017 L56.7235658,9.07000017 L50.0500011,28.0038825 L55.1474815,28.0038825 L56.0935601,24.815059 C58.4236023,25.4919503 60.9012034,25.4919503 63.2312455,24.815059 L64.1773242,28.0038825 L69.2748045,28.0038825 L62.6019534,9.07000017 Z M59.6627596,21.4007061 C58.8325851,21.4006584 58.0066865,21.2831148 57.2101613,21.0516472 L59.6627596,12.7889413 L62.1153579,21.0544708 C61.3186924,21.2849831 60.4927966,21.4015755 59.6627596,21.4007061 L59.6627596,21.4007061 Z\"></path>\n      <path d=\"M131.256954,9.07000017 L125.378566,9.07000017 L118.705002,28.0038825 L123.802482,28.0038825 L124.748561,24.815059 C127.078603,25.4919503 129.556204,25.4919503 131.886246,24.815059 L132.832325,28.0038825 L137.930162,28.0038825 L131.256954,9.07000017 Z M128.315977,21.4007061 C127.485802,21.4006584 126.659903,21.2831148 125.863378,21.0516472 L128.315977,12.7889413 L130.768575,21.0544708 C129.971909,21.2849831 129.146014,21.4015755 128.315977,21.4007061 L128.315977,21.4007061 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Atlassian wordmark__\n *\n * The Atlassian brand name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianWordmark = ({\n  appearance,\n  label = 'Atlassian',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor,\n    // We treat the word \"Atlassian\" differently to normal product logos, it has a bold brand look\n    atlassianLogoTextColor: textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg fill=\"none\" viewBox=\"0 0 270 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\"2>\n  <defs>\n    <linearGradient\n      id=\"${id}\"\n      gradientUnits=\"userSpaceOnUse\"\n      x1=\"9.85184\"\n      x2=\"3.72154\"\n      y1=\"13.0072\"\n      y2=\"23.6252\"\n    >\n      <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n      <stop offset=\"92%\" stop-color=\"${colors.iconGradientStop}\" />\n    </linearGradient>\n  </defs>\n  <g>\n    <path\n      d=\"m6.67038 11.2143c-.07074-.0921-.16397-.1644-.27073-.2099-.10676-.0456-.22345-.0629-.33885-.0503-.11539.0125-.22561.0546-.32004.1221s-.16989.1582-.21914.2633l-5.804641 11.6165c-.053275.1055-.07859.2229-.073521.3409.005069.1181.040351.2329.102472.3334.06212.1006.149001.1835.25232999.2409.10332901.0573.21965001.0872.33783401.0868h8.087846c.12984.0039.25797-.0303.36862-.0983.11064-.0681.19897-.167.25408-.2846 1.74286-3.6038.68711-9.0828-2.37626-12.3608z\"\n      fill=\"url(#${id})\"\n    />\n    <path\n      fill=\"${colors.iconColor}\"\n      d=\"m10.9326.649949c-1.44794 2.227461-2.29174 4.793151-2.4486 7.445211-.15685 2.65204.37864 5.29934 1.5539 7.68194l3.8972 7.798c.0579.1154.1469.2124.2569.28.11.0677.2367.1033.3658.1029h8.0878c.1182.0004.2346-.0295.3379-.0868.1033-.0574.1902-.1403.2523-.2409.0621-.1005.0974-.2153.1025-.3334.0051-.118-.0203-.2355-.0735-.3409l-11.1513-22.309629c-.0537-.111145-.1377-.204841-.2424-.270285-.1047-.065443-.2257-.099968-.3492-.099594-.1234.000374-.2442.035633-.3485.101709-.1043.066077-.1878.16028-.2408.271748z\"\n    />\n    <g fill=\"${colors.atlassianLogoTextColor}\">\n      <path\n        clip-rule=\"evenodd\"\n        d=\"m139.715 18.207c0-3.4105-1.807-5.0102-6.906-6.1088-2.82-.6227-3.5-1.2454-3.5-2.14723 0-1.12729 1.009-1.60326 2.863-1.60326 2.251 0 4.477.68353 6.581 1.63189v-4.46263c-2.021-.92008-4.222-1.37618-6.442-1.33486-5.042 0-7.651 2.19374-7.651 5.78317 0 2.86292 1.335 5.15692 6.553 6.16612 3.113.6513 3.768 1.1559 3.768 2.1937s-.655 1.6605-2.863 1.6605c-2.651-.0477-5.249-.751-7.562-2.047v4.6881c1.575.7694 3.65 1.6283 7.515 1.6283 5.454 0 7.619-2.4299 7.619-6.048zm-25.788-6.1088c5.1 1.0987 6.911 2.6983 6.911 6.1088 0 3.6181-2.165 6.048-7.623 6.048-3.868 0-5.944-.8589-7.515-1.6283v-4.6881c2.309 1.2953 4.904 1.9986 7.551 2.047 2.212 0 2.863-.6227 2.863-1.6605s-.651-1.5424-3.765-2.1937c-5.213-1.0083-6.55-3.299-6.552-6.15828l-.015-.00783c0-3.58943 2.609-5.78317 7.652-5.78317 2.219-.04048 4.42.41558 6.441 1.33485v4.46263c-2.108-.94835-4.33-1.63188-6.585-1.63188-1.853 0-2.863.47597-2.863 1.60326 0 .90182.684 1.52452 3.5 2.14722zm61.966-7.61904v19.47884h4.151v-14.85517l1.75 3.94377 5.869 10.9114h5.221v-19.47884h-4.155v12.57194l-1.571-3.6467-4.713-8.92524zm-30.942 0h4.538v19.48244h-4.538zm-74.3973 19.47884v-19.47884h4.5664v15.27024h6.227l-1.4709 4.2086zm-18.4231-19.47884v4.20854h5.0388v15.2703h4.5664v-15.2703h5.3967v-4.20854zm-12.6077-.00716h5.9836l6.7888 19.4788h-5.1927l-.9627-3.2781c-2.3714.6969-4.8933.6969-7.2647 0l-.9627 3.2781h-5.1891zm.4867 12.3286c.8135.239 1.6572.3595 2.5051.3579v.0071c.8482-.001 1.6919-.124 2.5051-.365l-2.5051-8.50298zm55.9457-12.3286h-6.0015l-6.7995 19.4788h5.1891l.9627-3.2781c2.3725.6976 4.8957.6976 7.2683 0l.9627 3.2781h5.1889zm-2.9954 12.6936c-.8479.0017-1.6916-.1189-2.5051-.3578l2.5051-8.50302 2.5051 8.50302c-.8135.2388-1.6572.3594-2.5051.3578zm66.8931-12.6936h5.969l6.8 19.4788h-5.19l-.962-3.2781c-2.372.6969-4.894.6969-7.265 0l-.963 3.2781h-5.189zm.472 12.3286c.814.2384 1.657.3589 2.505.3579l.015.0071c.843-.0026 1.682-.1255 2.49-.365l-2.505-8.50298z\"\n        fill-rule=\"evenodd\"\n      />\n    </g>\n    <g fill=\"${colors.textColor}\">\n      <path\n        clip-rule=\"evenodd\"\n        d=\"m210.985 24.2765c-4.047 0-5.926-.7981-7.551-1.6247v-2.931c1.943 1.0199 4.939 1.75 7.709 1.75 3.152 0 4.333-1.2418 4.333-3.0884s-1.148-2.8164-5.131-3.7899c-4.714-1.1487-6.8-2.7734-6.8-6.21257 0-3.24945 2.487-5.67223 7.361-5.67223 3.024 0 4.968.71574 6.403 1.52811v2.86295c-1.997-1.10283-4.251-1.65375-6.531-1.5961-2.738 0-4.363.95909-4.363 2.86296 0 1.71778 1.339 2.58028 5.032 3.50358 4.427 1.1129 6.914 2.548 6.914 6.3056-.018 3.6467-2.183 6.1017-7.376 6.1017zm17.042-2.8987c.579-.0169 1.154-.0924 1.718-.2255v2.6447c-.6.1729-1.222.2585-1.847.254-3.407 0-5.064-2.004-5.064-4.9672v-8.5065h-2.58v-2.54807h2.58v-3.37829h2.674v3.37829h4.237v2.54807h-4.237v8.4421c0 1.4028.83 2.3584 2.519 2.3584zm10.017 2.8987c2.437 0 4.348-1.0844 5.368-3.1851l.014 2.8666h2.741v-15.92879h-2.741v2.80209c-.955-2.07203-2.738-3.12059-5.064-3.12059-4.462 0-6.692 3.78979-6.692 8.28109 0 4.6845 2.137 8.2847 6.374 8.2847zm5.368-7.6477c0 3.5358-2.197 5.0997-4.652 5.0997-2.835 0-4.363-1.9146-4.363-5.7438 0-3.6861 1.593-5.726 4.685-5.726 2.322 0 4.33 1.5604 4.33 5.0961zm9.555 7.3292h-2.688v-15.92878h2.674v2.80208c.926-1.87878 2.505-3.22079 5.64-3.02754v2.67684c-3.504-.3578-5.64.7158-5.64 4.0797zm16.025-2.8057c-.564.1328-1.141.2083-1.721.2255-1.689 0-2.516-.9556-2.516-2.3584v-8.4421h4.248v-2.54807h-4.237v-3.37829h-2.677v3.37829h-2.591v2.54807h2.58v8.5065c0 2.9632 1.657 4.9672 5.064 4.9672.626.0042 1.249-.0814 1.85-.254z\"\n        fill-rule=\"evenodd\"\n      />\n    </g>\n  </g>\n</svg>`;\n};\n\n/**\n * __Atlassian start logo__\n *\n * The Atlassian Start logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianStartLogo = ({\n  appearance,\n  label = 'Atlassian Start',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      label,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance\n}) => {\n  // Replace with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    appearance\n  });\n  const colors = getColorsFromAppearance(appearance);\n  return `<svg height=\"32\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\">\n  <defs>\n    <linearGradient id=\"${id}-a\" x1=\"12.595\" x2=\"12.595\" y1=\"40\" y2=\"30\" gradientUnits=\"userSpaceOnUse\">\n      <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\"/>\n      <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\"/>\n    </linearGradient>\n    <linearGradient id=\"${id}-b\" x1=\"28.595\" x2=\"28.595\" y1=\"40\" y2=\"27\" gradientUnits=\"userSpaceOnUse\">\n      <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\"/>\n      <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\"/>\n    </linearGradient>\n    <linearGradient xlink:href=\"#${id}-b\" id=\"${id}-c\" x1=\"20.595\" x2=\"20.595\" y2=\"22\"/>\n    <linearGradient xlink:href=\"#${id}-b\" id=\"${id}-d\" x1=\"36.595\" x2=\"36.595\" y2=\"20\"/>\n  </defs>\n  <path d=\"M10.595 30h4v10h-4z\" fill=\"url(#${id}-a)\"/>\n  <path d=\"M26.595 27h4v13h-4z\" fill=\"url(#${id}-b)\"/>\n  <path d=\"M18.595 22h4v18h-4z\" fill=\"url(#${id}-c)\"/>\n  <path d=\"M34.595 20h4v20h-4z\" fill=\"url(#${id}-d)\"/>\n  <path fill=\"${colors.iconColor}\" d=\"m9.009 25.414-2.828-2.828 10.127-10.128a5 5 0 0 1 6.605-.411l4.471 3.477a1.5 1.5 0 0 0 1.982-.123l9.815-9.815 2.828 2.828-10.127 10.128a5 5 0 0 1-6.605.411l-4.471-3.477a1.5 1.5 0 0 0-1.982.123l-9.815 9.815Z\" />\n</svg>`;\n};\n\n/**\n * __Atlassian Analytics icon__\n *\n * The Atlassian Analytics icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianAnalyticsIcon = ({\n  appearance,\n  label = 'Atlassian Analytics',\n  size = defaultLogoParams.size,\n  testId\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance\n    }),\n    size: size,\n    testId: testId\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    appearance\n  });\n  const colors = getColorsFromAppearance(appearance);\n  return `\n  <svg height=\"32\" viewBox=\"0 0 477 48\" xmlns=\"http://www.w3.org/2000/svg\">\n  <defs>\n    <linearGradient id=\"${id}-a\" x1=\"447.285\" x2=\"447.285\" y1=\"40\" y2=\"30\" gradientUnits=\"userSpaceOnUse\">\n      <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\"/>\n      <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\"/>\n    </linearGradient>\n    <linearGradient xlink:href=\"#${id}-a\" id=\"${id}-b\" x1=\"463.285\" x2=\"463.285\" y2=\"27\"/>\n    <linearGradient xlink:href=\"#${id}-a\" id=\"${id}-c\" x1=\"455.285\" x2=\"455.285\" y2=\"22\"/>\n    <linearGradient xlink:href=\"#${id}-a\" id=\"${id}-d\" x1=\"471.285\" x2=\"471.285\" y2=\"20\"/>\n  </defs>\n  <g fill=\"${colors.atlassianLogoTextColor}\">\n    <path d=\"M106.72 18.359c0 4.201 1.949 7.536 9.572 9.008 4.548.953 5.5 1.689 5.5 3.205 0 1.473-.953 2.425-4.158 2.425-3.725 0-8.142-1.256-11.044-2.988v6.843c2.295 1.126 5.327 2.382 10.957 2.382 7.969 0 11.131-3.551 11.131-8.835m0 0c0-4.981-2.642-7.319-10.091-8.922-4.114-.91-5.111-1.819-5.111-3.118 0-1.646 1.473-2.339 4.201-2.339 3.292 0 6.54.996 9.615 2.382v-6.54c-2.166-1.083-5.5-1.949-9.398-1.949-7.363 0-11.174 3.205-11.174 8.445M209.1 10.346v28.455h6.063V17.103l2.556 5.76 8.575 15.938h7.623V10.346h-6.064V28.71l-2.295-5.327-6.886-13.037H209.1zM163.909 10.346h6.626v28.455h-6.626zM156.263 30.399c0-4.981-2.642-7.319-10.091-8.922-4.114-.91-5.111-1.819-5.111-3.118 0-1.646 1.473-2.339 4.201-2.339 3.292 0 6.54.996 9.615 2.382v-6.54c-2.166-1.083-5.5-1.949-9.398-1.949-7.363 0-11.174 3.205-11.174 8.445 0 4.201 1.949 7.536 9.572 9.008 4.548.953 5.5 1.689 5.5 3.205 0 1.473-.953 2.425-4.158 2.425-3.725 0-8.142-1.256-11.044-2.988v6.843c2.295 1.126 5.327 2.382 10.957 2.382 7.969 0 11.131-3.551 11.131-8.835M55.243 10.346v28.455h13.62l2.145-6.15h-9.095V10.346h-6.67zM28.334 10.346v6.15h7.363v22.305h6.67V16.496h7.882v-6.15H28.334zM18.663 10.346h-8.74L0 38.801h7.579l1.407-4.792a18.852 18.852 0 0 0 10.612 0l1.407 4.792h7.579l-9.922-28.455Zm-4.37 18.533c-1.267 0-2.49-.185-3.647-.524l3.647-12.422 3.647 12.422c-1.157.339-2.38.524-3.647.524ZM92.344 10.346h-8.74l-9.922 28.455h7.579l1.407-4.792a18.852 18.852 0 0 0 10.612 0l1.407 4.792h7.579l-9.922-28.455Zm-4.37 18.533c-1.267 0-2.49-.185-3.647-.524l3.647-12.422 3.647 12.422c-1.157.339-2.38.524-3.647.524ZM194.414 10.346h-8.74l-9.922 28.455h7.579l1.407-4.792a18.852 18.852 0 0 0 10.612 0l1.407 4.792h7.579l-9.922-28.455Zm-4.37 18.533c-1.267 0-2.49-.185-3.647-.524l3.647-12.422 3.647 12.422c-1.157.339-2.38.524-3.647.524Z\"/>\n  </g>\n  <g fill=\"${colors.textColor}\">\n    <path d=\"m254.776 31.987-2.53 6.809H247.6l11.916-30.225h5.244l11.916 30.225h-4.646l-2.53-6.855c-2.714.552-5.061.828-7.499.828-2.3 0-4.646-.276-7.223-.782Zm13.479-3.496-6.119-16.562-6.119 16.608c2.254.368 4.141.552 5.98.552 1.933 0 3.911-.23 6.257-.598ZM298.984 38.796h-3.957V24.902c0-4.141-1.656-5.981-5.428-5.981-3.681 0-6.211 2.438-6.211 7.085v12.79h-3.957V15.794h3.957v3.772c1.472-2.715 4.187-4.232 7.269-4.232 5.291 0 8.327 3.634 8.327 9.983v13.479ZM320.097 34.656c-1.472 3.036-4.232 4.6-7.775 4.6-6.119 0-9.201-5.199-9.201-11.961 0-6.486 3.22-11.961 9.661-11.961 3.358 0 5.935 1.518 7.314 4.508v-4.048h3.957v23.002h-3.957v-4.14Zm-6.717.92c3.542 0 6.717-2.254 6.717-7.361v-1.84c0-5.106-2.898-7.361-6.256-7.361-4.463 0-6.763 2.944-6.763 8.281 0 5.521 2.208 8.281 6.303 8.281ZM336.196 38.935c-3.772 0-6.165-1.794-6.165-6.027V6.179h3.957v26.269c0 2.07 1.38 2.806 3.083 2.806.414 0 .69 0 1.15-.046v3.542c-.322.092-1.012.184-2.024.184ZM347.328 37.324l-8.327-21.53h4.232l7.361 19.69 7.361-19.69h4.232l-8.695 22.267c-2.576 6.579-4.048 9.983-9.891 9.983-1.979 0-3.083-.184-4.232-.644v-3.404c1.334.414 2.852.552 4.002.552 3.22 0 4.646-2.208 6.533-7.223h-2.576ZM374.698 35.07c.92 0 1.794-.185 2.484-.322v3.818c-.69.184-1.472.368-2.668.368-4.923 0-7.315-2.898-7.315-7.177V19.473h-3.727v-3.68h3.727v-4.877h3.864v4.877h6.119v3.68h-6.119v12.191c0 2.024 1.196 3.405 3.635 3.405ZM384.265 6.961c1.61 0 2.76 1.012 2.76 2.76s-1.15 2.76-2.76 2.76-2.76-1.012-2.76-2.76 1.15-2.76 2.76-2.76Zm-2.024 8.833h3.957v23.002h-3.957V15.794ZM408.416 38.198c-1.38.736-3.496 1.058-5.612 1.058-8.189 0-12.007-4.968-12.007-12.007 0-6.947 3.818-11.915 12.007-11.915 2.07 0 3.68.276 5.475 1.104v3.681c-1.472-.69-3.037-1.104-5.199-1.104-5.98 0-8.419 3.772-8.419 8.235s2.484 8.235 8.511 8.235c2.346 0 3.818-.322 5.244-.828v3.542ZM420.144 39.256c-3.451 0-6.257-.782-8.005-1.702v-4.187c1.978 1.15 5.291 2.254 8.188 2.254 3.037 0 4.601-1.242 4.601-3.036 0-1.749-1.334-2.761-5.705-3.818-5.106-1.242-7.269-3.221-7.269-6.993 0-4.002 3.082-6.44 8.327-6.44 2.99 0 5.705.736 7.407 1.656v4.094c-2.76-1.38-5.014-2.117-7.453-2.117-2.898 0-4.462 1.013-4.462 2.807 0 1.61 1.104 2.622 5.336 3.635 5.106 1.242 7.683 3.128 7.683 7.13 0 3.819-2.484 6.717-8.649 6.717Z\"/>\n  </g>\n  <path fill=\"url(#${id}-a)\" d=\"M445.285 30h4v10h-4z\"/>\n  <path fill=\"url(#${id}-b)\" d=\"M461.285 27h4v13h-4z\"/>\n  <path fill=\"url(#${id}-c)\" d=\"M453.285 22h4v18h-4z\"/>\n  <path fill=\"url(#${id}-d)\" d=\"M469.285 20h4v20h-4z\"/>\n  <path fill=\"${colors.iconColor}\" d=\"m443.699 25.414-2.828-2.828 10.127-10.128a5 5 0 0 1 6.605-.411l4.471 3.477a1.5 1.5 0 0 0 1.982-.123l9.815-9.815 2.828 2.828-10.127 10.128a5 5 0 0 1-6.605.411l-4.471-3.477a1.5 1.5 0 0 0-1.982.123l-9.815 9.815Z\"/>\n</svg>`;\n};\n\n/**\n * __Atlassian Analytics logo__\n *\n * The Atlassian Analytics logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianAnalyticsLogo = ({\n  appearance,\n  label = 'Atlassian Analytics',\n  size = defaultLogoParams.size,\n  testId\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance\n    }),\n    testId: testId\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}\" x1=\"100%\" x2=\"45.339%\" y1=\"29.23%\" y2=\"75.038%\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.iconColor}\" d=\"M4.78580435,5 C4.55423538,4.99701333 4.33319771,5.09657765 4.18198458,5.27198488 C4.03077145,5.44739211 3.96486141,5.68068714 4.00193478,5.9092887 L7.32946109,26.1096074 C7.3703589,26.355373 7.49665951,26.578828 7.68612174,26.7406224 C7.87680866,26.9055104 8.11992598,26.9972003 8.37200761,26.9992993 L14.5488998,19.5995707 L13.6827239,19.5995707 L12.3227102,12.3958093 L27.3886833,12.3958093 L28.4469072,5.91712739 C28.4862006,5.68935393 28.4229655,5.45584955 28.2741046,5.27903 C28.1252437,5.10221045 27.9059335,5.00010264 27.6747957,5 L4.78580435,5 Z\" />\n      <path fill=\"url(#${id})\" d=\"M27.3886833,12.3958093 L20.0320674,12.3958093 L18.7974728,19.5995707 L13.7023207,19.5995707 L7.68612174,26.7445417 C7.87680866,26.9094297 8.11992598,27.0011197 8.37200761,27.0032187 L24.3394307,27.0032187 C24.727754,27.0082167 25.0611955,26.7281258 25.1233002,26.3447683 L27.3886833,12.3958093 Z\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Bitbucket icon__\n *\n * The Bitbucket icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const BitbucketIcon = ({\n  appearance,\n  label = 'Bitbucket',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n    id = `bitbucketLogo-${appearance}`;\n  }\n  return `\n  <svg viewBox=\"0 0 137 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"100.866322%\" y1=\"25.6261254%\" x2=\"46.5685299%\" y2=\"75.2076031%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n      <path d=\"M22.38125,13.1176316 L15.3425,13.1176316 L14.16125,20.0504386 L9.28624997,20.0504386 L3.52999997,26.9266667 C3.71244766,27.0853527 3.94506033,27.173594 4.18624997,27.175614 L19.46375,27.175614 C19.8352946,27.180424 20.1543287,26.9108682 20.21375,26.5419298 L22.38125,13.1176316 Z\" fill=\"url(#${id})\" fill-rule=\"nonzero\"></path>\n      <path fill=\"${colors.iconColor}\" fill-rule=\"nonzero\" d=\"M0.759678147,6 C0.53811485,5.99712567 0.326627812,6.09294508 0.181948325,6.26175474 C0.0372688368,6.4305644 -0.0257933559,6.65508453 0.00967814748,6.87508772 L3.19342815,26.315614 C3.23255884,26.5521357 3.35340224,26.7671859 3.53467815,26.9228947 L3.53467815,26.9228947 C3.71712584,27.0815808 3.94973851,27.169822 4.19092815,27.1718421 L10.1009281,20.0504386 L9.27217815,20.0504386 L7.97092815,13.1176316 L22.3859281,13.1176316 L23.3984281,6.88263158 C23.4360238,6.66342534 23.375521,6.43870373 23.2330921,6.26853487 C23.0906632,6.09836602 22.880829,6.00009878 22.6596781,6 L0.759678147,6 Z\"></path>\n      <path fill=\"${colors.textColor}\" d=\"M32,8.352 L38.63,8.352 C42.114,8.352 43.804,10.068 43.804,12.824 C43.804,14.878 42.868,16.152 40.944,16.62 C43.466,17.036 44.714,18.414 44.714,20.832 C44.714,23.562 42.868,25.434 39.046,25.434 L32,25.434 L32,8.352 Z M38.318,10.588 L34.34,10.588 L34.34,15.684 L38.318,15.684 C40.528,15.684 41.438,14.67 41.438,13.032 C41.438,11.368 40.45,10.588 38.318,10.588 Z M39.072,17.764 L34.34,17.764 L34.34,23.094 L39.124,23.094 C41.36,23.094 42.374,22.288 42.374,20.572 C42.374,18.752 41.412,17.764 39.072,17.764 Z M47.236,9.002 C47.236,9.99 47.886,10.562 48.796,10.562 C49.706,10.562 50.356,9.99 50.356,9.002 C50.356,8.014 49.706,7.442 48.796,7.442 C47.886,7.442 47.236,8.014 47.236,9.002 Z M47.652,25.434 L49.888,25.434 L49.888,12.434 L47.652,12.434 L47.652,25.434 Z M56.362,21.326 L56.362,14.514 L59.82,14.514 L59.82,12.434 L56.362,12.434 L56.362,9.678 L54.178,9.678 L54.178,12.434 L52.072,12.434 L52.072,14.514 L54.178,14.514 L54.178,21.378 C54.178,23.796 55.53,25.434 58.312,25.434 C58.988,25.434 59.43,25.33 59.82,25.226 L59.82,23.068 C59.43,23.146 58.936,23.25 58.416,23.25 C57.038,23.25 56.362,22.47 56.362,21.326 Z M74.51,18.934 C74.51,22.6 72.69,25.694 69.05,25.694 C67.152,25.694 65.696,24.836 64.916,23.146 L64.916,25.434 L62.68,25.434 L62.68,7 L64.916,7 L64.916,14.774 C65.748,13.058 67.308,12.174 69.31,12.174 C72.768,12.174 74.51,15.112 74.51,18.934 Z M72.274,18.934 C72.274,15.814 71.026,14.254 68.712,14.254 C66.71,14.254 64.916,15.528 64.916,18.414 L64.916,19.454 C64.916,22.34 66.554,23.614 68.452,23.614 C70.974,23.614 72.274,21.95 72.274,18.934 Z M76.85,20.052 C76.85,23.64 78.566,25.694 81.556,25.694 C83.298,25.694 84.832,24.836 85.664,23.302 L85.664,25.434 L87.9,25.434 L87.9,12.434 L85.664,12.434 L85.664,19.662 C85.664,22.288 84.234,23.666 82.154,23.666 C80.022,23.666 79.086,22.626 79.086,20.286 L79.086,12.434 L76.85,12.434 L76.85,20.052 Z M100.458,23.094 C99.652,23.38 98.82,23.562 97.494,23.562 C94.088,23.562 92.684,21.43 92.684,18.908 C92.684,16.386 94.062,14.254 97.442,14.254 C98.664,14.254 99.548,14.488 100.38,14.878 L100.38,12.798 C99.366,12.33 98.456,12.174 97.286,12.174 C92.658,12.174 90.5,14.982 90.5,18.908 C90.5,22.886 92.658,25.694 97.286,25.694 C98.482,25.694 99.678,25.512 100.458,25.096 L100.458,23.094 Z M105.242,25.434 L105.242,19.35 L110.962,25.434 L114.004,25.434 L107.634,18.83 L113.744,12.434 L110.832,12.434 L105.242,18.518 L105.242,7 L103.006,7 L103.006,25.434 L105.242,25.434 Z M126.224,24.914 C125.158,25.486 123.52,25.694 122.194,25.694 C117.332,25.694 115.2,22.886 115.2,18.908 C115.2,14.982 117.384,12.174 121.336,12.174 C125.34,12.174 126.952,14.956 126.952,18.908 L126.952,19.922 L117.462,19.922 C117.774,22.132 119.204,23.562 122.272,23.562 C123.78,23.562 125.054,23.276 126.224,22.86 L126.224,24.914 Z M121.232,14.202 C118.866,14.202 117.67,15.736 117.436,17.998 L124.69,17.998 C124.56,15.58 123.468,14.202 121.232,14.202 Z M132.698,21.326 L132.698,14.514 L136.156,14.514 L136.156,12.434 L132.698,12.434 L132.698,9.678 L130.514,9.678 L130.514,12.434 L128.408,12.434 L128.408,14.514 L130.514,14.514 L130.514,21.378 C130.514,23.796 131.866,25.434 134.648,25.434 C135.324,25.434 135.766,25.33 136.156,25.226 L136.156,23.068 C135.766,23.146 135.272,23.25 134.752,23.25 C133.374,23.25 132.698,22.47 132.698,21.326 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Bitbucket logo__\n *\n * The Bitbucket logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const BitbucketLogo = ({\n  appearance,\n  label = 'Bitbucket',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg viewBox=\"0 0 105 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" fill=\"${colors.textColor}\">\n    <path d=\"M4.48530102e-14,6.918 L6.63,6.918 C10.114,6.918 11.804,8.634 11.804,11.39 C11.804,13.444 10.868,14.718 8.944,15.186 C11.466,15.602 12.714,16.98 12.714,19.398 C12.714,22.128 10.868,24 7.046,24 L4.48530102e-14,24 L4.48530102e-14,6.918 Z M6.318,9.154 L2.34,9.154 L2.34,14.25 L6.318,14.25 C8.528,14.25 9.438,13.236 9.438,11.598 C9.438,9.934 8.45,9.154 6.318,9.154 Z M7.072,16.33 L2.34,16.33 L2.34,21.66 L7.124,21.66 C9.36,21.66 10.374,20.854 10.374,19.138 C10.374,17.318 9.412,16.33 7.072,16.33 Z M15.236,7.568 C15.236,8.556 15.886,9.128 16.796,9.128 C17.706,9.128 18.356,8.556 18.356,7.568 C18.356,6.58 17.706,6.008 16.796,6.008 C15.886,6.008 15.236,6.58 15.236,7.568 Z M15.652,24 L17.888,24 L17.888,11 L15.652,11 L15.652,24 Z M24.362,19.892 L24.362,13.08 L27.82,13.08 L27.82,11 L24.362,11 L24.362,8.244 L22.178,8.244 L22.178,11 L20.072,11 L20.072,13.08 L22.178,13.08 L22.178,19.944 C22.178,22.362 23.53,24 26.312,24 C26.988,24 27.43,23.896 27.82,23.792 L27.82,21.634 C27.43,21.712 26.936,21.816 26.416,21.816 C25.038,21.816 24.362,21.036 24.362,19.892 Z M42.51,17.5 C42.51,21.166 40.69,24.26 37.05,24.26 C35.152,24.26 33.696,23.402 32.916,21.712 L32.916,24 L30.68,24 L30.68,5.566 L32.916,5.566 L32.916,13.34 C33.748,11.624 35.308,10.74 37.31,10.74 C40.768,10.74 42.51,13.678 42.51,17.5 Z M40.274,17.5 C40.274,14.38 39.026,12.82 36.712,12.82 C34.71,12.82 32.916,14.094 32.916,16.98 L32.916,18.02 C32.916,20.906 34.554,22.18 36.452,22.18 C38.974,22.18 40.274,20.516 40.274,17.5 Z M44.85,18.618 C44.85,22.206 46.566,24.26 49.556,24.26 C51.298,24.26 52.832,23.402 53.664,21.868 L53.664,24 L55.9,24 L55.9,11 L53.664,11 L53.664,18.228 C53.664,20.854 52.234,22.232 50.154,22.232 C48.022,22.232 47.086,21.192 47.086,18.852 L47.086,11 L44.85,11 L44.85,18.618 Z M68.458,21.66 C67.652,21.946 66.82,22.128 65.494,22.128 C62.088,22.128 60.684,19.996 60.684,17.474 C60.684,14.952 62.062,12.82 65.442,12.82 C66.664,12.82 67.548,13.054 68.38,13.444 L68.38,11.364 C67.366,10.896 66.456,10.74 65.286,10.74 C60.658,10.74 58.5,13.548 58.5,17.474 C58.5,21.452 60.658,24.26 65.286,24.26 C66.482,24.26 67.678,24.078 68.458,23.662 L68.458,21.66 Z M73.242,24 L73.242,17.916 L78.962,24 L82.004,24 L75.634,17.396 L81.744,11 L78.832,11 L73.242,17.084 L73.242,5.566 L71.006,5.566 L71.006,24 L73.242,24 Z M94.224,23.48 C93.158,24.052 91.52,24.26 90.194,24.26 C85.332,24.26 83.2,21.452 83.2,17.474 C83.2,13.548 85.384,10.74 89.336,10.74 C93.34,10.74 94.952,13.522 94.952,17.474 L94.952,18.488 L85.462,18.488 C85.774,20.698 87.204,22.128 90.272,22.128 C91.78,22.128 93.054,21.842 94.224,21.426 L94.224,23.48 Z M89.232,12.768 C86.866,12.768 85.67,14.302 85.436,16.564 L92.69,16.564 C92.56,14.146 91.468,12.768 89.232,12.768 Z M100.698,19.892 L100.698,13.08 L104.156,13.08 L104.156,11 L100.698,11 L100.698,8.244 L98.514,8.244 L98.514,11 L96.408,11 L96.408,13.08 L98.514,13.08 L98.514,19.944 C98.514,22.362 99.866,24 102.648,24 C103.324,24 103.766,23.896 104.156,23.792 L104.156,21.634 C103.766,21.712 103.272,21.816 102.752,21.816 C101.374,21.816 100.698,21.036 100.698,19.892 Z\"></path>\n  </g>\n</svg>`;\n};\n\n/**\n * __Bitbucket wordmark__\n *\n * The Bitbucket brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const BitbucketWordmark = ({\n  appearance,\n  label = 'Bitbucket',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n  fill=\"none\"\n  height=\"32\"\n  viewBox=\"0 0 32 32\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n  focusable=\"false\"\n  aria-hidden=\"true\"\n>\n  <linearGradient\n    id=\"${id}\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"20.8536\"\n    x2=\"11.8744\"\n    y1=\"11.2763\"\n    y2=\"20.2556\"\n  >\n    <stop offset=\"20%\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n    <stop offset=\"100%\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <path\n    d=\"m16.4644 15.6278v5.309h-5.2337v-5.309h5.2337v-5.3059h-9.54745c-.12228.0008-.24319.0259-.3557.0738-.1125.048-.21436.1178-.29966.2054-.08529.0876-.15233.1914-.1972.3051-.04487.1138-.0667.2353-.0642.3576v14.0653c-.0025.1223.01933.2438.0642.3576.04487.1137.11191.2175.1972.3051.0853.0876.18716.1574.29966.2054.11251.0479.23342.073.3557.0738h13.85185c.1223-.0008.2432-.0259.3557-.0738.1125-.048.2144-.1178.2997-.2054s.1523-.1914.1972-.3051c.0449-.1138.0667-.2353.0642-.3576v-9.7013z\"\n    fill=\"url(#${id})\"\n  />\n  <path\n    d=\"m16.4636 5.01256v5.30904h5.2463v5.3059h5.218v-9.68562c.0025-.12227-.0194-.24381-.0642-.35757-.0449-.11376-.1119-.21747-.1972-.3051s-.1872-.15744-.2997-.20537c-.1125-.04794-.2334-.07303-.3557-.07384z\"\n    fill=\"${colors.iconGradientStop}\"\n  />\n</svg>`;\n};\n\n/**\n * __Compass icon__\n *\n * The Compass icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const CompassIcon = ({\n  appearance,\n  label = 'Compass',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n    fill=\"none\"\n    viewBox=\"0 0 138 32\"\n    height=\"32\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    focusable=\"false\"\n    aria-hidden=\"true\"\n  >\n    <linearGradient\n      id=\"${id}\"\n      gradientUnits=\"userSpaceOnUse\"\n      x1=\"14.8536\"\n      x2=\"5.87437\"\n      y1=\"8.27633\"\n      y2=\"17.2556\"\n    >\n      <stop offset=\"20%\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n      <stop offset=\"100%\" stop-color=\"${colors.iconGradientStop}\" />\n    </linearGradient>\n    <path\n      clip-rule=\"evenodd\"\n      d=\"m41.7694 22.8121c-1.1334.7473-2.9293 1.0769-4.8099 1.0769-5.9589 0-9.3183-3.5917-9.3183-9.3089 0-5.50994 3.3594-9.39361 9.2712-9.39361 1.7676 0 3.5352.31396 4.835 1.25584v2.40178c-1.2998-.82885-2.7346-1.25583-4.835-1.25583-4.2541 0-6.7972 2.82562-6.7972 6.99182 0 4.1663 2.6247 6.9354 6.9448 6.9354 1.6361.0146 3.2515-.3656 4.7094-1.1083zm2.2985-6.1318c0-4.1443 2.43-7.15827 6.5743-7.15827 4.1442 0 6.5115 3.00147 6.5115 7.15827s-2.405 7.221-6.521 7.221-6.5648-3.0799-6.5648-7.221zm2.3201 0c0 2.6247 1.2998 4.9982 4.2542 4.9982 2.9543 0 4.2007-2.3735 4.2007-4.9982s-1.2558-4.948-4.2007-4.948c-2.945 0-4.2542 2.3233-4.2542 4.948zm22.9026 6.9327h2.3766v-7.6794c0-2.7911 1.5321-4.2542 3.7298-4.2542 2.2637 0 3.2589 1.4097 3.2589 4.2542v7.6794h2.3767v-8.0939c0-3.8962-1.7142-5.99659-4.8067-5.99659-2.2919 0-4.1443 1.24329-4.9166 3.37189-.6907-2.182-2.295-3.37189-4.6434-3.37189-.891-.0185-1.7698.2091-2.5397.65779-.77.4487-1.4012 1.101-1.8244 1.8853v-2.2668h-2.3766v13.8142h2.3766v-7.6794c0-2.7911 1.5322-4.2542 3.7299-4.2542 2.2636 0 3.2589 1.1051 3.2589 3.5917zm18.0022-2.4305v7.8175h-2.3767v-19.20168h2.3767v2.48658c.8854-1.821 2.5431-2.76287 4.6686-2.76287 3.6733 0 5.5256 3.13957 5.5256 7.18337 0 3.8962-1.9339 7.1834-5.8019 7.1834-2.0313 0-3.5791-.9105-4.3923-2.7063zm4.0267-9.4502c-2.1474.0033-4.0267 1.36-4.0267 4.4205v1.1052c0 3.0674 1.7393 4.4205 3.7675 4.4205 2.6781 0 4.0595-1.7676 4.0595-4.9731-.0251-3.3118-1.3472-4.9695-3.8003-4.9731zm13.6115 12.1565c2.129 0 3.787-.9388 4.669-2.7629l.003 2.4866h2.377v-13.81418h-2.377v2.43318c-.832-1.7958-2.38-2.70947-4.395-2.70947-3.868 0-5.8022 3.29027-5.8022 7.18337 0 4.0626 1.8522 7.1834 5.5252 7.1834zm4.669-6.6308c0 3.0674-1.906 4.4205-4.034 4.4205-2.459 0-3.784-1.6577-3.793-4.9731 0-3.2024 1.381-4.9731 4.059-4.9731 2.029 0 3.768 1.3563 3.768 4.4205zm10.307 6.6313c-1.66.0436-3.306-.3004-4.81-1.0047v-2.5117c1.509.8373 3.196 1.3013 4.92 1.3532 1.824 0 2.763-.7472 2.763-1.8241s-.804-1.6577-3.426-2.2919c-3.067-.7472-4.367-1.934-4.367-4.2008 0-2.4018 1.853-3.86796 5.002-3.86796 1.54-.02192 3.064.31902 4.448.99526v2.4583c-1.657-.8289-3.01-1.2559-4.477-1.2559-1.739 0-2.678.606-2.678 1.6829 0 .967.663 1.5698 3.203 2.1977 3.067.7441 4.615 1.8837 4.615 4.2792 0 2.2511-1.491 3.9905-5.193 3.9905zm7.461-1.0047c1.506.7075 3.158 1.0516 4.822 1.0046 3.686 0 5.177-1.7393 5.177-3.9904 0-2.3955-1.548-3.5351-4.612-4.2792-2.543-.6279-3.205-1.2307-3.205-2.1977 0-1.0769.938-1.6829 2.678-1.6829 1.466 0 2.819.427 4.477 1.2559v-2.4583c-1.385-.67624-2.909-1.01718-4.449-.99526-3.149 0-5.001 1.46616-5.001 3.86796 0 2.2668 1.299 3.4536 4.367 4.2008 2.625.6342 3.425 1.215 3.425 2.2919s-.939 1.8241-2.763 1.8241c-1.723-.0518-3.409-.5158-4.916-1.3532z\"\n      fill=\"${colors.textColor}\"\n      fill-rule=\"evenodd\"\n    />\n    <path\n      d=\"m10.4644 12.6278v5.309h-5.23365v-5.309h5.23365v-5.3059h-9.547447c-.122288.00081-.243196.0259-.355701.07383-.112505.04794-.214364.11775-.29966.20538-.085295.08763-.152328.19134-.1972019.3051-.0448742.11376-.06669581.2353-.06419744.35757v14.06532c-.00249837.1223.01932324.2438.06419744.3576.0448739.1137.1119069.2175.1972019.3051.085296.0876.187155.1574.29966.2054.112505.0479.233413.073.355701.0738h13.851847c.1223-.0008.2432-.0259.3557-.0738.1125-.048.2144-.1178.2997-.2054s.1523-.1914.1972-.3051c.0449-.1138.0667-.2353.0642-.3576v-9.7013z\"\n      fill=\"url(#${id})\"\n    />\n    <path\n      d=\"m10.4636 2.01256v5.30904h5.2463v5.3059h5.218v-9.68562c.0025-.12227-.0194-.24381-.0642-.35757-.0449-.11376-.1119-.21747-.1972-.3051s-.1872-.15744-.2997-.20537c-.1125-.04794-.2334-.07303-.3557-.07384z\"\n      fill=\"${colors.iconColor}\"\n    />\n  </svg>`;\n};\n\n/**\n * __Compass logo__\n *\n * The Compass logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const CompassLogo = ({\n  appearance,\n  label = 'Compass',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n    fill=\"none\"\n    height=\"32\"\n    viewBox=\"0 0 110 32\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    focusable=\"false\"\n    aria-hidden=\"true\"\n  >\n    <path\n      clip-rule=\"evenodd\"\n      d=\"m14.1286 22.6255c-1.1334.7472-2.9292 1.0769-4.80982 1.0769-5.95893 0-9.31829172-3.5917-9.31829172-9.3089 0-5.50998 3.35936172-9.39365 9.27120172-9.39365 1.76761 0 3.53521.31396 4.83491 1.25583v2.40179c-1.2997-.82885-2.7345-1.25584-4.83491-1.25584-4.25414 0-6.79721 2.82567-6.79721 6.99187s2.6247 6.9353 6.94477 6.9353c1.63605.0146 3.25155-.3656 4.70935-1.1082zm2.2985-6.1319c0-4.1442 2.4301-7.15821 6.5743-7.15821 4.1443 0 6.5115 3.00141 6.5115 7.15821 0 4.1569-2.4049 7.2211-6.5209 7.2211s-6.5649-3.0799-6.5649-7.2211zm2.3202 0c0 2.6247 1.2998 4.9983 4.2541 4.9983 2.9544 0 4.2008-2.3736 4.2008-4.9983s-1.2559-4.9479-4.2008-4.9479-4.2541 2.3232-4.2541 4.9479zm22.9025 6.9327h2.3767v-7.6794c0-2.7911 1.5321-4.2541 3.7298-4.2541 2.2636 0 3.2589 1.4096 3.2589 4.2541v7.6794h2.3767v-8.0938c0-3.8962-1.7143-5.99663-4.8067-5.99663-2.2919 0-4.1443 1.24323-4.9166 3.37193-.6907-2.182-2.2951-3.37193-4.6435-3.37193-.8909-.01851-1.7697.2091-2.5397.65777-.7699.44866-1.4012 1.10106-1.8243 1.88526v-2.26675h-2.3767v13.81415h2.3767v-7.6794c0-2.7911 1.5321-4.2541 3.7298-4.2541 2.2637 0 3.2589 1.1051 3.2589 3.5917zm18.0023-2.4305v7.8176h-2.3767v-19.20173h2.3767v2.48653c.8853-1.8209 2.543-2.76281 4.6685-2.76281 3.6733 0 5.5257 3.13961 5.5257 7.18341 0 3.8962-1.934 7.1833-5.802 7.1833-2.0313 0-3.5791-.9104-4.3922-2.7063zm4.0266-9.4501c-2.1474.0032-4.0266 1.3599-4.0266 4.4205v1.1051c0 3.0674 1.7393 4.4206 3.7675 4.4206 2.678 0 4.0594-1.7676 4.0594-4.9731-.025-3.3118-1.3471-4.9695-3.8003-4.9731zm13.612 12.1564c2.1286 0 3.7863-.9387 4.6686-2.7628l.0031 2.4866h2.3767v-13.81423h-2.3767v2.43323c-.832-1.7959-2.3798-2.70951-4.3954-2.70951-3.868 0-5.802 3.29031-5.802 7.18341 0 4.0626 1.8524 7.1833 5.5257 7.1833zm4.6686-6.6308c0 3.0674-1.9058 4.4206-4.0344 4.4206-2.4583 0-3.7832-1.6577-3.7926-4.9731 0-3.2024 1.3814-4.9731 4.0594-4.9731 2.0282 0 3.7676 1.3563 3.7676 4.4205zm10.307 6.6313c-1.6596.0437-3.3065-.3003-4.8099-1.0047v-2.5116c1.5084.8373 3.1954 1.3012 4.9198 1.3531 1.8241 0 2.7628-.7472 2.7628-1.8241 0-1.0768-.8037-1.6577-3.4253-2.2919-3.0674-.7472-4.3671-1.934-4.3671-4.2007 0-2.4018 1.8523-3.86801 5.0013-3.86801 1.5405-.02191 3.0645.31903 4.4488.99521v2.4583c-1.6577-.8288-3.0108-1.2558-4.477-1.2558-1.7394 0-2.6781.6059-2.6781 1.6828 0 .967.6625 1.5698 3.2024 2.1977 3.0674.7441 4.6152 1.8838 4.6152 4.2793 0 2.2511-1.4913 3.9904-5.1929 3.9904zm7.4606-1.0047c1.5071.7075 3.1581 1.0516 4.8221 1.0047 3.686 0 5.178-1.7393 5.178-3.9904 0-2.3955-1.548-3.5352-4.613-4.2793-2.543-.6279-3.205-1.2307-3.205-2.1977 0-1.0769.939-1.6828 2.678-1.6828 1.466 0 2.819.427 4.477 1.2558v-2.4583c-1.384-.67618-2.908-1.01712-4.449-.99521-3.149 0-5.0011 1.46621-5.0011 3.86801 0 2.2667 1.3001 3.4535 4.3671 4.2007 2.625.6342 3.425 1.2151 3.425 2.2919 0 1.0769-.938 1.8241-2.762 1.8241-1.724-.0517-3.41-.5158-4.9171-1.3531z\"\n      fill=\"${colors.textColor}\"\n      fill-rule=\"evenodd\"\n    />\n  </svg>`;\n};\n\n/**\n * __Compass wordmark__\n *\n * The Compass brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const CompassWordmark = ({\n  appearance,\n  label = 'Compass',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"60.6779047%\" y1=\"137.626433%\" x2=\"14.341981%\" y2=\"112.08042%\" id=\"${id}-1\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient x1=\"12.3282701%\" y1=\"-53.9760846%\" x2=\"74.1300776%\" y2=\"-33.2553066%\" id=\"${id}-2\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"url(#${id}-1)\" d=\"M5.21454927,22.0245336 C4.97082816,22.4219865 4.69711061,22.8831818 4.46463817,23.2506383 C4.25655728,23.602269 4.36826343,24.0557627 4.71585838,24.2705174 L9.59028054,27.2701618 C9.76138278,27.3758032 9.96774369,27.4083016 10.1630326,27.3603607 C10.3583215,27.3124197 10.5261749,27.1880564 10.6289074,27.015192 C10.8238843,26.6889807 11.0751045,26.2652809 11.3488221,25.8115847 C13.2798432,22.6244625 15.2221129,23.0144163 18.7241978,24.686718 L23.5573748,26.9851956 C23.7404243,27.0723219 23.9509502,27.0816253 24.1409716,27.0109854 C24.3309931,26.9403455 24.4843191,26.7957811 24.5660052,26.61024 L26.8869801,21.3608623 C27.0509607,20.9859459 26.8841076,20.5487907 26.5120245,20.3784788 C25.4921454,19.8985357 23.4636359,18.942399 21.6376024,18.0612535 C15.0683811,14.8741313 9.48529299,15.0841064 5.21454927,22.0245336 Z\"></path>\n      <path fill=\"url(#${id}-2)\" d=\"M27.0752616,9.74267061 C27.3190367,9.34512979 27.5928148,8.88383241 27.8253387,8.51629467 C28.0334656,8.1645861 27.9217347,7.71099215 27.5740629,7.4961899 L22.6985622,4.49588177 C22.5250856,4.3802891 22.3113292,4.3421035 22.1085604,4.39048341 C21.9057917,4.43886333 21.7323024,4.56944439 21.6297024,4.75090796 C21.4346824,5.07719147 21.1834066,5.50098499 20.9096284,5.9547816 C18.9781801,9.14260899 17.0354806,8.75256893 13.5326208,7.07989715 L8.71337588,4.78466143 C8.53028584,4.69751579 8.31971336,4.68821035 8.1296499,4.75886591 C7.93958645,4.82952147 7.78622651,4.97411777 7.70452227,5.15969994 L5.38303386,10.4102392 C5.21901692,10.7852385 5.38590698,11.2224905 5.75807237,11.3928401 C6.77817714,11.8728894 8.80713551,12.8292376 10.6335731,13.7105781 C17.2192494,16.8946551 22.8035729,16.6846336 27.0752616,9.74267061 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Confluence icon__\n *\n * The Confluence icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceIcon = ({\n  appearance,\n  label = 'Confluence',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 158 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"99.140087%\" y1=\"112.745465%\" x2=\"33.8589812%\" y2=\"37.7675389%\" id=\"${id}-1\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient x1=\"14.1838118%\" y1=\"5.80047897%\" x2=\"61.141783%\" y2=\"70.9663868%\" id=\"${id}-2\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.textColor}\" fill-rule=\"evenodd\" d=\"M45.312,20.984 C44.064,21.608 42.66,22.024 40.866,22.024 C36.81,22.024 34.34,19.424 34.34,15.498 C34.34,11.572 36.732,8.92 40.736,8.92 C42.712,8.92 44.064,9.336 45.286,10.116 L45.286,7.854 C44.064,6.97 42.4,6.658 40.736,6.658 C35.172,6.658 32,10.298 32,15.498 C32,20.88 35.172,24.26 40.788,24.26 C42.556,24.26 44.246,23.948 45.312,23.246 L45.312,20.984 Z M53.918,24.26 C50.018,24.26 47.73,21.374 47.73,17.474 C47.73,13.574 50.018,10.74 53.918,10.74 C57.792,10.74 60.054,13.574 60.054,17.474 C60.054,21.374 57.792,24.26 53.918,24.26 Z M53.918,12.82 C51.136,12.82 49.914,15.004 49.914,17.474 C49.914,19.944 51.136,22.18 53.918,22.18 C56.674,22.18 57.87,19.944 57.87,17.474 C57.87,15.004 56.674,12.82 53.918,12.82 Z M73.704,16.382 C73.704,12.794 71.988,10.74 68.998,10.74 C67.256,10.74 65.722,11.598 64.89,13.132 L64.89,11 L62.654,11 L62.654,24 L64.89,24 L64.89,16.772 C64.89,14.146 66.32,12.768 68.4,12.768 C70.532,12.768 71.468,13.808 71.468,16.148 L71.468,24 L73.704,24 L73.704,16.382 Z M79.918,9.622 C79.918,8.452 80.594,7.646 81.972,7.646 C82.492,7.646 82.986,7.698 83.376,7.776 L83.376,5.722 C82.986,5.618 82.544,5.514 81.868,5.514 C79.086,5.514 77.734,7.152 77.734,9.57 L77.734,11 L75.628,11 L75.628,13.08 L77.734,13.08 L77.734,24 L79.918,24 L79.918,13.08 L83.272,13.08 L83.272,11 L79.918,11 L79.918,9.622 Z M90.318,23.974 L90.318,21.972 C90.058,21.998 89.902,21.998 89.668,21.998 C88.706,21.998 87.926,21.582 87.926,20.412 L87.926,5.566 L85.69,5.566 L85.69,20.672 C85.69,23.064 87.042,24.078 89.174,24.078 C89.746,24.078 90.136,24.026 90.318,23.974 Z M92.216,18.618 C92.216,22.206 93.932,24.26 96.922,24.26 C98.664,24.26 100.198,23.402 101.03,21.868 L101.03,24 L103.266,24 L103.266,11 L101.03,11 L101.03,18.228 C101.03,20.854 99.6,22.232 97.52,22.232 C95.388,22.232 94.452,21.192 94.452,18.852 L94.452,11 L92.216,11 L92.216,18.618 Z M116.89,23.48 C115.824,24.052 114.186,24.26 112.86,24.26 C107.998,24.26 105.866,21.452 105.866,17.474 C105.866,13.548 108.05,10.74 112.002,10.74 C116.006,10.74 117.618,13.522 117.618,17.474 L117.618,18.488 L108.128,18.488 C108.44,20.698 109.87,22.128 112.938,22.128 C114.446,22.128 115.72,21.842 116.89,21.426 L116.89,23.48 Z M111.898,12.768 C109.532,12.768 108.336,14.302 108.102,16.564 L115.356,16.564 C115.226,14.146 114.134,12.768 111.898,12.768 Z M131.32,16.382 C131.32,12.794 129.604,10.74 126.614,10.74 C124.872,10.74 123.338,11.598 122.506,13.132 L122.506,11 L120.27,11 L120.27,24 L122.506,24 L122.506,16.772 C122.506,14.146 123.936,12.768 126.016,12.768 C128.148,12.768 129.084,13.808 129.084,16.148 L129.084,24 L131.32,24 L131.32,16.382 Z M143.618,21.66 C142.812,21.946 141.98,22.128 140.654,22.128 C137.248,22.128 135.844,19.996 135.844,17.474 C135.844,14.952 137.222,12.82 140.602,12.82 C141.824,12.82 142.708,13.054 143.54,13.444 L143.54,11.364 C142.526,10.896 141.616,10.74 140.446,10.74 C135.818,10.74 133.66,13.548 133.66,17.474 C133.66,21.452 135.818,24.26 140.446,24.26 C141.642,24.26 142.838,24.078 143.618,23.662 L143.618,21.66 Z M156.41,23.48 C155.344,24.052 153.706,24.26 152.38,24.26 C147.518,24.26 145.386,21.452 145.386,17.474 C145.386,13.548 147.57,10.74 151.522,10.74 C155.526,10.74 157.138,13.522 157.138,17.474 L157.138,18.488 L147.648,18.488 C147.96,20.698 149.39,22.128 152.458,22.128 C153.966,22.128 155.24,21.842 156.41,21.426 L156.41,23.48 Z M151.418,12.768 C149.052,12.768 147.856,14.302 147.622,16.564 L154.876,16.564 C154.746,14.146 153.654,12.768 151.418,12.768 Z\"></path>\n      <path fill=\"url(#${id}-1)\" d=\"M0.85465057,21.7022581 C0.61090057,22.0783871 0.33715057,22.5148387 0.10465057,22.8625806 C-0.10345498,23.195346 0.00826440879,23.6245091 0.35590057,23.8277419 L5.23090057,26.6664516 C5.40202309,26.7664253 5.60840847,26.7971801 5.80372052,26.7518112 C5.99903257,26.7064423 6.16690583,26.5887513 6.26965057,26.4251613 C6.46465057,26.1164516 6.71590057,25.7154839 6.98965057,25.286129 C8.92090057,22.27 10.8634006,22.6390323 14.3659006,24.2216129 L19.1996506,26.3967742 C19.3827218,26.4792261 19.5932727,26.4880304 19.7833166,26.4211804 C19.9733605,26.3543303 20.1267047,26.2175221 20.2084006,26.0419355 L22.5296506,21.0741935 C22.6936507,20.7193919 22.5267777,20.3056906 22.1546506,20.1445161 C21.1346506,19.6903226 19.1059006,18.7854839 17.2796506,17.9516129 C10.7096506,14.9354839 5.12590057,15.1341935 0.85465057,21.7022581 Z\"></path>\n      <path fill=\"url(#${id}-2)\" d=\"M22.7130274,10.4325806 C22.9567774,10.0564516 23.2305274,9.62 23.4630274,9.27225806 C23.6711329,8.93949274 23.5594135,8.51032964 23.2117774,8.30709677 L18.3367774,5.4683871 C18.1633186,5.35902032 17.9495842,5.32289142 17.7468362,5.36866556 C17.5440883,5.4144397 17.3706168,5.53798759 17.2680274,5.70967742 C17.0730274,6.0183871 16.8217774,6.41935484 16.5480274,6.84870968 C14.6167774,9.86483871 12.6742774,9.49580645 9.17177736,7.91322581 L4.35302736,5.7416129 C4.16995613,5.65916098 3.95940527,5.65035674 3.76936133,5.71720675 C3.5793174,5.78405675 3.42597321,5.92086501 3.34427736,6.09645161 L1.02302736,11.0641935 C0.85902727,11.4189952 1.02590019,11.8326965 1.39802736,11.993871 C2.41802736,12.4480645 4.44677736,13.3529032 6.27302736,14.1867742 C12.8580274,17.1993548 18.4417774,17.0006452 22.7130274,10.4325806 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Confluence logo__\n *\n * The Confluence logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceLogo = ({\n  appearance,\n  label = 'Confluence',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg viewBox=\"0 0 126 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" fill=\"${colors.textColor}\">\n    <path d=\"M13.312,20.984 C12.064,21.608 10.66,22.024 8.866,22.024 C4.81,22.024 2.34,19.424 2.34,15.498 C2.34,11.572 4.732,8.92 8.736,8.92 C10.712,8.92 12.064,9.336 13.286,10.116 L13.286,7.854 C12.064,6.97 10.4,6.658 8.736,6.658 C3.172,6.658 -2.04281037e-14,10.298 -2.04281037e-14,15.498 C-2.04281037e-14,20.88 3.172,24.26 8.788,24.26 C10.556,24.26 12.246,23.948 13.312,23.246 L13.312,20.984 Z M21.918,24.26 C18.018,24.26 15.73,21.374 15.73,17.474 C15.73,13.574 18.018,10.74 21.918,10.74 C25.792,10.74 28.054,13.574 28.054,17.474 C28.054,21.374 25.792,24.26 21.918,24.26 Z M21.918,12.82 C19.136,12.82 17.914,15.004 17.914,17.474 C17.914,19.944 19.136,22.18 21.918,22.18 C24.674,22.18 25.87,19.944 25.87,17.474 C25.87,15.004 24.674,12.82 21.918,12.82 Z M41.704,16.382 C41.704,12.794 39.988,10.74 36.998,10.74 C35.256,10.74 33.722,11.598 32.89,13.132 L32.89,11 L30.654,11 L30.654,24 L32.89,24 L32.89,16.772 C32.89,14.146 34.32,12.768 36.4,12.768 C38.532,12.768 39.468,13.808 39.468,16.148 L39.468,24 L41.704,24 L41.704,16.382 Z M47.918,9.622 C47.918,8.452 48.594,7.646 49.972,7.646 C50.492,7.646 50.986,7.698 51.376,7.776 L51.376,5.722 C50.986,5.618 50.544,5.514 49.868,5.514 C47.086,5.514 45.734,7.152 45.734,9.57 L45.734,11 L43.628,11 L43.628,13.08 L45.734,13.08 L45.734,24 L47.918,24 L47.918,13.08 L51.272,13.08 L51.272,11 L47.918,11 L47.918,9.622 Z M58.318,23.974 L58.318,21.972 C58.058,21.998 57.902,21.998 57.668,21.998 C56.706,21.998 55.926,21.582 55.926,20.412 L55.926,5.566 L53.69,5.566 L53.69,20.672 C53.69,23.064 55.042,24.078 57.174,24.078 C57.746,24.078 58.136,24.026 58.318,23.974 Z M60.216,18.618 C60.216,22.206 61.932,24.26 64.922,24.26 C66.664,24.26 68.198,23.402 69.03,21.868 L69.03,24 L71.266,24 L71.266,11 L69.03,11 L69.03,18.228 C69.03,20.854 67.6,22.232 65.52,22.232 C63.388,22.232 62.452,21.192 62.452,18.852 L62.452,11 L60.216,11 L60.216,18.618 Z M84.89,23.48 C83.824,24.052 82.186,24.26 80.86,24.26 C75.998,24.26 73.866,21.452 73.866,17.474 C73.866,13.548 76.05,10.74 80.002,10.74 C84.006,10.74 85.618,13.522 85.618,17.474 L85.618,18.488 L76.128,18.488 C76.44,20.698 77.87,22.128 80.938,22.128 C82.446,22.128 83.72,21.842 84.89,21.426 L84.89,23.48 Z M79.898,12.768 C77.532,12.768 76.336,14.302 76.102,16.564 L83.356,16.564 C83.226,14.146 82.134,12.768 79.898,12.768 Z M99.32,16.382 C99.32,12.794 97.604,10.74 94.614,10.74 C92.872,10.74 91.338,11.598 90.506,13.132 L90.506,11 L88.27,11 L88.27,24 L90.506,24 L90.506,16.772 C90.506,14.146 91.936,12.768 94.016,12.768 C96.148,12.768 97.084,13.808 97.084,16.148 L97.084,24 L99.32,24 L99.32,16.382 Z M111.618,21.66 C110.812,21.946 109.98,22.128 108.654,22.128 C105.248,22.128 103.844,19.996 103.844,17.474 C103.844,14.952 105.222,12.82 108.602,12.82 C109.824,12.82 110.708,13.054 111.54,13.444 L111.54,11.364 C110.526,10.896 109.616,10.74 108.446,10.74 C103.818,10.74 101.66,13.548 101.66,17.474 C101.66,21.452 103.818,24.26 108.446,24.26 C109.642,24.26 110.838,24.078 111.618,23.662 L111.618,21.66 Z M124.41,23.48 C123.344,24.052 121.706,24.26 120.38,24.26 C115.518,24.26 113.386,21.452 113.386,17.474 C113.386,13.548 115.57,10.74 119.522,10.74 C123.526,10.74 125.138,13.522 125.138,17.474 L125.138,18.488 L115.648,18.488 C115.96,20.698 117.39,22.128 120.458,22.128 C121.966,22.128 123.24,21.842 124.41,21.426 L124.41,23.48 Z M119.418,12.768 C117.052,12.768 115.856,14.302 115.622,16.564 L122.876,16.564 C122.746,14.146 121.654,12.768 119.418,12.768 Z\"></path>\n  </g>\n</svg>`;\n};\n\n/**\n * __Confluence wordmark__\n *\n * The Confluence brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceWordmark = ({\n  appearance,\n  label = 'Confluence',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n    fill=\"none\"\n    height=\"32\"\n    viewBox=\"0 0 32 32\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n  >\n  <radialGradient id=\"${id}\" cx=\"0\" cy=\"0\" gradientTransform=\"matrix(9.99792 0 0 10.02 15.9984 16.0001)\" gradientUnits=\"userSpaceOnUse\" r=\"1\">\n  <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0\"/>\n  <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\"/>\n  </radialGradient>\n  <g clip-rule=\"evenodd\" fill-rule=\"evenodd\">\n    <path fill=\"url(#${id})\" d=\"m23.072 8.91718c1.3975 1.40162 2.3491 3.18702 2.7343 5.13052s.1868 3.9578-.5701 5.7884c-.7569 1.8305-2.0383 3.395-3.6824 4.4957-1.644 1.1007-3.5767 1.6882-5.5538 1.6882s-3.9098-.5875-5.5539-1.6882c-1.64396-1.1007-2.92542-2.6652-3.68233-4.4957-.75692-1.8306-.9553-3.8449-.57007-5.7884s1.33677-3.7289 2.73433-5.13052c.92848-.93116 2.03097-1.66983 3.24437-2.1738 1.2135-.50397 2.5141-.76337 3.8276-.76337s2.6141.2594 3.8276.76337c1.2134.50397 2.3159 1.24264 3.2444 2.1738zm-12.4506 12.49372-.0281-.0282.0188.0188zm8.0546-9.638 1.8746-1.87877c-1.3177-.98501-2.9176-1.51713-4.5615-1.51713s-3.2439.53212-4.5616 1.51713l1.8746 1.87877-1.5372 1.5406-1.87457-1.8788c-.98401 1.3196-1.51571 2.9227-1.51571 4.5701 0 1.6473.5317 3.2505 1.51571 4.57l1.87457-1.8787 1.5372 1.5468-1.8746 1.8788c1.3177.985 2.9177 1.5171 4.5616 1.5171s3.2438-.5321 4.5615-1.5171l-1.8746-1.8788 1.5372-1.5468 1.8746 1.8787c.984-1.3195 1.5157-2.9227 1.5157-4.57 0-1.6474-.5317-3.2505-1.5157-4.5701l-1.8746 1.8788z\"/>\n    <path fill=\"${colors.iconColor}\" d=\"m15.9984 10.9901c-.9887 0-1.9552.2938-2.7772.8443-.8221.5505-1.4628 1.3329-1.8412 2.2484s-.4773 1.9228-.2845 2.8947c.1929.9718.669 1.8645 1.3681 2.5652.6992.7006 1.5899 1.1778 2.5596 1.3711s1.9748.0941 2.8883-.2851c.9134-.3792 1.6941-1.0214 2.2434-1.8452.5493-.8239.8425-1.7926.8425-2.7834 0-1.3288-.5267-2.6031-1.4642-3.5427-.9374-.9395-2.209-1.4673-3.5348-1.4673zm0 7.8281c-.5561 0-1.0998-.1653-1.5622-.475-.4624-.3096-.8228-.7498-1.0356-1.2647-.2129-.5149-.2685-1.0816-.16-1.6282.1085-.5467.3763-1.0488.7695-1.443.3933-.3941.8943-.6625 1.4398-.7712.5454-.1088 1.1108-.053 1.6246.1603s.953.5745 1.262 1.038c.3089.4634.4739 1.0083.4739 1.5657.0004.3703-.0721.7371-.2132 1.0794-.1411.3422-.3482.6533-.6093.9153-.2612.262-.5713.4699-.9127.6117-.3413.1418-.7072.2148-1.0768.2148z\"/>\n  </g>\n  </svg>`;\n};\n\n/**\n * __Halp icon__\n *\n * The Halp icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const HalpIcon = ({\n  appearance,\n  label = 'Halp',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n    <svg\n      fill=\"none\"\n      height=\"32\"\n      viewBox=\"0 0 83 32\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n    <radialGradient\n      id=\"${id}\"\n      cx=\"0\"\n      cy=\"0\"\n      gradientTransform=\"matrix(9.99792 0 0 10.02 9.99636 14.7546)\"\n      gradientUnits=\"userSpaceOnUse\"\n      r=\"1\"\n      >\n     <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0\"/>\n      <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\"/>\n      </radialGradient>\n        <g\n          clip-rule=\"evenodd\"\n          fill-rule=\"evenodd\"\n        >\n        <path\n          d=\"m66.9971 23.9197c-2.2527 0-3.6836-1.0771-3.6836-3.6103v-16.01008h2.3651v15.73458c0 1.2525.8248 1.6814 1.8434 1.6814.2295.0042.459-.0052.6873-.0281v2.1198c-.3979.0875-.805.1254-1.2122.1127zm-22.9014-.0845v-18.10177h-2.4745v7.90637h-9.5137v-7.90637h-2.4744v18.10177h2.4744v-7.8281h9.5137v7.8281zm8.6324.2755c2.1183 0 3.768-.9362 4.6459-2.7555l.0031 2.48h2.3652v-13.7775h-2.3652v2.4267c-.8279-1.7911-2.3651-2.70226-4.3741-2.70226-3.8492 0-5.7738 3.28156-5.7738 7.16426 0 4.0519 1.8434 7.1643 5.4989 7.1643zm4.6459-6.6132c0 3.0593-1.8965 4.4088-4.0117 4.4088-2.4494 0-3.7804-1.6533-3.7804-4.9599 0-3.1938 1.3747-4.9599 4.0429-4.9599 2.0183 0 3.7492 1.3527 3.7492 4.4088zm15.4811 11.7109v-7.7968c.8248 1.7911 2.362 2.6991 4.371 2.6991 3.8492 0 5.7738-3.2784 5.7738-7.1643 0-4.033-1.8434-7.16426-5.4989-7.16426-2.1183 0-3.7679.93936-4.6459 2.75546v-2.4799h-2.3651v19.1507zm0-12.8131c0-3.0561 1.8965-4.4088 4.0117-4.4088 2.4495 0 3.7679 1.6533 3.7804 4.9599 0 3.197-1.3747 4.9599-4.0429 4.9599-2.0183 0-3.7492-1.3495-3.7492-4.4088z\"\n          fill=\"${colors.textColor}\"\n        />\n        <path\n          d=\"m17.0699 7.67166c1.3976 1.40159 2.3491 3.18704 2.7343 5.13054.3853 1.9435.1869 3.9578-.57 5.7883-.757 1.8306-2.0384 3.3951-3.6824 4.4958s-3.5768 1.6882-5.55388 1.6882c-1.97711 0-3.90984-.5875-5.55385-1.6882-1.644-1.1007-2.92546-2.6652-3.682378-4.4958-.75691561-1.8305-.955299-3.8448-.57007-5.7883.385228-1.9435 1.336768-3.72895 2.734338-5.13054.92848-.93115 2.03094-1.66982 3.24438-2.17379 1.21344-.50398 2.51407-.76337 3.82758-.76337 1.31348 0 2.61418.25939 3.82758.76337 1.2134.50397 2.3159 1.24264 3.2444 2.17379zm-12.45054 12.49374-.02812-.0282.01874.0188zm8.05454-9.638 1.8746-1.87879c-1.3177-.985-2.9176-1.51712-4.56151-1.51712-1.64389 0-3.24382.53212-4.56155 1.51712l1.87461 1.87879-1.53718 1.5405-1.87461-1.8787c-.98401 1.3195-1.51572 2.9227-1.51572 4.5701 0 1.6473.53171 3.2505 1.51572 4.57l1.87461-1.8787 1.53718 1.5468-1.87461 1.8788c1.31773.985 2.91766 1.5171 4.56155 1.5171 1.64391 0 3.24381-.5321 4.56151-1.5171l-1.8746-1.8788 1.5372-1.5468 1.8746 1.8787c.984-1.3195 1.5157-2.9227 1.5157-4.57 0-1.6474-.5317-3.2506-1.5157-4.5701l-1.8746 1.8787z\"\n          fill=\"url(#${id})\"\n          />\n          <path d=\"m9.99628 9.74454c-.9887 0-1.9552.29386-2.77728.84436-.82207.5505-1.4628 1.3329-1.84116 2.2484s-.47736 1.9228-.28447 2.8946c.19289.9719.66899 1.8646 1.36811 2.5652.69912.7007 1.58984 1.1779 2.55955 1.3712.9697.1933 1.97487.0941 2.88827-.2851s1.6942-1.0214 2.2435-1.8453c.5493-.8238.8424-1.7925.8424-2.7834 0-1.3287-.5266-2.603-1.4641-3.5426-.9375-.9395-2.209-1.46736-3.53482-1.46736zm0 7.82816c-.55615 0-1.0998-.1653-1.56222-.475-.46242-.3096-.82283-.7498-1.03565-1.2647-.21283-.515-.26852-1.0816-.16002-1.6283.1085-.5466.37631-1.0488.76956-1.4429.39326-.3941.89429-.6625 1.43975-.7712.54546-.1088 1.1108-.053 1.6247.1603.5138.2133.9529.5745 1.2619 1.038.309.4634.4739 1.0083.4739 1.5656.0004.3704-.072.7372-.2132 1.0794-.1411.3423-.3481.6534-.6093.9154-.2611.262-.5713.4699-.9126.6117-.3414.1418-.7073.2148-1.07682.2148z\"\n          fill=\"${colors.iconColor}\"\n        />\n        </g>\n      </svg>\n    `;\n};\n\n/**\n * __Halp logo__\n *\n * The Halp logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const HalpLogo = ({\n  appearance,\n  label = 'Halp',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n    fill=\"none\"\n    height=\"32\"\n    viewBox=\"0 0 54 32\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      clip-rule=\"evenodd\"\n      d=\"m37.364 24.0872c-2.2526 0-3.6836-1.0771-3.6836-3.6103v-16.01007h2.3652v15.73457c0 1.2525.8248 1.6815 1.8433 1.6815.2295.0041.459-.0053.6874-.0282v2.1198c-.3979.0875-.8051.1254-1.2123.1127zm-22.9014-.0845v-18.10176h-2.4745v7.90646h-9.51362v-7.90646h-2.47448v18.10176h2.47448v-7.8281h9.51362v7.8281zm8.6324.2756c2.1184 0 3.768-.9363 4.646-2.7555l.0031 2.4799h2.3651v-13.7775h-2.3651v2.4267c-.828-1.7911-2.3652-2.70225-4.3741-2.70225-3.8492 0-5.7738 3.28155-5.7738 7.16425 0 4.0519 1.8434 7.1644 5.4988 7.1644zm4.646-6.6132c0 3.0592-1.8965 4.4088-4.0117 4.4088-2.4495 0-3.7805-1.6533-3.7805-4.96 0-3.1938 1.3747-4.9599 4.0429-4.9599 2.0184 0 3.7493 1.3527 3.7493 4.4088zm15.4811 11.7108v-7.7968c.8248 1.7911 2.362 2.6991 4.3709 2.6991 3.8492 0 5.7738-3.2784 5.7738-7.1643 0-4.033-1.8434-7.16425-5.4988-7.16425-2.1183 0-3.768.93935-4.6459 2.75545v-2.4799h-2.3652v19.1507zm0-12.8131c0-3.0561 1.8964-4.4088 4.0116-4.4088 2.4495 0 3.768 1.6533 3.7805 4.9599 0 3.1971-1.3747 4.96-4.0429 4.96-2.0183 0-3.7492-1.3496-3.7492-4.4089z\"\n      fill=\"${colors.textColor}\"\n      fill-rule=\"evenodd\"\n    />\n  </svg>`;\n};\n\n/**\n * __Halp wordmark__\n *\n * The Halp brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const HalpWordmark = ({\n  appearance,\n  label = 'Halp',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"50%\" x2=\"50%\" y1=\"109.344%\" y2=\"50%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path d=\"M23.7345538,23.2663616 C23.7345538,23.2663616 23.8370709,23.1967963 24.005492,23.0649886 C26.4585812,21.1684211 28,18.415103 28,15.3505721 C28,9.63524027 22.6251716,5 15.9981693,5 C9.37116705,5 4,9.63524027 4,15.3505721 C4,21.0659039 9.37116705,25.7084668 15.9981693,25.7084668 C16.8443253,25.7085918 17.6887221,25.6313828 18.5208238,25.4778032 L18.780778,25.4302059 C20.4686499,26.5286041 22.9217391,27.421968 25.0672769,27.421968 C25.7372998,27.421968 26.0485126,26.8764302 25.6237986,26.3235698 C24.9757437,25.5034325 24.0823799,24.2475973 23.7345538,23.2663616 Z M22.2700229,18.7409611 C21.5560641,19.8100686 19.3409611,21.6297483 16.016476,21.6297483 L15.97254,21.6297483 C12.6443936,21.6297483 10.4292906,19.7990847 9.71899314,18.7409611 C9.57610016,18.5841129 9.48084942,18.3898014 9.44439359,18.180778 C9.43329033,18.0479311 9.4771359,17.9163408 9.56570231,17.8167036 C9.65426872,17.7170664 9.77981099,17.6580954 9.91304348,17.6535469 C10.030087,17.6573963 10.1434115,17.6955956 10.2389016,17.7633867 C11.8654801,19.0871958 13.8973189,19.8122986 15.994508,19.8173913 C18.1018351,19.8400381 20.1471166,19.1045684 21.7574371,17.7450801 C21.8437646,17.6671264 21.9559962,17.6240608 22.0723112,17.6242563 C22.3357824,17.6242486 22.5499338,17.8367653 22.5519451,18.1002288 C22.521169,18.3343594 22.4275401,18.5557793 22.2810069,18.7409611 L22.2700229,18.7409611 Z\" fill=\"url(#${id})\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated HipchatIcon will be removed from @atlaskit/logo in the next major release.\n */\nexport const HipchatIcon = ({\n  label = 'Hipchat',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('HipchatIcon has been deprecated and will be removed from @atlaskit/logo after June 30 2021.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 118 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"49.9923722%\" y1=\"107.31548%\" x2=\"49.9923722%\" y2=\"38.7491835%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path d=\"M32,6.918 L32,24 L34.34,24 L34.34,16.616 L43.336,16.616 L43.336,24 L45.676,24 L45.676,6.918 L43.336,6.918 L43.336,14.38 L34.34,14.38 L34.34,6.918 L32,6.918 Z M49.524,7.568 C49.524,8.556 50.174,9.128 51.084,9.128 C51.994,9.128 52.644,8.556 52.644,7.568 C52.644,6.58 51.994,6.008 51.084,6.008 C50.174,6.008 49.524,6.58 49.524,7.568 Z M49.94,24 L52.176,24 L52.176,11 L49.94,11 L49.94,24 Z M61.926,24.26 C60.028,24.26 58.572,23.402 57.792,21.712 L57.792,29.07 L55.556,29.07 L55.556,11 L57.792,11 L57.792,13.34 C58.624,11.624 60.184,10.74 62.186,10.74 C65.644,10.74 67.386,13.678 67.386,17.5 C67.386,21.166 65.566,24.26 61.926,24.26 Z M65.15,17.5 C65.15,14.38 63.902,12.82 61.588,12.82 C59.586,12.82 57.792,14.094 57.792,16.98 L57.792,18.02 C57.792,20.906 59.43,22.18 61.328,22.18 C63.85,22.18 65.15,20.516 65.15,17.5 Z M79.164,21.66 C78.358,21.946 77.526,22.128 76.2,22.128 C72.794,22.128 71.39,19.996 71.39,17.474 C71.39,14.952 72.768,12.82 76.148,12.82 C77.37,12.82 78.254,13.054 79.086,13.444 L79.086,11.364 C78.072,10.896 77.162,10.74 75.992,10.74 C71.364,10.74 69.206,13.548 69.206,17.474 C69.206,21.452 71.364,24.26 75.992,24.26 C77.188,24.26 78.384,24.078 79.164,23.662 L79.164,21.66 Z M92.762,16.382 C92.762,12.716 91.15,10.74 88.238,10.74 C86.366,10.74 84.806,11.624 83.948,13.158 L83.948,5.566 L81.712,5.566 L81.712,24 L83.948,24 L83.948,16.772 C83.948,14.146 85.378,12.768 87.458,12.768 C89.59,12.768 90.526,14.094 90.526,16.772 L90.526,24 L92.762,24 L92.762,16.382 Z M104.722,24 L104.722,21.66 C103.89,23.376 102.33,24.26 100.328,24.26 C96.87,24.26 95.128,21.322 95.128,17.5 C95.128,13.834 96.948,10.74 100.588,10.74 C102.486,10.74 103.942,11.598 104.722,13.288 L104.722,11 L106.958,11 L106.958,24 L104.722,24 Z M97.364,17.5 C97.364,20.62 98.612,22.18 100.926,22.18 C102.928,22.18 104.722,20.906 104.722,18.02 L104.722,16.98 C104.722,14.094 103.084,12.82 101.186,12.82 C98.664,12.82 97.364,14.484 97.364,17.5 Z M113.432,19.892 L113.432,13.08 L116.89,13.08 L116.89,11 L113.432,11 L113.432,8.244 L111.248,8.244 L111.248,11 L109.142,11 L109.142,13.08 L111.248,13.08 L111.248,19.944 C111.248,22.362 112.6,24 115.382,24 C116.058,24 116.5,23.896 116.89,23.792 L116.89,21.634 C116.5,21.712 116.006,21.816 115.486,21.816 C114.108,21.816 113.432,21.036 113.432,19.892 Z\" fill=\"inherit\" fill-rule=\"evenodd\"></path>\n      <path d=\"M19.6,22.7029032 C19.6,22.7029032 19.7018182,22.6354839 19.8690909,22.5077419 C22.3054545,20.6696774 23.8363636,18.0012903 23.8363636,15.0312903 C23.8363636,9.49225806 18.4981818,5 11.9163636,5 C5.33454545,5 0,9.49225806 0,15.0312903 C0,20.5703226 5.33454545,25.0696774 11.9163636,25.0696774 C12.7567504,25.0697985 13.5953899,24.9949712 14.4218182,24.846129 L14.68,24.8 C16.3563636,25.8645161 18.7927273,26.7303226 20.9236364,26.7303226 C21.5890909,26.7303226 21.8981818,26.2016129 21.4763636,25.6658065 C20.8327273,24.8709677 19.9454545,23.653871 19.6,22.7029032 Z M18.1454545,18.3170968 C17.4363636,19.3532258 15.2363636,21.1167742 11.9345455,21.1167742 L11.8909091,21.1167742 C8.58545455,21.1167742 6.38545455,19.3425806 5.68,18.3170968 C5.53808129,18.1650868 5.44347999,17.9767692 5.40727273,17.7741935 C5.39624517,17.6454445 5.43979179,17.5179134 5.52775434,17.4213496 C5.61571689,17.3247859 5.74040319,17.267634 5.87272727,17.2632258 C5.98897276,17.2669565 6.10152459,17.3039774 6.19636364,17.3696774 C7.81185179,18.6526513 9.82983722,19.355387 11.9127273,19.3603226 L11.9127273,19.3603226 C14.0056863,19.3822708 16.0370226,18.669488 17.6363636,17.3519355 C17.7221026,17.2763864 17.8335689,17.2346492 17.9490909,17.2348387 C18.2107657,17.2348313 18.423457,17.4407925 18.4254545,17.696129 C18.3948883,17.9230374 18.3018978,18.1376272 18.1563636,18.3170968 L18.1454545,18.3170968 Z\" fill=\"url(#${id})\" fill-rule=\"nonzero\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated HipchatLogo will be removed from @atlaskit/logo in the next major release.\n */\nexport const HipchatLogo = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Hipchat',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('HipchatLogo has been deprecated and will be removed from @atlaskit/logo after June 30 2021.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `\n<svg viewBox=\"0 0 86 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" fill=\"inherit\">\n    <path d=\"M-6.88338275e-14,6.918 L-6.88338275e-14,24 L2.34,24 L2.34,16.616 L11.336,16.616 L11.336,24 L13.676,24 L13.676,6.918 L11.336,6.918 L11.336,14.38 L2.34,14.38 L2.34,6.918 L-6.88338275e-14,6.918 Z M17.524,7.568 C17.524,8.556 18.174,9.128 19.084,9.128 C19.994,9.128 20.644,8.556 20.644,7.568 C20.644,6.58 19.994,6.008 19.084,6.008 C18.174,6.008 17.524,6.58 17.524,7.568 Z M17.94,24 L20.176,24 L20.176,11 L17.94,11 L17.94,24 Z M29.926,24.26 C28.028,24.26 26.572,23.402 25.792,21.712 L25.792,29.07 L23.556,29.07 L23.556,11 L25.792,11 L25.792,13.34 C26.624,11.624 28.184,10.74 30.186,10.74 C33.644,10.74 35.386,13.678 35.386,17.5 C35.386,21.166 33.566,24.26 29.926,24.26 Z M33.15,17.5 C33.15,14.38 31.902,12.82 29.588,12.82 C27.586,12.82 25.792,14.094 25.792,16.98 L25.792,18.02 C25.792,20.906 27.43,22.18 29.328,22.18 C31.85,22.18 33.15,20.516 33.15,17.5 Z M47.164,21.66 C46.358,21.946 45.526,22.128 44.2,22.128 C40.794,22.128 39.39,19.996 39.39,17.474 C39.39,14.952 40.768,12.82 44.148,12.82 C45.37,12.82 46.254,13.054 47.086,13.444 L47.086,11.364 C46.072,10.896 45.162,10.74 43.992,10.74 C39.364,10.74 37.206,13.548 37.206,17.474 C37.206,21.452 39.364,24.26 43.992,24.26 C45.188,24.26 46.384,24.078 47.164,23.662 L47.164,21.66 Z M60.762,16.382 C60.762,12.716 59.15,10.74 56.238,10.74 C54.366,10.74 52.806,11.624 51.948,13.158 L51.948,5.566 L49.712,5.566 L49.712,24 L51.948,24 L51.948,16.772 C51.948,14.146 53.378,12.768 55.458,12.768 C57.59,12.768 58.526,14.094 58.526,16.772 L58.526,24 L60.762,24 L60.762,16.382 Z M72.722,24 L72.722,21.66 C71.89,23.376 70.33,24.26 68.328,24.26 C64.87,24.26 63.128,21.322 63.128,17.5 C63.128,13.834 64.948,10.74 68.588,10.74 C70.486,10.74 71.942,11.598 72.722,13.288 L72.722,11 L74.958,11 L74.958,24 L72.722,24 Z M65.364,17.5 C65.364,20.62 66.612,22.18 68.926,22.18 C70.928,22.18 72.722,20.906 72.722,18.02 L72.722,16.98 C72.722,14.094 71.084,12.82 69.186,12.82 C66.664,12.82 65.364,14.484 65.364,17.5 Z M81.432,19.892 L81.432,13.08 L84.89,13.08 L84.89,11 L81.432,11 L81.432,8.244 L79.248,8.244 L79.248,11 L77.142,11 L77.142,13.08 L79.248,13.08 L79.248,19.944 C79.248,22.362 80.6,24 83.382,24 C84.058,24 84.5,23.896 84.89,23.792 L84.89,21.634 C84.5,21.712 84.006,21.816 83.486,21.816 C82.108,21.816 81.432,21.036 81.432,19.892 Z\"></path>\n  </g>\n</svg>`;\n\n/**\n * @deprecated HipchatWordmark will be removed from @atlaskit/logo in the next major release.\n */\nexport const HipchatWordmark = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Hipchat',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('HipchatWordmark has been deprecated and will be removed from @atlaskit/logo after June 30 2021.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg(),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  size,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg height=\"32\" viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n   <defs>\n      <linearGradient id=\"${id}-1\" x1=\"15.1552\" y1=\"20.5458\" x2=\"16.7055\" y2=\"12.6394\" gradientUnits=\"userSpaceOnUse\">\n        <stop offset=\"0.15\" stop-color=\"${colors.iconGradientStart}\"  ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient id=\"${id}-2\" x1=\"18.3249\" y1=\"10.8472\" x2=\"16.7745\" y2=\"18.7536\" gradientUnits=\"userSpaceOnUse\">\n        <stop offset=\"0.15\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <path fill=\"url(#${id}-1)\" d=\"M6.93411 5.78784C6.93411 9.51693 9.94886 12.5581 13.6455 12.5581H19.8545V18.8578H26.5659V6.91019C26.5659 6.33091 26.0993 5.82405 25.5251 5.82405L6.93411 5.78784Z\" />\n    <path fill=\"url(#${id}-2)\" d=\"M26.53 25.5918C26.53 21.8627 23.5152 18.8577 19.8186 18.8577H13.6455V12.5581H6.93411V24.5057C6.93411 25.085 7.40068 25.5918 7.97492 25.5918H26.53Z\" />\n  </svg>`;\n};\n\n/**\n * __Jira Align icon__\n *\n * The Jira Align icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraAlignIcon = ({\n  appearance,\n  label = 'Jira Align',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      size\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg height=\"32\" viewBox=\"0 0 147 32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}-1\" x1=\"8.97104\" y1=\"20.5458\" x2=\"10.5214\" y2=\"12.6394\" gradientUnits=\"userSpaceOnUse\">\n        <stop offset=\"0.15\" stop-color=\"${colors.iconGradientStart}\"  ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient id=\"${id}-2\" x1=\"12.1408\" y1=\"10.8472\" x2=\"10.5904\" y2=\"18.7536\" gradientUnits=\"userSpaceOnUse\">\n        <stop offset=\"0.15\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g fill=\"${colors.textColor}\">\n      <path d=\"M36.6401 4.60829H39.4754V18.6632C39.4754 22.3692 37.7886 24.9565 33.8766 24.9565C32.4051 24.9565 31.2566 24.7117 30.467 24.432V21.7399C31.3284 22.0895 32.3692 22.2644 33.41 22.2644C35.8146 22.2644 36.6401 20.8658 36.6401 18.838V4.60829Z\" />\n      <path d=\"M44.6076 3.52444C45.7202 3.52444 46.5097 4.18873 46.5097 5.37745C46.5097 6.53121 45.7202 7.23046 44.6076 7.23046C43.495 7.23046 42.7054 6.56618 42.7054 5.37745C42.7054 4.18873 43.495 3.52444 44.6076 3.52444ZM43.2438 9.4331H45.9714V24.8166H43.2438V9.4331Z\" />\n      <path d=\"M52.7545 24.8166H50.0987V9.43309H52.7545V12.1252C53.6877 10.3072 55.2668 9.01354 58.3534 9.18835V11.7756C54.872 11.426 52.7545 12.4399 52.7545 15.7263V24.8166Z\" />\n      <path d=\"M71.0943 22.0546C70.0894 24.0824 68.1872 25.1313 65.7467 25.1313C61.5476 25.1313 59.4301 21.67 59.4301 17.1249C59.4301 12.7895 61.6552 9.11844 66.0697 9.11844C68.3666 9.11844 70.1611 10.1324 71.0943 12.1252V9.4331H73.8219V24.8166H71.0943V22.0546ZM66.4645 22.6489C68.905 22.6489 71.0584 21.1455 71.0584 17.7192V16.4955C71.0584 13.0692 69.0844 11.5658 66.7516 11.5658C63.701 11.5658 62.1218 13.5237 62.1218 17.0899C62.1577 20.8309 63.6651 22.6489 66.4645 22.6489Z\" />\n      <path d=\"M83.9431 20.2715L82.2204 24.8166H79.0262L87.209 4.60829H90.798L98.9809 24.8166H95.7867L94.064 20.2365C92.1977 20.6211 90.5827 20.7959 88.9318 20.7959C87.3167 20.7959 85.7017 20.5862 83.9431 20.2715ZM93.2027 17.929L89.0035 6.84589L84.8044 17.964C86.3477 18.2087 87.6397 18.3486 88.8959 18.3486C90.2238 18.3136 91.5876 18.1737 93.2027 17.929Z\" />\n      <path d=\"M105.082 24.9215C102.498 24.9215 100.847 23.7328 100.847 20.9008V3H103.575V20.5512C103.575 21.9497 104.508 22.4391 105.692 22.4391C105.979 22.4391 106.159 22.4391 106.482 22.4042V24.7816C106.266 24.8516 105.8 24.9215 105.082 24.9215Z\" />\n      <path d=\"M110.501 3.52444C111.614 3.52444 112.404 4.18873 112.404 5.37745C112.404 6.53121 111.614 7.23046 110.501 7.23046C109.389 7.23046 108.599 6.56618 108.599 5.37745C108.599 4.18873 109.389 3.52444 110.501 3.52444ZM109.102 9.4331H111.829V24.8166H109.102V9.4331Z\" />\n      <path d=\"M126.58 22.0546C125.575 24.0824 123.673 25.1313 121.233 25.1313C117.069 25.1313 114.988 21.67 114.988 17.1249C114.988 12.7895 117.177 9.11844 121.556 9.11844C123.852 9.11844 125.647 10.1324 126.58 12.1252V9.4331H129.236V23.4181C129.236 27.9283 127.047 30.97 121.412 30.97C118.756 30.97 117.321 30.6204 115.777 30.1309V27.5437C117.5 28.1031 119.33 28.4527 121.268 28.4527C125.216 28.4527 126.58 26.3899 126.58 23.523V22.0546ZM121.95 22.6489C124.391 22.6489 126.544 21.1455 126.544 17.7192V16.4955C126.544 13.0692 124.57 11.5658 122.237 11.5658C119.187 11.5658 117.608 13.5237 117.608 17.0899C117.644 20.8309 119.151 22.6489 121.95 22.6489Z\" />\n      <path d=\"M146.75 24.8166H144.023V15.5166C144.023 12.7545 142.874 11.5309 140.29 11.5309C137.778 11.5309 136.019 13.1741 136.019 16.2858V24.8516H133.292V9.46807H136.019V11.9854C137.024 10.1673 138.89 9.15341 141.008 9.15341C144.633 9.15341 146.714 11.6008 146.714 15.8312V24.8166H146.75Z\" />\n      <path fill=\"url(#${id}-1)\" d=\"M0.75 5.78784C0.75 9.51693 3.76475 12.5581 7.46141 12.5581H13.6704V18.8578H20.3818V6.91019C20.3818 6.33091 19.9152 5.82405 19.341 5.82405L0.75 5.78784Z\" />\n      <path fill=\"url(#${id}-2)\" d=\"M20.3459 25.5918C20.3459 21.8627 17.3311 18.8577 13.6345 18.8577H7.46141V12.5581H0.75V24.5057C0.75 25.085 1.21657 25.5918 1.79081 25.5918H20.3459Z\" />\n    </g>\n  </svg>\n  `;\n};\n\n/**\n * __Jira Align logo__\n *\n * The Jira Align logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraAlignLogo = ({\n  appearance,\n  label = 'Jira Align',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor,\n      size,\n      label\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg height=\"32\" viewBox=\"0 0 117 32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <g fill=\"${colors.textColor}\">\n      <path d=\"M6.60677 4.66543H9.44207V19.2197C9.44207 23.0574 7.75525 25.7366 3.84325 25.7366C2.37177 25.7366 1.22329 25.4832 0.433716 25.1935V22.4058C1.29507 22.7678 2.33588 22.9488 3.37668 22.9488C5.7813 22.9488 6.60677 21.5006 6.60677 19.4008V4.66543Z\" />\n      <path d=\"M14.5743 3.54307C15.6868 3.54307 16.4764 4.23096 16.4764 5.46192C16.4764 6.65668 15.6868 7.38078 14.5743 7.38078C13.4617 7.38078 12.6721 6.69289 12.6721 5.46192C12.6721 4.23096 13.4617 3.54307 14.5743 3.54307ZM13.2104 9.66167H15.9381V25.5918H13.2104V9.66167Z\" />\n      <path d=\"M22.7212 25.5918H20.0654V9.66166H22.7212V12.4494C23.6543 10.5668 25.2335 9.22721 28.32 9.40823V12.0874C24.8387 11.7253 22.7212 12.7753 22.7212 16.1785V25.5918Z\" />\n      <path d=\"M41.061 22.7316C40.056 24.8315 38.1539 25.9176 35.7134 25.9176C31.5142 25.9176 29.3967 22.3333 29.3967 17.6267C29.3967 13.1373 31.6219 9.33583 36.0364 9.33583C38.3333 9.33583 40.1278 10.3858 41.061 12.4494V9.66167H43.7886V25.5918H41.061V22.7316ZM36.4312 23.3471C38.8717 23.3471 41.0251 21.7903 41.0251 18.2422V16.975C41.0251 13.427 39.0511 11.8702 36.7183 11.8702C33.6676 11.8702 32.0885 13.8976 32.0885 17.5905C32.1244 21.4644 33.6317 23.3471 36.4312 23.3471Z\" />\n      <path d=\"M53.9098 20.8852L52.187 25.5918H48.9928L57.1757 4.66543H60.7647L68.9476 25.5918H65.7534L64.0307 20.849C62.1644 21.2472 60.5494 21.4282 58.8984 21.4282C57.2834 21.4282 55.6684 21.211 53.9098 20.8852ZM63.1693 18.4594L58.9702 6.98254L54.7711 18.4956C56.3144 18.7491 57.6064 18.8939 58.8626 18.8939C60.1905 18.8577 61.5543 18.7129 63.1693 18.4594Z\" />\n      <path d=\"M75.0487 25.7004C72.4646 25.7004 70.8137 24.4694 70.8137 21.5368V3H73.5413V21.1748C73.5413 22.623 74.4745 23.1298 75.6588 23.1298C75.9459 23.1298 76.1254 23.1298 76.4484 23.0936V25.5556C76.2331 25.628 75.7665 25.7004 75.0487 25.7004Z\" />\n      <path d=\"M80.468 3.54307C81.5806 3.54307 82.3702 4.23096 82.3702 5.46192C82.3702 6.65668 81.5806 7.38078 80.468 7.38078C79.3554 7.38078 78.5659 6.69289 78.5659 5.46192C78.5659 4.23096 79.3554 3.54307 80.468 3.54307ZM79.0683 9.66167H81.7959V25.5918H79.0683V9.66167Z\" />\n      <path d=\"M96.5468 22.7316C95.5419 24.8315 93.6397 25.9176 91.1992 25.9176C87.036 25.9176 84.9544 22.3333 84.9544 17.6267C84.9544 13.1373 87.1437 9.33583 91.5222 9.33583C93.8192 9.33583 95.6137 10.3858 96.5468 12.4494V9.66167H99.2026V24.1436C99.2026 28.814 97.0134 31.9638 91.3787 31.9638C88.7228 31.9638 87.2872 31.6018 85.7439 31.0949V28.4157C87.4667 28.995 89.297 29.3571 91.2351 29.3571C95.183 29.3571 96.5468 27.221 96.5468 24.2522V22.7316ZM91.917 23.3471C94.3575 23.3471 96.5109 21.7903 96.5109 18.2422V16.975C96.5109 13.427 94.537 11.8702 92.2041 11.8702C89.1535 11.8702 87.5743 13.8976 87.5743 17.5905C87.6102 21.4644 89.1176 23.3471 91.917 23.3471Z\" />\n      <path d=\"M116.717 25.5918H113.989V15.9613C113.989 13.1011 112.841 11.834 110.257 11.834C107.744 11.834 105.986 13.5356 105.986 16.7578V25.628H103.258V9.69789H105.986V12.3046C106.991 10.422 108.857 9.37205 110.975 9.37205C114.599 9.37205 116.681 11.9064 116.681 16.2872V25.5918H116.717Z\" />\n    </g>\n  </svg>  \n  `;\n};\n\n/**\n * __Jira Align wordmark__\n *\n * The Jira Align brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraAlignWordmark = ({\n  appearance,\n  label = 'Jira Align',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop,\n  size\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"26.51%\" y1=\"20.831%\" y2=\"63.912%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"17%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path d=\"M15.52,20.5269517 C15.52,25.2103264 19.3166253,29.0069517 24,29.0069517 L24,12.11 L15.52,17.9183271 L15.52,20.5269517 Z\" fill=\"url(#${id})\"></path>\n      <path d=\"M23.9969697,12.1078788 L23.9969697,4.26454545 C23.9961315,3.79791901 23.7375983,3.36992522 23.3249582,3.15205124 C22.912318,2.93417725 22.4130783,2.9620669 22.0272727,3.22454545 L2.35,16.6578788 C4.98320643,20.5274016 10.2540962,21.5307928 14.1248485,18.8993939 L23.9969697,12.1078788 Z\" fill=\"currentColor\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated JiraCoreIcon will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementIcon instead.\n */\nexport const JiraCoreIcon = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Jira Core',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('JiraCoreIcon has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementIcon instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 123 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"17.1933086%\" y1=\"20.0326493%\" x2=\"88.2434944%\" y2=\"53.9179104%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"17%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\">\n      <path d=\"M12.4602727,20.1745455 C12.4602727,24.4964247 16.0514375,28 20.4813636,28 L20.4813636,28 L20.4813636,12.4072727 L12.4602727,17.7672727 L12.4602727,20.1745455 Z\" fill=\"url(#${id})\" fill-rule=\"nonzero\"></path>\n      <path d=\"M20.4813636,12.4072727 L20.4813636,5.16727273 C20.4805706,4.73654063 20.2359584,4.34146943 19.8455373,4.14035499 C19.4551163,3.93924054 18.9827587,3.96498483 18.6177273,4.20727273 L0,16.6072727 C2.49141839,20.1791399 7.47849106,21.1053472 11.1408182,18.6763636 L20.4813636,12.4072727 Z\" fill=\"currentColor\" fill-rule=\"nonzero\"></path>\n      <path d=\"M33.07,18.956 C33.07,20.646 32.394,21.842 30.418,21.842 C29.56,21.842 28.702,21.686 28,21.4 L28,23.662 C28.65,23.896 29.586,24.104 30.808,24.104 C34.032,24.104 35.41,21.946 35.41,18.8 L35.41,6.918 L33.07,6.918 L33.07,18.956 Z M38.894,7.568 C38.894,8.556 39.544,9.128 40.454,9.128 C41.364,9.128 42.014,8.556 42.014,7.568 C42.014,6.58 41.364,6.008 40.454,6.008 C39.544,6.008 38.894,6.58 38.894,7.568 Z M39.31,24 L41.546,24 L41.546,11 L39.31,11 L39.31,24 Z M44.926,24 L47.11,24 L47.11,16.33 C47.11,13.574 48.852,12.716 51.712,13.002 L51.712,10.818 C49.164,10.662 47.864,11.754 47.11,13.288 L47.11,11 L44.926,11 L44.926,24 Z M62.45,24 L62.45,21.66 C61.618,23.376 60.058,24.26 58.056,24.26 C54.598,24.26 52.856,21.322 52.856,17.5 C52.856,13.834 54.676,10.74 58.316,10.74 C60.214,10.74 61.67,11.598 62.45,13.288 L62.45,11 L64.686,11 L64.686,24 L62.45,24 Z M55.092,17.5 C55.092,20.62 56.34,22.18 58.654,22.18 C60.656,22.18 62.45,20.906 62.45,18.02 L62.45,16.98 C62.45,14.094 60.812,12.82 58.914,12.82 C56.392,12.82 55.092,14.484 55.092,17.5 Z M85.018,20.984 C83.77,21.608 82.366,22.024 80.572,22.024 C76.516,22.024 74.046,19.424 74.046,15.498 C74.046,11.572 76.438,8.92 80.442,8.92 C82.418,8.92 83.77,9.336 84.992,10.116 L84.992,7.854 C83.77,6.97 82.106,6.658 80.442,6.658 C74.878,6.658 71.706,10.298 71.706,15.498 C71.706,20.88 74.878,24.26 80.494,24.26 C82.262,24.26 83.952,23.948 85.018,23.246 L85.018,20.984 Z M93.624,24.26 C89.724,24.26 87.436,21.374 87.436,17.474 C87.436,13.574 89.724,10.74 93.624,10.74 C97.498,10.74 99.76,13.574 99.76,17.474 C99.76,21.374 97.498,24.26 93.624,24.26 Z M93.624,12.82 C90.842,12.82 89.62,15.004 89.62,17.474 C89.62,19.944 90.842,22.18 93.624,22.18 C96.38,22.18 97.576,19.944 97.576,17.474 C97.576,15.004 96.38,12.82 93.624,12.82 Z M102.36,24 L104.544,24 L104.544,16.33 C104.544,13.574 106.286,12.716 109.146,13.002 L109.146,10.818 C106.598,10.662 105.298,11.754 104.544,13.288 L104.544,11 L102.36,11 L102.36,24 Z M121.314,23.48 C120.248,24.052 118.61,24.26 117.284,24.26 C112.422,24.26 110.29,21.452 110.29,17.474 C110.29,13.548 112.474,10.74 116.426,10.74 C120.43,10.74 122.042,13.522 122.042,17.474 L122.042,18.488 L112.552,18.488 C112.864,20.698 114.294,22.128 117.362,22.128 C118.87,22.128 120.144,21.842 121.314,21.426 L121.314,23.48 Z M116.322,12.768 C113.956,12.768 112.76,14.302 112.526,16.564 L119.78,16.564 C119.65,14.146 118.558,12.768 116.322,12.768 Z\" fill=\"inherit\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated JiraCoreLogo will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementLogo instead.\n */\nexport const JiraCoreLogo = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Jira Core',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('JiraCoreLogo has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementLogo instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `<svg viewBox=\"0 0 95 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" fill=\"inherit\">\n    <path d=\"M5.07,18.956 C5.07,20.646 4.394,21.842 2.418,21.842 C1.56,21.842 0.702,21.686 9.1038288e-15,21.4 L9.1038288e-15,23.662 C0.65,23.896 1.586,24.104 2.808,24.104 C6.032,24.104 7.41,21.946 7.41,18.8 L7.41,6.918 L5.07,6.918 L5.07,18.956 Z M10.894,7.568 C10.894,8.556 11.544,9.128 12.454,9.128 C13.364,9.128 14.014,8.556 14.014,7.568 C14.014,6.58 13.364,6.008 12.454,6.008 C11.544,6.008 10.894,6.58 10.894,7.568 Z M11.31,24 L13.546,24 L13.546,11 L11.31,11 L11.31,24 Z M16.926,24 L19.11,24 L19.11,16.33 C19.11,13.574 20.852,12.716 23.712,13.002 L23.712,10.818 C21.164,10.662 19.864,11.754 19.11,13.288 L19.11,11 L16.926,11 L16.926,24 Z M34.45,24 L34.45,21.66 C33.618,23.376 32.058,24.26 30.056,24.26 C26.598,24.26 24.856,21.322 24.856,17.5 C24.856,13.834 26.676,10.74 30.316,10.74 C32.214,10.74 33.67,11.598 34.45,13.288 L34.45,11 L36.686,11 L36.686,24 L34.45,24 Z M27.092,17.5 C27.092,20.62 28.34,22.18 30.654,22.18 C32.656,22.18 34.45,20.906 34.45,18.02 L34.45,16.98 C34.45,14.094 32.812,12.82 30.914,12.82 C28.392,12.82 27.092,14.484 27.092,17.5 Z M57.018,20.984 C55.77,21.608 54.366,22.024 52.572,22.024 C48.516,22.024 46.046,19.424 46.046,15.498 C46.046,11.572 48.438,8.92 52.442,8.92 C54.418,8.92 55.77,9.336 56.992,10.116 L56.992,7.854 C55.77,6.97 54.106,6.658 52.442,6.658 C46.878,6.658 43.706,10.298 43.706,15.498 C43.706,20.88 46.878,24.26 52.494,24.26 C54.262,24.26 55.952,23.948 57.018,23.246 L57.018,20.984 Z M65.624,24.26 C61.724,24.26 59.436,21.374 59.436,17.474 C59.436,13.574 61.724,10.74 65.624,10.74 C69.498,10.74 71.76,13.574 71.76,17.474 C71.76,21.374 69.498,24.26 65.624,24.26 Z M65.624,12.82 C62.842,12.82 61.62,15.004 61.62,17.474 C61.62,19.944 62.842,22.18 65.624,22.18 C68.38,22.18 69.576,19.944 69.576,17.474 C69.576,15.004 68.38,12.82 65.624,12.82 Z M74.36,24 L76.544,24 L76.544,16.33 C76.544,13.574 78.286,12.716 81.146,13.002 L81.146,10.818 C78.598,10.662 77.298,11.754 76.544,13.288 L76.544,11 L74.36,11 L74.36,24 Z M93.314,23.48 C92.248,24.052 90.61,24.26 89.284,24.26 C84.422,24.26 82.29,21.452 82.29,17.474 C82.29,13.548 84.474,10.74 88.426,10.74 C92.43,10.74 94.042,13.522 94.042,17.474 L94.042,18.488 L84.552,18.488 C84.864,20.698 86.294,22.128 89.362,22.128 C90.87,22.128 92.144,21.842 93.314,21.426 L93.314,23.48 Z M88.322,12.768 C85.956,12.768 84.76,14.302 84.526,16.564 L91.78,16.564 C91.65,14.146 90.558,12.768 88.322,12.768 Z\"></path>\n  </g>\n</svg>`;\n\n/**\n * @deprecated JiraCoreWordmark will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementWordmark instead.\n */\nexport const JiraCoreWordmark = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Jira Core',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('JiraCoreWordmark has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementWordmark instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg(),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  size,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"94.092%\" x2=\"56.535%\" y1=\"6.033%\" y2=\"43.087%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"18%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.iconColor}\" d=\"M26.0406546,5 L14.9983562,5 C14.9983562,6.32163748 15.5233746,7.58914413 16.4579134,8.52368295 C17.3924523,9.45822178 18.6599589,9.98324022 19.9815964,9.98324022 L22.0151159,9.98324022 L22.0151159,11.9465283 C22.0168782,14.6974491 24.2474348,16.9265768 26.9983562,16.9265762 L26.9983562,5.95770152 C26.9983562,5.42877757 26.5695786,5 26.0406546,5 Z\"></path>\n      <path fill=\"url(#${id})\" d=\"M20.0420436,11 L9,11 C9.00176139,13.7504065 11.2309666,15.9796117 13.9813731,15.9813731 L16.0154337,15.9813731 L16.0154337,17.9451836 C16.0154337,19.2671728 16.5405919,20.5350167 17.4753794,21.4698042 C18.4101669,22.4045917 19.6780108,22.9297499 21,22.9297499 L21,11.9579564 C21,11.4288917 20.5711083,11 20.0420436,11 Z\"></path>\n      <path fill=\"url(#${id})\" d=\"M14.0420436,17 L3,17 C3.00176275,19.7516528 5.23291286,21.9813736 7.98456626,21.9813731 L10.0250133,21.9813731 L10.0250133,23.9451836 C10.0250082,26.6943468 12.2508419,28.9244664 15,28.9297499 L15,17.9579564 C15,17.4288917 14.5711083,17 14.0420436,17 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira icon__\n *\n * The Jira icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraIcon = ({\n  appearance,\n  label = 'Jira',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      size\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  size,\n  label,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 69 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"98.0308675%\" y1=\"0.160599572%\" x2=\"58.8877062%\" y2=\"40.7655246%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"18%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.iconColor}\" d=\"M22.9366667,4 L11.41,4 C11.41,5.3800098 11.9582068,6.703498 12.934021,7.67931228 C13.9098353,8.65512657 15.2333235,9.20333333 16.6133333,9.20333333 L18.7366667,9.20333333 L18.7366667,11.2533333 C18.7385054,14.1244521 21.0655479,16.4514946 23.9366667,16.4533333 L23.9366667,5 C23.9366667,4.44771525 23.4889514,4 22.9366667,4 Z\"></path>\n      <path fill=\"url(#${id})\"d=\"M17.2333333,9.74333333 L5.70666667,9.74333333 C5.70850536,12.6144521 8.03554792,14.9414946 10.9066667,14.9433333 L13.03,14.9433333 L13.03,17 C13.0336786,19.8711178 15.3622132,22.196669 18.2333333,22.1966667 L18.2333333,10.7433333 C18.2333333,10.1910486 17.7856181,9.74333333 17.2333333,9.74333333 Z\" ></path>\n      <path fill=\"url(#${id})\" d=\"M11.5266667,15.4833333 L0,15.4833333 C3.51929402e-16,18.357055 2.32961169,20.6866667 5.20333333,20.6866667 L7.33333333,20.6866667 L7.33333333,22.7366667 C7.33516565,25.6051863 9.65815176,27.9311544 12.5266667,27.9366667 L12.5266667,16.4833333 C12.5266667,15.9310486 12.0789514,15.4833333 11.5266667,15.4833333 Z\" ></path>\n      <path fill=\"${colors.textColor}\" d=\"M37.07,18.956 C37.07,20.646 36.394,21.842 34.418,21.842 C33.56,21.842 32.702,21.686 32,21.4 L32,23.662 C32.65,23.896 33.586,24.104 34.808,24.104 C38.032,24.104 39.41,21.946 39.41,18.8 L39.41,6.918 L37.07,6.918 L37.07,18.956 Z M42.894,7.568 C42.894,8.556 43.544,9.128 44.454,9.128 C45.364,9.128 46.014,8.556 46.014,7.568 C46.014,6.58 45.364,6.008 44.454,6.008 C43.544,6.008 42.894,6.58 42.894,7.568 Z M43.31,24 L45.546,24 L45.546,11 L43.31,11 L43.31,24 Z M48.926,24 L51.11,24 L51.11,16.33 C51.11,13.574 52.852,12.716 55.712,13.002 L55.712,10.818 C53.164,10.662 51.864,11.754 51.11,13.288 L51.11,11 L48.926,11 L48.926,24 Z M66.45,24 L66.45,21.66 C65.618,23.376 64.058,24.26 62.056,24.26 C58.598,24.26 56.856,21.322 56.856,17.5 C56.856,13.834 58.676,10.74 62.316,10.74 C64.214,10.74 65.67,11.598 66.45,13.288 L66.45,11 L68.686,11 L68.686,24 L66.45,24 Z M59.092,17.5 C59.092,20.62 60.34,22.18 62.654,22.18 C64.656,22.18 66.45,20.906 66.45,18.02 L66.45,16.98 C66.45,14.094 64.812,12.82 62.914,12.82 C60.392,12.82 59.092,14.484 59.092,17.5 Z\" fill-rule=\"evenodd\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira logo__\n *\n * The Jira logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraLogo = ({\n  appearance,\n  label = 'Jira',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor,\n      size,\n      label\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg viewBox=\"0 0 37 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\" fill=\"${colors.textColor}\">\n    <path d=\"M5.07,18.956 C5.07,20.646 4.394,21.842 2.418,21.842 C1.56,21.842 0.702,21.686 -5.10702591e-15,21.4 L-5.10702591e-15,23.662 C0.65,23.896 1.586,24.104 2.808,24.104 C6.032,24.104 7.41,21.946 7.41,18.8 L7.41,6.918 L5.07,6.918 L5.07,18.956 Z M10.894,7.568 C10.894,8.556 11.544,9.128 12.454,9.128 C13.364,9.128 14.014,8.556 14.014,7.568 C14.014,6.58 13.364,6.008 12.454,6.008 C11.544,6.008 10.894,6.58 10.894,7.568 Z M11.31,24 L13.546,24 L13.546,11 L11.31,11 L11.31,24 Z M16.926,24 L19.11,24 L19.11,16.33 C19.11,13.574 20.852,12.716 23.712,13.002 L23.712,10.818 C21.164,10.662 19.864,11.754 19.11,13.288 L19.11,11 L16.926,11 L16.926,24 Z M34.45,24 L34.45,21.66 C33.618,23.376 32.058,24.26 30.056,24.26 C26.598,24.26 24.856,21.322 24.856,17.5 C24.856,13.834 26.676,10.74 30.316,10.74 C32.214,10.74 33.67,11.598 34.45,13.288 L34.45,11 L36.686,11 L36.686,24 L34.45,24 Z M27.092,17.5 C27.092,20.62 28.34,22.18 30.654,22.18 C32.656,22.18 34.45,20.906 34.45,18.02 L34.45,16.98 C34.45,14.094 32.812,12.82 30.914,12.82 C28.392,12.82 27.092,14.484 27.092,17.5 Z\"></path>\n  </g>\n</svg>`;\n};\n\n/**\n * __Jira wordmark__\n *\n * The Jira brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWordmark = ({\n  appearance,\n  label = 'Jira',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  size,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n  height=\"32\"\n  viewBox=\"0 0 32 32\"\n  fill=\"none\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n>\n  <path\n    d=\"M18.9987 15.6133C18.9987 15.6133 19.018 15.9933 19.018 16.518C19.018 18.4727 17.4333 20.0573 15.4787 20.0573C13.524 20.0573 11.9393 18.4727 11.9393 16.518C11.9393 14.5633 13.524 12.9787 15.4787 12.9787C16.0033 12.9787 16.3253 12.998 16.3253 12.998V6.08067C16.046 6.05801 15.764 6.04401 15.4787 6.04401C9.692 6.04401 5.00067 10.7353 5.00067 16.522C5.00067 22.3087 9.692 27 15.4787 27C21.2653 27 25.9567 22.3087 25.9567 16.522C25.9567 16.1887 25.9507 15.9573 25.9233 15.614H18.9987V15.6133Z\"\n    fill=\"url(#${id})\"\n  />\n  <path\n    d=\"M17.9233 5.01001C20.8313 5.79601 23.7393 5.79601 26.6473 5.01001C26.8573 4.95334 27.046 5.14201 26.9893 5.35201C26.2033 8.26001 26.2033 11.168 26.9893 14.076C27.046 14.286 26.8573 14.4747 26.6473 14.418C23.7393 13.632 20.8313 13.632 17.9233 14.418C17.7133 14.4747 17.5247 14.286 17.5813 14.076C18.3673 11.168 18.3673 8.26001 17.5813 5.35201C17.5247 5.14201 17.7133 4.95334 17.9233 5.01001Z\"\n    fill=\"${colors.iconColor}\"\n  />\n  <defs>\n    <linearGradient\n      id=\"${id}\"\n      x1=\"14.178\"\n      y1=\"17.822\"\n      x2=\"21.4387\"\n      y2=\"10.5613\"\n      gradientUnits=\"userSpaceOnUse\"\n    >\n      <stop stop-color=\"${colors.iconGradientStop}\" />\n      <stop offset=\"0.927\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n    </linearGradient>\n  </defs>\n</svg>`;\n};\n\n/**\n * __Jira Product Discovery icon__\n *\n * The Jira Product Discovery icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraProductDiscoveryIcon = ({\n  appearance,\n  label = 'Jira Product Discovery',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      label,\n      size\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n    height=\"32\"\n    viewBox=\"0 0 264 32\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill-rule=\"evenodd\"\n      clip-rule=\"evenodd\"\n      d=\"M109.373 24.1314C111.344 24.1314 112.88 23.2604 113.699 21.5707V23.8754H115.902V5.72177H113.699V13.3265C112.932 11.6624 111.498 10.817 109.629 10.817C106.044 10.817 104.252 13.8641 104.252 17.4745C104.252 21.2384 105.967 24.1314 109.373 24.1314ZM113.699 17.9865C113.699 20.8282 111.933 22.0827 109.961 22.0827C107.682 22.0827 106.453 20.5472 106.453 17.4745C106.453 14.5041 107.734 12.8657 110.217 12.8657C112.087 12.8657 113.699 14.1201 113.699 16.9619V17.9865ZM38.3549 7.69363C38.3549 6.72078 37.7149 6.15699 36.8189 6.15699C35.9223 6.15699 35.2822 6.72078 35.2822 7.69363C35.2822 8.66648 35.9223 9.22971 36.8189 9.22971C37.7155 9.22971 38.3549 8.66648 38.3549 7.69363ZM37.8947 11.073H35.6924V23.8754H37.8947V11.073ZM32.6207 7.0536H30.3161H30.3155V18.9087C30.3155 20.5728 29.6504 21.7505 27.7042 21.7505C26.8599 21.7505 26.0145 21.5968 25.3232 21.3152V23.5431C25.9638 23.7735 26.8855 23.9778 28.0887 23.9778C31.2639 23.9778 32.6207 21.8523 32.6207 18.7545V7.0536ZM43.3719 23.8754H41.2214V11.073H43.3719V13.3265C44.1144 11.8154 45.395 10.7407 47.9045 10.8944V13.0449C45.0878 12.7633 43.3719 13.6081 43.3719 16.3224V23.8754ZM53.8952 24.1314C55.8665 24.1314 57.4026 23.2604 58.2219 21.5707V23.8754H60.4241V11.073H58.2219V13.3265C57.4544 11.6624 56.0202 10.817 54.1513 10.817C50.5665 10.817 48.7744 13.8641 48.7744 17.4745C48.7744 21.2384 50.4897 24.1314 53.8952 24.1314ZM58.2219 17.9865C58.2219 20.8282 56.4554 22.0827 54.4835 22.0827C52.2044 22.0827 50.9756 20.5472 50.9756 17.4745C50.9756 14.5042 52.2562 12.8657 54.7395 12.8657C56.609 12.8657 58.2219 14.1201 58.2219 16.9619V17.9865ZM74.5039 18.37H71.1501V23.8754H68.8455V7.0536H74.5039C78.7031 7.0536 80.7518 9.20411 80.7518 12.6609C80.7518 16.3224 78.7031 18.3705 74.5039 18.3705V18.37ZM78.3703 12.7115C78.3703 10.6634 77.2182 9.25531 74.2479 9.25531H71.1501V16.1682H74.2479C77.2182 16.2712 78.3703 14.8626 78.3703 12.7115ZM82.7722 23.8754H84.9227V16.3224C84.9227 13.6081 86.6386 12.7633 89.4553 13.0449V10.8944C86.9458 10.7407 85.6652 11.8154 84.9227 13.3265V11.073H82.7722V23.8754ZM90.3247 17.4489C90.3247 13.6081 92.5776 10.817 96.4184 10.817C100.233 10.817 102.461 13.6081 102.461 17.4489C102.461 21.2896 100.233 24.1314 96.4184 24.1314C92.5776 24.1314 90.3247 21.2896 90.3247 17.4489ZM92.4752 17.4489C92.4752 19.881 93.6785 22.0827 96.4184 22.0827C99.1321 22.0827 100.31 19.881 100.31 17.4489C100.31 15.0167 99.1321 12.8657 96.4184 12.8657C93.6785 12.8657 92.4752 15.0162 92.4752 17.4489ZM118.972 11.073H121.173V18.8057C121.173 21.1104 122.095 22.1345 124.195 22.1345C126.244 22.1345 127.652 20.7776 127.652 18.1913V11.073H129.853V23.8754H127.652V21.7761C126.832 23.2865 125.321 24.1314 123.606 24.1314C120.661 24.1314 118.972 22.1083 118.972 18.5753V11.073ZM139.096 24.1314C140.273 24.1314 141.451 23.9516 142.22 23.5425H142.22V21.5707C141.426 21.8523 140.607 22.0315 139.301 22.0315C135.947 22.0315 134.564 19.9328 134.564 17.4489C134.564 14.965 135.922 12.8657 139.25 12.8657C140.453 12.8657 141.324 13.0961 142.143 13.4801V11.4314C141.145 10.9706 140.248 10.817 139.096 10.817C134.538 10.817 132.413 13.5825 132.413 17.4489C132.413 21.3659 134.539 24.1314 139.096 24.1314ZM149.796 21.8016C150.285 21.8016 150.751 21.7082 151.127 21.6329L151.179 21.6224V23.7473C150.795 23.8503 150.359 23.9522 149.693 23.9522C146.954 23.9522 145.623 22.3393 145.623 19.9578V13.1217H143.549V11.073H145.623V8.35926H147.773V11.073H151.179V13.1217H147.773V19.9066C147.773 21.033 148.439 21.8011 149.796 21.8011V21.8016ZM165.158 7.0536H158.961V23.8759H165.158C170.586 23.8759 173.248 20.5984 173.248 15.5032C173.248 10.4591 170.611 7.0536 165.158 7.0536ZM161.266 21.6736V9.25587H165.055C169.127 9.25587 170.944 11.4832 170.944 15.58C170.944 19.6506 169.024 21.6736 165.183 21.6736H161.266ZM176.805 6.15699C177.701 6.15699 178.341 6.72078 178.341 7.69363C178.341 8.66648 177.701 9.22971 176.805 9.22971C175.908 9.22971 175.268 8.66648 175.268 7.69363C175.268 6.72078 175.908 6.15699 176.805 6.15699ZM175.678 11.073H177.881V23.8754H175.678V11.073ZM180.772 23.1841C181.745 23.6962 183.307 24.1314 185.228 24.1314V24.1325C188.659 24.1325 190.041 22.5191 190.041 20.3941C190.041 18.1668 188.607 17.1166 185.765 16.4254C183.409 15.8621 182.795 15.2984 182.795 14.4029C182.795 13.4039 183.666 12.8406 185.279 12.8406C186.635 12.8406 187.89 13.2503 189.426 14.0183V11.7392C188.479 11.2272 186.968 10.8176 185.304 10.8176C182.385 10.8176 180.67 12.1744 180.67 14.4023C180.67 16.5011 181.874 17.6025 184.715 18.2937C187.148 18.8826 187.891 19.4458 187.891 20.4186C187.891 21.4176 187.02 22.1083 185.33 22.1083C183.717 22.1083 181.874 21.4939 180.772 20.8539V23.1841ZM201.613 23.5425C200.844 23.9516 199.667 24.1314 198.489 24.1314C193.932 24.1314 191.806 21.3659 191.806 17.4489C191.806 13.5825 193.931 10.817 198.489 10.817C199.641 10.817 200.538 10.9706 201.536 11.4314V13.4801C200.717 13.0961 199.846 12.8657 198.643 12.8657C195.315 12.8657 193.957 14.965 193.957 17.4489C193.957 19.9328 195.34 22.0315 198.694 22.0315C200.001 22.0315 200.819 21.8523 201.613 21.5707V23.5425H201.613ZM209.446 10.817C205.605 10.817 203.352 13.6081 203.352 17.4489C203.352 21.2896 205.605 24.1314 209.446 24.1314C213.261 24.1314 215.488 21.2896 215.488 17.4489C215.488 13.6081 213.261 10.817 209.446 10.817ZM209.446 22.0827C206.706 22.0827 205.503 19.881 205.503 17.4489C205.503 15.0162 206.706 12.8657 209.446 12.8657C212.16 12.8657 213.337 15.0167 213.337 17.4489C213.337 19.881 212.16 22.0827 209.446 22.0827ZM221.068 23.8754L216.101 11.073H218.406L222.554 22.0065L226.676 11.073H228.98L224.013 23.8754H221.068ZM229.594 17.4489C229.594 21.3659 231.693 24.1314 236.481 24.1314C237.788 24.1314 239.4 23.9266 240.45 23.3633V21.3403C239.298 21.7499 238.044 22.0315 236.559 22.0315C233.537 22.0315 232.129 20.6234 231.821 18.4473H241.167V17.4489C241.167 13.5569 239.579 10.817 235.636 10.817C231.745 10.817 229.594 13.5825 229.594 17.4489ZM238.94 16.5528H231.796C232.026 14.3249 233.204 12.8145 235.534 12.8145C237.736 12.8145 238.812 14.1719 238.94 16.5528ZM245.927 23.8754H243.777V11.073H245.927V13.3265C246.67 11.8154 247.95 10.7407 250.46 10.8944V13.0449C247.643 12.7633 245.927 13.6081 245.927 16.3224V23.8754ZM250.919 11.073L255.554 23.0556H256.987C255.936 25.8467 255.143 27.0761 253.351 27.0761C252.711 27.0761 251.866 26.9987 251.123 26.7683V28.6628C251.763 28.9194 252.377 29.0218 253.479 29.0218C256.731 29.0218 257.55 27.1273 258.984 23.4657L263.823 11.073H261.468L257.371 22.0315L253.275 11.073H250.919Z\"\n      fill=\"${colors.textColor}\"\n      />\n    <path\n      d=\"M11.6865 15.0406C11.6865 15.0406 11.7026 15.3579 11.7026 15.7959C11.7026 17.4277 10.3797 18.7506 8.74787 18.7506C7.11607 18.7506 5.79314 17.4277 5.79314 15.7959C5.79314 14.1641 7.11607 12.8412 8.74787 12.8412C9.18588 12.8412 9.45469 12.8573 9.45469 12.8573V7.08252C9.2215 7.0636 8.98608 7.05191 8.74787 7.05191C3.91645 7.05135 0 10.9678 0 15.7992C0 20.6307 3.91645 24.5465 8.74732 24.5465C13.5782 24.5465 17.4946 20.6301 17.4946 15.7992C17.4946 15.521 17.4896 15.3278 17.4668 15.0412H11.6859L11.6865 15.0406Z\"\n      fill=\"url(#${id})\"\n      />\n    <path\n      d=\"M10.7886 6.18872C13.2163 6.84489 15.644 6.84489 18.0717 6.18872C18.247 6.14141 18.4045 6.29891 18.3572 6.47423C17.701 8.9019 17.701 11.3296 18.3572 13.7573C18.4045 13.9326 18.247 14.0901 18.0717 14.0428C15.644 13.3866 13.2163 13.3866 10.7886 14.0428C10.6133 14.0901 10.4558 13.9326 10.5031 13.7573C11.1593 11.3296 11.1593 8.9019 10.5031 6.47423C10.4558 6.29891 10.6133 6.14141 10.7886 6.18872V6.18872Z\"\n      fill=\"${colors.iconColor}\"\n      />\n    <defs>\n      <linearGradient\n        id=\"${id}\"\n        x1=\"7.66149\"\n        y1=\"16.8845\"\n        x2=\"13.7229\"\n        y2=\"10.8231\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"${colors.iconGradientStop}\" />\n        <stop offset=\"0.927\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n      </linearGradient>\n    </defs>\n  </svg>`;\n};\n\n/**\n * __Jira Product Discovery logo__\n *\n * The Jira Product Discovery logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraProductDiscoveryLogo = ({\n  appearance,\n  label = 'Jira Product Discovery',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop,\n  size\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"40.063%\" x2=\"69.955%\" y1=\"0%\" y2=\"50%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path d=\"M18.4838727,13.07 L26.3504842,13.1005351 C26.8138769,13.102696 27.2364009,13.3661074 27.4423455,13.781227 C27.64829,14.1963467 27.6024124,14.6921363 27.3237913,15.0624169 L15.7128101,30.5666265 C13.9597489,29.2574035 12.7986975,27.3052951 12.485161,25.1398891 C12.1716246,22.974483 12.731296,20.7732253 14.041012,19.0205325 L18.4838727,13.07 Z\" fill=\"url(#${id})\"></path>\n      <path d=\"M14.0396053,19.0156579 L6.22105263,18.9660526 C5.75779361,18.9638923 5.33539149,18.700557 5.12950634,18.2855571 C4.92362119,17.8705572 4.96948557,17.3749106 5.24802632,17.0047368 L16.7411842,1.65 C18.4937397,2.9588453 19.6544561,4.91039056 19.9679021,7.0751719 C20.2813481,9.23995324 19.7218382,11.4405759 18.4125,13.1927632 L14.0396053,19.0156579 Z\" fill=\"currentColor\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated JiraServiceDeskIcon will be removed from atlaskit/logo in the next major release. Please use JiraServiceManagementIcon instead.\n */\nexport const JiraServiceDeskIcon = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Jira Service Desk',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('JiraServiceDeskIcon has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraServiceManagementIcon instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop,\n      size\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop,\n  size\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 211 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"38.0412357%\" y1=\"6.63683429%\" x2=\"59.8560262%\" y2=\"63.7778713%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n      <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n        <path d=\"M11.191,13.4484211 L17.7175,13.4736842 C18.1019517,13.475472 18.4524969,13.6934048 18.623358,14.0368529 C18.794219,14.3803011 18.7561568,14.7904914 18.525,15.0968421 L8.892,27.9242105 C7.43758041,26.8410282 6.47431921,25.2259563 6.21419504,23.4344131 C5.95407087,21.6428699 6.41839981,19.821665 7.505,18.3715789 L11.191,13.4484211 Z\" fill=\"url(#${id})\"></path>\n        <path d=\"M7.50183333,18.3715789 L1.01333333,18.3305263 C0.628881593,18.3287385 0.278336389,18.1108058 0.10747538,17.7673576 C-0.0633856302,17.4239094 -0.0253234719,17.0137191 0.205833333,16.7073684 L9.74383333,4 C11.1982529,5.08318232 12.1615141,6.69825426 12.4216383,8.48979744 C12.6817625,10.2813406 12.2174335,12.1025456 11.1308333,13.5526316 L7.50183333,18.3715789 Z\" fill=\"currentColor\"></path>\n        <path d=\"M32.07,18.956 C32.07,20.646 31.394,21.842 29.418,21.842 C28.56,21.842 27.702,21.686 27,21.4 L27,23.662 C27.65,23.896 28.586,24.104 29.808,24.104 C33.032,24.104 34.41,21.946 34.41,18.8 L34.41,6.918 L32.07,6.918 L32.07,18.956 Z M37.894,7.568 C37.894,8.556 38.544,9.128 39.454,9.128 C40.364,9.128 41.014,8.556 41.014,7.568 C41.014,6.58 40.364,6.008 39.454,6.008 C38.544,6.008 37.894,6.58 37.894,7.568 Z M38.31,24 L40.546,24 L40.546,11 L38.31,11 L38.31,24 Z M43.926,24 L46.11,24 L46.11,16.33 C46.11,13.574 47.852,12.716 50.712,13.002 L50.712,10.818 C48.164,10.662 46.864,11.754 46.11,13.288 L46.11,11 L43.926,11 L43.926,24 Z M61.45,24 L61.45,21.66 C60.618,23.376 59.058,24.26 57.056,24.26 C53.598,24.26 51.856,21.322 51.856,17.5 C51.856,13.834 53.676,10.74 57.316,10.74 C59.214,10.74 60.67,11.598 61.45,13.288 L61.45,11 L63.686,11 L63.686,24 L61.45,24 Z M54.092,17.5 C54.092,20.62 55.34,22.18 57.654,22.18 C59.656,22.18 61.45,20.906 61.45,18.02 L61.45,16.98 C61.45,14.094 59.812,12.82 57.914,12.82 C55.392,12.82 54.092,14.484 54.092,17.5 Z M82.926,19.294 C82.926,16.226 80.898,15.056 77.284,14.146 C74.268,13.392 73.176,12.69 73.176,11.286 C73.176,9.726 74.502,8.946 76.738,8.946 C78.506,8.946 80.352,9.258 82.068,10.246 L82.068,7.906 C80.898,7.256 79.312,6.658 76.842,6.658 C72.864,6.658 70.836,8.634 70.836,11.286 C70.836,14.094 72.552,15.42 76.4,16.356 C79.65,17.136 80.586,17.942 80.586,19.45 C80.586,20.958 79.624,21.972 77.05,21.972 C74.788,21.972 72.344,21.374 70.758,20.542 L70.758,22.934 C72.084,23.61 73.618,24.26 76.92,24.26 C81.158,24.26 82.926,22.258 82.926,19.294 Z M95.926,23.48 C94.86,24.052 93.222,24.26 91.896,24.26 C87.034,24.26 84.902,21.452 84.902,17.474 C84.902,13.548 87.086,10.74 91.038,10.74 C95.042,10.74 96.654,13.522 96.654,17.474 L96.654,18.488 L87.164,18.488 C87.476,20.698 88.906,22.128 91.974,22.128 C93.482,22.128 94.756,21.842 95.926,21.426 L95.926,23.48 Z M90.934,12.768 C88.568,12.768 87.372,14.302 87.138,16.564 L94.392,16.564 C94.262,14.146 93.17,12.768 90.934,12.768 Z M99.306,24 L101.49,24 L101.49,16.33 C101.49,13.574 103.232,12.716 106.092,13.002 L106.092,10.818 C103.544,10.662 102.244,11.754 101.49,13.288 L101.49,11 L99.306,11 L99.306,24 Z M111.604,24 L114.594,24 L119.638,11 L117.298,11 L113.112,22.102 L108.9,11 L106.56,11 L111.604,24 Z M121.146,7.568 C121.146,8.556 121.796,9.128 122.706,9.128 C123.616,9.128 124.266,8.556 124.266,7.568 C124.266,6.58 123.616,6.008 122.706,6.008 C121.796,6.008 121.146,6.58 121.146,7.568 Z M121.562,24 L123.798,24 L123.798,11 L121.562,11 L121.562,24 Z M136.356,21.66 C135.55,21.946 134.718,22.128 133.392,22.128 C129.986,22.128 128.582,19.996 128.582,17.474 C128.582,14.952 129.96,12.82 133.34,12.82 C134.562,12.82 135.446,13.054 136.278,13.444 L136.278,11.364 C135.264,10.896 134.354,10.74 133.184,10.74 C128.556,10.74 126.398,13.548 126.398,17.474 C126.398,21.452 128.556,24.26 133.184,24.26 C134.38,24.26 135.576,24.078 136.356,23.662 L136.356,21.66 Z M149.148,23.48 C148.082,24.052 146.444,24.26 145.118,24.26 C140.256,24.26 138.124,21.452 138.124,17.474 C138.124,13.548 140.308,10.74 144.26,10.74 C148.264,10.74 149.876,13.522 149.876,17.474 L149.876,18.488 L140.386,18.488 C140.698,20.698 142.128,22.128 145.196,22.128 C146.704,22.128 147.978,21.842 149.148,21.426 L149.148,23.48 Z M144.156,12.768 C141.79,12.768 140.594,14.302 140.36,16.564 L147.614,16.564 C147.484,14.146 146.392,12.768 144.156,12.768 Z M157.572,6.918 L163.864,6.918 C169.402,6.918 172.08,10.376 172.08,15.498 C172.08,20.672 169.376,24 163.864,24 L157.572,24 L157.572,6.918 Z M163.76,9.154 L159.912,9.154 L159.912,21.764 L163.89,21.764 C167.79,21.764 169.74,19.71 169.74,15.576 C169.74,11.416 167.894,9.154 163.76,9.154 Z M185.054,23.48 C183.988,24.052 182.35,24.26 181.024,24.26 C176.162,24.26 174.03,21.452 174.03,17.474 C174.03,13.548 176.214,10.74 180.166,10.74 C184.17,10.74 185.782,13.522 185.782,17.474 L185.782,18.488 L176.292,18.488 C176.604,20.698 178.034,22.128 181.102,22.128 C182.61,22.128 183.884,21.842 185.054,21.426 L185.054,23.48 Z M180.062,12.768 C177.696,12.768 176.5,14.302 176.266,16.564 L183.52,16.564 C183.39,14.146 182.298,12.768 180.062,12.768 Z M197.404,20.464 C197.404,18.202 195.948,17.136 193.062,16.434 C190.67,15.862 190.046,15.29 190.046,14.38 C190.046,13.366 190.93,12.794 192.568,12.794 C193.946,12.794 195.22,13.21 196.78,13.99 L196.78,11.676 C195.818,11.156 194.284,10.74 192.594,10.74 C189.63,10.74 187.888,12.118 187.888,14.38 C187.888,16.512 189.11,17.63 191.996,18.332 C194.466,18.93 195.22,19.502 195.22,20.49 C195.22,21.504 194.336,22.206 192.62,22.206 C190.982,22.206 189.11,21.582 187.992,20.932 L187.992,23.298 C188.98,23.818 190.566,24.26 192.516,24.26 C196,24.26 197.404,22.622 197.404,20.464 Z M202.214,24 L202.214,17.916 L207.934,24 L210.976,24 L204.606,17.396 L210.716,11 L207.804,11 L202.214,17.084 L202.214,5.566 L199.978,5.566 L199.978,24 L202.214,24 Z\" fill=\"inherit\" fill-rule=\"evenodd\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated JiraServiceDeskLogo will be removed from atlaskit/logo in the next major release. Please use JiraServiceManagementLogo instead.\n */\nexport const JiraServiceDeskLogo = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Jira Service Desk',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('JiraServiceDeskLogo has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraServiceManagementLogo instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = `<svg viewBox=\"0 0 185 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" fill=\"inherit\">\n    <path d=\"M5.07,18.956 C5.07,20.646 4.394,21.842 2.418,21.842 C1.56,21.842 0.702,21.686 9.1038288e-15,21.4 L9.1038288e-15,23.662 C0.65,23.896 1.586,24.104 2.808,24.104 C6.032,24.104 7.41,21.946 7.41,18.8 L7.41,6.918 L5.07,6.918 L5.07,18.956 Z M10.894,7.568 C10.894,8.556 11.544,9.128 12.454,9.128 C13.364,9.128 14.014,8.556 14.014,7.568 C14.014,6.58 13.364,6.008 12.454,6.008 C11.544,6.008 10.894,6.58 10.894,7.568 Z M11.31,24 L13.546,24 L13.546,11 L11.31,11 L11.31,24 Z M16.926,24 L19.11,24 L19.11,16.33 C19.11,13.574 20.852,12.716 23.712,13.002 L23.712,10.818 C21.164,10.662 19.864,11.754 19.11,13.288 L19.11,11 L16.926,11 L16.926,24 Z M34.45,24 L34.45,21.66 C33.618,23.376 32.058,24.26 30.056,24.26 C26.598,24.26 24.856,21.322 24.856,17.5 C24.856,13.834 26.676,10.74 30.316,10.74 C32.214,10.74 33.67,11.598 34.45,13.288 L34.45,11 L36.686,11 L36.686,24 L34.45,24 Z M27.092,17.5 C27.092,20.62 28.34,22.18 30.654,22.18 C32.656,22.18 34.45,20.906 34.45,18.02 L34.45,16.98 C34.45,14.094 32.812,12.82 30.914,12.82 C28.392,12.82 27.092,14.484 27.092,17.5 Z M55.926,19.294 C55.926,16.226 53.898,15.056 50.284,14.146 C47.268,13.392 46.176,12.69 46.176,11.286 C46.176,9.726 47.502,8.946 49.738,8.946 C51.506,8.946 53.352,9.258 55.068,10.246 L55.068,7.906 C53.898,7.256 52.312,6.658 49.842,6.658 C45.864,6.658 43.836,8.634 43.836,11.286 C43.836,14.094 45.552,15.42 49.4,16.356 C52.65,17.136 53.586,17.942 53.586,19.45 C53.586,20.958 52.624,21.972 50.05,21.972 C47.788,21.972 45.344,21.374 43.758,20.542 L43.758,22.934 C45.084,23.61 46.618,24.26 49.92,24.26 C54.158,24.26 55.926,22.258 55.926,19.294 Z M68.926,23.48 C67.86,24.052 66.222,24.26 64.896,24.26 C60.034,24.26 57.902,21.452 57.902,17.474 C57.902,13.548 60.086,10.74 64.038,10.74 C68.042,10.74 69.654,13.522 69.654,17.474 L69.654,18.488 L60.164,18.488 C60.476,20.698 61.906,22.128 64.974,22.128 C66.482,22.128 67.756,21.842 68.926,21.426 L68.926,23.48 Z M63.934,12.768 C61.568,12.768 60.372,14.302 60.138,16.564 L67.392,16.564 C67.262,14.146 66.17,12.768 63.934,12.768 Z M72.306,24 L74.49,24 L74.49,16.33 C74.49,13.574 76.232,12.716 79.092,13.002 L79.092,10.818 C76.544,10.662 75.244,11.754 74.49,13.288 L74.49,11 L72.306,11 L72.306,24 Z M84.604,24 L87.594,24 L92.638,11 L90.298,11 L86.112,22.102 L81.9,11 L79.56,11 L84.604,24 Z M94.146,7.568 C94.146,8.556 94.796,9.128 95.706,9.128 C96.616,9.128 97.266,8.556 97.266,7.568 C97.266,6.58 96.616,6.008 95.706,6.008 C94.796,6.008 94.146,6.58 94.146,7.568 Z M94.562,24 L96.798,24 L96.798,11 L94.562,11 L94.562,24 Z M109.356,21.66 C108.55,21.946 107.718,22.128 106.392,22.128 C102.986,22.128 101.582,19.996 101.582,17.474 C101.582,14.952 102.96,12.82 106.34,12.82 C107.562,12.82 108.446,13.054 109.278,13.444 L109.278,11.364 C108.264,10.896 107.354,10.74 106.184,10.74 C101.556,10.74 99.398,13.548 99.398,17.474 C99.398,21.452 101.556,24.26 106.184,24.26 C107.38,24.26 108.576,24.078 109.356,23.662 L109.356,21.66 Z M122.148,23.48 C121.082,24.052 119.444,24.26 118.118,24.26 C113.256,24.26 111.124,21.452 111.124,17.474 C111.124,13.548 113.308,10.74 117.26,10.74 C121.264,10.74 122.876,13.522 122.876,17.474 L122.876,18.488 L113.386,18.488 C113.698,20.698 115.128,22.128 118.196,22.128 C119.704,22.128 120.978,21.842 122.148,21.426 L122.148,23.48 Z M117.156,12.768 C114.79,12.768 113.594,14.302 113.36,16.564 L120.614,16.564 C120.484,14.146 119.392,12.768 117.156,12.768 Z M130.572,6.918 L136.864,6.918 C142.402,6.918 145.08,10.376 145.08,15.498 C145.08,20.672 142.376,24 136.864,24 L130.572,24 L130.572,6.918 Z M136.76,9.154 L132.912,9.154 L132.912,21.764 L136.89,21.764 C140.79,21.764 142.74,19.71 142.74,15.576 C142.74,11.416 140.894,9.154 136.76,9.154 Z M158.054,23.48 C156.988,24.052 155.35,24.26 154.024,24.26 C149.162,24.26 147.03,21.452 147.03,17.474 C147.03,13.548 149.214,10.74 153.166,10.74 C157.17,10.74 158.782,13.522 158.782,17.474 L158.782,18.488 L149.292,18.488 C149.604,20.698 151.034,22.128 154.102,22.128 C155.61,22.128 156.884,21.842 158.054,21.426 L158.054,23.48 Z M153.062,12.768 C150.696,12.768 149.5,14.302 149.266,16.564 L156.52,16.564 C156.39,14.146 155.298,12.768 153.062,12.768 Z M170.404,20.464 C170.404,18.202 168.948,17.136 166.062,16.434 C163.67,15.862 163.046,15.29 163.046,14.38 C163.046,13.366 163.93,12.794 165.568,12.794 C166.946,12.794 168.22,13.21 169.78,13.99 L169.78,11.676 C168.818,11.156 167.284,10.74 165.594,10.74 C162.63,10.74 160.888,12.118 160.888,14.38 C160.888,16.512 162.11,17.63 164.996,18.332 C167.466,18.93 168.22,19.502 168.22,20.49 C168.22,21.504 167.336,22.206 165.62,22.206 C163.982,22.206 162.11,21.582 160.992,20.932 L160.992,23.298 C161.98,23.818 163.566,24.26 165.516,24.26 C169,24.26 170.404,22.622 170.404,20.464 Z M175.214,24 L175.214,17.916 L180.934,24 L183.976,24 L177.606,17.396 L183.716,11 L180.804,11 L175.214,17.084 L175.214,5.566 L172.978,5.566 L172.978,24 L175.214,24 Z\"></path>\n  </g>\n</svg>`;\n\n/**\n * @deprecated JiraServiceDeskWordmark will be removed from atlaskit/logo in the next major release. Please use JiraServiceManagementWordmark instead.\n */\nexport const JiraServiceDeskWordmark = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  label = 'Jira Service Desk',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('JiraServiceDeskWordmark has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraServiceManagementWordmark instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  size,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"40.063%\" x2=\"69.955%\" y1=\"0%\" y2=\"50%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"url(#${id})\" d=\"M18.4838727,13.07 L26.3504842,13.1005351 C26.8138769,13.102696 27.2364009,13.3661074 27.4423455,13.781227 C27.64829,14.1963467 27.6024124,14.6921363 27.3237913,15.0624169 L15.7128101,30.5666265 C13.9597489,29.2574035 12.7986975,27.3052951 12.485161,25.1398891 C12.1716246,22.974483 12.731296,20.7732253 14.041012,19.0205325 L18.4838727,13.07 Z\"></path>\n      <path fill=\"${colors.iconColor}\" d=\"M14.0396053,19.0156579 L6.22105263,18.9660526 C5.75779361,18.9638923 5.33539149,18.700557 5.12950634,18.2855571 C4.92362119,17.8705572 4.96948557,17.3749106 5.24802632,17.0047368 L16.7411842,1.65 C18.4937397,2.9588453 19.6544561,4.91039056 19.9679021,7.0751719 C20.2813481,9.23995324 19.7218382,11.4405759 18.4125,13.1927632 L14.0396053,19.0156579 Z\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira Service Management icon__\n *\n * The Jira Service Management icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementIcon = ({\n  appearance,\n  label = 'Jira Service Management',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      label,\n      size\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 305 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"38.0412357%\" y1=\"6.63683429%\" x2=\"59.8560262%\" y2=\"63.7778713%\" id=\"${id}\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"url(#${id})\" d=\"M11.191 13.448l6.527.026a1.011 1.011 0 01.807 1.623L8.892 27.924a6.81 6.81 0 01-1.387-9.553l3.686-4.923z\"/>\n      <path fill=\"${colors.iconColor}\" d=\"M7.502 18.372l-6.489-.041a1.011 1.011 0 01-.807-1.623L9.744 4a6.81 6.81 0 011.387 9.553L7.5 18.372z\"/>\n      <path fill=\"${colors.textColor}\" fill-rule=\"evenodd\" d=\"M38.565 6.004a1.443 1.443 0 011.546 1.545 1.545 1.545 0 11-3.091 0 1.448 1.448 0 011.545-1.545zm-1.133 4.944h2.216v12.88h-2.216v-12.88zm-5.409-4.043h2.318v11.77c0 3.118-1.364 5.27-4.557 5.27a8.253 8.253 0 01-2.784-.44v-2.254a6.496 6.496 0 002.397.44c1.959 0 2.635-1.186 2.635-2.86l-.009-11.926zm10.974 16.922h2.163v-7.599c0-2.728 1.727-3.589 4.56-3.296V10.77c-2.526-.155-3.813.928-4.56 2.447v-2.268h-2.163v12.879zM60.1 21.509c-.822 1.7-2.368 2.576-4.352 2.576-3.425 0-5.152-2.91-5.152-6.698 0-3.63 1.803-6.697 5.41-6.697 1.878 0 3.322.852 4.097 2.526v-2.268h2.216v12.88h-2.216l-.003-2.32zm-3.761.515c1.985 0 3.761-1.262 3.761-4.121v-1.03c0-2.858-1.621-4.122-3.512-4.122-2.497 0-3.785 1.65-3.785 4.636.009 3.089 1.244 4.637 3.536 4.637zm12.985.75c1.311.667 2.83 1.311 6.103 1.311 4.197 0 5.95-1.982 5.986-4.918 0-3.053-2.011-4.2-5.591-5.102-2.989-.746-4.069-1.443-4.069-2.833 0-1.546 1.3-2.318 3.513-2.318a10.4 10.4 0 015.269 1.288V7.883c-1.16-.65-2.728-1.235-5.175-1.235-3.943 0-5.951 1.95-5.951 4.584 0 2.784 1.706 4.095 5.511 5.023 3.22.773 4.148 1.569 4.148 3.065 0 1.495-.963 2.5-3.512 2.5-2.243 0-4.663-.592-6.232-1.417v2.37zm20.94 1.311c-4.817 0-6.928-2.78-6.928-6.733 0-3.89 2.163-6.673 6.077-6.673 3.966 0 5.561 2.757 5.561 6.673v1.016h-9.399c.31 2.19 1.727 3.607 4.766 3.607 1.336-.001 2.662-.237 3.916-.697v2.049c-1.056.553-2.678.758-3.992.758zm-4.715-7.61h7.189c-.129-2.398-1.212-3.762-3.428-3.762-2.344-.012-3.527 1.507-3.761 3.75v.011zm12.057 7.352h2.163v-7.599c0-2.728 1.727-3.589 4.561-3.296V10.77c-2.527-.155-3.815.928-4.56 2.447v-2.268h-2.164v12.879zm12.183 0l-4.997-12.879h2.318l4.172 10.991 4.147-11h2.319l-4.997 12.88-2.962.009zm11.608-17.736a1.441 1.441 0 00-.608-.087 1.45 1.45 0 00-1.458.937 1.45 1.45 0 00-.088.608 1.556 1.556 0 00.428 1.136 1.544 1.544 0 002.233 0 1.557 1.557 0 00.428-1.136 1.449 1.449 0 00-.935-1.458zm.472 4.857h-2.216v12.88h2.216v-12.88zm12.441 12.546c-.773.412-1.956.585-3.141.585-4.584 0-6.733-2.78-6.733-6.733 0-3.89 2.14-6.673 6.733-6.673a6.777 6.777 0 013.064.62v2.05a6.49 6.49 0 00-2.909-.621c-3.349 0-4.716 2.113-4.716 4.613 0 2.5 1.393 4.61 4.766 4.61a8.102 8.102 0 002.927-.465l.009 2.014zm1.762-6.142c0 3.952 2.11 6.733 6.928 6.733 1.306 0 2.927-.205 3.999-.758v-2.05c-1.255.46-2.581.697-3.917.697-3.038 0-4.455-1.416-4.765-3.606h9.396v-1.015c0-3.917-1.595-6.674-5.562-6.674-3.916 0-6.079 2.783-6.079 6.673zm9.402-.878h-7.187l-.008-.011c.231-2.243 1.416-3.762 3.767-3.75 2.216 0 3.299 1.364 3.428 3.761zm12.302-8.178v15.531h-2.318V6.905h4.019l3.838 9.71 1.572 4.663 1.571-4.663 3.861-9.71h3.735v16.922h-2.318V8.474l-1.982 6.106-3.735 9.247h-2.236l-3.688-9.247-2.319-6.284zm24.369 15.789c1.982 0 3.527-.875 4.353-2.576v2.318h2.218v-12.88h-2.215v2.27c-.776-1.675-2.219-2.527-4.098-2.527-3.607 0-5.41 3.068-5.41 6.697 0 3.788 1.724 6.698 5.152 6.698zm4.353-6.182c0 2.86-1.777 4.121-3.762 4.121-2.292 0-3.527-1.548-3.536-4.637 0-2.985 1.288-4.636 3.785-4.636 1.891 0 3.513 1.264 3.513 4.121v1.03zm16.509 5.924h-2.216V16.05c0-2.319-.928-3.349-3.038-3.349-2.049 0-3.478 1.364-3.478 3.966v7.16h-2.216v-12.88h2.216v2.114a4.513 4.513 0 014.069-2.37c2.962 0 4.663 2.048 4.663 5.59v7.546zm7.473.258c1.982 0 3.527-.875 4.353-2.576v2.318h2.224v-12.88h-2.221v2.27c-.776-1.675-2.219-2.527-4.098-2.527-3.607 0-5.41 3.068-5.41 6.697 0 3.788 1.724 6.698 5.152 6.698zm4.353-6.182c0 2.86-1.777 4.121-3.762 4.121-2.292 0-3.527-1.548-3.536-4.637 0-2.985 1.288-4.636 3.785-4.636 1.888 0 3.513 1.264 3.513 4.121v1.03zm14.243 3.606c-.822 1.7-2.368 2.576-4.353 2.576-3.398 0-5.099-2.91-5.099-6.698 0-3.63 1.777-6.697 5.357-6.697 1.882 0 3.322.852 4.098 2.526v-2.268h2.163v11.708c0 3.788-1.777 6.338-6.387 6.338a12.944 12.944 0 01-4.578-.685v-2.164c1.44.496 2.95.756 4.473.77 3.22 0 4.326-1.724 4.326-4.121v-1.285zm-3.758.515c1.981 0 3.758-1.262 3.758-4.121v-1.03c0-2.858-1.622-4.122-3.512-4.122-2.5 0-3.788 1.65-3.788 4.636.011 3.089 1.247 4.637 3.542 4.637zm8.5-4.672c0 3.952 2.111 6.733 6.929 6.733 1.311 0 2.947-.205 3.992-.758v-2.05a11.41 11.41 0 01-3.916.697c-3.039 0-4.455-1.416-4.766-3.606h9.399v-1.015c0-3.917-1.595-6.674-5.561-6.674-3.914 0-6.077 2.783-6.077 6.673zm9.399-.878h-7.186v-.011c.231-2.243 1.417-3.762 3.761-3.75 2.216 0 3.296 1.364 3.425 3.761zm15.819 7.353h-2.216V16.05c0-2.319-.928-3.349-3.042-3.349-2.049 0-3.477 1.364-3.477 3.966v7.16h-2.216v-12.88h2.213v2.114a4.521 4.521 0 014.072-2.37c2.189 0 3.682 1.109 4.326 3.143.72-1.985 2.447-3.144 4.587-3.144 2.883 0 4.481 1.959 4.481 5.591v7.546h-2.216V16.67c0-2.652-.927-3.966-3.041-3.966-2.049 0-3.474 1.364-3.474 3.966l.003 7.157zm11.05-6.475c0 3.952 2.11 6.733 6.928 6.733 1.314 0 2.936-.205 3.993-.758v-2.05a11.4 11.4 0 01-3.917.697c-3.038 0-4.455-1.416-4.765-3.606h9.402v-1.015c0-3.917-1.595-6.674-5.562-6.674-3.916 0-6.079 2.783-6.079 6.673zm9.402-.878h-7.19v-.011c.235-2.243 1.417-3.762 3.762-3.75 2.216 0 3.299 1.364 3.428 3.761zm15.815 7.353h-2.216V16.05c0-2.319-.928-3.349-3.041-3.349-2.049 0-3.475 1.364-3.475 3.966v7.16h-2.216v-12.88h2.216v2.114a4.513 4.513 0 014.069-2.37c2.962 0 4.663 2.048 4.663 5.59v7.546zm9.581-2.265a7.12 7.12 0 01-1.391.181c-1.364 0-2.034-.773-2.046-1.908v-6.838h3.425v-2.05h-3.399V8.22h-2.163v2.74h-2.104v2.049h2.087v6.875c0 2.395 1.34 4.02 4.098 4.02a5.213 5.213 0 001.493-.208v-2.134z\" clip-rule=\"evenodd\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira Service Management logo__\n *\n * The Jira Service Management logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementLogo = ({\n  appearance,\n  label = 'Jira Service Management',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"32\" fill=\"none\" viewBox=\"0 0 278 32\">\n  <path fill=\"${colors.textColor}\" fill-rule=\"evenodd\" d=\"M11.565 6.004a1.443 1.443 0 011.546 1.545 1.545 1.545 0 11-3.091 0 1.448 1.448 0 011.545-1.545zm-1.133 4.944h2.216v12.88h-2.216v-12.88zM5.023 6.905h2.318v11.77c0 3.118-1.364 5.27-4.557 5.27A8.253 8.253 0 010 23.504v-2.254a6.496 6.496 0 002.397.44c1.959 0 2.635-1.186 2.635-2.86L5.023 6.904zm10.974 16.922h2.163v-7.599c0-2.728 1.727-3.589 4.56-3.296V10.77c-2.526-.155-3.813.928-4.56 2.447v-2.268h-2.163v12.879zM33.1 21.509c-.822 1.7-2.368 2.576-4.352 2.576-3.425 0-5.152-2.91-5.152-6.698 0-3.63 1.803-6.697 5.41-6.697 1.878 0 3.322.852 4.097 2.526v-2.268h2.216v12.88h-2.216l-.003-2.32zm-3.761.515c1.985 0 3.761-1.262 3.761-4.121v-1.03c0-2.858-1.621-4.122-3.512-4.122-2.497 0-3.785 1.65-3.785 4.636.009 3.089 1.244 4.637 3.536 4.637zm12.985.75c1.311.667 2.83 1.311 6.103 1.311 4.197 0 5.95-1.982 5.986-4.918 0-3.053-2.011-4.2-5.591-5.102-2.989-.746-4.069-1.443-4.069-2.833 0-1.546 1.3-2.318 3.513-2.318a10.4 10.4 0 015.269 1.288V7.883c-1.16-.65-2.728-1.235-5.175-1.235-3.943 0-5.951 1.95-5.951 4.584 0 2.784 1.706 4.095 5.511 5.023 3.22.773 4.148 1.569 4.148 3.065 0 1.495-.963 2.5-3.512 2.5-2.243 0-4.663-.592-6.232-1.417v2.37zm20.94 1.311c-4.818 0-6.928-2.78-6.928-6.733 0-3.89 2.163-6.673 6.077-6.673 3.966 0 5.561 2.757 5.561 6.673v1.016h-9.399c.31 2.19 1.727 3.607 4.766 3.607 1.336-.001 2.662-.237 3.916-.697v2.049c-1.056.553-2.678.758-3.992.758zm-4.715-7.61h7.189c-.129-2.398-1.212-3.762-3.428-3.762-2.344-.012-3.527 1.507-3.761 3.75v.011zm12.057 7.352h2.163v-7.599c0-2.728 1.727-3.589 4.56-3.296V10.77c-2.526-.155-3.813.928-4.56 2.447v-2.268h-2.163v12.879zm12.183 0l-4.997-12.879h2.318l4.172 10.991 4.147-11h2.319L85.75 23.82l-2.962.009zM94.397 6.091a1.443 1.443 0 00-.608-.087 1.446 1.446 0 00-1.546 1.545 1.547 1.547 0 002.66 1.136 1.546 1.546 0 00.429-1.136 1.444 1.444 0 00-.935-1.458zm.472 4.857h-2.216v12.88h2.216v-12.88zm12.441 12.546c-.773.412-1.956.585-3.141.585-4.584 0-6.733-2.78-6.733-6.733 0-3.89 2.14-6.673 6.733-6.673a6.777 6.777 0 013.064.62v2.05a6.49 6.49 0 00-2.909-.621c-3.349 0-4.716 2.113-4.716 4.613 0 2.5 1.393 4.61 4.766 4.61a8.102 8.102 0 002.927-.465l.009 2.014zm1.762-6.142c0 3.952 2.11 6.733 6.928 6.733 1.306 0 2.927-.205 3.999-.758v-2.05c-1.255.46-2.581.697-3.917.697-3.038 0-4.455-1.416-4.765-3.606h9.396v-1.015c0-3.917-1.595-6.674-5.562-6.674-3.916 0-6.079 2.783-6.079 6.673zm9.402-.878h-7.187l-.008-.011c.231-2.243 1.416-3.762 3.767-3.75 2.216 0 3.299 1.364 3.428 3.761zm12.302-8.178v15.531h-2.318V6.905h4.019l3.838 9.71 1.572 4.663 1.571-4.663 3.861-9.71h3.735v16.922h-2.318V8.474l-1.982 6.106-3.735 9.247h-2.236l-3.688-9.247-2.319-6.284zm24.369 15.789c1.982 0 3.527-.875 4.353-2.576v2.318h2.218v-12.88h-2.215v2.27c-.776-1.675-2.219-2.527-4.098-2.527-3.607 0-5.41 3.068-5.41 6.697 0 3.788 1.724 6.698 5.152 6.698zm4.353-6.182c0 2.86-1.777 4.121-3.762 4.121-2.292 0-3.527-1.548-3.536-4.637 0-2.985 1.288-4.636 3.785-4.636 1.891 0 3.513 1.264 3.513 4.121v1.03zm16.509 5.924h-2.216V16.05c0-2.319-.928-3.349-3.038-3.349-2.049 0-3.478 1.364-3.478 3.966v7.16h-2.216v-12.88h2.216v2.114a4.513 4.513 0 014.069-2.37c2.962 0 4.663 2.048 4.663 5.59v7.546zm7.473.258c1.982 0 3.527-.875 4.353-2.576v2.318h2.224v-12.88h-2.221v2.27c-.776-1.675-2.219-2.527-4.098-2.527-3.607 0-5.41 3.068-5.41 6.697 0 3.788 1.724 6.698 5.152 6.698zm4.353-6.182c0 2.86-1.777 4.121-3.762 4.121-2.292 0-3.527-1.548-3.536-4.637 0-2.985 1.288-4.636 3.785-4.636 1.888 0 3.513 1.264 3.513 4.121v1.03zm14.243 3.606c-.822 1.7-2.368 2.576-4.353 2.576-3.398 0-5.099-2.91-5.099-6.698 0-3.63 1.777-6.697 5.357-6.697 1.882 0 3.322.852 4.098 2.526v-2.268h2.163v11.708c0 3.788-1.777 6.338-6.387 6.338a12.944 12.944 0 01-4.578-.685v-2.164c1.44.496 2.95.756 4.473.77 3.22 0 4.326-1.724 4.326-4.121v-1.285zm-3.758.515c1.981 0 3.758-1.262 3.758-4.121v-1.03c0-2.858-1.622-4.122-3.512-4.122-2.5 0-3.788 1.65-3.788 4.636.011 3.089 1.247 4.637 3.542 4.637zm8.5-4.672c0 3.952 2.111 6.733 6.929 6.733 1.311 0 2.947-.205 3.992-.758v-2.05a11.41 11.41 0 01-3.916.697c-3.039 0-4.455-1.416-4.766-3.606h9.399v-1.015c0-3.917-1.595-6.674-5.561-6.674-3.914 0-6.077 2.783-6.077 6.673zm9.399-.878h-7.186v-.011c.231-2.243 1.417-3.762 3.761-3.75 2.216 0 3.296 1.364 3.425 3.761zm15.819 7.353h-2.216V16.05c0-2.319-.928-3.349-3.042-3.349-2.049 0-3.477 1.364-3.477 3.966v7.16h-2.216v-12.88h2.213v2.114a4.521 4.521 0 014.072-2.37c2.189 0 3.682 1.109 4.326 3.143.72-1.985 2.447-3.144 4.587-3.144 2.883 0 4.481 1.959 4.481 5.591v7.546h-2.216V16.67c0-2.652-.927-3.966-3.041-3.966-2.049 0-3.474 1.364-3.474 3.966l.003 7.157zm11.05-6.475c0 3.952 2.11 6.733 6.928 6.733 1.314 0 2.936-.205 3.993-.758v-2.05a11.4 11.4 0 01-3.917.697c-3.038 0-4.455-1.416-4.765-3.606h9.402v-1.015c0-3.917-1.595-6.674-5.562-6.674-3.916 0-6.079 2.783-6.079 6.673zm9.402-.878h-7.19v-.011c.235-2.243 1.417-3.762 3.762-3.75 2.216 0 3.299 1.364 3.428 3.761zm15.815 7.353h-2.216V16.05c0-2.319-.928-3.349-3.041-3.349-2.049 0-3.475 1.364-3.475 3.966v7.16h-2.216v-12.88h2.216v2.114a4.513 4.513 0 014.069-2.37c2.962 0 4.663 2.048 4.663 5.59v7.546zm9.581-2.265a7.12 7.12 0 01-1.391.181c-1.364 0-2.034-.773-2.046-1.908v-6.838h3.425v-2.05h-3.399V8.22h-2.163v2.74h-2.104v2.049h2.087v6.875c0 2.395 1.34 4.02 4.098 4.02a5.213 5.213 0 001.493-.208v-2.134z\" clip-rule=\"evenodd\"/>\n</svg>\n`;\n};\n\n/**\n * __Jira Service Management wordmark__\n *\n * The Jira Service Management brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementWordmark = ({\n  appearance,\n  label = 'Jira Service Management',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"108.695%\" x2=\"12.439%\" y1=\"-14.936%\" y2=\"45.215%\" id=\"${id}-1\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient x1=\"0%\" x2=\"91.029%\" y1=\"118.55%\" y2=\"63.971%\" id=\"${id}-2\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.iconColor}\" d=\"M15.9669691 29.3616152C17.2195568 28.1097726 17.9233158 26.4114623 17.9233158 24.6405626 17.9233158 22.8696629 17.2195568 21.1713527 15.9669691 19.91951L7.26805808 11.2489111 3.31143376 15.2055354C2.89743442 15.6200502 2.89743442 16.291565 3.31143376 16.7060799L15.9669691 29.3616152zM28.6225045 15.2055354L15.9669691 2.55 15.9280399 2.58892922C13.3485687 5.19994003 13.3612164 9.40374108 15.9563521 11.9991833L24.6623412 20.6662432 28.6225045 16.7060799C29.0365039 16.291565 29.0365039 15.6200502 28.6225045 15.2055354z\" />\n      <path fill=\"url(#${id}-1\" d=\"M15.9669691,11.9921053 C13.3718335,9.39666304 13.3591857,5.19286199 15.938657,2.58185118 L6.91061706,11.6063521 L11.6316697,16.3274047 L15.9669691,11.9921053 Z\" />\n      <path fill=\"url(#${id}-2\" d=\"M20.2951906,15.5912886 L15.9669691,19.91951 C17.2195568,21.1713527 17.9233158,22.8696629 17.9233158,24.6405626 C17.9233158,26.4114623 17.2195568,28.1097726 15.9669691,29.3616152 L25.0162432,20.3123412 L20.2951906,15.5912886 Z\" />\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira software icon__\n *\n * The Jira Software icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareIcon = ({\n  appearance,\n  label = 'Jira Software',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 179 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"97.6553341%\" y1=\"35.6591143%\" x2=\"37.202032%\" y2=\"75.4891864%\" id=\"${id}-1\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"7%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n      <linearGradient x1=\"8.43371138%\" y1=\"60.1495759%\" x2=\"64.1161517%\" y2=\"23.5790285%\" id=\"${id}-2\">\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\"></stop>\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill=\"${colors.iconColor}\" d=\"M11.3881081,27.9242105 C12.4881804,26.8071817 13.1062496,25.2917664 13.1062496,23.7115789 C13.1062496,22.1313915 12.4881804,20.6159762 11.3881081,19.4989474 L11.3881081,19.4989474 L3.74837838,11.7621053 L0.273513514,15.2926316 C-0.0900771727,15.6625064 -0.0900771727,16.2617042 0.273513514,16.6315789 L11.3881081,27.9242105 L11.3881081,27.9242105 Z\" fill-rule=\"nonzero\"></path>\n      <path fill=\"${colors.iconColor}\" d=\"M22.5027027,15.2926316 L11.3881081,4 L11.3881081,4 L11.3539189,4.03473684 L11.3539189,4.03473684 C9.08852466,6.36456187 9.09963243,10.1156459 11.3787838,12.4315789 L19.0247297,20.1652632 L22.5027027,16.6315789 C22.8662934,16.2617042 22.8662934,15.6625064 22.5027027,15.2926316 Z\" fill-rule=\"nonzero\"></path>\n      <path d=\"M11.3881081,12.4252632 C9.10895676,10.1093301 9.09784899,6.35824608 11.3632432,4.02842105 L3.43445946,12.0810526 L7.58067568,16.2936842 L11.3881081,12.4252632 Z\" fill=\"url(#${id}-1)\" fill-rule=\"nonzero\"></path>\n      <path fill=\"url(#${id}-2)\" d=\"M15.1893243,15.6368421 L11.3881081,19.4989474 C12.4881804,20.6159762 13.1062496,22.1313915 13.1062496,23.7115789 C13.1062496,25.2917664 12.4881804,26.8071817 11.3881081,27.9242105 L19.3355405,19.8494737 L15.1893243,15.6368421 Z\" fill-rule=\"nonzero\"></path>\n      <path fill=\"${colors.textColor}\" d=\"M36.07,18.956 C36.07,20.646 35.394,21.842 33.418,21.842 C32.56,21.842 31.702,21.686 31,21.4 L31,23.662 C31.65,23.896 32.586,24.104 33.808,24.104 C37.032,24.104 38.41,21.946 38.41,18.8 L38.41,6.918 L36.07,6.918 L36.07,18.956 Z M41.894,7.568 C41.894,8.556 42.544,9.128 43.454,9.128 C44.364,9.128 45.014,8.556 45.014,7.568 C45.014,6.58 44.364,6.008 43.454,6.008 C42.544,6.008 41.894,6.58 41.894,7.568 Z M42.31,24 L44.546,24 L44.546,11 L42.31,11 L42.31,24 Z M47.926,24 L50.11,24 L50.11,16.33 C50.11,13.574 51.852,12.716 54.712,13.002 L54.712,10.818 C52.164,10.662 50.864,11.754 50.11,13.288 L50.11,11 L47.926,11 L47.926,24 Z M65.45,24 L65.45,21.66 C64.618,23.376 63.058,24.26 61.056,24.26 C57.598,24.26 55.856,21.322 55.856,17.5 C55.856,13.834 57.676,10.74 61.316,10.74 C63.214,10.74 64.67,11.598 65.45,13.288 L65.45,11 L67.686,11 L67.686,24 L65.45,24 Z M58.092,17.5 C58.092,20.62 59.34,22.18 61.654,22.18 C63.656,22.18 65.45,20.906 65.45,18.02 L65.45,16.98 C65.45,14.094 63.812,12.82 61.914,12.82 C59.392,12.82 58.092,14.484 58.092,17.5 Z M86.926,19.294 C86.926,16.226 84.898,15.056 81.284,14.146 C78.268,13.392 77.176,12.69 77.176,11.286 C77.176,9.726 78.502,8.946 80.738,8.946 C82.506,8.946 84.352,9.258 86.068,10.246 L86.068,7.906 C84.898,7.256 83.312,6.658 80.842,6.658 C76.864,6.658 74.836,8.634 74.836,11.286 C74.836,14.094 76.552,15.42 80.4,16.356 C83.65,17.136 84.586,17.942 84.586,19.45 C84.586,20.958 83.624,21.972 81.05,21.972 C78.788,21.972 76.344,21.374 74.758,20.542 L74.758,22.934 C76.084,23.61 77.618,24.26 80.92,24.26 C85.158,24.26 86.926,22.258 86.926,19.294 Z M95.09,24.26 C91.19,24.26 88.902,21.374 88.902,17.474 C88.902,13.574 91.19,10.74 95.09,10.74 C98.964,10.74 101.226,13.574 101.226,17.474 C101.226,21.374 98.964,24.26 95.09,24.26 Z M95.09,12.82 C92.308,12.82 91.086,15.004 91.086,17.474 C91.086,19.944 92.308,22.18 95.09,22.18 C97.846,22.18 99.042,19.944 99.042,17.474 C99.042,15.004 97.846,12.82 95.09,12.82 Z M106.92,9.622 C106.92,8.452 107.596,7.646 108.974,7.646 C109.494,7.646 109.988,7.698 110.378,7.776 L110.378,5.722 C109.988,5.618 109.546,5.514 108.87,5.514 C106.088,5.514 104.736,7.152 104.736,9.57 L104.736,11 L102.63,11 L102.63,13.08 L104.736,13.08 L104.736,24 L106.92,24 L106.92,13.08 L110.274,13.08 L110.274,11 L106.92,11 L106.92,9.622 Z M115.786,19.892 L115.786,13.08 L119.244,13.08 L119.244,11 L115.786,11 L115.786,8.244 L113.602,8.244 L113.602,11 L111.496,11 L111.496,13.08 L113.602,13.08 L113.602,19.944 C113.602,22.362 114.954,24 117.736,24 C118.412,24 118.854,23.896 119.244,23.792 L119.244,21.634 C118.854,21.712 118.36,21.816 117.84,21.816 C116.462,21.816 115.786,21.036 115.786,19.892 Z M125.432,24 L128.292,24 L130.528,17.708 L131.724,13.704 L132.92,17.708 L135.156,24 L138.016,24 L142.8,11 L140.33,11 L136.586,22.024 L132.79,11 L130.658,11 L126.862,22.024 L123.118,11 L120.648,11 L125.432,24 Z M153.538,24 L153.538,21.66 C152.706,23.376 151.146,24.26 149.144,24.26 C145.686,24.26 143.944,21.322 143.944,17.5 C143.944,13.834 145.764,10.74 149.404,10.74 C151.302,10.74 152.758,11.598 153.538,13.288 L153.538,11 L155.774,11 L155.774,24 L153.538,24 Z M146.18,17.5 C146.18,20.62 147.428,22.18 149.742,22.18 C151.744,22.18 153.538,20.906 153.538,18.02 L153.538,16.98 C153.538,14.094 151.9,12.82 150.002,12.82 C147.48,12.82 146.18,14.484 146.18,17.5 Z M159.154,24 L161.338,24 L161.338,16.33 C161.338,13.574 163.08,12.716 165.94,13.002 L165.94,10.818 C163.392,10.662 162.092,11.754 161.338,13.288 L161.338,11 L159.154,11 L159.154,24 Z M178.108,23.48 C177.042,24.052 175.404,24.26 174.078,24.26 C169.216,24.26 167.084,21.452 167.084,17.474 C167.084,13.548 169.268,10.74 173.22,10.74 C177.224,10.74 178.836,13.522 178.836,17.474 L178.836,18.488 L169.346,18.488 C169.658,20.698 171.088,22.128 174.156,22.128 C175.664,22.128 176.938,21.842 178.108,21.426 L178.108,23.48 Z M173.116,12.768 C170.75,12.768 169.554,14.302 169.32,16.564 L176.574,16.564 C176.444,14.146 175.352,12.768 173.116,12.768 Z\" fill-rule=\"evenodd\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Jira Software logo__\n *\n * The Jira Software logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareLogo = ({\n  appearance,\n  label = 'Jira Software',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg viewBox=\"0 0 148 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" fill=\"${colors.textColor}\">\n    <path d=\"M5.07,18.956 C5.07,20.646 4.394,21.842 2.418,21.842 C1.56,21.842 0.702,21.686 1.99840144e-15,21.4 L1.99840144e-15,23.662 C0.65,23.896 1.586,24.104 2.808,24.104 C6.032,24.104 7.41,21.946 7.41,18.8 L7.41,6.918 L5.07,6.918 L5.07,18.956 Z M10.894,7.568 C10.894,8.556 11.544,9.128 12.454,9.128 C13.364,9.128 14.014,8.556 14.014,7.568 C14.014,6.58 13.364,6.008 12.454,6.008 C11.544,6.008 10.894,6.58 10.894,7.568 Z M11.31,24 L13.546,24 L13.546,11 L11.31,11 L11.31,24 Z M16.926,24 L19.11,24 L19.11,16.33 C19.11,13.574 20.852,12.716 23.712,13.002 L23.712,10.818 C21.164,10.662 19.864,11.754 19.11,13.288 L19.11,11 L16.926,11 L16.926,24 Z M34.45,24 L34.45,21.66 C33.618,23.376 32.058,24.26 30.056,24.26 C26.598,24.26 24.856,21.322 24.856,17.5 C24.856,13.834 26.676,10.74 30.316,10.74 C32.214,10.74 33.67,11.598 34.45,13.288 L34.45,11 L36.686,11 L36.686,24 L34.45,24 Z M27.092,17.5 C27.092,20.62 28.34,22.18 30.654,22.18 C32.656,22.18 34.45,20.906 34.45,18.02 L34.45,16.98 C34.45,14.094 32.812,12.82 30.914,12.82 C28.392,12.82 27.092,14.484 27.092,17.5 Z M55.926,19.294 C55.926,16.226 53.898,15.056 50.284,14.146 C47.268,13.392 46.176,12.69 46.176,11.286 C46.176,9.726 47.502,8.946 49.738,8.946 C51.506,8.946 53.352,9.258 55.068,10.246 L55.068,7.906 C53.898,7.256 52.312,6.658 49.842,6.658 C45.864,6.658 43.836,8.634 43.836,11.286 C43.836,14.094 45.552,15.42 49.4,16.356 C52.65,17.136 53.586,17.942 53.586,19.45 C53.586,20.958 52.624,21.972 50.05,21.972 C47.788,21.972 45.344,21.374 43.758,20.542 L43.758,22.934 C45.084,23.61 46.618,24.26 49.92,24.26 C54.158,24.26 55.926,22.258 55.926,19.294 Z M64.09,24.26 C60.19,24.26 57.902,21.374 57.902,17.474 C57.902,13.574 60.19,10.74 64.09,10.74 C67.964,10.74 70.226,13.574 70.226,17.474 C70.226,21.374 67.964,24.26 64.09,24.26 Z M64.09,12.82 C61.308,12.82 60.086,15.004 60.086,17.474 C60.086,19.944 61.308,22.18 64.09,22.18 C66.846,22.18 68.042,19.944 68.042,17.474 C68.042,15.004 66.846,12.82 64.09,12.82 Z M75.92,9.622 C75.92,8.452 76.596,7.646 77.974,7.646 C78.494,7.646 78.988,7.698 79.378,7.776 L79.378,5.722 C78.988,5.618 78.546,5.514 77.87,5.514 C75.088,5.514 73.736,7.152 73.736,9.57 L73.736,11 L71.63,11 L71.63,13.08 L73.736,13.08 L73.736,24 L75.92,24 L75.92,13.08 L79.274,13.08 L79.274,11 L75.92,11 L75.92,9.622 Z M84.786,19.892 L84.786,13.08 L88.244,13.08 L88.244,11 L84.786,11 L84.786,8.244 L82.602,8.244 L82.602,11 L80.496,11 L80.496,13.08 L82.602,13.08 L82.602,19.944 C82.602,22.362 83.954,24 86.736,24 C87.412,24 87.854,23.896 88.244,23.792 L88.244,21.634 C87.854,21.712 87.36,21.816 86.84,21.816 C85.462,21.816 84.786,21.036 84.786,19.892 Z M94.432,24 L97.292,24 L99.528,17.708 L100.724,13.704 L101.92,17.708 L104.156,24 L107.016,24 L111.8,11 L109.33,11 L105.586,22.024 L101.79,11 L99.658,11 L95.862,22.024 L92.118,11 L89.648,11 L94.432,24 Z M122.538,24 L122.538,21.66 C121.706,23.376 120.146,24.26 118.144,24.26 C114.686,24.26 112.944,21.322 112.944,17.5 C112.944,13.834 114.764,10.74 118.404,10.74 C120.302,10.74 121.758,11.598 122.538,13.288 L122.538,11 L124.774,11 L124.774,24 L122.538,24 Z M115.18,17.5 C115.18,20.62 116.428,22.18 118.742,22.18 C120.744,22.18 122.538,20.906 122.538,18.02 L122.538,16.98 C122.538,14.094 120.9,12.82 119.002,12.82 C116.48,12.82 115.18,14.484 115.18,17.5 Z M128.154,24 L130.338,24 L130.338,16.33 C130.338,13.574 132.08,12.716 134.94,13.002 L134.94,10.818 C132.392,10.662 131.092,11.754 130.338,13.288 L130.338,11 L128.154,11 L128.154,24 Z M147.108,23.48 C146.042,24.052 144.404,24.26 143.078,24.26 C138.216,24.26 136.084,21.452 136.084,17.474 C136.084,13.548 138.268,10.74 142.22,10.74 C146.224,10.74 147.836,13.522 147.836,17.474 L147.836,18.488 L138.346,18.488 C138.658,20.698 140.088,22.128 143.156,22.128 C144.664,22.128 145.938,21.842 147.108,21.426 L147.108,23.48 Z M142.116,12.768 C139.75,12.768 138.554,14.302 138.32,16.564 L145.574,16.564 C145.444,14.146 144.352,12.768 142.116,12.768 Z\"></path>\n  </g>\n</svg>`;\n};\n\n/**\n * __Jira Software wordmark__\n *\n * The Jira Software brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareWordmark = ({\n  appearance,\n  label = 'Jira Software',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n  fill=\"none\"\n  height=\"32\"\n  viewBox=\"0 0 303 32\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n>\n  <linearGradient\n    id=\"${id}\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"7.94848\"\n    x2=\"14.7792\"\n    y1=\"19.536\"\n    y2=\"11.1249\"\n  >\n    <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n    <stop offset=\"100%\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <path\n    d=\"m12.3893 6.29721-3.42568 13.18669c4.35918 1.2052 7.83828-.3558 9.17088-5.4802l1.9988-7.69729z\"\n    fill=\"url(#${id})\"\n  />\n  <path fill=\"${colors.iconColor}\" d=\"m7.75657 24.1237 3.42573-13.1866c-4.3623-1.19602-7.8383.3649-9.17087 5.4985l-2.01143 7.6881z\" />\n  <g fill=\"${colors.textColor}\">\n    <path\n      clip-rule=\"evenodd\"\n      d=\"m122.757 5v19.1237h2.379v-6.305l6.085 6.305h3.234l-6.776-6.8448 6.499-6.6485h-3.095l-5.947 6.3296v-11.96zm-84.0053.55058c-.2088-.0757-.4319-.1066-.654-.09058-.222-.0155-.4448.01575-.6533.09164-.2086.07589-.398.19465-.5553.34821-.1574.15356-.2791.33835-.3569.54183s-.1098.4209-.0939.63752c0 .42944.1748.84129.486 1.14495s.7333.47425 1.1734.47425.8622-.17059 1.1734-.47425.4861-.71551.4861-1.14495c.0164-.21674-.0153-.43438-.0929-.6381s-.1993-.38872-.3568-.5424c-.1574-.15367-.347-.27241-.5558-.34812zm.5089 5.07982h-2.3792v13.4933h2.3792zm-5.6979-4.22587h-2.4891l.0094 12.49357c0 1.7695-.726 2.9962-2.8286 2.9962-.88.0065-1.7534-.1496-2.574-.46v2.349c.9621.3182 1.9731.4727 2.9889.457 3.4288 0 4.8934-2.2387 4.8934-5.5047zm11.6158 17.71917h-2.3225v-13.4933h2.3225v2.3736c.8015-1.5916 2.1843-2.7232 4.8966-2.5637v2.2693c-3.0423-.3067-4.8966.5919-4.8966 3.4531zm11.3678.2791c2.1309 0 3.7903-.9169 4.6734-2.6987l.0032 2.4196h2.3791v-13.4933h-2.3791v2.3828c-.8329-1.7541-2.3823-2.6435-4.4-2.6435-3.872 0-5.808 3.2108-5.808 7.0166 0 3.9682 1.8543 7.0165 5.5314 7.0165zm4.6734-6.4768c0 2.9961-1.9077 4.3179-4.0385 4.3179-2.4609 0-3.7872-1.6192-3.7966-4.8576 0-3.1311 1.3829-4.8576 4.0637-4.8576 2.0303 0 3.7714 1.3217 3.7714 4.3178zm8.6023-11.52147h2.5709l4.7143 15.43457 5.1731-15.43457h2.9291l5.1732 15.43457 4.73-15.43457h2.4891l-5.7105 17.71917h-3.1806l-5.0286-15.1401-5.0285 15.1401h-3.0989zm34.376 3.96517c-4.148 0-6.5808 2.941-6.5808 6.989s2.4608 7.0533 6.5808 7.0533c4.121 0 6.528-3.0053 6.528-7.0533s-2.379-6.989-6.528-6.989zm0 11.8742c-2.957 0-4.2582-2.3215-4.2582-4.8852h.0031c0-2.5638 1.3231-4.83 4.2551-4.83 2.933 0 4.205 2.2662 4.205 4.83 0 2.5637-1.247 4.8852-4.205 4.8852zm11.617 1.8798h-2.323v-13.4933h2.323v2.3736c.801-1.5916 2.184-2.7232 4.896-2.5637v2.2693c-3.042-.3067-4.896.5919-4.896 3.4531zm28.734-16.2533v16.2533h-2.492v-17.71917h4.315l4.121 10.17217 1.687 4.8852 1.688-4.8852 4.149-10.17217h4.01v17.71917h-2.489v-16.07543l-2.131 6.39703-4.007 9.6784h-2.408l-3.953-9.6784zm26.165 16.5324c2.131 0 3.79-.9169 4.673-2.6987l.003 2.4196h2.38v-13.4933h-2.38v2.3828c-.833-1.7541-2.382-2.6435-4.4-2.6435-3.872 0-5.808 3.2108-5.808 7.0166 0 3.9682 1.855 7.0165 5.532 7.0165zm4.673-6.4768c0 2.9961-1.907 4.3179-4.038 4.3179-2.461 0-3.787-1.6192-3.797-4.8576 0-3.1311 1.383-4.8576 4.064-4.8576 2.03 0 3.771 1.3217 3.771 4.3178zm17.729 6.1977h-2.379v-8.142c0-2.4288-.996-3.5082-3.262-3.5082-2.2 0-3.734 1.4321-3.734 4.1584v7.4918h-2.379v-13.4933h2.379v2.2141c.423-.7665 1.055-1.4041 1.826-1.8424s1.651-.6603 2.543-.6416c3.18 0 5.006 2.1467 5.006 5.8574zm8.021.2791c2.131 0 3.79-.9169 4.673-2.6987l.003 2.4196h2.379v-13.4933h-2.379v2.3828c-.833-1.7541-2.382-2.6435-4.4-2.6435-3.872 0-5.808 3.2108-5.808 7.0166 0 3.9682 1.855 7.0165 5.532 7.0165zm4.673-6.4768c0 2.9961-1.908 4.3179-4.038 4.3179-2.461 0-3.772-1.6192-3.772-4.8668 0-3.1219 1.367-4.8484 4.039-4.8484 2.03 0 3.771 1.3217 3.771 4.3178zm15.293 3.7781c-.883 1.7818-2.542 2.6987-4.673 2.6987-3.658 0-5.475-3.0391-5.475-7.0257 0-3.8058 1.908-7.0166 5.752-7.0166 2.02 0 3.567.8894 4.4 2.6435v-2.3736h2.325v12.2667c0 3.9682-1.911 6.6393-6.861 6.6393-1.672.0477-3.339-.1995-4.921-.7299v-2.2294c1.549.5193 3.173.7927 4.811.8096 3.458 0 4.646-1.8094 4.646-4.3179zm-4.035.5398c2.128 0 4.035-1.3218 4.035-4.3179v-1.0795c0-2.9961-1.741-4.3178-3.771-4.3178-2.684 0-4.067 1.7265-4.067 4.8576.013 3.2384 1.339 4.8576 3.803 4.8576zm9.127-4.8944c0 4.14 2.266 7.0533 7.439 7.0533 1.411 0 3.152-.2147 4.281-.7943v-2.1466c-1.346.477-2.767.7199-4.199.7176-3.263 0-4.784-1.4843-5.117-3.7782h10.092v-1.0518c0-4.1002-1.71-6.989-5.972-6.989-4.202 0-6.524 2.9134-6.524 6.989zm10.095-.92h-7.719v-.0154c.251-2.346 1.521-3.9437 4.038-3.9437 2.38 0 3.542 1.4352 3.681 3.9591zm16.98 7.6942h-2.379v-8.142c0-2.4288-.996-3.5082-3.265-3.5082-2.2 0-3.731 1.4321-3.731 4.1584v7.4918h-2.379v-13.4933h2.37v2.2141c.423-.7667 1.054-1.4045 1.825-1.8428.771-.4384 1.651-.6603 2.543-.6412 2.351 0 3.954 1.1592 4.646 3.2936.776-2.0792 2.627-3.2936 4.924-3.2936 3.096 0 4.812 2.0516 4.812 5.8574v7.9058h-2.379v-7.4918c.009-2.7815-.971-4.1615-3.253-4.1615-2.2 0-3.734 1.4321-3.734 4.1584zm11.865-6.7742c0 4.14 2.266 7.0533 7.439 7.0533 1.411 0 3.152-.2147 4.287-.8035v-2.1466c-1.347.4808-2.771.7269-4.205.7268-3.263 0-4.784-1.4843-5.117-3.7782h10.095v-1.0518c0-4.1002-1.713-6.989-5.972-6.989-4.205 0-6.527 2.9134-6.527 6.989zm10.095-.92h-7.716v-.0154c.258-2.346 1.515-3.9437 4.029-3.9437 2.385 0 3.548 1.4352 3.687 3.9591zm16.98 7.6942h-2.379v-8.142c0-2.4288-1.002-3.5113-3.262-3.5113-2.2 0-3.734 1.4321-3.734 4.1584v7.4949h-2.379v-13.4933h2.379v2.2141c.423-.7667 1.055-1.4045 1.826-1.8428.771-.4384 1.651-.6603 2.543-.6412 3.18 0 5.006 2.1467 5.006 5.8574zm10.287-2.3644c-.49.1102-.99.1728-1.493.1871-1.464 0-2.184-.8096-2.187-1.9964v-7.1729h3.677v-2.1467h-3.677v-2.852h-2.323v2.852h-2.241v2.1681h2.241v7.2067c0 2.5085 1.44 4.2075 4.4 4.2075.542.0028 1.082-.0695 1.603-.2147z\"\n      fill-rule=\"evenodd\"\n    />\n  </g>\n</svg>`;\n};\n\n/**\n * __Jira Work Management logo__\n *\n * The Jira Work Management logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWorkManagementLogo = ({\n  appearance,\n  label = 'Jira Work Management',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      size,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n    height=\"32\"\n    viewBox=\"0 0 278 32\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n  >\n    <path\n      fill=\"${colors.textColor}\"\n      clip-rule=\"evenodd\"\n      d=\"m97.0767 4v19.1237h2.3791v-6.305l6.0842 6.305h3.234l-6.776-6.8448 6.5-6.6485h-3.096l-5.9462 6.3296v-11.96zm-84.0054.55058c-.2088-.0757-.4319-.1066-.654-.09058-.222-.0155-.4448.01575-.6534.09164-.2085.07589-.3979.19465-.5553.34821-.1573.15356-.279.33835-.3568.54183s-.1098.4209-.0939.63752c0 .42944.1748.84129.486 1.14495s.7333.47425 1.1734.47425.8622-.17059 1.1734-.47425.486-.71551.486-1.14495c.0165-.21674-.0152-.43438-.0928-.6381s-.1993-.38872-.3568-.5424c-.1575-.15367-.3471-.27241-.5558-.34812zm.5089 5.07982h-2.3792v13.4933h2.3792zm-5.69792-4.22587h-2.48914l.00943 12.49357c0 1.7695-.726 2.9962-2.82857 2.9962-.88006.0065-1.753432-.1496-2.574-.46v2.349c.962129.3182 1.97311.4727 2.98886.457 3.42885 0 4.89342-2.2387 4.89342-5.5047zm11.61582 17.71917h-2.3226v-13.4933h2.3226v2.3736c.8014-1.5916 2.1843-2.7232 4.8966-2.56373v2.26933c-3.0423-.3067-4.8966.5919-4.8966 3.4531zm11.3678.2791c2.1308 0 3.7903-.9169 4.6734-2.6987l.0032 2.4196h2.3791v-13.4933h-2.3791v2.3828c-.8329-1.7541-2.3823-2.64347-4.4-2.64347-3.872 0-5.808 3.21077-5.808 7.01657 0 3.9682 1.8543 7.0165 5.5314 7.0165zm4.6734-6.4768c0 2.9961-1.9077 4.3179-4.0385 4.3179-2.4609 0-3.7872-1.6192-3.7966-4.8576 0-3.1311 1.3828-4.8576 4.0637-4.8576 2.0303 0 3.7714 1.3217 3.7714 4.3178zm8.6023-11.52147h2.5709l4.7142 15.43457 5.1732-15.43457h2.9291l5.1732 15.43457 4.73-15.43457h2.4891l-5.7106 17.71917h-3.1805l-5.0286-15.1401-5.0286 15.1401h-3.0988zm34.3763 3.9652c-4.1486 0-6.5811 2.94097-6.5811 6.98897s2.4608 7.0533 6.5811 7.0533 6.5277-3.0053 6.5277-7.0533-2.3791-6.98897-6.5277-6.98897zm0 11.87417c-2.9574 0-4.2586-2.3215-4.2586-4.8852h.0032c0-2.5638 1.3231-4.83 4.2554-4.83s4.2052 2.2662 4.2052 4.83c0 2.5637-1.2478 4.8852-4.2052 4.8852zm11.6162 1.8798h-2.3226v-13.4933h2.3226v2.3736c.8014-1.5916 2.1843-2.7232 4.8966-2.56373v2.26933c-3.0423-.3067-4.8966.5919-4.8966 3.4531zm28.7349-16.2533v16.2533h-2.492v-17.71917h4.315l4.12 10.17217 1.688 4.8852 1.688-4.8852 4.148-10.17217h4.01v17.71917h-2.489v-16.07543l-2.131 6.39703-4.007 9.6784h-2.407l-3.954-9.6784zm26.164 16.5324c2.131 0 3.791-.9169 4.674-2.6987l.003 2.4196h2.379v-13.4933h-2.379v2.3828c-.833-1.7541-2.382-2.64347-4.4-2.64347-3.872 0-5.808 3.21077-5.808 7.01657 0 3.9682 1.854 7.0165 5.531 7.0165zm4.674-6.4768c0 2.9961-1.908 4.3179-4.039 4.3179-2.461 0-3.787-1.6192-3.796-4.8576 0-3.1311 1.383-4.8576 4.063-4.8576 2.031 0 3.772 1.3217 3.772 4.3178zm17.729 6.1977h-2.379v-8.142c0-2.4288-.997-3.5082-3.263-3.5082-2.2 0-3.733 1.4321-3.733 4.1584v7.4918h-2.38v-13.4933h2.38v2.2141c.423-.7665 1.054-1.4041 1.825-1.8424.771-.43831 1.651-.66034 2.543-.64157 3.181 0 5.007 2.14667 5.007 5.85737zm8.02.2791c2.131 0 3.791-.9169 4.674-2.6987l.003 2.4196h2.379v-13.4933h-2.379v2.3828c-.833-1.7541-2.382-2.64347-4.4-2.64347-3.872 0-5.808 3.21077-5.808 7.01657 0 3.9682 1.854 7.0165 5.531 7.0165zm4.674-6.4768c0 2.9961-1.908 4.3179-4.039 4.3179-2.461 0-3.771-1.6192-3.771-4.8668 0-3.1219 1.367-4.8484 4.038-4.8484 2.031 0 3.772 1.3217 3.772 4.3178zm15.293 3.7781c-.883 1.7818-2.543 2.6987-4.673 2.6987-3.659 0-5.475-3.0391-5.475-7.0257 0-3.8058 1.907-7.01657 5.751-7.01657 2.021 0 3.567.88937 4.4 2.64347v-2.3736h2.326v12.2667c0 3.9682-1.911 6.6393-6.861 6.6393-1.672.0477-3.34-.1995-4.922-.7299v-2.2294c1.549.5193 3.174.7927 4.812.8096 3.457 0 4.645-1.8094 4.645-4.3179zm-4.035.5398c2.127 0 4.035-1.3218 4.035-4.3179v-1.0795c0-2.9961-1.741-4.3178-3.771-4.3178-2.684 0-4.067 1.7265-4.067 4.8576.012 3.2384 1.339 4.8576 3.803 4.8576zm9.126-4.8944c0 4.14 2.266 7.0533 7.44 7.0533 1.411 0 3.152-.2147 4.28-.7943v-2.1466c-1.346.477-2.767.7199-4.199.7176-3.262 0-4.783-1.4843-5.116-3.7782h10.091v-1.0518c0-4.1002-1.709-6.98897-5.971-6.98897-4.202 0-6.525 2.91337-6.525 6.98897zm10.095-.92h-7.719v-.0154c.252-2.346 1.522-3.9437 4.039-3.9437 2.379 0 3.542 1.4352 3.68 3.9591zm16.981 7.6942h-2.379v-8.142c0-2.4288-.996-3.5082-3.266-3.5082-2.2 0-3.73 1.4321-3.73 4.1584v7.4918h-2.379v-13.4933h2.369v2.2141c.423-.7667 1.055-1.4045 1.826-1.8428.771-.4384 1.651-.66028 2.543-.64117 2.351 0 3.954 1.15917 4.645 3.29357.776-2.0792 2.628-3.29357 4.925-3.29357 3.096 0 4.812 2.05157 4.812 5.85737v7.9058h-2.379v-7.4918c.009-2.7815-.972-4.1615-3.253-4.1615-2.2 0-3.734 1.4321-3.734 4.1584zm11.864-6.7742c0 4.14 2.266 7.0533 7.439 7.0533 1.412 0 3.153-.2147 4.287-.8035v-2.1466c-1.347.4808-2.77.7269-4.205.7268-3.262 0-4.783-1.4843-5.116-3.7782h10.094v-1.0518c0-4.1002-1.712-6.98897-5.971-6.98897-4.205 0-6.528 2.91337-6.528 6.98897zm10.095-.92h-7.716v-.0154c.258-2.346 1.515-3.9437 4.03-3.9437 2.385 0 3.548 1.4352 3.686 3.9591zm16.981 7.6942h-2.379v-8.142c0-2.4288-1.003-3.5113-3.262-3.5113-2.2 0-3.734 1.4321-3.734 4.1584v7.4949h-2.379v-13.4933h2.379v2.2141c.423-.7667 1.054-1.4045 1.825-1.8428.771-.4384 1.651-.66028 2.543-.64117 3.181 0 5.007 2.14667 5.007 5.85737zm10.287-2.3644c-.49.1102-.99.1728-1.493.1871-1.465 0-2.184-.8096-2.188-1.9964v-7.1729h3.678v-2.1467h-3.678v-2.852h-2.322v2.852h-2.241v2.1681h2.241v7.2067c0 2.5085 1.439 4.2075 4.4 4.2075.542.0028 1.082-.0695 1.603-.2147z\"\n      fill-rule=\"evenodd\"\n    />\n  </svg>`;\n};\n\n/**\n * __Jira Work Management wordmark__\n *\n * The Jira Work Management brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWorkManagementWordmark = ({\n  appearance,\n  label = 'Jira Work Management',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n    <svg\n      fill=\"none\"\n      height=\"32\"\n      viewBox=\"0 0 32 32\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n    >\n      <linearGradient\n        id=\"${id}\"\n        gradientUnits=\"userSpaceOnUse\"\n        x1=\"13.9485\"\n        x2=\"20.7792\"\n        y1=\"20.2388\"\n        y2=\"11.8277\"\n      >\n        <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n        <stop offset=\"100%\" stop-color=\"${colors.iconGradientStop}\" />\n      </linearGradient>\n      <path\n        d=\"m18.3893 7-3.4257 13.1867c4.3592 1.2052 7.8383-.3558 9.1709-5.4802l1.9988-7.6973z\"\n        fill=\"url(#${id})\"\n      />\n      <path\n      fill=\"${colors.iconColor}\"\n      d=\"m13.7566 24.8265 3.4257-13.1866c-4.3623-1.196-7.8383.3649-9.17087 5.4985l-2.01143 7.6881z\"\n      />\n    </svg>`;\n};\n\n/**\n * __Jira Work Management icon__\n *\n * The Jira Work Management icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWorkManagementIcon = ({\n  appearance,\n  label = 'Jira Work Management',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop,\n  size\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}-1\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"100%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${iconGradientStop}\"\n        />\n        <stop\n          offset=\"82%\"\n          stop-color=\"${iconGradientStart}\"\n          ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n        />\n      </linearGradient>\n      <linearGradient id=\"${id}-2\" x1=\"7.133%\" x2=\"50%\" y1=\"13.352%\" y2=\"58.228%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${iconGradientStop}\"\n        />\n        <stop\n          offset=\"100%\"\n          stop-color=\"${iconGradientStart}\"\n          ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n        />\n      </linearGradient>\n    </defs>\n    <g fill=\"none\" fill-rule=\"evenodd\">\n      <circle cx=\"16\" cy=\"10\" r=\"6\" fill=\"url(#${id}-1)\" fill-rule=\"nonzero\"/>\n      <path fill=\"url(#${id}-2)\" fill-rule=\"nonzero\" d=\"M15.4917902,27.8535048 C11.5895108,25.3649677 8.34369777,21.9735337 6.02870456,17.9658651 C5.84991535,17.6419027 5.96743197,17.2343451 6.2912577,17.0553085 L6.31918889,17.0553085 L10.8440409,14.8208136 C11.1613558,14.6649408 11.5451782,14.7822878 11.7210802,15.088953 C14.0054511,18.9171632 17.3801037,21.9767185 21.4132015,23.876104 C19.9238268,25.3786979 18.2733698,26.7125519 16.4917267,27.8535048 C16.1850328,28.0418894 15.7984841,28.0418894 15.4917902,27.8535048 Z\"/>\n      <path fill=\"currentColor\" fill-rule=\"nonzero\" d=\"M16.5084854,27.8535048 C20.4118869,25.3663345 23.6579925,21.9745949 25.971571,17.9658651 C26.1485439,17.6413306 26.0345395,17.23488 25.7146041,17.0497222 L25.6810867,17.0497222 L21.1506484,14.8152274 C20.834975,14.6599316 20.4529644,14.7774733 20.2791954,15.0833668 C17.9924232,18.9191667 14.6087636,21.9817774 10.5647291,23.876104 C12.0560656,25.3787865 13.7083825,26.7126296 15.4917902,27.8535048 C15.802544,28.0488317 16.1977316,28.0488317 16.5084854,27.8535048 Z\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * This is the old OpsGenieIcon that was meant to be deprecated but was never removed.\n * This is because it casing it incorrect, it should be Opsgenie, not OpsGenie.\n */\n/**\n * @deprecated OpsGenieIcon is incorrectly cased and will be removed from atlaskit/logo in the next major release. Please use OpsgenieIcon (no capital 'g') instead.\n */\nexport const OpsGenieIcon = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('OpsGenieIcon will be renamed to OpsgenieIcon in the next major release. Please use OpsgenieIcon instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop,\n      size\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop,\n  size\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 133 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}-1\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"100%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${iconGradientStop}\"\n        />\n        <stop\n          offset=\"82%\"\n          stop-color=\"${iconGradientStart}\"\n          ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n        />\n      </linearGradient>\n      <linearGradient id=\"${id}-2\" x1=\"7.133%\" x2=\"50%\" y1=\"13.352%\" y2=\"58.228%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${iconGradientStop}\"\n        />\n        <stop\n          stop-color=\"${iconGradientStart}\"\n          ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n          offset=\"100%\"\n        />\n      </linearGradient>\n    </defs>\n    <g fill-rule=\"evenodd\">\n      <path fill=\"inherit\" fill-rule=\"nonzero\" d=\"M27,14.9963259 C27,9.84140338 29.9575,6.22438088 35.2484675,6.22438088 C40.539435,6.22438088 43.4880625,9.84436088 43.4880625,14.9963259 C43.4880625,20.1985684 40.5305625,23.8422084 35.263255,23.8422084 C29.9959475,23.8422084 27,20.1956109 27,14.9963259 Z M29.34234,14.9963259 C29.34234,18.6133484 31.03403,21.6063384 35.25734,21.6063384 C39.48065,21.6063384 41.1220625,18.6133484 41.1220625,14.9963259 C41.1220625,11.4473259 39.4303725,8.46320838 35.239595,8.46320838 C31.0488175,8.46320838 29.34234,11.4561984 29.34234,14.9963259 Z M48.7050925,21.2928434 L48.7050925,28.6570184 L46.466265,28.6570184 L46.466265,10.5719059 L48.7050925,10.5719059 L48.7050925,12.9142459 C49.53615,11.1959384 51.1006675,10.3116459 53.102895,10.3116459 C56.56317,10.3116459 58.308095,13.2514009 58.308095,17.0754484 C58.308095,20.7457059 56.486275,23.8422084 52.842635,23.8422084 C50.94392,23.8422084 49.4858725,22.9845334 48.7050925,21.2928434 Z M52.50548,12.3937259 C50.500295,12.3937259 48.7050925,13.6684084 48.7050925,16.5578859 L48.7050925,17.5989259 C48.7050925,20.4854459 50.3435475,21.7601284 52.2540925,21.7601284 C54.77684,21.7601284 56.07814,20.0950559 56.07814,17.0754484 C56.0692675,13.9552859 54.8212025,12.3937259 52.50548,12.3937259 Z M64.99796,23.8422084 C63.4334449,23.8787499 61.881995,23.5496237 60.46707,22.8810209 L60.46707,20.5150209 C61.8881071,21.303432 63.4771215,21.740487 65.1014725,21.7897034 C66.81978,21.7897034 67.7040725,21.0887759 67.7040725,20.0713959 C67.7040725,19.0540159 66.94991,18.5098359 64.47744,17.9124209 C61.5879625,17.2085359 60.3635575,16.0906009 60.3635575,13.9582434 C60.3635575,11.6927984 62.1084825,10.3146034 65.074855,10.3146034 C66.5257548,10.2930388 67.96137,10.6131901 69.2656325,11.2491734 L69.2656325,13.5678534 C67.7040725,12.7870734 66.42939,12.3848534 65.0482375,12.3848534 C63.4097825,12.3848534 62.52549,12.9556509 62.52549,13.9730309 C62.52549,14.8839409 63.1495225,15.4517809 65.5450975,16.0284934 C68.4316175,16.7294209 69.889665,17.8029934 69.889665,20.0625234 C69.889665,22.2037534 68.4848525,23.8422084 64.99796,23.8422084 Z M81.7581125,21.2396084 C80.9240975,22.9579159 79.3625375,23.8422084 77.3573525,23.8422084 C73.923695,23.8422084 72.2053875,20.9024534 72.2053875,17.0754484 C72.2053875,13.4081484 74.00059,10.3116459 77.62057,10.3116459 C79.519285,10.3116459 80.9773325,11.1693209 81.76107,12.8610109 L81.76107,10.5719059 L83.9466625,10.5719059 L83.9466625,22.4019059 C83.9466625,26.2289109 82.15146,28.8048934 77.49044,28.8048934 C75.9171438,28.849884 74.3485221,28.6124873 72.858995,28.1039659 L72.858995,25.9154159 C74.315222,26.4191931 75.8431618,26.6848349 77.38397,26.7021109 C80.63722,26.7021109 81.7581125,24.9601434 81.7581125,22.5379509 L81.7581125,21.2396084 Z M77.957725,21.7601284 C79.9599525,21.7601284 81.7581125,20.4854459 81.7581125,17.5989259 L81.7581125,16.5578859 C81.7581125,13.6684084 80.1167,12.3937259 78.2091125,12.3937259 C75.6834075,12.3937259 74.3821075,14.0587984 74.3821075,17.0754484 C74.39098,20.1956109 75.6420025,21.7601284 77.957725,21.7601284 Z M93.5467075,23.8422084 C88.6786625,23.8422084 86.546305,21.0325834 86.546305,17.0399584 C86.546305,13.1094409 88.7318975,10.2998159 92.6890325,10.2998159 C96.696445,10.2998159 98.308282,13.0828234 98.308282,17.0399584 L98.308282,18.0662109 L88.8087925,18.0662109 C89.1222875,20.2784209 90.5537175,21.7098509 93.6236025,21.7098509 C94.9737094,21.7089885 96.313149,21.4707325 97.580737,21.0059659 L97.580737,23.0762159 C96.51308,23.6351834 94.874625,23.8422084 93.5467075,23.8422084 Z M88.7851325,16.1527084 L96.045795,16.1527084 C95.915665,13.7305159 94.82139,12.3523209 92.5825625,12.3523209 C90.2165625,12.3404909 89.0335625,13.8754334 88.7851325,16.1408784 L88.7851325,16.1527084 Z M112.025168,23.5819484 L109.78634,23.5819484 L109.78634,15.7238709 C109.78634,13.3815309 108.848813,12.3404909 106.716455,12.3404909 C104.646205,12.3404909 103.202945,13.7186859 103.202945,16.3479034 L103.202945,23.5819484 L100.964118,23.5819484 L100.964118,10.5689484 L103.202945,10.5689484 L103.202945,12.7013059 C104.015399,11.1952365 105.603045,10.2712035 107.31387,10.3086884 C110.30686,10.3086884 112.025168,12.3789384 112.025168,15.9545559 L112.025168,23.5819484 Z M116.29284,5.57373088 C116.715541,5.54348282 117.130549,5.69826386 117.430208,5.99792296 C117.729867,6.29758207 117.884648,6.71258978 117.8544,7.13529088 C117.8544,7.99771665 117.155266,8.69685088 116.29284,8.69685088 C115.430414,8.69685088 114.73128,7.99771665 114.73128,7.13529088 C114.701032,6.71258978 114.855813,6.29758207 115.155472,5.99792296 C115.455131,5.69826386 115.870139,5.54348282 116.29284,5.57373088 Z M115.148287,10.5719059 L117.387115,10.5719059 L117.387115,23.5849059 L115.148287,23.5849059 L115.148287,10.5719059 Z M127.510637,23.8422084 C122.642592,23.8422084 120.510235,21.0325834 120.510235,17.0399584 C120.510235,13.1094409 122.695827,10.2998159 126.650005,10.2998159 C130.657417,10.2998159 132.269255,13.0828234 132.269255,17.0399584 L132.269255,18.0662109 L122.772722,18.0662109 C123.086217,20.2784209 124.517647,21.7098509 127.587532,21.7098509 C128.937639,21.7089885 130.277079,21.4707325 131.544667,21.0059659 L131.544667,23.0762159 C130.47701,23.6351834 128.838555,23.8422084 127.510637,23.8422084 Z M122.749062,16.1408784 L130.012682,16.1408784 C129.882552,13.7186859 128.788277,12.3404909 126.54945,12.3404909 C124.177535,12.3404909 122.982705,13.8754334 122.749062,16.1408784 Z\"/>\n      <circle cx=\"10.055\" cy=\"10\" r=\"6\" fill=\"url(#${id}-1)\" fill-rule=\"nonzero\"/>\n      <path fill=\"url(#${id}-2)\" fill-rule=\"nonzero\" d=\"M9.5466546,27.8535048 C5.6443752,25.3649677 2.39856217,21.9735337 0.0835689575,17.9658651 C-0.0952202525,17.6419027 0.0222963675,17.2343451 0.346122097,17.0553085 L0.374053287,17.0553085 L4.8989053,14.8208136 C5.2162202,14.6649408 5.6000426,14.7822878 5.7759446,15.088953 C8.0603155,18.9171632 11.4349681,21.9767185 15.4680659,23.876104 C13.9786912,25.3786979 12.3282342,26.7125519 10.5465911,27.8535048 C10.2398972,28.0418894 9.8533485,28.0418894 9.5466546,27.8535048 Z\"/>\n      <path fill=\"currentColor\" fill-rule=\"nonzero\" d=\"M10.5633498,27.8535048 C14.4667513,25.3663345 17.7128569,21.9745949 20.0264354,17.9658651 C20.2034083,17.6413306 20.0894039,17.23488 19.7694685,17.0497222 L19.7359511,17.0497222 L15.2055128,14.8152274 C14.8898394,14.6599316 14.5078288,14.7774733 14.3340598,15.0833668 C12.0472876,18.9191667 8.663628,21.9817774 4.6195935,23.876104 C6.11093,25.3787865 7.7632469,26.7126296 9.5466546,27.8535048 C9.8574084,28.0488317 10.252596,28.0488317 10.5633498,27.8535048 Z\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated OpsGenieLogo is incorrectly cased and will be removed from atlaskit/logo in the next major release. Please use OpsgenieLogo (no capital 'g') instead.\n */\nexport const OpsGenieLogo = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('OpsGenieLogo will be renamed to OpsgenieLogo in the next major release. Please use OpsgenieLogo instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop,\n      size\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `\n<svg viewBox=\"0 0 148 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g fill-rule=\"evenodd\" fill=\"inherit\">\n    <path d=\"M0 14.996c0-5.155 2.958-8.772 8.248-8.772 5.291 0 8.24 3.62 8.24 8.772 0 5.203-2.957 8.846-8.225 8.846C2.996 23.842 0 20.196 0 14.996zm2.342 0c0 3.617 1.692 6.61 5.915 6.61 4.224 0 5.865-2.993 5.865-6.61 0-3.549-1.692-6.533-5.882-6.533-4.191 0-5.898 2.993-5.898 6.533zm19.363 6.297v7.364h-2.239V10.572h2.24v2.342c.83-1.718 2.395-2.602 4.397-2.602 3.46 0 5.205 2.94 5.205 6.763 0 3.67-1.822 6.767-5.465 6.767-1.9 0-3.357-.857-4.138-2.55zm3.8-8.9c-2.005 0-3.8 1.275-3.8 4.165v1.04c0 2.887 1.639 4.162 3.55 4.162 2.522 0 3.823-1.665 3.823-4.685-.009-3.12-1.257-4.681-3.573-4.681zm12.493 11.45a10.056 10.056 0 0 1-4.53-.962v-2.366A10.189 10.189 0 0 0 38.1 21.79c1.719 0 2.603-.701 2.603-1.719 0-1.017-.754-1.561-3.227-2.159-2.889-.703-4.113-1.821-4.113-3.954 0-2.265 1.744-3.643 4.71-3.643a9.248 9.248 0 0 1 4.192.934v2.319c-1.562-.78-2.837-1.183-4.218-1.183-1.638 0-2.523.57-2.523 1.588 0 .91.625 1.479 3.02 2.055 2.887.701 4.345 1.775 4.345 4.035 0 2.14-1.405 3.78-4.892 3.78zm16.76-2.603c-.834 1.718-2.395 2.602-4.4 2.602-3.434 0-5.153-2.94-5.153-6.767 0-3.667 1.796-6.763 5.416-6.763 1.898 0 3.356.857 4.14 2.549v-2.29h2.186v11.83c0 3.828-1.796 6.404-6.457 6.404a13.17 13.17 0 0 1-4.631-.701v-2.189c1.456.504 2.984.77 4.525.787 3.253 0 4.374-1.742 4.374-4.164V21.24zm-3.8.52c2.002 0 3.8-1.275 3.8-4.161v-1.041c0-2.89-1.641-4.164-3.549-4.164-2.526 0-3.827 1.665-3.827 4.681.009 3.12 1.26 4.685 3.576 4.685zm15.589 2.082c-4.868 0-7-2.81-7-6.802 0-3.93 2.185-6.74 6.142-6.74 4.007 0 5.62 2.783 5.62 6.74v1.026h-9.5c.313 2.212 1.745 3.644 4.815 3.644 1.35-.001 2.69-.24 3.957-.704v2.07c-1.068.56-2.706.766-4.034.766zm-4.762-7.69h7.26c-.13-2.421-1.224-3.8-3.462-3.8-2.366-.012-3.55 1.523-3.798 3.789v.012zm23.24 7.43h-2.239v-7.858c0-2.342-.937-3.384-3.07-3.384-2.07 0-3.513 1.379-3.513 4.008v7.234h-2.239V10.569h2.239V12.7a4.558 4.558 0 0 1 4.11-2.392c2.994 0 4.712 2.07 4.712 5.646v7.627zm4.268-18.008a1.461 1.461 0 0 1 1.561 1.561 1.562 1.562 0 1 1-3.123 0 1.461 1.461 0 0 1 1.562-1.561zm-1.145 4.998h2.24v13.013h-2.24V10.572zm12.363 13.27c-4.868 0-7-2.81-7-6.802 0-3.93 2.185-6.74 6.139-6.74 4.007 0 5.62 2.783 5.62 6.74v1.026h-9.497c.313 2.212 1.745 3.644 4.815 3.644 1.35-.001 2.69-.24 3.957-.704v2.07c-1.068.56-2.706.766-4.034.766zm-4.762-7.701h7.264c-.13-2.422-1.225-3.8-3.464-3.8-2.371 0-3.566 1.534-3.8 3.8z\" />\n  </g>\n</svg>`;\n\n/**\n * @deprecated OpsGenieWordmark is incorrectly cased and will be removed from atlaskit/logo in the next major release. Please use OpsgenieLogo (no capital 'g') instead.\n */\nexport const OpsGenieWordmark = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('OpsGenieWordmark will be renamed to OpsgenieWordmark in the next major release. Please use OpsgenieWordmark instead.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    svg: svg(),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  size,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}-1\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"100%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${colors.iconGradientStop}\"\n        />\n        <stop\n          offset=\"82%\"\n          stop-color=\"${colors.iconGradientStart}\"\n          ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n        />\n      </linearGradient>\n      <linearGradient id=\"${id}-2\" x1=\"7.133%\" x2=\"50%\" y1=\"13.352%\" y2=\"58.228%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${colors.iconGradientStop}\"\n        />\n        <stop\n          offset=\"100%\"\n          stop-color=\"${colors.iconGradientStart}\"\n          ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n        />\n      </linearGradient>\n    </defs>\n    <g fill-rule=\"evenodd\">\n      <circle cx=\"16\" cy=\"10\" r=\"6\" fill=\"url(#${id}-1)\" fill-rule=\"nonzero\"/>\n      <path fill=\"url(#${id}-2)\" fill-rule=\"nonzero\" d=\"M15.4917902,27.8535048 C11.5895108,25.3649677 8.34369777,21.9735337 6.02870456,17.9658651 C5.84991535,17.6419027 5.96743197,17.2343451 6.2912577,17.0553085 L6.31918889,17.0553085 L10.8440409,14.8208136 C11.1613558,14.6649408 11.5451782,14.7822878 11.7210802,15.088953 C14.0054511,18.9171632 17.3801037,21.9767185 21.4132015,23.876104 C19.9238268,25.3786979 18.2733698,26.7125519 16.4917267,27.8535048 C16.1850328,28.0418894 15.7984841,28.0418894 15.4917902,27.8535048 Z\"/>\n      <path fill=\"${colors.iconColor}\" fill-rule=\"nonzero\" d=\"M16.5084854,27.8535048 C20.4118869,25.3663345 23.6579925,21.9745949 25.971571,17.9658651 C26.1485439,17.6413306 26.0345395,17.23488 25.7146041,17.0497222 L25.6810867,17.0497222 L21.1506484,14.8152274 C20.834975,14.6599316 20.4529644,14.7774733 20.2791954,15.0833668 C17.9924232,18.9191667 14.6087636,21.9817774 10.5647291,23.876104 C12.0560656,25.3787865 13.7083825,26.7126296 15.4917902,27.8535048 C15.802544,28.0488317 16.1977316,28.0488317 16.5084854,27.8535048 Z\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Opsgenie icon__\n *\n * The Opsgenie icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const OpsgenieIcon = ({\n  appearance,\n  label = 'Opsgenie',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    svg: svg({\n      appearance,\n      size,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    label: label,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  size,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 133 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}-1\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"100%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${colors.iconGradientStop}\"\n        />\n        <stop\n          offset=\"82%\"\n          stop-color=\"${colors.iconGradientStart}\"\n          ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n        />\n      </linearGradient>\n      <linearGradient id=\"${id}-2\" x1=\"7.133%\" x2=\"50%\" y1=\"13.352%\" y2=\"58.228%\">\n        <stop\n          offset=\"0%\"\n          stop-color=\"${colors.iconGradientStop}\"\n        />\n        <stop\n          stop-color=\"${colors.iconGradientStart}\"\n          ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''}\n          offset=\"100%\"\n        />\n      </linearGradient>\n    </defs>\n    <g fill-rule=\"evenodd\">\n      <path fill=\"${colors.textColor}\" fill-rule=\"nonzero\" d=\"M27,14.9963259 C27,9.84140338 29.9575,6.22438088 35.2484675,6.22438088 C40.539435,6.22438088 43.4880625,9.84436088 43.4880625,14.9963259 C43.4880625,20.1985684 40.5305625,23.8422084 35.263255,23.8422084 C29.9959475,23.8422084 27,20.1956109 27,14.9963259 Z M29.34234,14.9963259 C29.34234,18.6133484 31.03403,21.6063384 35.25734,21.6063384 C39.48065,21.6063384 41.1220625,18.6133484 41.1220625,14.9963259 C41.1220625,11.4473259 39.4303725,8.46320838 35.239595,8.46320838 C31.0488175,8.46320838 29.34234,11.4561984 29.34234,14.9963259 Z M48.7050925,21.2928434 L48.7050925,28.6570184 L46.466265,28.6570184 L46.466265,10.5719059 L48.7050925,10.5719059 L48.7050925,12.9142459 C49.53615,11.1959384 51.1006675,10.3116459 53.102895,10.3116459 C56.56317,10.3116459 58.308095,13.2514009 58.308095,17.0754484 C58.308095,20.7457059 56.486275,23.8422084 52.842635,23.8422084 C50.94392,23.8422084 49.4858725,22.9845334 48.7050925,21.2928434 Z M52.50548,12.3937259 C50.500295,12.3937259 48.7050925,13.6684084 48.7050925,16.5578859 L48.7050925,17.5989259 C48.7050925,20.4854459 50.3435475,21.7601284 52.2540925,21.7601284 C54.77684,21.7601284 56.07814,20.0950559 56.07814,17.0754484 C56.0692675,13.9552859 54.8212025,12.3937259 52.50548,12.3937259 Z M64.99796,23.8422084 C63.4334449,23.8787499 61.881995,23.5496237 60.46707,22.8810209 L60.46707,20.5150209 C61.8881071,21.303432 63.4771215,21.740487 65.1014725,21.7897034 C66.81978,21.7897034 67.7040725,21.0887759 67.7040725,20.0713959 C67.7040725,19.0540159 66.94991,18.5098359 64.47744,17.9124209 C61.5879625,17.2085359 60.3635575,16.0906009 60.3635575,13.9582434 C60.3635575,11.6927984 62.1084825,10.3146034 65.074855,10.3146034 C66.5257548,10.2930388 67.96137,10.6131901 69.2656325,11.2491734 L69.2656325,13.5678534 C67.7040725,12.7870734 66.42939,12.3848534 65.0482375,12.3848534 C63.4097825,12.3848534 62.52549,12.9556509 62.52549,13.9730309 C62.52549,14.8839409 63.1495225,15.4517809 65.5450975,16.0284934 C68.4316175,16.7294209 69.889665,17.8029934 69.889665,20.0625234 C69.889665,22.2037534 68.4848525,23.8422084 64.99796,23.8422084 Z M81.7581125,21.2396084 C80.9240975,22.9579159 79.3625375,23.8422084 77.3573525,23.8422084 C73.923695,23.8422084 72.2053875,20.9024534 72.2053875,17.0754484 C72.2053875,13.4081484 74.00059,10.3116459 77.62057,10.3116459 C79.519285,10.3116459 80.9773325,11.1693209 81.76107,12.8610109 L81.76107,10.5719059 L83.9466625,10.5719059 L83.9466625,22.4019059 C83.9466625,26.2289109 82.15146,28.8048934 77.49044,28.8048934 C75.9171438,28.849884 74.3485221,28.6124873 72.858995,28.1039659 L72.858995,25.9154159 C74.315222,26.4191931 75.8431618,26.6848349 77.38397,26.7021109 C80.63722,26.7021109 81.7581125,24.9601434 81.7581125,22.5379509 L81.7581125,21.2396084 Z M77.957725,21.7601284 C79.9599525,21.7601284 81.7581125,20.4854459 81.7581125,17.5989259 L81.7581125,16.5578859 C81.7581125,13.6684084 80.1167,12.3937259 78.2091125,12.3937259 C75.6834075,12.3937259 74.3821075,14.0587984 74.3821075,17.0754484 C74.39098,20.1956109 75.6420025,21.7601284 77.957725,21.7601284 Z M93.5467075,23.8422084 C88.6786625,23.8422084 86.546305,21.0325834 86.546305,17.0399584 C86.546305,13.1094409 88.7318975,10.2998159 92.6890325,10.2998159 C96.696445,10.2998159 98.308282,13.0828234 98.308282,17.0399584 L98.308282,18.0662109 L88.8087925,18.0662109 C89.1222875,20.2784209 90.5537175,21.7098509 93.6236025,21.7098509 C94.9737094,21.7089885 96.313149,21.4707325 97.580737,21.0059659 L97.580737,23.0762159 C96.51308,23.6351834 94.874625,23.8422084 93.5467075,23.8422084 Z M88.7851325,16.1527084 L96.045795,16.1527084 C95.915665,13.7305159 94.82139,12.3523209 92.5825625,12.3523209 C90.2165625,12.3404909 89.0335625,13.8754334 88.7851325,16.1408784 L88.7851325,16.1527084 Z M112.025168,23.5819484 L109.78634,23.5819484 L109.78634,15.7238709 C109.78634,13.3815309 108.848813,12.3404909 106.716455,12.3404909 C104.646205,12.3404909 103.202945,13.7186859 103.202945,16.3479034 L103.202945,23.5819484 L100.964118,23.5819484 L100.964118,10.5689484 L103.202945,10.5689484 L103.202945,12.7013059 C104.015399,11.1952365 105.603045,10.2712035 107.31387,10.3086884 C110.30686,10.3086884 112.025168,12.3789384 112.025168,15.9545559 L112.025168,23.5819484 Z M116.29284,5.57373088 C116.715541,5.54348282 117.130549,5.69826386 117.430208,5.99792296 C117.729867,6.29758207 117.884648,6.71258978 117.8544,7.13529088 C117.8544,7.99771665 117.155266,8.69685088 116.29284,8.69685088 C115.430414,8.69685088 114.73128,7.99771665 114.73128,7.13529088 C114.701032,6.71258978 114.855813,6.29758207 115.155472,5.99792296 C115.455131,5.69826386 115.870139,5.54348282 116.29284,5.57373088 Z M115.148287,10.5719059 L117.387115,10.5719059 L117.387115,23.5849059 L115.148287,23.5849059 L115.148287,10.5719059 Z M127.510637,23.8422084 C122.642592,23.8422084 120.510235,21.0325834 120.510235,17.0399584 C120.510235,13.1094409 122.695827,10.2998159 126.650005,10.2998159 C130.657417,10.2998159 132.269255,13.0828234 132.269255,17.0399584 L132.269255,18.0662109 L122.772722,18.0662109 C123.086217,20.2784209 124.517647,21.7098509 127.587532,21.7098509 C128.937639,21.7089885 130.277079,21.4707325 131.544667,21.0059659 L131.544667,23.0762159 C130.47701,23.6351834 128.838555,23.8422084 127.510637,23.8422084 Z M122.749062,16.1408784 L130.012682,16.1408784 C129.882552,13.7186859 128.788277,12.3404909 126.54945,12.3404909 C124.177535,12.3404909 122.982705,13.8754334 122.749062,16.1408784 Z\"/>\n      <circle fill=\"url(#${id}-1)\" cx=\"10.055\" cy=\"10\" r=\"6\" fill-rule=\"nonzero\"/>\n      <path fill=\"url(#${id}-2)\" fill-rule=\"nonzero\" d=\"M9.5466546,27.8535048 C5.6443752,25.3649677 2.39856217,21.9735337 0.0835689575,17.9658651 C-0.0952202525,17.6419027 0.0222963675,17.2343451 0.346122097,17.0553085 L0.374053287,17.0553085 L4.8989053,14.8208136 C5.2162202,14.6649408 5.6000426,14.7822878 5.7759446,15.088953 C8.0603155,18.9171632 11.4349681,21.9767185 15.4680659,23.876104 C13.9786912,25.3786979 12.3282342,26.7125519 10.5465911,27.8535048 C10.2398972,28.0418894 9.8533485,28.0418894 9.5466546,27.8535048 Z\"/>\n      <path fill=\"${colors.iconColor}\" fill-rule=\"nonzero\" d=\"M10.5633498,27.8535048 C14.4667513,25.3663345 17.7128569,21.9745949 20.0264354,17.9658651 C20.2034083,17.6413306 20.0894039,17.23488 19.7694685,17.0497222 L19.7359511,17.0497222 L15.2055128,14.8152274 C14.8898394,14.6599316 14.5078288,14.7774733 14.3340598,15.0833668 C12.0472876,18.9191667 8.663628,21.9817774 4.6195935,23.876104 C6.11093,25.3787865 7.7632469,26.7126296 9.5466546,27.8535048 C9.8574084,28.0488317 10.252596,28.0488317 10.5633498,27.8535048 Z\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Opsgenie logo__\n *\n * The Opsgenie logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const OpsgenieLogo = ({\n  appearance,\n  label = 'Opsgenie',\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    label: label,\n    size: size,\n    svg: svg({\n      appearance,\n      size,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg viewBox=\"0 0 148 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g fill-rule=\"evenodd\" fill=\"${colors.textColor}\">\n    <path d=\"M0 14.996c0-5.155 2.958-8.772 8.248-8.772 5.291 0 8.24 3.62 8.24 8.772 0 5.203-2.957 8.846-8.225 8.846C2.996 23.842 0 20.196 0 14.996zm2.342 0c0 3.617 1.692 6.61 5.915 6.61 4.224 0 5.865-2.993 5.865-6.61 0-3.549-1.692-6.533-5.882-6.533-4.191 0-5.898 2.993-5.898 6.533zm19.363 6.297v7.364h-2.239V10.572h2.24v2.342c.83-1.718 2.395-2.602 4.397-2.602 3.46 0 5.205 2.94 5.205 6.763 0 3.67-1.822 6.767-5.465 6.767-1.9 0-3.357-.857-4.138-2.55zm3.8-8.9c-2.005 0-3.8 1.275-3.8 4.165v1.04c0 2.887 1.639 4.162 3.55 4.162 2.522 0 3.823-1.665 3.823-4.685-.009-3.12-1.257-4.681-3.573-4.681zm12.493 11.45a10.056 10.056 0 0 1-4.53-.962v-2.366A10.189 10.189 0 0 0 38.1 21.79c1.719 0 2.603-.701 2.603-1.719 0-1.017-.754-1.561-3.227-2.159-2.889-.703-4.113-1.821-4.113-3.954 0-2.265 1.744-3.643 4.71-3.643a9.248 9.248 0 0 1 4.192.934v2.319c-1.562-.78-2.837-1.183-4.218-1.183-1.638 0-2.523.57-2.523 1.588 0 .91.625 1.479 3.02 2.055 2.887.701 4.345 1.775 4.345 4.035 0 2.14-1.405 3.78-4.892 3.78zm16.76-2.603c-.834 1.718-2.395 2.602-4.4 2.602-3.434 0-5.153-2.94-5.153-6.767 0-3.667 1.796-6.763 5.416-6.763 1.898 0 3.356.857 4.14 2.549v-2.29h2.186v11.83c0 3.828-1.796 6.404-6.457 6.404a13.17 13.17 0 0 1-4.631-.701v-2.189c1.456.504 2.984.77 4.525.787 3.253 0 4.374-1.742 4.374-4.164V21.24zm-3.8.52c2.002 0 3.8-1.275 3.8-4.161v-1.041c0-2.89-1.641-4.164-3.549-4.164-2.526 0-3.827 1.665-3.827 4.681.009 3.12 1.26 4.685 3.576 4.685zm15.589 2.082c-4.868 0-7-2.81-7-6.802 0-3.93 2.185-6.74 6.142-6.74 4.007 0 5.62 2.783 5.62 6.74v1.026h-9.5c.313 2.212 1.745 3.644 4.815 3.644 1.35-.001 2.69-.24 3.957-.704v2.07c-1.068.56-2.706.766-4.034.766zm-4.762-7.69h7.26c-.13-2.421-1.224-3.8-3.462-3.8-2.366-.012-3.55 1.523-3.798 3.789v.012zm23.24 7.43h-2.239v-7.858c0-2.342-.937-3.384-3.07-3.384-2.07 0-3.513 1.379-3.513 4.008v7.234h-2.239V10.569h2.239V12.7a4.558 4.558 0 0 1 4.11-2.392c2.994 0 4.712 2.07 4.712 5.646v7.627zm4.268-18.008a1.461 1.461 0 0 1 1.561 1.561 1.562 1.562 0 1 1-3.123 0 1.461 1.461 0 0 1 1.562-1.561zm-1.145 4.998h2.24v13.013h-2.24V10.572zm12.363 13.27c-4.868 0-7-2.81-7-6.802 0-3.93 2.185-6.74 6.139-6.74 4.007 0 5.62 2.783 5.62 6.74v1.026h-9.497c.313 2.212 1.745 3.644 4.815 3.644 1.35-.001 2.69-.24 3.957-.704v2.07c-1.068.56-2.706.766-4.034.766zm-4.762-7.701h7.264c-.13-2.422-1.225-3.8-3.464-3.8-2.371 0-3.566 1.534-3.8 3.8z\" />\n  </g>\n</svg>`;\n};\n\n/**\n * __Opsgenie wordmark__\n *\n * The Opsgenie brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const OpsgenieWordmark = ({\n  appearance,\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient id=\"${id}\" x1=\"50%\" x2=\"50%\" y1=\"82.77%\" y2=\"10.134%\">\n        <stop offset=\"0%\" stop-color=\"${colors.iconGradientStop}\" />\n        <stop offset=\"82%\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n      </linearGradient>\n    </defs>\n    <g fill-rule=\"evenodd\">\n      <circle cx=\"16\" cy=\"19.423\" r=\"5.538\" fill=\"url(#${id})\" fill-rule=\"nonzero\"/>\n      <path fill=\"${colors.iconColor}\" fill-rule=\"nonzero\" d=\"M4.14318325,11.970217 L7.17443341,15.5164923 C7.40520779,15.7738906 7.80165918,15.8034375 8.06900618,15.5831636 C12.9601954,11.2622319 19.0323494,11.2622319 23.9235386,15.5831636 C24.1908857,15.8034375 24.5873371,15.7738906 24.8181114,15.5164923 L27.8525794,11.970217 C28.0663737,11.714892 28.04536,11.3403265 27.8043112,11.1098404 C20.6927794,4.96338652 11.2997654,4.96338652 4.20110522,11.1098404 C3.95712825,11.3377486 3.93190106,11.7124749 4.14318325,11.970217 Z\"/>\n    </g>\n  </svg>`;\n};\n\n/**\n * __Statuspage icon__\n *\n * The Statuspage icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const StatuspageIcon = ({\n  appearance,\n  label = 'Statuspage',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  iconColor,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    iconColor,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 161 32\">\n  <defs>\n    <linearGradient id=\"${id}\" x1=\"50%\" x2=\"50%\" y1=\"82.77%\" y2=\"10.134%\">\n      <stop offset=\"0%\" stop-color=\"${colors.iconGradientStop}\" />\n      <stop offset=\"82%\" stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n    </linearGradient>\n  </defs>\n  <g fill-rule=\"evenodd\">\n    <path fill=\"${colors.textColor}\" fill-rule=\"nonzero\" d=\"M44.168,18.294 C44.168,15.226 42.14,14.056 38.526,13.146 C35.51,12.392 34.418,11.69 34.418,10.286 C34.418,8.726 35.744,7.946 37.98,7.946 C39.748,7.946 41.594,8.258 43.31,9.246 L43.31,6.906 C42.14,6.256 40.554,5.658 38.084,5.658 C34.106,5.658 32.078,7.634 32.078,10.286 C32.078,13.094 33.794,14.42 37.642,15.356 C40.892,16.136 41.828,16.942 41.828,18.45 C41.828,19.958 40.866,20.972 38.292,20.972 C36.03,20.972 33.586,20.374 32,19.542 L32,21.934 C33.326,22.61 34.86,23.26 38.162,23.26 C42.4,23.26 44.168,21.258 44.168,18.294 Z M50.018,18.892 L50.018,12.08 L53.476,12.08 L53.476,10 L50.018,10 L50.018,7.244 L47.834,7.244 L47.834,10 L45.728,10 L45.728,12.08 L47.834,12.08 L47.834,18.944 C47.834,21.362 49.186,23 51.968,23 C52.644,23 53.086,22.896 53.476,22.792 L53.476,20.634 C53.086,20.712 52.592,20.816 52.072,20.816 C50.694,20.816 50.018,20.036 50.018,18.892 Z M65.15,23 L65.15,20.66 C64.318,22.376 62.758,23.26 60.756,23.26 C57.298,23.26 55.556,20.322 55.556,16.5 C55.556,12.834 57.376,9.74 61.016,9.74 C62.914,9.74 64.37,10.598 65.15,12.288 L65.15,10 L67.386,10 L67.386,23 L65.15,23 Z M57.792,16.5 C57.792,19.62 59.04,21.18 61.354,21.18 C63.356,21.18 65.15,19.906 65.15,17.02 L65.15,15.98 C65.15,13.094 63.512,11.82 61.614,11.82 C59.092,11.82 57.792,13.484 57.792,16.5 Z M73.86,18.892 L73.86,12.08 L77.318,12.08 L77.318,10 L73.86,10 L73.86,7.244 L71.676,7.244 L71.676,10 L69.57,10 L69.57,12.08 L71.676,12.08 L71.676,18.944 C71.676,21.362 73.028,23 75.81,23 C76.486,23 76.928,22.896 77.318,22.792 L77.318,20.634 C76.928,20.712 76.434,20.816 75.914,20.816 C74.536,20.816 73.86,20.036 73.86,18.892 Z M79.918,17.618 C79.918,21.206 81.634,23.26 84.624,23.26 C86.366,23.26 87.9,22.402 88.732,20.868 L88.732,23 L90.968,23 L90.968,10 L88.732,10 L88.732,17.228 C88.732,19.854 87.302,21.232 85.222,21.232 C83.09,21.232 82.154,20.192 82.154,17.852 L82.154,10 L79.918,10 L79.918,17.618 Z M103.318,19.464 C103.318,17.202 101.862,16.136 98.976,15.434 C96.584,14.862 95.96,14.29 95.96,13.38 C95.96,12.366 96.844,11.794 98.482,11.794 C99.86,11.794 101.134,12.21 102.694,12.99 L102.694,10.676 C101.732,10.156 100.198,9.74 98.508,9.74 C95.544,9.74 93.802,11.118 93.802,13.38 C93.802,15.512 95.024,16.63 97.91,17.332 C100.38,17.93 101.134,18.502 101.134,19.49 C101.134,20.504 100.25,21.206 98.534,21.206 C96.896,21.206 95.024,20.582 93.906,19.932 L93.906,22.298 C94.894,22.818 96.48,23.26 98.43,23.26 C101.914,23.26 103.318,21.622 103.318,19.464 Z M112.262,23.26 C110.364,23.26 108.908,22.402 108.128,20.712 L108.128,28.07 L105.892,28.07 L105.892,10 L108.128,10 L108.128,12.34 C108.96,10.624 110.52,9.74 112.522,9.74 C115.98,9.74 117.722,12.678 117.722,16.5 C117.722,20.166 115.902,23.26 112.262,23.26 Z M115.486,16.5 C115.486,13.38 114.238,11.82 111.924,11.82 C109.922,11.82 108.128,13.094 108.128,15.98 L108.128,17.02 C108.128,19.906 109.766,21.18 111.664,21.18 C114.186,21.18 115.486,19.516 115.486,16.5 Z M129.136,23 L129.136,20.66 C128.304,22.376 126.744,23.26 124.742,23.26 C121.284,23.26 119.542,20.322 119.542,16.5 C119.542,12.834 121.362,9.74 125.002,9.74 C126.9,9.74 128.356,10.598 129.136,12.288 L129.136,10 L131.372,10 L131.372,23 L129.136,23 Z M121.778,16.5 C121.778,19.62 123.026,21.18 125.34,21.18 C127.342,21.18 129.136,19.906 129.136,17.02 L129.136,15.98 C129.136,13.094 127.498,11.82 125.6,11.82 C123.078,11.82 121.778,13.484 121.778,16.5 Z M143.514,21.96 L143.514,20.66 C142.682,22.376 141.122,23.26 139.12,23.26 C135.688,23.26 133.972,20.322 133.972,16.5 C133.972,12.834 135.766,9.74 139.38,9.74 C141.278,9.74 142.734,10.598 143.514,12.288 L143.514,10 L145.698,10 L145.698,21.83 C145.698,25.652 143.904,28.226 139.25,28.226 C137.066,28.226 135.87,27.94 134.622,27.524 L134.622,25.34 C136.052,25.808 137.534,26.12 139.146,26.12 C142.396,26.12 143.514,24.378 143.514,21.96 Z M136.156,16.5 C136.156,19.62 137.404,21.18 139.718,21.18 C141.72,21.18 143.514,19.906 143.514,17.02 L143.514,15.98 C143.514,13.094 141.876,11.82 139.978,11.82 C137.456,11.82 136.156,13.484 136.156,16.5 Z M159.322,22.48 C158.256,23.052 156.618,23.26 155.292,23.26 C150.43,23.26 148.298,20.452 148.298,16.474 C148.298,12.548 150.482,9.74 154.434,9.74 C158.438,9.74 160.05,12.522 160.05,16.474 L160.05,17.488 L150.56,17.488 C150.872,19.698 152.302,21.128 155.37,21.128 C156.878,21.128 158.152,20.842 159.322,20.426 L159.322,22.48 Z M154.33,11.768 C151.964,11.768 150.768,13.302 150.534,15.564 L157.788,15.564 C157.658,13.146 156.566,11.768 154.33,11.768 Z\"/>\n    <circle cx=\"12\" cy=\"18.923\" r=\"5.538\" fill=\"url(#${id})\" fill-rule=\"nonzero\"/>\n    <path fill=\"${colors.iconColor}\" fill-rule=\"nonzero\" d=\"M0.143183246,11.470217 L3.17443341,15.0164923 C3.40520779,15.2738906 3.80165918,15.3034375 4.06900618,15.0831635 C8.96019542,10.7622319 15.0323494,10.7622319 19.9235386,15.0831635 C20.1908857,15.3034375 20.5873371,15.2738906 20.8181114,15.0164923 L23.8525794,11.470217 C24.0663737,11.214892 24.04536,10.8403265 23.8043112,10.6098404 C16.6927794,4.46338652 7.29976539,4.46338652 0.201105223,10.6098404 C-0.042871755,10.8377486 -0.0680989446,11.2124749 0.143183246,11.470217 Z\"/>\n  </g>\n</svg>`;\n};\n\n/**\n * __Statuspage logo__\n *\n * The Statuspage logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const StatuspageLogo = ({\n  appearance,\n  label = 'Statuspage',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      iconColor,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg viewBox=\"0 0 129 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g fill=\"${colors.textColor}\" stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" >\n    <path d=\"M12.168,19.294 C12.168,16.226 10.14,15.056 6.526,14.146 C3.51,13.392 2.418,12.69 2.418,11.286 C2.418,9.726 3.744,8.946 5.98,8.946 C7.748,8.946 9.594,9.258 11.31,10.246 L11.31,7.906 C10.14,7.256 8.554,6.658 6.084,6.658 C2.106,6.658 0.078,8.634 0.078,11.286 C0.078,14.094 1.794,15.42 5.642,16.356 C8.892,17.136 9.828,17.942 9.828,19.45 C9.828,20.958 8.866,21.972 6.292,21.972 C4.03,21.972 1.586,21.374 1.55431223e-14,20.542 L1.55431223e-14,22.934 C1.326,23.61 2.86,24.26 6.162,24.26 C10.4,24.26 12.168,22.258 12.168,19.294 Z M18.018,19.892 L18.018,13.08 L21.476,13.08 L21.476,11 L18.018,11 L18.018,8.244 L15.834,8.244 L15.834,11 L13.728,11 L13.728,13.08 L15.834,13.08 L15.834,19.944 C15.834,22.362 17.186,24 19.968,24 C20.644,24 21.086,23.896 21.476,23.792 L21.476,21.634 C21.086,21.712 20.592,21.816 20.072,21.816 C18.694,21.816 18.018,21.036 18.018,19.892 Z M33.15,24 L33.15,21.66 C32.318,23.376 30.758,24.26 28.756,24.26 C25.298,24.26 23.556,21.322 23.556,17.5 C23.556,13.834 25.376,10.74 29.016,10.74 C30.914,10.74 32.37,11.598 33.15,13.288 L33.15,11 L35.386,11 L35.386,24 L33.15,24 Z M25.792,17.5 C25.792,20.62 27.04,22.18 29.354,22.18 C31.356,22.18 33.15,20.906 33.15,18.02 L33.15,16.98 C33.15,14.094 31.512,12.82 29.614,12.82 C27.092,12.82 25.792,14.484 25.792,17.5 Z M41.86,19.892 L41.86,13.08 L45.318,13.08 L45.318,11 L41.86,11 L41.86,8.244 L39.676,8.244 L39.676,11 L37.57,11 L37.57,13.08 L39.676,13.08 L39.676,19.944 C39.676,22.362 41.028,24 43.81,24 C44.486,24 44.928,23.896 45.318,23.792 L45.318,21.634 C44.928,21.712 44.434,21.816 43.914,21.816 C42.536,21.816 41.86,21.036 41.86,19.892 Z M47.918,18.618 C47.918,22.206 49.634,24.26 52.624,24.26 C54.366,24.26 55.9,23.402 56.732,21.868 L56.732,24 L58.968,24 L58.968,11 L56.732,11 L56.732,18.228 C56.732,20.854 55.302,22.232 53.222,22.232 C51.09,22.232 50.154,21.192 50.154,18.852 L50.154,11 L47.918,11 L47.918,18.618 Z M71.318,20.464 C71.318,18.202 69.862,17.136 66.976,16.434 C64.584,15.862 63.96,15.29 63.96,14.38 C63.96,13.366 64.844,12.794 66.482,12.794 C67.86,12.794 69.134,13.21 70.694,13.99 L70.694,11.676 C69.732,11.156 68.198,10.74 66.508,10.74 C63.544,10.74 61.802,12.118 61.802,14.38 C61.802,16.512 63.024,17.63 65.91,18.332 C68.38,18.93 69.134,19.502 69.134,20.49 C69.134,21.504 68.25,22.206 66.534,22.206 C64.896,22.206 63.024,21.582 61.906,20.932 L61.906,23.298 C62.894,23.818 64.48,24.26 66.43,24.26 C69.914,24.26 71.318,22.622 71.318,20.464 Z M80.262,24.26 C78.364,24.26 76.908,23.402 76.128,21.712 L76.128,29.07 L73.892,29.07 L73.892,11 L76.128,11 L76.128,13.34 C76.96,11.624 78.52,10.74 80.522,10.74 C83.98,10.74 85.722,13.678 85.722,17.5 C85.722,21.166 83.902,24.26 80.262,24.26 Z M83.486,17.5 C83.486,14.38 82.238,12.82 79.924,12.82 C77.922,12.82 76.128,14.094 76.128,16.98 L76.128,18.02 C76.128,20.906 77.766,22.18 79.664,22.18 C82.186,22.18 83.486,20.516 83.486,17.5 Z M97.136,24 L97.136,21.66 C96.304,23.376 94.744,24.26 92.742,24.26 C89.284,24.26 87.542,21.322 87.542,17.5 C87.542,13.834 89.362,10.74 93.002,10.74 C94.9,10.74 96.356,11.598 97.136,13.288 L97.136,11 L99.372,11 L99.372,24 L97.136,24 Z M89.778,17.5 C89.778,20.62 91.026,22.18 93.34,22.18 C95.342,22.18 97.136,20.906 97.136,18.02 L97.136,16.98 C97.136,14.094 95.498,12.82 93.6,12.82 C91.078,12.82 89.778,14.484 89.778,17.5 Z M111.514,22.96 L111.514,21.66 C110.682,23.376 109.122,24.26 107.12,24.26 C103.688,24.26 101.972,21.322 101.972,17.5 C101.972,13.834 103.766,10.74 107.38,10.74 C109.278,10.74 110.734,11.598 111.514,13.288 L111.514,11 L113.698,11 L113.698,22.83 C113.698,26.652 111.904,29.226 107.25,29.226 C105.066,29.226 103.87,28.94 102.622,28.524 L102.622,26.34 C104.052,26.808 105.534,27.12 107.146,27.12 C110.396,27.12 111.514,25.378 111.514,22.96 Z M104.156,17.5 C104.156,20.62 105.404,22.18 107.718,22.18 C109.72,22.18 111.514,20.906 111.514,18.02 L111.514,16.98 C111.514,14.094 109.876,12.82 107.978,12.82 C105.456,12.82 104.156,14.484 104.156,17.5 Z M127.322,23.48 C126.256,24.052 124.618,24.26 123.292,24.26 C118.43,24.26 116.298,21.452 116.298,17.474 C116.298,13.548 118.482,10.74 122.434,10.74 C126.438,10.74 128.05,13.522 128.05,17.474 L128.05,18.488 L118.56,18.488 C118.872,20.698 120.302,22.128 123.37,22.128 C124.878,22.128 126.152,21.842 127.322,21.426 L127.322,23.48 Z M122.33,12.768 C119.964,12.768 118.768,14.302 118.534,16.564 L125.788,16.564 C125.658,14.146 124.566,12.768 122.33,12.768 Z\"></path>\n  </g>\n</svg>`;\n};\n\n/**\n * __Statuspage wordmark__\n *\n * The Statuspage brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const StatuspageWordmark = ({\n  appearance,\n  label = 'Statuspage',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n        <linearGradient x1=\"62.272%\" x2=\"15.737%\" y1=\"26.041%\" y2=\"68.741%\" id=\"${id}\">\n            <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"18%\"></stop>\n            <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n        </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path fill-rule=\"nonzero\" d=\"M10.6584152,4 L10.6584152,8.39679183 C10.6584152,14.48435 7.60464338,16.8346351 3.71947823,17.1903755 C3.30945638,17.231579 2.99793812,17.5777104 3.00000321,17.9897922 C3.00000321,19.6285964 3.00000321,23.5017703 3.00000321,25.1845425 C2.9996704,25.4044035 3.08990281,25.6146964 3.24947191,25.7659467 C3.40904102,25.9171971 3.62385939,25.9960518 3.84338782,25.9839592 C13.572289,25.4883208 19.4320134,18.3895005 19.4320134,9.57593146 L19.459993,9.57593146 L19.459993,4 L10.6584152,4 Z\" fill=\"url(#${id})\"></path>\n      <path fill-rule=\"nonzero\" d=\"M30.1816696,24.829953 L19.8806163,4 L10.6588351,4 L21.5394976,25.3336133 C21.7449071,25.7337742 22.1569759,25.9853368 22.6067778,25.9851739 L29.4741467,25.9851739 C29.7493704,25.982283 30.0037535,25.8380195 30.1475068,25.6033038 C30.29126,25.3685881 30.304166,25.0764302 30.1816696,24.829953 Z\" fill=\"currentColor\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated StrideIcon will be removed from atlaskit/logo in the next major release.\n */\nexport const StrideIcon = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('StrideIcon has been deprecated and will be removed from @atlaskit/logo in the next major release.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  iconGradientStart,\n  iconGradientStop\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  return `\n  <svg viewBox=\"0 0 97 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <defs>\n      <linearGradient x1=\"76.0077856%\" y1=\"30.8164837%\" x2=\"3.20549956%\" y2=\"70.7051948%\" id=\"${id}\">\n        <stop stop-color=\"${iconGradientStart}\" ${iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"18%\"></stop>\n        <stop stop-color=\"${iconGradientStop}\" offset=\"100%\"></stop>\n      </linearGradient>\n    </defs>\n    <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"nonzero\">\n      <path d=\"M44.1672398,19.2931423 C44.1672398,16.225334 42.1393665,15.0554071 38.5255923,14.145464 C35.5097807,13.3915111 34.4178489,12.6895549 34.4178489,11.2856426 C34.4178489,9.7257401 35.7437661,8.94578883 37.9796264,8.94578883 C39.7475159,8.94578883 41.5934006,9.25776934 43.3092934,10.2457076 L43.3092934,7.90585381 C42.1393665,7.25589442 40.5534656,6.65793178 38.0836199,6.65793178 C34.1058684,6.65793178 32.0779951,8.63380832 32.0779951,11.2856426 C32.0779951,14.0934672 33.7938879,15.4193844 37.6416475,16.3553259 C40.8914445,17.1352772 41.827386,17.9412268 41.827386,19.4491326 C41.827386,20.9570384 40.8654461,21.970975 38.2916069,21.970975 C36.0297482,21.970975 33.5859009,21.3730124 32,20.5410644 L32,22.9329149 C33.3259172,23.6088727 34.8598213,24.2588321 38.161615,24.2588321 C42.3993503,24.2588321 44.1672398,22.2569572 44.1672398,19.2931423 Z M50.0168743,19.891105 L50.0168743,13.0795306 L53.4746583,13.0795306 L53.4746583,10.9996605 L50.0168743,10.9996605 L50.0168743,8.24383269 L47.8330108,8.24383269 L47.8330108,10.9996605 L45.7271423,10.9996605 L45.7271423,13.0795306 L47.8330108,13.0795306 L47.8330108,19.9431017 C47.8330108,22.3609507 49.1849263,23.9988483 51.9667525,23.9988483 C52.6427103,23.9988483 53.0846826,23.8948548 53.4746583,23.7908613 L53.4746583,21.6329961 C53.0846826,21.7109913 52.5907135,21.8149848 52.070746,21.8149848 C50.6928321,21.8149848 50.0168743,21.0350335 50.0168743,19.891105 Z M56.3344796,23.9988483 L58.5183431,23.9988483 L58.5183431,16.3293275 C58.5183431,13.5734997 60.2602343,12.7155533 63.1200556,13.0015354 L63.1200556,10.8176719 C60.5722148,10.6616816 59.272296,11.7536134 58.5183431,13.2875176 L58.5183431,10.9996605 L56.3344796,10.9996605 L56.3344796,23.9988483 Z M64.6279614,7.56787492 C64.6279614,8.5558132 65.2779208,9.12777746 66.187864,9.12777746 C67.0978071,9.12777746 67.7477665,8.5558132 67.7477665,7.56787492 C67.7477665,6.57993665 67.0978071,6.00797239 66.187864,6.00797239 C65.2779208,6.00797239 64.6279614,6.57993665 64.6279614,7.56787492 Z M65.0439354,23.9988483 L67.2797957,23.9988483 L67.2797957,10.9996605 L65.0439354,10.9996605 L65.0439354,23.9988483 Z M79.4730339,23.9988483 L79.4730339,21.6589945 C78.6410859,23.3748873 77.0811833,24.2588321 75.0793084,24.2588321 C71.6215245,24.2588321 69.8796333,21.3210156 69.8796333,17.4992544 C69.8796333,13.8334835 71.6995196,10.7396768 75.3392922,10.7396768 C77.2371736,10.7396768 78.6930826,11.5976231 79.4730339,13.2875176 L79.4730339,5.566 L81.7088942,5.566 L81.7088942,23.9988483 L79.4730339,23.9988483 Z M72.1154936,17.4992544 C72.1154936,20.6190595 73.3634156,22.178962 75.6772711,22.178962 C77.679146,22.178962 79.4730339,20.9050416 79.4730339,18.0192219 L79.4730339,16.9792869 C79.4730339,14.0934672 77.8351362,12.8195468 75.9372548,12.8195468 C73.4154124,12.8195468 72.1154936,14.4834428 72.1154936,17.4992544 Z M95.332043,23.4788808 C94.2661096,24.0508451 92.628212,24.2588321 91.3022948,24.2588321 C86.4405986,24.2588321 84.3087318,21.4510075 84.3087318,17.473256 C84.3087318,13.5475013 86.4925953,10.7396768 90.4443484,10.7396768 C94.4480983,10.7396768 96.0599976,13.5215029 96.0599976,17.473256 L96.0599976,18.4871927 L86.5705905,18.4871927 C86.882571,20.6970546 88.3124816,22.1269653 91.3802899,22.1269653 C92.8881957,22.1269653 94.1621161,21.8409831 95.332043,21.4250091 L95.332043,23.4788808 Z M90.3403549,12.7675501 C87.9745027,12.7675501 86.7785775,14.3014542 86.5445921,16.5633129 L93.7981389,16.5633129 C93.668147,14.145464 92.5762152,12.7675501 90.3403549,12.7675501 Z\" fill=\"inherit\" fill-rule=\"evenodd\"></path>\n      <path d=\"M6.66434783,6 L6.66434783,10.0267857 C6.66434783,15.6020536 4.00695652,17.7545536 0.626086957,18.0803571 C0.269286057,18.1180932 -0.00179704222,18.4350964 -1.9308116e-16,18.8125 C-1.9308116e-16,20.3133929 -1.9308116e-16,23.860625 -1.9308116e-16,25.4017857 C-0.000289607564,25.6031446 0.0782306046,25.7957406 0.217087594,25.9342627 C0.355944583,26.0727847 0.542879466,26.1450036 0.733913043,26.1339286 C9.2,25.68 14.2991304,19.1785714 14.2991304,11.1066964 L14.3234783,11.1066964 L14.3234783,6 L6.66434783,6 Z\" fill=\"url(#${id})\"></path>\n      <path d=\"M23.6521739,25.0759821 L14.6886957,6 L6.66434783,6 L16.1321739,25.5372321 C16.3109114,25.9036978 16.6694737,26.1340777 17.0608696,26.1339286 L23.0365217,26.1339286 C23.2760081,26.1312811 23.49736,25.9991651 23.6224471,25.7842135 C23.7475342,25.5692619 23.7587644,25.301705 23.6521739,25.0759821 Z\" fill=\"currentColor\"></path>\n    </g>\n  </svg>`;\n};\n\n/**\n * @deprecated StrideLogo will be removed from atlaskit/logo in the next major release.\n */\nexport const StrideLogo = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('StrideLogo has been deprecated and will be removed from @atlaskit/logo in the next major release.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      iconGradientStart,\n      iconGradientStop\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `\n<svg viewBox=\"0 0 65 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <g stroke=\"none\" stroke-width=\"1\" fill-rule=\"evenodd\" fill=\"inherit\">\n    <path d=\"M12.1672398,19.2931423 C12.1672398,16.225334 10.1393665,15.0554071 6.52559228,14.145464 C3.50978071,13.3915111 2.41784893,12.6895549 2.41784893,11.2856426 C2.41784893,9.7257401 3.74376609,8.94578883 5.9796264,8.94578883 C7.74751594,8.94578883 9.59340061,9.25776934 11.3092934,10.2457076 L11.3092934,7.90585381 C10.1393665,7.25589442 8.55346558,6.65793178 6.0836199,6.65793178 C2.10586843,6.65793178 0.0779951269,8.63380832 0.0779951269,11.2856426 C0.0779951269,14.0934672 1.79388792,15.4193844 5.64164751,16.3553259 C8.89144447,17.1352772 9.82738599,17.9412268 9.82738599,19.4491326 C9.82738599,20.9570384 8.86544609,21.970975 6.2916069,21.970975 C4.02974822,21.970975 1.58590091,21.3730124 1.55431223e-14,20.5410644 L1.55431223e-14,22.9329149 C1.32591716,23.6088727 2.85982132,24.2588321 6.16161502,24.2588321 C10.3993503,24.2588321 12.1672398,22.2569572 12.1672398,19.2931423 Z M18.0168743,19.891105 L18.0168743,13.0795306 L21.4746583,13.0795306 L21.4746583,10.9996605 L18.0168743,10.9996605 L18.0168743,8.24383269 L15.8330108,8.24383269 L15.8330108,10.9996605 L13.7271423,10.9996605 L13.7271423,13.0795306 L15.8330108,13.0795306 L15.8330108,19.9431017 C15.8330108,22.3609507 17.1849263,23.9988483 19.9667525,23.9988483 C20.6427103,23.9988483 21.0846826,23.8948548 21.4746583,23.7908613 L21.4746583,21.6329961 C21.0846826,21.7109913 20.5907135,21.8149848 20.070746,21.8149848 C18.6928321,21.8149848 18.0168743,21.0350335 18.0168743,19.891105 Z M24.3344796,23.9988483 L26.5183431,23.9988483 L26.5183431,16.3293275 C26.5183431,13.5734997 28.2602343,12.7155533 31.1200556,13.0015354 L31.1200556,10.8176719 C28.5722148,10.6616816 27.272296,11.7536134 26.5183431,13.2875176 L26.5183431,10.9996605 L24.3344796,10.9996605 L24.3344796,23.9988483 Z M32.6279614,7.56787492 C32.6279614,8.5558132 33.2779208,9.12777746 34.187864,9.12777746 C35.0978071,9.12777746 35.7477665,8.5558132 35.7477665,7.56787492 C35.7477665,6.57993665 35.0978071,6.00797239 34.187864,6.00797239 C33.2779208,6.00797239 32.6279614,6.57993665 32.6279614,7.56787492 Z M33.0439354,23.9988483 L35.2797957,23.9988483 L35.2797957,10.9996605 L33.0439354,10.9996605 L33.0439354,23.9988483 Z M47.4730339,23.9988483 L47.4730339,21.6589945 C46.6410859,23.3748873 45.0811833,24.2588321 43.0793084,24.2588321 C39.6215245,24.2588321 37.8796333,21.3210156 37.8796333,17.4992544 C37.8796333,13.8334835 39.6995196,10.7396768 43.3392922,10.7396768 C45.2371736,10.7396768 46.6930826,11.5976231 47.4730339,13.2875176 L47.4730339,5.566 L49.7088942,5.566 L49.7088942,23.9988483 L47.4730339,23.9988483 Z M40.1154936,17.4992544 C40.1154936,20.6190595 41.3634156,22.178962 43.6772711,22.178962 C45.679146,22.178962 47.4730339,20.9050416 47.4730339,18.0192219 L47.4730339,16.9792869 C47.4730339,14.0934672 45.8351362,12.8195468 43.9372548,12.8195468 C41.4154124,12.8195468 40.1154936,14.4834428 40.1154936,17.4992544 Z M63.332043,23.4788808 C62.2661096,24.0508451 60.628212,24.2588321 59.3022948,24.2588321 C54.4405986,24.2588321 52.3087318,21.4510075 52.3087318,17.473256 C52.3087318,13.5475013 54.4925953,10.7396768 58.4443484,10.7396768 C62.4480983,10.7396768 64.0599976,13.5215029 64.0599976,17.473256 L64.0599976,18.4871927 L54.5705905,18.4871927 C54.882571,20.6970546 56.3124816,22.1269653 59.3802899,22.1269653 C60.8881957,22.1269653 62.1621161,21.8409831 63.332043,21.4250091 L63.332043,23.4788808 Z M58.3403549,12.7675501 C55.9745027,12.7675501 54.7785775,14.3014542 54.5445921,16.5633129 L61.7981389,16.5633129 C61.668147,14.145464 60.5762152,12.7675501 58.3403549,12.7675501 Z\"></path>\n  </g>\n</svg>`;\n\n/**\n * @deprecated StrideWordmark will be removed from atlaskit/logo in the next major release.\n */\nexport const StrideWordmark = ({\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  size = defaultLogoParams.size,\n  testId,\n  textColor = defaultLogoParams.textColor\n}) => {\n  if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n    warnOnce('StrideWordmark has been deprecated and will be removed from @atlaskit/logo in the next major release.');\n  }\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    svg: svg(),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n<svg viewBox=\"0 0 32 32\" height=\"32\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n  <defs>\n    <linearGradient id=\"${id}\" x1=\"16.3382\" y1=\"25.6824\" x2=\"16.3382\" y2=\"7.00599\" gradientUnits=\"userSpaceOnUse\">\n      <stop stop-color=\"${colors.iconGradientStart} \"${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} />\n      <stop offset=\"100%\" stop-color=\"${colors.iconGradientStop}\"/>\n    </linearGradient>\n  </defs>\n  <path\n    fill-rule=\"evenodd\"\n    clip-rule=\"evenodd\"\n    d=\"M23.4579 7H9.21854C8.63014 7 8.06585 7.23374 7.64979 7.64979C7.23374 8.06585 7 8.63014 7 9.21854V23.4669C7 24.0553 7.23374 24.6196 7.64979 25.0356C8.06585 25.4517 8.63014 25.6854 9.21854 25.6854H23.4579C24.0463 25.6854 24.6106 25.4517 25.0266 25.0356C25.4427 24.6196 25.6764 24.0553 25.6764 23.4669V9.22452C25.6772 8.93268 25.6204 8.64354 25.5093 8.37369C25.3981 8.10383 25.2348 7.85855 25.0287 7.65191C24.8227 7.44527 24.5778 7.28131 24.3083 7.16945C24.0387 7.05758 23.7497 7 23.4579 7V7ZM15.0448 20.4729C15.0448 20.6685 14.9673 20.8561 14.8293 20.9947C14.6912 21.1333 14.5039 21.2116 14.3083 21.2124H11.1856C10.9897 21.2116 10.802 21.1334 10.6635 20.9949C10.525 20.8564 10.4469 20.6688 10.4461 20.4729V11.1916C10.4469 10.9957 10.525 10.808 10.6635 10.6695C10.802 10.531 10.9897 10.4528 11.1856 10.4521H14.3083C14.5039 10.4528 14.6912 10.5311 14.8293 10.6697C14.9673 10.8083 15.0448 10.996 15.0448 11.1916V20.4729ZM22.2304 16.2185C22.2296 16.4143 22.1514 16.602 22.0129 16.7405C21.8744 16.879 21.6867 16.9572 21.4908 16.958H18.3681C18.1725 16.9572 17.9852 16.8789 17.8471 16.7403C17.7091 16.6017 17.6316 16.4141 17.6316 16.2185V11.1916C17.6316 10.996 17.7091 10.8083 17.8471 10.6697C17.9852 10.5311 18.1725 10.4528 18.3681 10.4521H21.4908C21.6867 10.4528 21.8744 10.531 22.0129 10.6695C22.1514 10.808 22.2296 10.9957 22.2304 11.1916V16.2185Z\"\n    fill=\"url(#${id})\"\n  />\n</svg>\n`;\n};\n\n/**\n * __Trello logo__\n *\n * The Trello icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const TrelloIcon = ({\n  appearance,\n  label = 'Trello',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  iconGradientStart,\n  iconGradientStop,\n  textColor\n}) => {\n  let colors = {\n    iconGradientStart,\n    iconGradientStop,\n    textColor\n  };\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    iconGradientStart: iconGradientStop\n  });\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg\n    viewBox=\"0 0 94 32\"\n    height=\"32\"\n    fill=\"none\"\n    xmlns=\"http://www.w3.org/2000/svg\"\n    focusable=\"false\"\n    aria-hidden=\"true\"\n  >\n    <defs>\n      <linearGradient\n        id=\"${id}\"\n        x1=\"9.33821\"\n        y1=\"23.6824\"\n        x2=\"9.33821\"\n        y2=\"5.00599\"\n        gradientUnits=\"userSpaceOnUse\"\n      >\n        <stop stop-color=\"${colors.iconGradientStart}\" ${colors.iconGradientStart === 'inherit' ? 'stop-opacity=\"0.4\"' : ''} offset=\"0%\" />\n        <stop stop-color=\"${colors.iconGradientStop}\" offset=\"100%\" />\n      </linearGradient>\n  </defs>\n  <path\n    fill=\"${colors.textColor}\"\n    fill-rule=\"evenodd\"\n    clip-rule=\"evenodd\"\n    d=\"M68.749 23.7902C66.249 23.7902 64.6742 22.5776 64.6742 19.7573V5H68.5155V19.2304C68.5155 20.0477 69.0574 20.3381 69.7131 20.3381C69.9021 20.3421 70.0911 20.3331 70.2789 20.3112V23.6315C69.7788 23.7552 69.2639 23.8086 68.749 23.7902ZM38.7121 9.98505V6.37431H26.0297V9.98505H30.3051V23.6825H34.4308V9.98505H38.7121ZM40.1498 23.6825H43.9641V16.6227C43.9641 14.464 45.2276 13.8053 47.9072 14.0149V10.027C45.8443 9.89522 44.6856 10.973 43.9641 12.7904V10.2096H40.1498V23.6825ZM72.6901 19.7573C72.6901 22.5776 74.2619 23.7902 76.7619 23.7902C77.2787 23.809 77.7957 23.7556 78.2978 23.6315V20.3112C78.109 20.333 77.9189 20.342 77.7289 20.3381C77.0732 20.3381 76.5313 20.0477 76.5313 19.2304V5H72.6901V19.7573ZM80.1444 16.9402C80.1444 12.7786 82.5396 9.93129 86.6653 9.93129C90.791 9.93129 93.1353 12.7845 93.1353 16.9402C93.1353 21.0958 90.764 24 86.6653 24C82.5665 24 80.1444 21.0749 80.1444 16.9402ZM83.8809 16.9402C83.8809 18.9701 84.7312 20.5749 86.6653 20.5749C88.5994 20.5749 89.3988 18.9701 89.3988 16.9402C89.3988 14.9103 88.5724 13.3474 86.6653 13.3474C84.7581 13.3474 83.8959 14.9103 83.8959 16.9402H83.8809ZM56.2777 18.3621C55.2023 18.3538 54.1281 18.2909 53.0592 18.1734C53.4124 20.0986 54.8256 20.7692 56.8795 20.7692C58.4004 20.7692 59.8854 20.3501 61.1998 19.9309V23.1734C59.7762 23.7133 58.2642 23.9824 56.7417 23.9668C51.6131 23.9668 49.3436 21.4009 49.3436 17.0806C49.3436 12.934 51.9723 9.94 56.0801 9.94C59.1309 9.94 61.6668 12.0058 61.6668 14.7513C61.6668 17.5776 59.1968 18.3621 56.2777 18.3621ZM57.9513 14.6166C57.9513 13.6136 57.0831 12.8801 56.0022 12.8801L55.9992 12.8711C55.4963 12.8789 55.0046 13.0206 54.5746 13.2816C54.1447 13.5426 53.7921 13.9135 53.5532 14.3561C53.2546 14.9118 53.0751 15.5236 53.0262 16.1525C53.686 16.2551 54.3525 16.3081 55.0202 16.3112C56.5861 16.3112 57.9513 15.91 57.9513 14.6166Z\"\n  />\n  <path\n    fill-rule=\"evenodd\"\n    clip-rule=\"evenodd\"\n    d=\"M16.4579 5H2.21854C1.63014 5 1.06585 5.23374 0.649794 5.64979C0.233738 6.06585 0 6.63014 0 7.21854V21.4669C0 22.0553 0.233738 22.6196 0.649794 23.0356C1.06585 23.4517 1.63014 23.6854 2.21854 23.6854H16.4579C17.0463 23.6854 17.6106 23.4517 18.0266 23.0356C18.4427 22.6196 18.6764 22.0553 18.6764 21.4669V7.22452C18.6772 6.93268 18.6204 6.64354 18.5093 6.37369C18.3981 6.10383 18.2348 5.85855 18.0287 5.65191C17.8227 5.44527 17.5778 5.28131 17.3083 5.16945C17.0387 5.05758 16.7497 5 16.4579 5V5ZM8.04481 18.4729C8.04481 18.6685 7.96731 18.8561 7.82927 18.9947C7.69123 19.1333 7.50391 19.2116 7.30829 19.2124H4.18558C3.98969 19.2116 3.80205 19.1334 3.66353 18.9949C3.52502 18.8564 3.44685 18.6688 3.44607 18.4729V9.19157C3.44685 8.99568 3.52502 8.80804 3.66353 8.66952C3.80205 8.53101 3.98969 8.45284 4.18558 8.45205H7.30829C7.50391 8.45285 7.69123 8.53111 7.82927 8.66971C7.96731 8.80831 8.04481 8.99595 8.04481 9.19157V18.4729ZM15.2304 14.2185C15.2296 14.4143 15.1514 14.602 15.0129 14.7405C14.8744 14.879 14.6867 14.9572 14.4908 14.958H11.3681C11.1725 14.9572 10.9852 14.8789 10.8471 14.7403C10.7091 14.6017 10.6316 14.4141 10.6316 14.2185V9.19157C10.6316 8.99595 10.7091 8.80831 10.8471 8.66971C10.9852 8.53111 11.1725 8.45285 11.3681 8.45205H14.4908C14.6867 8.45284 14.8744 8.53101 15.0129 8.66952C15.1514 8.80804 15.2296 8.99568 15.2304 9.19157V14.2185Z\"\n    fill=\"url(#${id})\"\n  />\n</svg>`;\n};\n\n/**\n * __Trello logo__\n *\n * The Trello logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlasLogo = ({\n  appearance,\n  label = 'Trello',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    svg: svg({\n      appearance,\n      iconGradientStart,\n      iconGradientStop,\n      textColor\n    }),\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance,\n  textColor\n}) => {\n  let colors = {\n    textColor\n  };\n  if (appearance) {\n    colors = getColorsFromAppearance(appearance);\n  }\n  return `\n  <svg viewBox=\"0 0 68 32\" height=\"32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\" aria-hidden=\"true\">\n    <path fill=\"${colors.textColor}\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M42.7193 23.7902C40.2194 23.7902 38.6445 22.5776 38.6445 19.7573V5H42.4858V19.2304C42.4858 20.0477 43.0277 20.3381 43.6834 20.3381C43.8724 20.3421 44.0615 20.3331 44.2493 20.3112V23.6315C43.7491 23.7552 43.2342 23.8086 42.7193 23.7902ZM12.6825 9.98505V6.37431H0V9.98505H4.2754V23.6825H8.40109V9.98505H12.6825ZM14.1201 23.6825H17.9344V16.6227C17.9344 14.464 19.1979 13.8053 21.8775 14.0149V10.027C19.8147 9.89522 18.656 10.973 17.9344 12.7904V10.2096H14.1201V23.6825ZM46.6604 19.7573C46.6604 22.5776 48.2322 23.7902 50.7322 23.7902C51.2491 23.809 51.766 23.7556 52.2681 23.6315V20.3112C52.0793 20.333 51.8893 20.342 51.6993 20.3381C51.0436 20.3381 50.5017 20.0477 50.5017 19.2304V5H46.6604V19.7573ZM54.1147 16.9402C54.1147 12.7786 56.5099 9.93129 60.6356 9.93129C64.7613 9.93129 67.1056 12.7845 67.1056 16.9402C67.1056 21.0958 64.7344 24 60.6356 24C56.5369 24 54.1147 21.0749 54.1147 16.9402ZM57.8512 16.9402C57.8512 18.9701 58.7015 20.5749 60.6356 20.5749C62.5697 20.5749 63.3691 18.9701 63.3691 16.9402C63.3691 14.9103 62.5428 13.3474 60.6356 13.3474C58.7285 13.3474 57.8662 14.9103 57.8662 16.9402H57.8512ZM30.248 18.3621C29.1727 18.3538 28.0984 18.2909 27.0295 18.1734C27.3828 20.0986 28.7959 20.7692 30.8498 20.7692C32.3707 20.7692 33.8558 20.3501 35.1701 19.9309V23.1734C33.7465 23.7133 32.2345 23.9824 30.7121 23.9668C25.5834 23.9668 23.314 21.4009 23.314 17.0806C23.314 12.934 25.9427 9.94 30.0504 9.94C33.1013 9.94 35.6372 12.0058 35.6372 14.7513C35.6372 17.5776 33.1671 18.3621 30.248 18.3621ZM31.9216 14.6166C31.9216 13.6136 31.0534 12.8801 29.9726 12.8801L29.9696 12.8711C29.4667 12.8789 28.9749 13.0206 28.545 13.2816C28.115 13.5426 27.7624 13.9135 27.5235 14.3561C27.2249 14.9118 27.0455 15.5236 26.9966 16.1525C27.6563 16.2551 28.3229 16.3081 28.9905 16.3112C30.5564 16.3112 31.9216 15.91 31.9216 14.6166Z\" />\n  </svg>\n  `;\n};\n\n/**\n * __Trello wordmark__\n *\n * The Trello brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const TrelloWordmark = ({\n  appearance,\n  label = 'Trello',\n  size = defaultLogoParams.size,\n  testId,\n  iconColor = defaultLogoParams.iconColor,\n  iconGradientStart = defaultLogoParams.iconGradientStart,\n  iconGradientStop = defaultLogoParams.iconGradientStop,\n  textColor = defaultLogoParams.textColor\n}) => {\n  return /*#__PURE__*/React.createElement(Wrapper, {\n    appearance: appearance,\n    label: label,\n    svg: svg({\n      appearance,\n      textColor\n    }),\n    iconColor: iconColor,\n    iconGradientStart: iconGradientStart,\n    iconGradientStop: iconGradientStop,\n    size: size,\n    testId: testId,\n    textColor: textColor\n  });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { B400 } from '@atlaskit/theme/colors';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    appearance\n  });\n\n  // Brand\n  let colors = {\n    iconGradientStart: '#1D7AFC',\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n    iconGradientMid: B400,\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n    iconGradientStop: B400\n  };\n  if (appearance === 'neutral') {\n    colors = {\n      iconGradientStart: '#758195',\n      iconGradientMid: '#596A85',\n      iconGradientStop: '#2C3E5D'\n    };\n  }\n  const baseIconContents = `\n   <linearGradient\n    id=\"${id}-a\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"10.6592\"\n    x2=\"9.74055\"\n    y1=\"28.7353\"\n    y2=\"4.626\"\n  >\n    <stop offset=\".5\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-b\">\n    <stop offset=\"0\" stop-color=\"${colors.iconGradientMid}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-c\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"28.2733\"\n    x2=\"17.5886\"\n    xlink:href=\"#${id}-b\"\n    y1=\"17.5235\"\n    y2=\"28.5702\"\n  />\n  <linearGradient\n    id=\"${id}-d\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"22.0338\"\n    x2=\"22.0338\"\n    y1=\"4.39582\"\n    y2=\"16.4638\"\n  >\n    <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\".59\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-e\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"4.04047\"\n    x2=\"21.5118\"\n    y1=\"17.0305\"\n    y2=\"17.0305\"\n  >\n    <stop offset=\".26\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-f\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"23.0712\"\n    x2=\"26.8865\"\n    xlink:href=\"#${id}-b\"\n    y1=\"19.8515\"\n    y2=\"15.7949\"\n  />\n  <linearGradient\n    id=\"${id}-g\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"18.8126\"\n    x2=\"18.8126\"\n    y1=\"28.5318\"\n    y2=\"5.47314\"\n  >\n    <stop offset=\".36\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-h\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"13.0887\"\n    x2=\"13.0887\"\n    y1=\"28.5318\"\n    y2=\"5.48176\"\n  >\n    <stop offset=\".06\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\".58\" stop-color=\"${colors.iconGradientStop}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStart}\" />\n  </linearGradient>\n  <path\n    d=\"m15.9999 28.532c-6.65602 0-12.06802-5.412-12.06802-12.068s5.412-12.068 12.06802-12.068v1.92133c-5.5973 0-10.14602 4.54867-10.14602 10.14597 0 5.5974 4.54872 10.146 10.14602 10.146v1.9214z\"\n    fill=\"url(#${id}-a)\"\n  />\n  <path\n    d=\"m15.9999 28.5322v-1.9214c5.5974 0 10.146-4.5486 10.146-10.146h1.9214c0 6.656-5.412 12.068-12.068 12.068z\"\n    fill=\"url(#${id}-c)\"\n  />\n  <path\n    d=\"m28.0678 16.4638h-1.9213c0-5.5973-4.5487-10.14598-10.146-10.14598v-1.92134c6.656 0 12.068 5.41201 12.068 12.06802z\"\n    fill=\"url(#${id}-d)\"\n  />\n  <path\n    d=\"m21.1405 20.1585c-1.2814-.2506-2.2927-.7053-3.9734-1.4666-.464-.204-.9746-.436-1.5593-.696-.3527-.158-.6773-.2974-1.0027-.436-2.534-1.1234-3.9266-1.736-5.63463-1.736-1.19733 0-2.098.3246-2.59933.9373-.34334.4087-.48267.9373-.38067 1.448l-1.88467.362c-.204-1.0767.074-2.1813.78-3.0353.61267-.7427 1.81934-1.634 4.08467-1.634 2.11663 0 3.82463.7613 6.41463 1.9033.3154.1393.6407.288.9934.436.594.26 1.114.492 1.578.7053 1.606.724 2.488 1.1234 3.5553 1.3274z\"\n    fill=\"url(#${id}-e)\"\n  />\n  <path\n    d=\"m23.0172 20.3442c-.6407 0-1.2534-.056-1.8754-.1853l.3714-1.8847c.5013.102.9933.1487 1.504.1487 1.188 0 2.0886-.2974 2.6086-.8634s.5387-1.2533.5107-1.6153l1.912-.1673c.102 1.1693-.2507 2.2653-1.0027 3.082-.622.6773-1.8193 1.4853-4.0286 1.4853z\"\n    fill=\"url(#${id}-f)\"\n  />\n  <path\n    d=\"m16 28.5318v-1.9213c2.7573 0 4.4-2.8127 4.4-7.5194 0-4.7066-1.6707-8.652-5.096-12.29996l1.402-1.318c3.778 4.01934 5.616 8.47536 5.616 13.61796 0 5.8207-2.4227 9.4407-6.322 9.4407z\"\n    fill=\"url(#${id}-g)\"\n  />\n  <path\n    d=\"m15.9987 28.5318c-4.1494 0-6.52604-3.3787-6.52604-9.2734 0-6.8786 3.00804-10.72198 5.82064-13.77598l1.4114 1.29934c-3.2767 3.56464-5.31 6.88804-5.31 12.47604 0 6.08 2.5066 7.352 4.6046 7.352v1.9213z\"\n    fill=\"url(#${id}-h)\"\n  />\n  <g fill=\"${colors.iconGradientStart}\">\n    <path\n      d=\"m10.8565 17.4665c1.2407 0 2.2467-1.006 2.2467-2.2467s-1.006-2.2467-2.2467-2.2467c-1.24064 0-2.24664 1.006-2.24664 2.2467s1.006 2.2467 2.24664 2.2467z\"\n    />\n    <path\n      d=\"m21.2418 21.3381c1.2407 0 2.2467-1.006 2.2467-2.2467s-1.006-2.2467-2.2467-2.2467-2.2467 1.006-2.2467 2.2467 1.006 2.2467 2.2467 2.2467z\"\n    />\n    <path\n      d=\"m15.9979 7.96062c1.2407 0 2.2467-1.006 2.2467-2.24667 0-1.24066-1.006-2.24666-2.2467-2.24666s-2.2467 1.006-2.2467 2.24666c0 1.24067 1.006 2.24667 2.2467 2.24667z\"\n    />\n  </g>`;\n\n  /**\n   * inverse icons use transparency to achieve a certain gradient effect, requiring a different SVG structure\n   */\n  const inverseIconContents = `\n    <linearGradient id=\"${id}-inverse-a\" gradientUnits=\"userSpaceOnUse\" x1=\"13.1575\" x2=\"8.62613\" y1=\"25.3248\"\n    y2=\"5.13609\">\n    <stop offset=\"0\" stop-color=\"#fff\" />\n    <stop offset=\".17\" stop-color=\"#fff\" stop-opacity=\".91\" />\n    <stop offset=\".5\" stop-color=\"#fff\" stop-opacity=\".74\" />\n    <stop offset=\".76\" stop-color=\"#fff\" stop-opacity=\".64\" />\n    <stop offset=\".92\" stop-color=\"#fff\" stop-opacity=\".6\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-inverse-b\">\n    <stop offset=\"0\" stop-color=\"#fff\" />\n    <stop offset=\".18\" stop-color=\"#fff\" stop-opacity=\".91\" />\n    <stop offset=\".55\" stop-color=\"#fff\" stop-opacity=\".74\" />\n    <stop offset=\".83\" stop-color=\"#fff\" stop-opacity=\".64\" />\n    <stop offset=\"1\" stop-color=\"#fff\" stop-opacity=\".6\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-inverse-c\" gradientUnits=\"userSpaceOnUse\" x1=\"10.6926\" x2=\"20.4159\" xlink:href=\"#${id}-inverse-b\"\n    y1=\"15.0061\" y2=\"18.9068\" />\n  <linearGradient id=\"${id}-inverse-d\" gradientUnits=\"userSpaceOnUse\" x1=\"22.7236\" x2=\"20.8289\" xlink:href=\"#${id}-inverse-b\"\n    y1=\"3.59276\" y2=\"23.2521\" />\n  <linearGradient id=\"${id}-inverse-e\" gradientUnits=\"userSpaceOnUse\" x1=\"18.8186\" x2=\"18.8186\" y1=\"28.5366\"\n    y2=\"5.46924\">    <stop offset=\".1\" stop-color=\"#fff\" />\n    <stop offset=\".27\" stop-color=\"#fff\" stop-opacity=\".91\" />\n    <stop offset=\".59\" stop-color=\"#fff\" stop-opacity=\".74\" />\n    <stop offset=\".85\" stop-color=\"#fff\" stop-opacity=\".64\" />\n    <stop offset=\"1\" stop-color=\"#fff\" stop-opacity=\".6\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-inverse-f\" gradientUnits=\"userSpaceOnUse\" x1=\"12.5694\" x2=\"13.9441\" y1=\"5.09736\"\n    y2=\"26.7354\">\n    <stop offset=\".03\" stop-color=\"#fff\" />\n    <stop offset=\".1\" stop-color=\"#fff\" stop-opacity=\".9\" />\n    <stop offset=\".29\" stop-color=\"#fff\" stop-opacity=\".68\" />\n    <stop offset=\".38\" stop-color=\"#fff\" stop-opacity=\".6\" />\n    <stop offset=\".59\" stop-color=\"#fff\" stop-opacity=\".6\" />\n    <stop offset=\".65\" stop-color=\"#fff\" stop-opacity=\".65\" />\n    <stop offset=\".76\" stop-color=\"#fff\" stop-opacity=\".77\" />\n    <stop offset=\".91\" stop-color=\"#fff\" stop-opacity=\".96\" />\n    <stop offset=\".94\" stop-color=\"#fff\" />\n  </linearGradient>\n  <path\n    d=\"m16.0048 6.31409v-1.922c-6.65867 0-12.07267 5.414-12.07267 12.07201 0 .6873.06533 1.356.16733 2.0153 0 .028 0 .0654.00934.0927 1.00266 5.6553 5.9433 9.9647 11.8867 9.9647v-1.922c-5.0334 0-9.22137-3.6774-10.0107-8.488-.06534-.4827.074-.9754.39-1.3654.50133-.6126 1.402-.938 2.6-.938.63133 0 1.226.0834 1.848.2507v-1.9687c-.6033-.13-1.20734-.1953-1.848-.1953-1.30934 0-2.266.2973-2.95334.6967.882-4.71738 5.02404-8.29271 9.98264-8.29271z\"\n    fill=\"url(#${id}-inverse-a)\" />\n  <path\n    d=\"m17.9639 16.9475c-.464-.204-.9847-.446-1.5787-.706-.3433-.1487-.678-.2974-.9933-.4367-1.8013-.7987-3.1853-1.4113-4.5687-1.6993v1.9686c1.0494.2787 2.1914.78 3.7887 1.486.316.1394.65.288 1.0027.4367.5853.26 1.1053.492 1.56.6967 1.6806.752 2.6933 1.2073 3.9746 1.4673l.3714-1.8853c-1.068-.2134-1.95-.6034-3.5567-1.328z\"\n    fill=\"url(#${id}-inverse-c)\" />\n  <path\n    d=\"m28.0683 16.2508v-.4734c-.3714-6.34264-5.6367-11.38531-12.0634-11.38531v1.922c5.5254 0 10.0294 4.42931 10.1407 9.92731-.0093.3807-.1207.882-.52 1.3187-.52.5667-1.4207.8633-2.6093.8633-.5107 0-1.0027-.0466-1.5047-.1486l-.3713 1.8853c.622.1207 1.2353.186 1.876.186 1.0586 0 1.8946-.186 2.5353-.464-1.402 3.9187-5.1633 6.7327-9.556 6.7327v1.922c6.6587 0 12.0727-5.414 12.0727-12.0727 0-.074 0-.1393 0-.2133z\"\n    fill=\"url(#${id}-inverse-d)\" />\n  <path\n    d=\"m16.0046 28.5366v-1.922c2.758 0 4.402-2.814 4.402-7.522s-1.6713-8.6554-5.098-12.3047l1.402-1.31866c3.7793 4.02133 5.618 8.47866 5.618 13.62336 0 5.8226-2.424 9.4446-6.324 9.4446z\"\n    fill=\"url(#${id}-inverse-e)\" />\n  <path\n    d=\"m16.0047 28.5367c-4.1513 0-6.52863-3.38-6.52863-9.2773 0-6.8814 3.00863-10.72604 5.82263-13.78137l1.4114 1.3c-3.278 3.56597-5.312 6.89067-5.312 12.48137 0 6.0826 2.5073 7.3546 4.606 7.3546v1.922z\"\n    fill=\"url(#${id}-inverse-f)\" />\n  <g fill=\"#fff\">\n    <path\n      d=\"m10.8601 17.4673c1.2412 0 2.2474-1.0061 2.2474-2.2473s-1.0062-2.2473-2.2474-2.2473c-1.24114 0-2.24731 1.0061-2.24731 2.2473s1.00617 2.2473 2.24731 2.2473z\" />\n    <path\n      d=\"m21.2512 21.3399c1.2412 0 2.2474-1.0062 2.2474-2.2474 0-1.2411-1.0062-2.2473-2.2474-2.2473-1.2411 0-2.2473 1.0062-2.2473 2.2473 0 1.2412 1.0062 2.2474 2.2473 2.2474z\" />\n    <path\n      d=\"m16.0047 7.95805c1.2411 0 2.2473-1.00617 2.2473-2.24734s-1.0062-2.24733-2.2473-2.24733c-1.2412 0-2.2474 1.00616-2.2474 2.24733s1.0062 2.24734 2.2474 2.24734z\" />\n  </g>`;\n  return `<svg\n  fill=\"none\"\n  height=\"32\"\n  viewBox=\"0 0 32 32\"\n  width=\"32\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n  xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n  ${appearance === 'inverse' ? inverseIconContents : baseIconContents}\n</svg>`;\n};\n\n/**\n * __Atlas logo__\n *\n * The Atlas icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlasIcon = ({\n  appearance,\n  label = 'Atlas',\n  size = defaultLogoParams.size,\n  testId\n}) => /*#__PURE__*/React.createElement(Wrapper, {\n  appearance: appearance,\n  label: label,\n  svg: svg({\n    appearance\n  }),\n  size: size,\n  testId: testId\n});","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { B400 } from '@atlaskit/theme/colors';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n  appearance\n}) => {\n  // Will be fixed upon removal of deprecated iconGradientStart and\n  // iconGradientStop props, or with React 18's useId() hook when we update.\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  let id = uid({\n    appearance\n  });\n\n  // Brand\n  let colors = {\n    iconGradientStart: '#1d7afc',\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n    iconGradientMid: B400,\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n    iconGradientStop: B400,\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n    textStart: B400\n  };\n  if (appearance === 'neutral') {\n    colors = {\n      iconGradientStart: '#758195',\n      iconGradientMid: '#596a85',\n      iconGradientStop: '#2c3e5d',\n      textStart: '#758195'\n    };\n  }\n  const baseIconContents = `\n  <linearGradient\n    id=\"${id}-a\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"6.72733\"\n    x2=\"5.808\"\n    y1=\"28.2142\"\n    y2=\"4.10482\"\n  >\n    <stop offset=\".5\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-b\">\n    <stop offset=\"0\" stop-color=\"${colors.iconGradientMid}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-c\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"24.3414\"\n    x2=\"13.6567\"\n    xlink:href=\"#${id}-b\"\n    y1=\"17.0027\"\n    y2=\"28.0494\"\n  />\n  <linearGradient\n    id=\"${id}-d\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"18.1021\"\n    x2=\"18.1021\"\n    y1=\"3.87549\"\n    y2=\"15.9428\"\n  >\n    <stop offset=\"0\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\".59\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-e\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\".108585\"\n    x2=\"17.5793\"\n    y1=\"16.5093\"\n    y2=\"16.5093\"\n  >\n    <stop offset=\".26\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-f\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"19.1392\"\n    x2=\"22.9546\"\n    xlink:href=\"#${id}-b\"\n    y1=\"19.33\"\n    y2=\"15.2734\"\n  />\n  <linearGradient\n    id=\"${id}-g\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"14.8807\"\n    x2=\"14.8807\"\n    y1=\"28.0108\"\n    y2=\"4.95215\"\n  >\n    <stop offset=\".36\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStop}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-h\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"9.15677\"\n    x2=\"9.15677\"\n    y1=\"28.0108\"\n    y2=\"4.96143\"\n  >\n    <stop offset=\".06\" stop-color=\"${colors.iconGradientStart}\" />\n    <stop offset=\".58\" stop-color=\"${colors.iconGradientStop}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStart}\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-i\">\n    <stop offset=\"0\" stop-color=\"${colors.iconGradientStop}\" />\n    <stop offset=\"1\" stop-color=\"${colors.iconGradientStart}\" />\n  </linearGradient>\n  <linearGradient\n    id=\"${id}-j\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"95.6987\"\n    x2=\"29.214\"\n    xlink:href=\"#${id}-i\"\n    y1=\"-1.89809\"\n    y2=\"20.5853\"\n  />\n  <linearGradient\n    id=\"${id}-k\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"97.0621\"\n    x2=\"30.5774\"\n    xlink:href=\"#${id}-i\"\n    y1=\"2.12082\"\n    y2=\"24.6042\"\n  />\n  <linearGradient\n    id=\"${id}-l\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"97.5167\"\n    x2=\"31.0327\"\n    xlink:href=\"#${id}-i\"\n    y1=\"3.47941\"\n    y2=\"25.9627\"\n  />\n  <linearGradient\n    id=\"${id}-m\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"101.28\"\n    x2=\"34.7954\"\n    xlink:href=\"#${id}-i\"\n    y1=\"14.583\"\n    y2=\"37.075\"\n  />\n  <linearGradient\n    id=\"${id}-n\"\n    gradientUnits=\"userSpaceOnUse\"\n    x1=\"99.9401\"\n    x2=\"33.4561\"\n    xlink:href=\"#${id}-i\"\n    y1=\"10.6227\"\n    y2=\"33.106\"\n  />\n  <path\n    d=\"m12.068 28.0108c-6.656 0-12.068-5.412-12.068-12.068 0-6.65598 5.412-12.06731 12.068-12.06731v1.92133c-5.59733 0-10.146 4.54868-10.146 10.14598 0 5.5974 4.54867 10.146 10.146 10.146v1.9214z\"\n    fill=\"url(#${id}-a)\"\n  />\n  <path\n    d=\"m12.068 28.0107v-1.9213c5.5974 0 10.146-4.5487 10.146-10.146h1.9214c0 6.656-5.412 12.068-12.068 12.068z\"\n    fill=\"url(#${id}-c)\"\n  />\n  <path\n    d=\"m24.1354 15.9428h-1.9213c0-5.5973-4.5487-10.14598-10.146-10.14598v-1.92133c6.656 0 12.068 5.412 12.068 12.06801z\"\n    fill=\"url(#${id}-d)\"\n  />\n  <path\n    d=\"m17.2086 19.638c-1.2813-.2507-2.2927-.7053-3.9733-1.4667-.464-.204-.9747-.436-1.5594-.696-.3526-.158-.6773-.2973-1.0026-.436-2.53405-1.1233-3.92671-1.736-5.63471-1.736-1.19734 0-2.098.3247-2.59934.9374-.34333.4086-.48266.9373-.38066 1.448l-1.884671.362c-.2040002-1.0767.074-2.1814.78-3.0354.612671-.7426 1.819331-1.634 4.084671-1.634 2.11666 0 3.82466.7614 6.41471 1.9034.3153.1393.6406.288.9933.436.594.26 1.114.492 1.578.7053 1.606.724 2.488 1.1233 3.5553 1.3273z\"\n    fill=\"url(#${id}-e)\"\n  />\n  <path\n    d=\"m19.0846 19.8227c-.6407 0-1.2534-.056-1.8754-.1853l.3714-1.8847c.5013.102.9933.1487 1.504.1487 1.188 0 2.0886-.2974 2.6086-.8634s.5387-1.2533.5107-1.6153l1.912-.1673c.102 1.1693-.2507 2.2653-1.0027 3.082-.622.6773-1.8193 1.4853-4.0286 1.4853z\"\n    fill=\"url(#${id}-f)\"\n  />\n  <path\n    d=\"m12.0681 28.0108v-1.9213c2.7573 0 4.4-2.8127 4.4-7.5194 0-4.7066-1.6707-8.65195-5.096-12.29995l1.402-1.318c3.778 4.01933 5.616 8.47535 5.616 13.61795 0 5.8207-2.4227 9.4407-6.322 9.4407z\"\n    fill=\"url(#${id}-g)\"\n  />\n  <path\n    d=\"m12.0668 28.0108c-4.14936 0-6.52603-3.3787-6.52603-9.2734 0-6.8786 3.008-10.72197 5.82063-13.77597l1.4114 1.29933c-3.27669 3.56467-5.31003 6.88804-5.31003 12.47604 0 6.08 2.50667 7.352 4.60463 7.352v1.9213z\"\n    fill=\"url(#${id}-h)\"\n  />\n  <g fill=\"${colors.iconGradientStart}\">\n    <path\n      d=\"m6.92391 16.9455c1.24067 0 2.24667-1.006 2.24667-2.2467s-1.006-2.2467-2.24667-2.2467c-1.24066 0-2.24666 1.006-2.24666 2.2467s1.006 2.2467 2.24666 2.2467z\"\n    />\n    <path\n      d=\"m17.3094 20.8166c1.2407 0 2.2467-1.006 2.2467-2.2467s-1.006-2.2467-2.2467-2.2467-2.2467 1.006-2.2467 2.2467 1.006 2.2467 2.2467 2.2467z\"\n    />\n    <path\n      d=\"m12.066 7.44011c1.2407 0 2.2467-1.006 2.2467-2.24667 0-1.24066-1.006-2.24666-2.2467-2.24666s-2.24666 1.006-2.24666 2.24666c0 1.24067 1.00596 2.24667 2.24666 2.24667z\"\n    />\n  </g>\n  <path\n    d=\"m34.6727 21.2726-1.68 4.53h-3.0913l7.9273-20.12535h3.4907l7.9366 20.12535h-3.0913l-1.6893-4.5674c-1.81.3714-3.37.548-4.994.548-1.532 0-3.0914-.1853-4.8087-.52zm8.9767-2.33-4.0754-11.02802-4.0753 11.05602c1.504.2413 2.7573.3713 3.9827.3713 1.29 0 2.6086-.158 4.168-.3993z\"\n    fill=\"url(#${id}-j)\"\n  />\n  <path\n    d=\"m56.3748 23.3242c.6126 0 1.1973-.1207 1.6526-.2134v2.5434c-.464.1206-.984.2413-1.7733.2413-3.2767 0-4.8733-1.9307-4.8733-4.7807v-8.178h-2.4787v-2.4506h2.4787v-3.24938h2.5713v3.24938h4.0753v2.4506h-4.0753v8.1227c0 1.346.798 2.2653 2.4227 2.2653z\"\n    fill=\"url(#${id}-k)\"\n  />\n  <path\n    d=\"m65.044 25.8947c-2.516 0-4.1033-1.1973-4.1033-4.01v-17.80462h2.6366v17.49862c0 1.3834.9194 1.866 2.0514 1.866.2786 0 .464 0 .7613-.028v2.358c-.2133.0647-.6773.1207-1.346.1207z\"\n    fill=\"url(#${id}-l)\"\n  />\n  <path\n    d=\"m90.5908 26.109c-2.302 0-4.168-.52-5.3287-1.1326v-2.7847c1.318.7613 3.5273 1.504 5.4493 1.504s3.0634-.826 3.0634-2.024-.8914-1.838-3.7967-2.5433c-3.3973-.826-4.836-2.1447-4.836-4.66 0-2.664 2.0513-4.2887 5.542-4.2887 1.996 0 3.7967.492 4.9293 1.1047v2.7293c-1.838-.9193-3.342-1.4113-4.9666-1.4113-1.9307 0-2.9707.6773-2.9707 1.866 0 1.0673.7333 1.7453 3.5553 2.4226 3.398.826 5.1154 2.0794 5.1154 4.7527s-1.6527 4.4747-5.7647 4.4747l.0093-.0094z\"\n    fill=\"url(#${id}-m)\"\n  />\n  <path\n    d=\"m82.7488 23.4447c-.7427 0-1.0767-.3067-1.0767-1.29v-11.6693h-2.6367v2.692c-.9193-1.996-2.6366-2.9987-4.8733-2.9987-4.2887 0-6.4333 3.648-6.4333 7.9647 0 4.3166 2.0886 7.9646 6.2286 7.9646 2.6087 0 4.1307-1.1326 5.124-3.1193.232 1.894 1.42 2.896 3.11 2.896.5387 0 .91-.0467 1.1694-.1207v-2.358c-.3067.028-.334.028-.6127.028v.0094zm-3.7134-4.688c0 3.3973-2.1166 4.9013-4.4746 4.9013-2.7294 0-4.196-1.838-4.196-5.514s1.532-5.514 4.502-5.514c2.2373 0 4.168 1.504 4.168 4.9014v1.2253z\"\n    fill=\"url(#${id}-n)\"\n  />`;\n\n  /**\n   * inverse icons use transparency to achieve a certain gradient effect, requiring a different SVG structure\n   */\n  const inverseIconContents = `\n  <linearGradient id=\"${id}-inverse-a\">\n    <stop offset=\"0\" stop-color=\"#fff\" stop-opacity=\".6\" />\n    <stop offset=\"1\" stop-color=\"#fff\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-inverse-b\" gradientUnits=\"userSpaceOnUse\" x1=\"95.6972\" x2=\"29.2126\" xlink:href=\"#${id}-inverse-a\"\n    y1=\"-1.88441\" y2=\"20.5989\" />\n  <linearGradient id=\"${id}-inverse-c\" gradientUnits=\"userSpaceOnUse\" x1=\"97.0604\" x2=\"30.5757\" xlink:href=\"#${id}-inverse-a\"\n    y1=\"2.13449\" y2=\"24.6178\" />\n  <linearGradient id=\"${id}-inverse-d\" gradientUnits=\"userSpaceOnUse\" x1=\"97.5154\" x2=\"31.0315\" xlink:href=\"#${id}-inverse-a\"\n    y1=\"3.49308\" y2=\"25.9764\" />\n  <linearGradient id=\"${id}-inverse-e\" gradientUnits=\"userSpaceOnUse\" x1=\"101.279\" x2=\"34.794\" xlink:href=\"#${id}-inverse-a\"\n    y1=\"14.5962\" y2=\"37.0882\" />\n  <linearGradient id=\"${id}-inverse-f\" gradientUnits=\"userSpaceOnUse\" x1=\"99.9384\" x2=\"33.4544\" xlink:href=\"#${id}-inverse-a\"\n    y1=\"10.6359\" y2=\"33.1192\" />\n  <linearGradient id=\"${id}-inverse-g\" gradientUnits=\"userSpaceOnUse\" x1=\"9.22533\" x2=\"4.69333\" y1=\"25.3248\"\n    y2=\"5.13609\">\n    <stop offset=\"0\" stop-color=\"#fff\" />\n    <stop offset=\".17\" stop-color=\"#fff\" stop-opacity=\".91\" />\n    <stop offset=\".5\" stop-color=\"#fff\" stop-opacity=\".74\" />\n    <stop offset=\".76\" stop-color=\"#fff\" stop-opacity=\".64\" />\n    <stop offset=\".92\" stop-color=\"#fff\" stop-opacity=\".6\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-inverse-h\">\n    <stop offset=\"0\" stop-color=\"#fff\" />\n    <stop offset=\".18\" stop-color=\"#fff\" stop-opacity=\".91\" />\n    <stop offset=\".55\" stop-color=\"#fff\" stop-opacity=\".74\" />\n    <stop offset=\".83\" stop-color=\"#fff\" stop-opacity=\".64\" />\n    <stop offset=\"1\" stop-color=\"#fff\" stop-opacity=\".6\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-inverse-i\" gradientUnits=\"userSpaceOnUse\" x1=\"6.76069\" x2=\"16.4834\" xlink:href=\"#${id}-inverse-h\"\n    y1=\"15.0061\" y2=\"18.9068\" />\n  <linearGradient id=\"${id}-inverse-j\" gradientUnits=\"userSpaceOnUse\" x1=\"18.7907\" x2=\"16.8967\" xlink:href=\"#${id}-inverse-h\"\n    y1=\"3.59276\" y2=\"23.2521\" />\n  <linearGradient id=\"${id}-inverse-k\" gradientUnits=\"userSpaceOnUse\" x1=\"14.886\" x2=\"14.886\" y1=\"28.5366\"\n    y2=\"5.46924\">\n    <stop offset=\".1\" stop-color=\"#fff\" />\n    <stop offset=\".27\" stop-color=\"#fff\" stop-opacity=\".91\" />\n    <stop offset=\".59\" stop-color=\"#fff\" stop-opacity=\".74\" />\n    <stop offset=\".85\" stop-color=\"#fff\" stop-opacity=\".64\" />\n    <stop offset=\"1\" stop-color=\"#fff\" stop-opacity=\".6\" />\n  </linearGradient>\n  <linearGradient id=\"${id}-inverse-l\" gradientUnits=\"userSpaceOnUse\" x1=\"8.63728\" x2=\"10.0113\" y1=\"5.09736\"\n    y2=\"26.7354\">\n    <stop offset=\".03\" stop-color=\"#fff\" />\n    <stop offset=\".1\" stop-color=\"#fff\" stop-opacity=\".9\" />\n    <stop offset=\".29\" stop-color=\"#fff\" stop-opacity=\".68\" />\n    <stop offset=\".38\" stop-color=\"#fff\" stop-opacity=\".6\" />\n    <stop offset=\".59\" stop-color=\"#fff\" stop-opacity=\".6\" />\n    <stop offset=\".65\" stop-color=\"#fff\" stop-opacity=\".65\" />\n    <stop offset=\".76\" stop-color=\"#fff\" stop-opacity=\".77\" />\n    <stop offset=\".91\" stop-color=\"#fff\" stop-opacity=\".96\" />\n    <stop offset=\".94\" stop-color=\"#fff\" />\n  </linearGradient>\n  <path\n    d=\"m34.6712 21.2863-1.68 4.5299h-3.0913l7.9273-20.12528h3.4907l7.9367 20.12528h-3.0914l-1.6893-4.5673c-1.81.3714-3.37.548-4.994.548-1.532 0-3.0913-.1853-4.8087-.52zm8.9767-2.33-4.0753-11.02805-4.0754 11.05605c1.504.2413 2.7574.3713 3.9827.3713 1.29 0 2.6087-.158 4.168-.3993z\"\n    fill=\"url(#${id}-inverse-b)\" />\n  <path\n    d=\"m56.3731 23.3378c.6126 0 1.1973-.1206 1.6526-.2133v2.5433c-.464.1207-.984.2414-1.7733.2414-3.2767 0-4.8733-1.9307-4.8733-4.7807v-8.178h-2.4787v-2.4507h2.4787v-3.24931h2.5713v3.24931h4.0753v2.4507h-4.0753v8.1227c0 1.346.798 2.2653 2.4227 2.2653z\"\n    fill=\"url(#${id}-inverse-c)\" />\n  <path\n    d=\"m65.0428 25.9084c-2.516 0-4.1033-1.1973-4.1033-4.01v-17.80465h2.6366v17.49865c0 1.3833.9193 1.866 2.0513 1.866.2787 0 .464 0 .7614-.028v2.358c-.2134.0647-.6774.1207-1.346.1207z\"\n    fill=\"url(#${id}-inverse-d)\" />\n  <path\n    d=\"m90.5893 26.1222c-2.302 0-4.168-.52-5.3287-1.1327v-2.7846c1.318.7613 3.5274 1.504 5.4494 1.504s3.0633-.826 3.0633-2.024-.8913-1.838-3.7967-2.5434c-3.3973-.826-4.836-2.1446-4.836-4.66 0-2.664 2.0514-4.2886 5.542-4.2886 1.996 0 3.7967.492 4.9294 1.1046v2.7294c-1.838-.9194-3.342-1.4114-4.9667-1.4114-1.9307 0-2.9707.6774-2.9707 1.866 0 1.0674.7334 1.7454 3.5554 2.4227 3.398.826 5.1153 2.0793 5.1153 4.7527 0 2.6733-1.6527 4.4746-5.7647 4.4746l.0094-.0093z\"\n    fill=\"url(#${id}-inverse-e)\" />\n  <path\n    d=\"m82.747 23.4579c-.7426 0-1.0766-.3067-1.0766-1.29v-11.6693h-2.6367v2.692c-.9193-1.996-2.6367-2.9987-4.8733-2.9987-4.2887 0-6.4333 3.648-6.4333 7.9647 0 4.3166 2.0886 7.9646 6.2286 7.9646 2.6087 0 4.1307-1.1326 5.124-3.1193.232 1.894 1.42 2.896 3.11 2.896.5387 0 .91-.0467 1.1693-.1207v-2.358c-.3066.028-.334.028-.6126.028v.0094zm-3.7133-4.688c0 3.3973-2.1166 4.9013-4.4746 4.9013-2.7294 0-4.1961-1.838-4.1961-5.514s1.5321-5.514 4.5021-5.514c2.2373 0 4.1679 1.504 4.1679 4.9014v1.2253z\"\n    fill=\"url(#${id}-inverse-f)\" />\n  <path\n    d=\"m12.0727 6.31409v-1.922c-6.6587 0-12.0727 5.414-12.0727 12.07201 0 .6873.0653333 1.356.167333 2.0153 0 .028 0 .0654.009334.0927 1.002663 5.6553 5.943333 9.9647 11.886633 9.9647v-1.922c-5.0333 0-9.2213-3.6774-10.01063-8.488-.06534-.4827.074-.9754.39-1.3654.50133-.6126 1.402-.938 2.6-.938.63133 0 1.226.0834 1.848.2507v-1.9687c-.60334-.13-1.20734-.1953-1.848-.1953-1.30934 0-2.266.2973-2.95334.6967.882-4.71738 5.024-8.29271 9.98267-8.29271z\"\n    fill=\"url(#${id}-inverse-g)\" />\n  <path\n    d=\"m14.032 16.9475c-.464-.204-.9846-.446-1.5786-.706-.3434-.1487-.678-.2974-.9934-.4367-1.80131-.7987-3.18531-1.4113-4.56864-1.6993v1.9686c1.04933.2787 2.19133.78 3.78864 1.486.316.1394.65.288 1.0027.4367.5853.26 1.1053.492 1.56.6967 1.6807.752 2.6933 1.2073 3.9747 1.4673l.3713-1.8853c-1.068-.2134-1.95-.6034-3.5567-1.328z\"\n    fill=\"url(#${id}-inverse-i)\" />\n  <path\n    d=\"m24.1354 16.2508v-.4734c-.3713-6.34264-5.6367-11.38531-12.0633-11.38531v1.922c5.5253 0 10.0293 4.42931 10.1406 9.92731-.0093.3807-.1206.882-.52 1.3187-.52.5667-1.4206.8633-2.6093.8633-.5107 0-1.0027-.0466-1.5047-.1486l-.3713 1.8853c.622.1207 1.2353.186 1.876.186 1.0587 0 1.8947-.186 2.5353-.464-1.402 3.9187-5.1633 6.7327-9.556 6.7327v1.922c6.6587 0 12.0727-5.414 12.0727-12.0727 0-.074 0-.1393 0-.2133z\"\n    fill=\"url(#${id}-inverse-j)\" />\n  <path\n    d=\"m12.0727 28.5366v-1.922c2.758 0 4.402-2.814 4.402-7.522s-1.6713-8.6554-5.098-12.3047l1.402-1.31866c3.7793 4.02133 5.618 8.47866 5.618 13.62336 0 5.8226-2.424 9.4446-6.324 9.4446z\"\n    fill=\"url(#${id}-inverse-k)\" />\n  <path\n    d=\"m12.0726 28.5367c-4.15132 0-6.52865-3.38-6.52865-9.2773 0-6.8814 3.00866-10.72604 5.82265-13.78137l1.4113 1.3c-3.27795 3.56597-5.31195 6.89067-5.31195 12.48137 0 6.0826 2.50733 7.3546 4.60595 7.3546v1.922z\"\n    fill=\"url(#${id}-inverse-l)\" />\n  <g fill=\"#fff\">\n    <path\n      d=\"m6.928 17.4673c1.24117 0 2.24733-1.0061 2.24733-2.2473s-1.00616-2.2473-2.24733-2.2473-2.24734 1.0061-2.24734 2.2473 1.00617 2.2473 2.24734 2.2473z\" />\n    <path\n      d=\"m17.3194 21.3399c1.2411 0 2.2473-1.0062 2.2473-2.2474 0-1.2411-1.0062-2.2473-2.2473-2.2473-1.2412 0-2.2474 1.0062-2.2474 2.2473 0 1.2412 1.0062 2.2474 2.2474 2.2474z\" />\n    <path\n      d=\"m12.0728 7.95805c1.2411 0 2.2473-1.00617 2.2473-2.24734s-1.0062-2.24733-2.2473-2.24733c-1.2412 0-2.24736 1.00616-2.24736 2.24733s1.00616 2.24734 2.24736 2.24734z\" />\n  </g>\n`;\n  return `<svg\n  fill=\"none\"\n  height=\"32\"\n  viewBox=\"0 0 97 32\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n  xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n>\n  ${appearance === 'inverse' ? inverseIconContents : baseIconContents}\n</svg>`;\n};\n\n/**\n * __Atlas logo__\n *\n * The Atlas logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlasLogo = ({\n  appearance,\n  label = 'Atlas',\n  size = defaultLogoParams.size,\n  testId\n}) => /*#__PURE__*/React.createElement(Wrapper, {\n  appearance: appearance,\n  label: label,\n  size: size,\n  svg: svg({\n    appearance\n  }),\n  testId: testId\n});","import * as Logos from '@atlaskit/logo';\nimport { DN10A, N0 } from '@atlaskit/theme/colors';\nimport { AppKey, ProductKey } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { Product } from '../model';\nimport { useSignUpFormConfig } from '../../../../../hook';\n\nexport function Logo(product: Product, isWhiteBackground: boolean) {\n  const { bundle } = useSignUpFormConfig();\n  const productkey = product.product;\n  const productContent =\n    product.productContent && product.productContent.length\n      ? product.productContent.find(\n          (content) => content.productKey === productkey\n        )\n      : null;\n  const isJiraFamily =\n    bundle === 'jira' && productkey === ProductKey.JIRA_SOFTWARE;\n  const textColor = isWhiteBackground ? DN10A : N0;\n  const appearance = isWhiteBackground ? 'brand' : 'inverse';\n  const Logostyle = {\n    size: 'xlarge',\n    appearance\n  };\n\n  if (productContent && productContent.atlasKitLogoName) {\n    // Try and get Atlaskit Logo from product data\n    if (productContent.atlasKitLogoName) {\n      const allLogos = { ...Logos };\n      const ProductLogoClass = allLogos[productContent.atlasKitLogoName];\n      if (!!ProductLogoClass) {\n        return <ProductLogoClass key={productkey} {...Logostyle} />;\n      }\n    }\n  }\n  // @ts-ignore\n\n  if (Object.values(AppKey).includes(productkey)) {\n    return (\n      <CMSLogo key={productkey} src={productContent.productLogoWhiteUrl} />\n    );\n  }\n\n  // for team central, get the logo from magnolia\n  const useCMSLogo =\n    productkey === ProductKey.TEAM_CENTRAL ||\n    productkey === ProductKey.JIRA_PRODUCT_DISCOVERY ||\n    productkey === ProductKey.FABRIC ||\n    productkey === ProductKey.BEACON;\n\n  if (useCMSLogo && !!productContent.productLogoWhiteUrl) {\n    return (\n      <CMSLogo key={productkey} src={productContent.productLogoWhiteUrl} />\n    );\n  }\n\n  if (isJiraFamily) {\n    return <Logos.JiraLogo key={productkey} {...Logostyle} />;\n  }\n\n  switch (productkey) {\n    case 'com.atlassian.bitbucket':\n      return <Logos.BitbucketLogo key={productkey} {...Logostyle} />;\n    case 'confluence.ondemand':\n      return <Logos.ConfluenceLogo key={productkey} {...Logostyle} />;\n    case 'jira-core.ondemand':\n      return <Logos.JiraWorkManagementLogo key={productkey} {...Logostyle} />;\n    case 'jira-servicedesk.ondemand':\n      return (\n        <Logos.JiraServiceManagementLogo key={productkey} {...Logostyle} />\n      );\n    case 'jira-software.ondemand':\n      return <Logos.JiraLogo key={productkey} {...Logostyle} />;\n    case 'jira-workmanagement.ondemand':\n      return <Logos.JiraWorkManagementLogo key={productkey} {...Logostyle} />;\n    case 'opsgenie':\n      return <Logos.OpsgenieLogo key={productkey} {...Logostyle} />;\n    case 'statuspage':\n      return <Logos.StatuspageLogo key={productkey} {...Logostyle} />;\n    case 'trello':\n      return <Logos.TrelloLogo key={productkey} {...Logostyle} />;\n    case 'compass':\n      return <Logos.CompassLogo key={productkey} {...Logostyle} />;\n    default:\n      return productContent && productContent.productName ? (\n        <h2 style={{ color: textColor }}>{productContent.productName}</h2>\n      ) : (\n        <Logos.AtlassianLogo key={productkey} {...Logostyle} />\n      );\n  }\n}\n\nconst CMSLogo = styled.img`\n  height: 48px;\n`;\n","import React, { Fragment } from 'react';\nimport AddIcon from '@atlaskit/icon/glyph/add';\nimport styled from '@emotion/styled';\nimport { map } from 'lodash';\nimport { Logo, Subtitle } from './components';\nimport { WacSignupHeaderProps } from './model';\nimport { useSignUpFormConfig } from '../../../../hook';\n\nfunction WacSignupHeader({\n  productKeys,\n  isWhiteBackground = false\n}: WacSignupHeaderProps) {\n  const { edition, bundle } = useSignUpFormConfig();\n  const headerBuffer: JSX.Element[] = [];\n  const isJiraFamily = bundle === 'jira';\n  isJiraFamily\n    ? headerBuffer.push(Logo(productKeys[0], isWhiteBackground))\n    : map(productKeys, (productKey) =>\n        headerBuffer.push(Logo(productKey, isWhiteBackground))\n      );\n\n  if (headerBuffer.length > 1 && !isJiraFamily) {\n    return (\n      <Container>\n        <HeaderContainerWithPlus>\n          {headerBuffer.map((item, index) =>\n            index === 0 ? (\n              <Fragment key={index}>{item}</Fragment>\n            ) : (\n              <Fragment key={index}>\n                <PlusIcon>\n                  <AddIcon label=\"\" key=\"plusSign\" primaryColor=\"white\" />\n                </PlusIcon>\n                {item}\n              </Fragment>\n            )\n          )}\n        </HeaderContainerWithPlus>\n        <div>{Subtitle(edition, isWhiteBackground)}</div>\n      </Container>\n    );\n  }\n  return (\n    <Container>\n      <HeaderContainer>\n        {headerBuffer.map((item, index) => (\n          <Fragment key={index}>{item}</Fragment>\n        ))}\n      </HeaderContainer>\n      <div>{Subtitle(edition, isWhiteBackground)}</div>\n    </Container>\n  );\n}\n\nexport default WacSignupHeader;\n\nconst Container = styled.div`\n  margin: 10px 10px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst PlusIcon = styled.div`\n  margin-left: 15px;\n  margin-right: 15px;\n  margin-top: 15px;\n  display: inline-block;\n  position: relative;\n  bottom: 10px;\n`;\nconst HeaderContainer = styled.div`\n  display: flex;\n  align-items: center;\n  svg,\n  img {\n    margin-bottom: 0px !important;\n  }\n`;\nconst HeaderContainerWithPlus = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  svg {\n    margin-bottom: 0px !important;\n  }\n`;\n","/* eslint-disable @atlassian/tangerine/import/entry-points */\n/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n/* eslint-disable @atlaskit/design-system/no-unsafe-design-token-usage */\n\nimport React, { memo } from 'react';\nimport Box from '@atlaskit/ds-explorations/box';\nimport Text from '@atlaskit/ds-explorations/text';\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;\n\n// Lozenge colors\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 { defineMessages } from 'react-intl';\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n  devopsSwitchAccounts: {\n    id: `${ID_PREFIX}devopsSwitchAccounts`,\n    defaultMessage: 'Log in to another account'\n  },\n  devopsEarlyAccess: {\n    id: `${ID_PREFIX}devopsEarlyAccess`,\n    defaultMessage: 'EARLY ACCESS PROGRAM'\n  },\n  devopsLogoSubHeader: {\n    id: `${ID_PREFIX}devopsLogoSubHeader`,\n    defaultMessage: \"DevOps isn't bought, it's built\"\n  },\n  devopsLogo: {\n    id: `${ID_PREFIX}devopsLogo`,\n    defaultMessage: 'solution'\n  }\n});\n","import * as Logos from '@atlaskit/logo';\nimport Lozenge from '@atlaskit/lozenge';\nimport { B200, B400, DN10A, N700 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LogoOptionsType } from '../../../../../model/side-information-component';\nimport { messages } from '../messages';\n\nenum Product {\n  DEVOPS = 'devops'\n}\n\nexport function Logo({ product, layout, logoColor }: LogoOptionsType) {\n  const productkey = product.product;\n  const textColor = layout === 'devops' ? N700 : DN10A;\n\n  const productContent =\n    product.productContent && product.productContent.length\n      ? product.productContent[0]\n      : null;\n\n  const Logostyle = {\n    iconColor: B200,\n    iconGradientStart: B400,\n    iconGradientStop: B200,\n    size: 'xlarge',\n    textColor\n  };\n\n  if (logoColor) {\n    Logostyle.iconColor = logoColor;\n    Logostyle.textColor = logoColor;\n  }\n  if (layout === Product.DEVOPS && product.product === Product.DEVOPS) {\n    return (\n      <DevopsLogoContainer key={'devops'}>\n        <DevopsLogoWrapper>\n          <Logos.AtlassianIcon\n            className=\"atl-logo\"\n            key={layout}\n            {...Logostyle}\n          />\n          <LogoText>DevOps {messages.devopsLogo.defaultMessage}</LogoText>\n          <LozengeContainer>\n            <Lozenge appearance=\"success\">\n              <SanitizedFormattedHtmlMessage {...messages.devopsEarlyAccess} />\n            </Lozenge>\n          </LozengeContainer>\n        </DevopsLogoWrapper>\n        <SubheadingText>\n          <SanitizedFormattedHtmlMessage {...messages.devopsLogoSubHeader} />\n        </SubheadingText>\n      </DevopsLogoContainer>\n    );\n  }\n\n  // for team central, get the logo from magnolia\n  if (\n    (productkey === ProductKey.TEAM_CENTRAL &&\n      !!productContent.productLogoUrl) ||\n    (productkey === ProductKey.JIRA_PRODUCT_DISCOVERY &&\n      !!productContent.productLogoUrl)\n  ) {\n    return <CMSLogo src={productContent.productLogoUrl} />;\n  }\n\n  if (productContent && productContent.atlasKitLogoName) {\n    // Check for CMS driven product logo\n    // Try and get Atlaskit Logo from product data\n    if (productContent.atlasKitLogoName) {\n      const allLogos = { ...Logos };\n      const ProductLogoClass = allLogos[productContent.atlasKitLogoName];\n      if (!!ProductLogoClass) {\n        return <ProductLogoClass key={productkey} {...Logostyle} />;\n      }\n    }\n  }\n\n  switch (productkey) {\n    case 'com.atlassian.bitbucket':\n      return <Logos.BitbucketLogo key={productkey} {...Logostyle} />;\n    case 'confluence.ondemand':\n      return <Logos.ConfluenceLogo key={productkey} {...Logostyle} />;\n    case 'jira-core.ondemand':\n      return <Logos.JiraWorkManagementLogo key={productkey} {...Logostyle} />;\n    case 'jira-servicedesk.ondemand':\n      return (\n        <Logos.JiraServiceManagementLogo key={productkey} {...Logostyle} />\n      );\n    case 'jira-software.ondemand':\n      return <Logos.JiraLogo key={productkey} {...Logostyle} />;\n    case 'jira-workmanagement.ondemand':\n      return <Logos.JiraWorkManagementLogo key={productkey} {...Logostyle} />;\n    case 'opsgenie':\n      return <Logos.OpsGenieLogo key={productkey} {...Logostyle} />;\n    case 'statuspage':\n      return <Logos.StatuspageLogo key={productkey} {...Logostyle} />;\n    case 'trello':\n      return <Logos.TrelloLogo key={productkey} {...Logostyle} />;\n    case 'compass':\n      return <Logos.CompassLogo key={productkey} {...Logostyle} />;\n    default:\n      return productContent && productContent.productName ? (\n        <h2 style={{ color: textColor }}>${productContent.productName}</h2>\n      ) : (\n        <Logos.AtlassianLogo key={productkey} {...Logostyle} />\n      );\n  }\n}\n\nconst DevopsLogoWrapper = styled.div`\n  display: flex;\n  line-height: 66px;\n`;\nconst DevopsLogoContainer = styled.div`\n  .atl-logo {\n    width: 58px;\n    height: 55px;\n    max-height: none;\n    display: inline-block;\n    margin: 8px 0;\n\n    @media only screen and (max-width: 800px) {\n      margin: 0px 0;\n    }\n  }\n`;\n\nconst LogoText = styled.div`\n  @media only screen and (max-width: 800px) {\n    display: none;\n  }\n  white-space: nowrap;\n  font-size: 44px;\n  font-weight: 600;\n  margin-top: 2px;\n`;\nconst SubheadingText = styled.div`\n  @media only screen and (max-width: 800px) {\n    display: none;\n  }\n  font-family: Charlie Display;\n  font-weight: 400;\n  font-size: 34px;\n  span {\n    margin: 0 !important;\n    line-height: 45px;\n  }\n`;\nconst LozengeContainer = styled.div`\n  @media only screen and (max-width: 800px) {\n    display: none;\n  }\n  margin: 26px 12px 0px 12px;\n  span {\n    span {\n      margin: 0px;\n    }\n  }\n`;\n\nconst CMSLogo = styled.img`\n  height: 48px;\n`;\n","import Spinner from '@atlaskit/spinner';\nimport { N40, N700 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LayoutDefaultType } from '../../../../../model/side-information-component';\n\nexport function LayoutDefault({\n  isMobile,\n  isLoading,\n  logo,\n  isEdition,\n  edition,\n  isTrialTime,\n  trialTime,\n  showListContent,\n  productListMsg\n}: LayoutDefaultType) {\n  return (\n    <>\n      {!isMobile && (\n        <LogoAndEdition>\n          <LogoContainer>{logo}</LogoContainer>\n          {isEdition && <Edition>{edition}</Edition>}\n        </LogoAndEdition>\n      )}\n\n      {showListContent && isLoading && (\n        <SpinnerWrapper>\n          <Spinner size=\"large\" />\n        </SpinnerWrapper>\n      )}\n\n      {isTrialTime && !isLoading && <TrialTime>{trialTime}</TrialTime>}\n\n      {showListContent && !isLoading && (\n        <FeaturesDiv>\n          <SanitizedFormattedHtmlMessage {...productListMsg} />\n        </FeaturesDiv>\n      )}\n    </>\n  );\n}\n\nconst FeaturesDiv = styled.div`\n  div {\n    font-weight: 500;\n    font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n      Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n    font-size: 1.25rem;\n    line-height: 28px;\n    margin-bottom: 22px;\n    color: ${N700};\n  }\n  ul {\n    padding-left: 20px;\n    padding-bottom: 10px;\n    list-style-type: none;\n\n    li {\n      margin-bottom: 16px;\n      position: relative;\n\n      &::before {\n        background-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%230049B0' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n        content: '';\n        display: inline-block;\n        position: absolute;\n        left: -20px;\n        top: 5px;\n        height: 13px;\n        width: 13px;\n      }\n    }\n  }\n`;\n\nconst TrialTime = styled.div`\n  font-size: 1.25rem;\n  line-height: 1.2;\n  margin-bottom: 24px;\n  color: ${N700};\n  margin-top: 0;\n  letter-spacing: 0.3px;\n  font-weight: 500;\n`;\n\nconst LogoContainer = styled.div`\n  display: block;\n  width: 100%;\n  max-width: 500px;\n  margin-bottom: 10px;\n\n  canvas,\n  svg {\n    max-width: 100%;\n  }\n`;\n\nconst LogoAndEdition = styled.div`\n  position: relative;\n  margin-bottom: 24px;\n  padding-bottom: 4px;\n  border-bottom: 1px solid ${N40};\n`;\n\nconst Edition = styled.div`\n  font-weight: 500;\n  font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n    Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  font-style: normal;\n  letter-spacing: 0.3px;\n  margin-top: 20px;\n  color: ${N700};\n  font-size: 1.5rem;\n  line-height: 1.33333333;\n`;\n\nconst SpinnerWrapper = styled.div`\n  width: 100%;\n  height: 100%;\n  min-height: 200px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n","import { N40, N600 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport { MobileTrigger } from '@atlassiansox/bxpkit-user-profile-dropdown';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LayoutDevopsType } from '../../../../../model/side-information-component';\nimport { messages } from '../messages';\n\nexport function LayoutDevops({\n  logo,\n  hideLogoContent,\n  logoColor,\n  showListContent,\n  productListMsg,\n  isSideInfoHeader,\n  sideInfoHeaderMsg,\n  analyticsTrack,\n  userInfo,\n  switchUserInfo,\n  showMultiProduct\n}: LayoutDevopsType) {\n  let picture;\n  let email;\n  let devOpsUserDisplay;\n  const trackDevOpsChangeAccount = () => {\n    if (switchUserInfo !== undefined) {\n      analyticsTrack.segment(\n        'wac-signup-existing-user-switch',\n        switchUserInfo.switchUserOrigin\n      );\n    }\n  };\n  const showDevOpsAccountInfo =\n    userInfo !== undefined && userInfo.email !== null;\n  if (userInfo !== undefined && userInfo.email !== null) {\n    picture = `${userInfo.picture}`;\n    email = `${userInfo.email}`;\n    devOpsUserDisplay = (\n      <LoggedInView>\n        <MobileTrigger\n          userName={email}\n          logOutUrl={switchUserInfo?.switchAccountUrl}\n          logOutMessage={messages.devopsSwitchAccounts}\n          avatarSrc={picture}\n          onClick={trackDevOpsChangeAccount}\n        />\n      </LoggedInView>\n    );\n  }\n\n  return (\n    <DevopsLayout logoColor={logoColor}>\n      {isSideInfoHeader && (\n        <ProductHeading className=\"product-heading\">\n          <SanitizedFormattedHtmlMessage {...sideInfoHeaderMsg} />\n        </ProductHeading>\n      )}\n\n      {!hideLogoContent && (\n        <LogoContainer showListContent={showListContent}>\n          <LogosList logoColor={logoColor} showMultiProduct={showMultiProduct}>\n            {logo}\n          </LogosList>\n          {showDevOpsAccountInfo && devOpsUserDisplay}\n        </LogoContainer>\n      )}\n\n      {showListContent && (\n        <FeaturesDiv>\n          <SanitizedFormattedHtmlMessage {...productListMsg} />\n        </FeaturesDiv>\n      )}\n    </DevopsLayout>\n  );\n}\nconst LoggedInView = styled.div`\n  position: relative;\n  top: 50px;\n\n  @media only screen and (max-width: 800px) {\n    top: 32px;\n  }\n`;\n\nconst DevopsLayout = styled.div<{ readonly logoColor?: string }>`\n  font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n    Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  color: ${(props) => (props.logoColor ? props.logoColor : N600)};\n`;\n\nconst ProductHeading = styled.div`\n  font-size: 40px;\n  font-weight: 500;\n  max-width: 360px;\n  line-height: 42px;\n\n  @media only screen and (max-width: 800px) {\n    display: none;\n  }\n`;\n\nconst LogoContainer = styled.div<{ readonly showListContent?: boolean }>`\n  position: relative;\n  margin-bottom: 24px;\n  padding-bottom: 4px;\n  border-bottom: ${(props) =>\n    props.showListContent ? `1px solid ${N40}` : 'none'};\n  display: flex;\n  justify-content: space-between;\n`;\n\nconst LogosList = styled.div<{\n  readonly logoColor?: string;\n  readonly showMultiProduct?: boolean;\n}>`\n  position: relative;\n  display: block;\n  width: auto;\n  max-width: 500px;\n  margin: ${(props) => (props.showMultiProduct ? '40px' : '32px')} 0 40px\n    ${(props) => (props.showMultiProduct ? '34px' : '0')};\n  padding-left: ${(props) => (props.showMultiProduct ? '15px' : '0')};\n  ${(props) =>\n    props.showMultiProduct\n      ? `border-left: 1px solid ${props.logoColor ? props.logoColor : N40}`\n      : null};\n\n  @media only screen and (max-width: 800px) {\n    margin: 25px 0px 25px ${(props) => (props.showMultiProduct ? '30px' : '0')};\n  }\n  ${(props) =>\n    props.showMultiProduct\n      ? `&:before {\n    position: absolute;\n    content: '+';\n    font-size: 40px;\n    left: -35px;\n    top: 50%;\n    transform: translateY(-50%);\n    margin-top: -3px;\n    }`\n      : null}\n\n  span {\n    display: block;\n    clear: both;\n    max-height: 36px;\n    margin: 9px 0;\n\n    svg {\n      width: auto;\n    }\n  }\n\n  canvas,\n  svg {\n    max-width: 100%;\n  }\n`;\n\nconst FeaturesDiv = styled.div`\n  ul {\n    list-style-type: none;\n    padding: 6px 0 10px 20px;\n    margin-top: -30px;\n\n    li {\n      position: relative;\n      font-size: 22px;\n      font-weight: 500;\n      margin-bottom: 18px;\n\n      &::before {\n        background-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%2336B37E' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n        content: '';\n        display: inline-block;\n        position: absolute;\n        left: -20px;\n        top: 11px;\n        height: 13px;\n        width: 13px;\n      }\n    }\n  }\n`;\n","import { N40, N600, N700 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LayoutDeveloperModeType } from '../../../../../model/side-information-component';\n\nexport function LayoutDeveloperMode({\n  showListContent,\n  productListMsg,\n  isSideInfoHeader,\n  sideInfoHeaderMsg,\n  isMobile,\n  isEdition,\n  edition\n}: LayoutDeveloperModeType) {\n  return (\n    <DeveloperModeLayout>\n      {isSideInfoHeader && (\n        <ProductHeading>\n          <SanitizedFormattedHtmlMessage {...sideInfoHeaderMsg} />\n        </ProductHeading>\n      )}\n\n      {!isMobile && (\n        <LogoAndEdition>\n          {isEdition && <Edition>{edition}</Edition>}\n        </LogoAndEdition>\n      )}\n\n      {showListContent && (\n        <FeaturesDiv>\n          <SanitizedFormattedHtmlMessage {...productListMsg} />\n        </FeaturesDiv>\n      )}\n    </DeveloperModeLayout>\n  );\n}\n\nconst DeveloperModeLayout = styled.div`\n  font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n    Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  color: ${N600};\n`;\n\nconst ProductHeading = styled.div`\n  font-size: 40px;\n  font-weight: 500;\n  max-width: 360px;\n  line-height: 42px;\n`;\n\nconst LogoAndEdition = styled.div`\n  position: relative;\n  margin-bottom: 24px;\n  padding-bottom: 4px;\n  border-bottom: 1px solid ${N40};\n`;\n\nconst Edition = styled.div`\n  font-weight: 500;\n  font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n    Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  font-style: normal;\n  letter-spacing: 0.3px;\n  margin-top: 20px;\n  color: ${N700};\n  font-size: 1.5rem;\n  line-height: 1.33333333;\n`;\n\nconst FeaturesDiv = styled.div`\n  ul {\n    list-style-type: none;\n    padding: 6px 0 10px 20px;\n\n    li {\n      position: relative;\n      font-size: 22px;\n      font-weight: 500;\n      margin-bottom: 11px;\n\n      &::before {\n        background-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%2336B37E' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n        content: '';\n        display: inline-block;\n        position: absolute;\n        left: -20px;\n        top: 11px;\n        height: 13px;\n        width: 13px;\n      }\n    }\n  }\n`;\n","import { N400 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FirstImpressions } from '../../../../../model/side-information-component';\n\nexport const LayoutFirstImpressions = ({\n  className,\n  productListMsg,\n  socialProof\n}: FirstImpressions) => {\n  const showSocialProofImage = socialProof.imgUrl && socialProof.imgUrl.length;\n  return (\n    <Root className={className}>\n      <HeroImage src={socialProof.heroUrl} />\n      <SocialProofText addBottomMargin={!showSocialProofImage}>\n        {socialProof.text}\n      </SocialProofText>\n      {showSocialProofImage && <SocialProofImage src={socialProof.imgUrl} />}\n      <FeatureList>\n        <SanitizedFormattedHtmlMessage {...productListMsg} />\n      </FeatureList>\n    </Root>\n  );\n};\n\nconst Root = styled.div`\n  display: flex;\n  flex-direction: column;\n  font-size: 16px;\n`;\nconst HeroImage = styled.img`\n  object-fit: contain;\n  width: 100%;\n  height: 100%;\n`;\n\nconst FeatureList = styled.div`\n  margin: 0 auto;\n\n  & ul {\n    color: ${N400};\n    font-weight: 100;\n    font-size: clamp(1em, 2.5vw, 1.5em);\n    list-style-type: none;\n    margin: 0;\n    padding-inline-start: 20px;\n  }\n\n  & li {\n    font-size: 16px;\n    margin: 8px 0;\n    line-height: 1.5;\n    list-style-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%230049B0' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n  }\n\n  & p {\n    color: ${N400};\n    font-weight: 100;\n    font-size: 14px;\n  }\n`;\n\nconst SocialProofImage = styled.img`\n  width: 100%;\n`;\n\ntype SocialProofTextProps = {\n  readonly addBottomMargin: boolean;\n};\nconst SocialProofText = styled.p<SocialProofTextProps>`\n  width: 100%;\n  margin: ${(props) => (props.addBottomMargin ? '0 0 16px 0' : '0 0 0 0')};\n  text-align: center;\n  font-size: 1.25em;\n  line-height: 1.1;\n`;\n","import { getIsBundleDevops } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport { isEmpty, map } from 'lodash';\nimport React from 'react';\nimport { SideInformationComponentProps } from '../../../../model/side-information-component';\nimport { Logo } from './component';\nimport {\n  LayoutDefault,\n  LayoutDeveloperMode,\n  LayoutDevops,\n  LayoutFirstImpressions\n} from './container';\n\nexport default function SideInformationComponent({\n  layout = 'default',\n  isLoading,\n  productKeys,\n  edition,\n  isExistingSiteFormShown,\n  trialDurationExistingSite,\n  trialDurationNewSite,\n  featuresList,\n  imgSource,\n  isMobile,\n  sideInfoHeader,\n  hideLogoContent,\n  logoColor,\n  socialProof,\n  userInfo,\n  analyticsTrack,\n  switchUserInfo\n}: SideInformationComponentProps) {\n  const isSideInfoHeader =\n    !isEmpty(sideInfoHeader) && sideInfoHeader.length > 0;\n  const showListContent = !isEmpty(featuresList);\n  const isEdition = !isEmpty(edition);\n  const trialTime = isExistingSiteFormShown\n    ? trialDurationExistingSite\n    : trialDurationNewSite;\n  const isTrialTime = !isEmpty(trialTime);\n  const devopsLogo = [\n    Logo({\n      layout,\n      logoColor,\n      product: {\n        product: 'devops',\n        imgSource: '',\n        edition: '',\n        serverDownloadContent: ''\n      }\n    })\n  ];\n  const logo = map(productKeys, (key) =>\n    Logo({\n      layout,\n      logoColor,\n      product: key\n    })\n  );\n  const isDevopsBundle = getIsBundleDevops(productKeys);\n\n  const productListMsg = {\n    id: 'sideInfoComponent.productListMessage',\n    defaultMessage: featuresList\n  };\n  const sideInfoHeaderMsg = {\n    id: 'sideInfoComponent.productHeading',\n    defaultMessage: sideInfoHeader\n  };\n\n  const layoutDefault = () => {\n    return (\n      <LayoutDefault\n        isMobile={isMobile}\n        isLoading={isLoading}\n        logo={logo}\n        isEdition={isEdition}\n        edition={edition}\n        isTrialTime={isTrialTime}\n        trialTime={trialTime}\n        showListContent={showListContent}\n        productListMsg={productListMsg}\n        imgSource={imgSource}\n      />\n    );\n  };\n\n  const layoutDevops = () => {\n    return (\n      <LayoutDevops\n        isMobile={isMobile}\n        logo={isDevopsBundle ? devopsLogo : logo}\n        logoColor={logoColor}\n        showListContent={showListContent}\n        productListMsg={productListMsg}\n        isSideInfoHeader={isSideInfoHeader}\n        sideInfoHeaderMsg={sideInfoHeaderMsg}\n        hideLogoContent={hideLogoContent}\n        userInfo={userInfo}\n        analyticsTrack={analyticsTrack}\n        switchUserInfo={switchUserInfo}\n        showMultiProduct={!isDevopsBundle}\n      />\n    );\n  };\n\n  const layoutDeveloperMode = () => {\n    return (\n      <LayoutDeveloperMode\n        isMobile={isMobile}\n        logo={logo}\n        showListContent={showListContent}\n        productListMsg={productListMsg}\n        isSideInfoHeader={isSideInfoHeader}\n        sideInfoHeaderMsg={sideInfoHeaderMsg}\n        isEdition={isEdition}\n        edition={edition}\n      />\n    );\n  };\n\n  const layoutFirstImpression = () => {\n    if (!socialProof) {\n      throw new Error('socialProof is null or undefined');\n    }\n\n    return (\n      <LayoutFirstImpressions\n        socialProof={socialProof}\n        productListMsg={productListMsg}\n      />\n    );\n  };\n\n  return (\n    <Root>\n      <InfoComponent>\n        {(() => {\n          switch (layout) {\n            case 'none':\n              return <></>;\n            case 'devops':\n              return layoutDevops();\n            case 'developer-mode':\n              return layoutDeveloperMode();\n            case 'first-impressions':\n              return layoutFirstImpression();\n            case 'default':\n            default:\n              return layoutDefault();\n          }\n        })()}\n      </InfoComponent>\n    </Root>\n  );\n}\n\nconst Root = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n  max-width: 700px;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst InfoComponent = styled.div`\n  width: 100%;\n`;\n","import React from 'react';\n\nexport const AppleLogo = () => (\n  <svg aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 170 170\">\n    <path d=\"M150.37 130.25c-2.45 5.66-5.35 10.87-8.71 15.66-4.58 6.53-8.33 11.05-11.22 13.56-4.48 4.12-9.28 6.23-14.42 6.35-3.69 0-8.14-1.05-13.32-3.18-5.197-2.12-9.973-3.17-14.34-3.17-4.58 0-9.492 1.05-14.746 3.17-5.262 2.13-9.501 3.24-12.742 3.35-4.929.21-9.842-1.96-14.746-6.52-3.13-2.73-7.045-7.41-11.735-14.04-5.032-7.08-9.169-15.29-12.41-24.65-3.471-10.11-5.211-19.9-5.211-29.378 0-10.857 2.346-20.221 7.045-28.068 3.693-6.303 8.606-11.275 14.755-14.925s12.793-5.51 19.948-5.629c3.915 0 9.049 1.211 15.429 3.591 6.362 2.388 10.447 3.599 12.238 3.599 1.339 0 5.877-1.416 13.57-4.239 7.275-2.618 13.415-3.702 18.445-3.275 13.63 1.1 23.87 6.473 30.68 16.153-12.19 7.386-18.22 17.731-18.1 31.002.11 10.337 3.86 18.939 11.23 25.769 3.34 3.17 7.07 5.62 11.22 7.36-.9 2.61-1.85 5.11-2.86 7.51zM119.11 7.24c0 8.102-2.96 15.667-8.86 22.669-7.12 8.324-15.732 13.134-25.071 12.375a25.222 25.222 0 0 1-.188-3.07c0-7.778 3.386-16.102 9.399-22.908 3.002-3.446 6.82-6.311 11.45-8.597 4.62-2.252 8.99-3.497 13.1-3.71.12 1.083.17 2.166.17 3.24z\" />\n  </svg>\n);\n\nexport const GoogleLogo = () => (\n  <svg aria-hidden=\"true\" viewBox=\"0 0 18 18\">\n    <path\n      d=\"M17.64 9.205c0-.639-.057-1.252-.164-1.841H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z\"\n      fill=\"#4285F4\"\n    />\n    <path\n      d=\"M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z\"\n      fill=\"#34A853\"\n    />\n    <path\n      d=\"M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.996 8.996 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z\"\n      fill=\"#FBBC05\"\n    />\n    <path\n      d=\"M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 7.29C4.672 5.163 6.656 3.58 9 3.58Z\"\n      fill=\"#EA4335\"\n    />\n  </svg>\n);\n\nexport const MicrosoftLogo = () => (\n  <svg aria-hidden=\"true\" viewBox=\"0 0 21 21\">\n    <path fill=\"#f25022\" d=\"M1 1h9v9H1z\" />\n    <path fill=\"#00a4ef\" d=\"M1 11h9v9H1z\" />\n    <path fill=\"#7fba00\" d=\"M11 1h9v9h-9z\" />\n    <path fill=\"#ffb900\" d=\"M11 11h9v9h-9z\" />\n  </svg>\n);\n\nexport const SlackLogo = () => (\n  <svg aria-hidden=\"true\" viewBox=\"70 70 130 130\">\n    <path\n      d=\"M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z\"\n      fill=\"#e01e5a\"\n    />\n    <path\n      d=\"M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9,s-12.9-5.8-12.9-12.9V151.2z\"\n      fill=\"#e01e5a\"\n    />\n    <path\n      d=\"M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z\"\n      fill=\"#36c5f0\"\n    />\n    <path\n      d=\"M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9,s5.8-12.9,12.9-12.9H118.8z\"\n      fill=\"#36c5f0\"\n    />\n    <path\n      d=\"M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z\"\n      fill=\"#2eb67d\"\n    />\n    <path\n      d=\"M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9,c7.1,0,12.9,5.8,12.9,12.9V118.8z\"\n      fill=\"#2eb67d\"\n    />\n    <path\n      d=\"M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z\"\n      fill=\"#ecb22e\"\n    />\n    <path\n      d=\"M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9,c0,7.1-5.8,12.9-12.9,12.9H151.2z\"\n      fill=\"#ecb22e\"\n    />\n  </svg>\n);\n","import {\n  B300,\n  B400,\n  G300,\n  N900,\n  R400,\n  R500,\n  N800\n} from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\n\nexport const MOBILE_BREAKPOINT = '450px';\nexport const TABLET_BREAKPOINT = '768px';\n\nexport const SPACING_UNIT = 8;\n\nexport const fontCharlieText = `\"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif`;\nexport const fontCharlieDisplay = `\"Charlie Display\", \"Charlie Text\", -apple-system, BlinkMacSystemFont,\"Segoe UI\", Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif`;\n\nexport const FormContainer = styled.div`\n  width: 100%;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n\nexport const FieldWrapper = styled.div<{\n  isDisabled?: boolean;\n  validationState?: string;\n}>`\n  position: relative; // needed?\n  margin: 0;\n  padding: 0;\n\n  input {\n    height: 20px;\n    box-sizing: content-box;\n  }\n\n  > div {\n    transition: all 0.1s linear 0s;\n    opacity: ${({ isDisabled }) => (isDisabled ? 0.4 : 1)};\n    ${({ validationState }) =>\n      validationState === 'success' && ` border-color:${G300} !important`};\n    ${({ validationState }) =>\n      validationState === 'error' && ` border-color:${R400} !important`};\n  }\n`;\n\nconst ErrorLinkStyles = css`\n  text-decoration: none;\n  color: ${B400};\n\n  &:hover {\n    text-decoration: underline;\n    color: ${B300};\n  }\n`;\n\nexport const ErrorMessage = styled.div`\n  font-size: 0.875rem;\n  font-weight: 400;\n  margin: 16px 0;\n  font-size: 12px;\n  line-height: 12px;\n  display: grid;\n  justify-items: flex-start;\n  align-items: start;\n  width: 100%;\n  margin: 0;\n  z-index: 9; // ??\n  color: ${N900};\n  background: transparent !important;\n\n  & > div {\n    display: flex;\n  }\n\n  span {\n    margin-top: 6px;\n    color: ${R400};\n  }\n\n  a {\n    ${ErrorLinkStyles}\n  }\n`;\nexport const SubmitErrorMessage = styled.div`\n  background: transparent !important;\n  color: ${R500};\n  font-family: ${fontCharlieText};\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 1.22222222;\n  margin-top: 8px;\n\n  a {\n    ${ErrorLinkStyles}\n  }\n`;\n\nexport const ParagraphOversized = styled.p`\n  color: ${N800};\n  font-family: ${fontCharlieText};\n  font-size: 16px;\n  font-weight: 400;\n  letter-spacing: 0.3px;\n  line-height: 1.5;\n  margin: 0px;\n\n  & + & {\n    margin-top: 12px;\n  }\n\n  @media (min-width: ${TABLET_BREAKPOINT}) {\n    font-family: ${fontCharlieDisplay};\n    font-size: 20px;\n    line-height: 1.4;\n  }\n`;\n","import React from 'react';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { N500 } from '@atlaskit/theme/colors';\nimport {\n  Environment,\n  ENV_PRODUCTION,\n  ENV_STAGING\n} from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport styled from '@emotion/styled';\n\nimport {\n  AppleLogo,\n  GoogleLogo,\n  MicrosoftLogo,\n  SlackLogo\n} from '../../utility/social-logos';\nimport { fontCharlieText } from '../styled';\n\ntype SocialSignUpButtonProps = {\n  buttonId?: string;\n  buttonText: string | JSX.Element;\n  provider: 'google' | 'microsoft' | 'apple' | 'slack';\n  redirectUrl?: string;\n};\n\nexport function SocialSignUpButton({\n  buttonId,\n  buttonText,\n  provider,\n  redirectUrl\n}: SocialSignUpButtonProps) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const metadataId = `wac-signup-${provider}`;\n\n  function getLoginOrigin(): string {\n    const originTracingOptions: { product: string; id?: string } = {\n      product: metadataId\n    };\n    const env = Environment.getEnvironment();\n    if (env !== ENV_PRODUCTION && env !== ENV_STAGING) {\n      originTracingOptions.id = 'static-uuid-for-testing';\n    }\n    const loginOrigin = new OriginTracing({ ...originTracingOptions });\n    return loginOrigin.encode();\n  }\n\n  const continueUrl = redirectUrl\n    ? new URL(redirectUrl)\n    : new URL(window.location.href);\n\n  continueUrl.searchParams.append('social-signup-login', 'true');\n  continueUrl.searchParams.append('provider', provider);\n\n  const params = new URLSearchParams({\n    application: 'wac',\n    continue: continueUrl.href,\n    prompt: 'select_account',\n    atlOrigin: encodeURIComponent(getLoginOrigin())\n  });\n\n  const urlSocialSignUpContinue = `${Environment.getIdentityBaseUrl()}/login/initiate/${provider}?${params}`;\n\n  const analyticsCallback = () => {\n    createAnalyticsEvent({\n      eventName: metadataId,\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n  };\n\n  const renderProviderLogo = (\n    provider: SocialSignUpButtonProps['provider']\n  ) => {\n    switch (provider) {\n      case 'google':\n        return <GoogleLogo />;\n      case 'microsoft':\n        return <MicrosoftLogo />;\n      case 'apple':\n        return <AppleLogo />;\n      case 'slack':\n        return <SlackLogo />;\n    }\n  };\n\n  return (\n    <SocialButton\n      href={urlSocialSignUpContinue}\n      onClick={analyticsCallback}\n      id={buttonId}\n      data-testid={`simple-signup-${provider}-sign-in-button`}\n      className=\"social-signup-button\"\n    >\n      {renderProviderLogo(provider)}\n      {buttonText}\n    </SocialButton>\n  );\n}\n\nconst SocialButton = styled.a`\n  text-decoration: none;\n  height: 39px;\n  width: 100%;\n  border-radius: 3px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n  background-color: #fff;\n  gap: 0.5rem;\n  margin: 0px 0px 16px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${fontCharlieText};\n  font-style: normal;\n\n  &:focus,\n  &:hover {\n    background-color: #f9fafc;\n    color: ${N500};\n    text-decoration: none;\n  }\n\n  &:focus-visible {\n    outline-offset: 1px;\n  }\n\n  svg {\n    display: block;\n    width: 18px;\n    height: 18px;\n    margin-bottom: 0; // override Magnolia styles\n  }\n`;\n","import { defineMessagesSimple } from '@atlassiansox/bxpkit-core';\n\nconst ID_PREFIX = 'WacSignupForm';\n\nexport const messages = defineMessagesSimple(ID_PREFIX, {\n  socialSignUpOr: 'OR',\n  socialSignUpOrSignUpWith: 'Or sign up with',\n  loggedOutHeader: 'Get Started',\n  loggedOutSubHeader: 'Free for up to 10 users'\n});\n","import { Environment, Url } from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedHTMLMessage, FormattedMessage } from 'react-intl';\nimport { SocialSignonButtonOptionsType } from '../../../../../model';\nimport { SocialSignUpButton as SocialSignUpButtonLegacy } from '../../social-sign-up-button';\nimport { SocialSignUpButton } from '../../../../../layouts/simple-signup-screen/simple-signup-form-view/component/social-sign-up-button';\nimport { messages } from '../messages';\nimport { useSignUpFormConfig } from '../../../../../hook';\nimport { useAppSelector } from '../../../../../redux';\nimport { N60, N500, N400, N90, B400 } from '@atlaskit/theme/colors';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { messages as signupMessages } from '../../../../../messages/sign-up-form';\n\n/**\n * Render social signup buttons\n */\n\nexport function SignupButtons({\n  analyticsTrack,\n  isEmailSignupSelected,\n  setIsEmailSignupSelected,\n  allowSignupWithAllSocialOptions\n}: SocialSignonButtonOptionsType) {\n  const { segment } = analyticsTrack;\n  const trySignupOrigin = new OriginTracing({ product: 'wac-try-signup' });\n  const loginGoogleOrigin = new OriginTracing({ product: 'wac-signup-google' });\n\n  const signUpFormConfig = useSignUpFormConfig();\n  const queryParameters = Url.getUrlParams() || {};\n\n  const continueUrl = new URL(window.location.href).pathname;\n\n  const urlGoogleSignupContinue = Environment.getSocialSignUpUrl({\n    loginGoogleOrigin: loginGoogleOrigin.encode(),\n    socialContinueUrl: continueUrl || '',\n    ...signUpFormConfig,\n    continueUrlOverride: queryParameters['continue'] || undefined\n  });\n\n  const isConfluenceInBundle = signUpFormConfig?.bundle?.includes('confluence');\n  const isConfluenceProduct =\n    signUpFormConfig?.product === 'confluence.ondemand';\n  const isConfluence = isConfluenceInBundle || isConfluenceProduct;\n\n  const { enableDefaultExpandedEmail } = useAppSelector(\n    (state) => state.featureFlags\n  );\n\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  if (allowSignupWithAllSocialOptions && !isConfluence) {\n    const redirectUrl = window.location.href;\n    return (\n      <SocialButtonsGridWrapper>\n        <div className=\"long-dash-wrapper\">\n          <span aria-hidden />\n          <FormattedMessage\n            {...messages.socialSignUpOrSignUpWith}\n            tagName=\"p\"\n          />\n          <span aria-hidden />\n        </div>\n        <div>\n          <SocialSignUpButton\n            buttonText=\"Google\"\n            provider=\"google\"\n            redirectUrl={redirectUrl}\n          />\n          <SocialSignUpButton\n            buttonText=\"Microsoft\"\n            provider=\"microsoft\"\n            redirectUrl={redirectUrl}\n          />\n          <SocialSignUpButton\n            buttonText=\"Apple\"\n            provider=\"apple\"\n            redirectUrl={redirectUrl}\n          />\n          <SocialSignUpButton\n            buttonText=\"Slack\"\n            provider=\"slack\"\n            redirectUrl={redirectUrl}\n          />\n        </div>\n      </SocialButtonsGridWrapper>\n    );\n  }\n\n  return (\n    <div>\n      {isConfluence && (\n        <DividerChooseSignup>\n          <FormattedMessage {...messages.socialSignUpOr} />\n        </DividerChooseSignup>\n      )}\n      <SocialSignUpButtonLegacy\n        buttonType=\"google\"\n        className=\"social-signup-button google\"\n        href={urlGoogleSignupContinue}\n        onClick={() => {\n          segment(\n            'wac-signup-google',\n            loginGoogleOrigin.toAnalyticsAttributes({ hasGeneratedId: true })\n          );\n        }}\n      />\n\n      {isConfluence &&\n        !signUpFormConfig.experimentScreensFlags\n          ?.enableSlackPromoConfluence && (\n          <LoginButton\n            onClick={() => {\n              createAnalyticsEvent({\n                event: 'buttonClicked',\n                eventName: 'loginButtonClicked',\n                eventType: 'UI',\n                eventComponent: 'signup',\n                eventColumn: 'signUp'\n              }).fire();\n            }}\n          >\n            <FormattedHTMLMessage {...signupMessages.loginChooseSignup} />\n          </LoginButton>\n        )}\n      {!isConfluence &&\n        (enableDefaultExpandedEmail ? (\n          <DividerDefaultExpandedEmail>\n            <Leftline />\n            <FormattedMessage {...messages.socialSignUpOr} />\n            <Rightline />\n          </DividerDefaultExpandedEmail>\n        ) : (\n          <Divider>\n            <Leftline />\n            <FormattedMessage {...messages.socialSignUpOr} />\n            <Rightline />\n          </Divider>\n        ))}\n\n      {!enableDefaultExpandedEmail && !isEmailSignupSelected && !isConfluence && (\n        <SocialSignUpButtonLegacy\n          buttonType=\"\"\n          className={'social-signup-button email'}\n          onClick={() => {\n            if (setIsEmailSignupSelected) {\n              setIsEmailSignupSelected(true);\n            }\n            segment(\n              'wac-try-signup',\n              trySignupOrigin.toAnalyticsAttributes({ hasGeneratedId: true })\n            );\n          }}\n        />\n      )}\n    </div>\n  );\n}\n\nconst text =\n  \"Charlie Text, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst Divider = styled.div`\n  font-family: ${text};\n  margin-bottom: 20px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: #42526e;\n  font-size: 14px;\n  font-weight: 500;\n  text-transform: uppercase;\n`;\nconst DividerDefaultExpandedEmail = styled.div`\n  font-family: ${text};\n  margin-bottom: 8px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: #42526e;\n  font-size: 14px;\n  font-weight: 500;\n  text-transform: uppercase;\n`;\n\nconst DividerChooseSignup = styled.div`\n  font-family: ${text};\n  margin-bottom: 40px;\n  margin-top: 40px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N400};\n  font-size: 14px;\n  font-weight: 600;\n  line-height: 18px;\n  text-transform: uppercase;\n`;\n\nconst Leftline = styled.div`\n  border-bottom: 1px solid #d8d8d8;\n  width: 31px;\n  margin-right: 8px;\n`;\nconst Rightline = styled.div`\n  border-bottom: 1px solid #d8d8d8;\n  width: 31px;\n  margin-left: 8px;\n`;\n\nconst SocialButtonsGridWrapper = styled.div`\n  padding-bottom: 68px;\n\n  a {\n    color: ${N500};\n    font-weight: 400;\n    margin-bottom: 0;\n\n    + a {\n      margin-top: 12px;\n    }\n  }\n\n  .long-dash-wrapper {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin: 24px 0;\n\n    p {\n      font-family: ${text};\n      font-size: 16px;\n      line-height: 1.5;\n      margin: 0;\n    }\n\n    span {\n      border-bottom: 1px solid ${N60};\n      margin: 4px 12px 0;\n      width: 33px;\n    }\n  }\n`;\nconst LoginButton = styled.div`\n  width: 100%;\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 18px;\n  font-family: 'Charlie Text';\n  text-align: center;\n  margin-top: 60px;\n  color: ${N90};\n  a {\n    color: ${B400};\n    text-decoration: none;\n    cursor: pointer;\n  }\n`;\n","import Spinner from '@atlaskit/spinner';\nimport { Environment, Storage, Url } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { SocialSignupOptionsType } from '../../../../../model/wac-signup-layout';\nimport { SocialSignUpView } from '../../social-sign-up';\n\n/**\n * Social signin component that renders\n * when a user is returning from a social signup\n *\n * Will render social-signin if  showSocialSignupForm is\n * enabled, and if the user is logged in. Otherwise, will render\n * children components\n */\n\nexport const SocialSignup: React.FC<SocialSignupOptionsType> = ({\n  locale,\n  userInfo,\n  productKeys,\n  analyticsTrack,\n  loadingImageSrc,\n  errorImageSrc,\n  showSocialSignupForm,\n  children,\n  siteRenamePageUrl,\n  templateId\n}) => {\n  const [renderSocialSignup, setRenderSocialSignup] = useState(\n    !!(showSocialSignupForm && userInfo?.isLoggedIn)\n  );\n\n  useEffect(() => {\n    setRenderSocialSignup(!!(showSocialSignupForm && userInfo?.isLoggedIn));\n  }, [userInfo]);\n\n  const queryParameters = Url.getUrlParams() || {};\n\n  // If this is the signup form and there is session stored userInfo, we remove it\n  const socialSignupInfo = JSON.parse(\n    window.atob(Storage.getSessionStorage('social-signup') || '') || '{}'\n  );\n  if (\n    socialSignupInfo &&\n    !showSocialSignupForm &&\n    !_.isEqual(userInfo, socialSignupInfo?.userInfo)\n  ) {\n    Storage.removeSessionStorage('social-signup');\n  }\n\n  if (!userInfo && showSocialSignupForm) {\n    // knowing that showSocialSignupForm is enabled,\n    // defer showing anything until logged in state is available\n    return (\n      <SpinnerWrapper>\n        <Spinner size=\"large\" />\n      </SpinnerWrapper>\n    );\n  }\n\n  return renderSocialSignup ? (\n    <SocialSignUpView\n      loadingImageUrl={loadingImageSrc}\n      productKeys={productKeys}\n      userInfo={userInfo}\n      locale={_.get(locale, 'locale')}\n      isStaging={!Environment.isProduction()}\n      wacEnvUrl={Environment.getWacIntegrationUrl()}\n      devMode={queryParameters.hasOwnProperty('developer')}\n      analyticsTrack={analyticsTrack}\n      setShowSignupForm={(val: boolean) => {\n        // tslint:disable-next-line:no-console\n        console.log(val);\n      }}\n      setShowSocialSignupForm={setRenderSocialSignup}\n      tryAgainErrorUrl={Environment.getIdentityBaseUrl()}\n      errorImageSrc={errorImageSrc}\n      siteRenamePageUrl={siteRenamePageUrl}\n      templateId={templateId}\n    />\n  ) : (\n    <>{children}</>\n  );\n};\n\nconst SpinnerWrapper = styled.div`\n  width: 100%;\n  height: 100%;\n  min-height: 500px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n","import { getIsBundleBbJsw, Url } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { SideInfoOptionsType } from '../../../../../model';\nimport { useSignUpFormConfig } from '../../../../../hook';\nimport {\n  Layout,\n  SideInformationComponent\n} from '../../side-information-component';\nimport {\n  FREE_EDITION_LABEL_KEY,\n  getEditionLabels,\n  getFeaturesList,\n  getSideInfoHeader,\n  getTrialDurationExistingSiteLabel,\n  getTrialDurationNewSiteLabel\n} from '../../utility/sign-up-layout-container';\n\n/**\n * Obtain required data (aside from what's provided\n * by props), & render side-information-component component\n */\n\nexport function SideInfo({\n  labels,\n  userInfo,\n  productKeys,\n  analyticsTrack,\n  migrationData,\n  isMigrationSignup,\n  formExistingSiteShown\n}: SideInfoOptionsType) {\n  let layout: Layout = 'default';\n\n  const queryParameters = Url.getUrlParams() || {};\n  const developerMode = queryParameters.hasOwnProperty('developer');\n  const sideInfoHeaderLabel = getSideInfoHeader({\n    labels,\n    productKeys,\n    developerMode\n  });\n  // currently, only BB/JSW bundle is a devops layout\n  if (getIsBundleBbJsw(productKeys)) {\n    layout = 'devops';\n  }\n\n  if (developerMode) {\n    layout = 'developer-mode';\n  }\n\n  const { edition: editionOverride } = useSignUpFormConfig();\n\n  const sanitizedProps = productKeys.map((product) => {\n    const { product: productKey, imgSource = '', edition } = product;\n    const { editionLabel } = getEditionLabels({\n      productKey,\n      edition: editionOverride ? editionOverride : edition\n    });\n    const isFree = product.edition === FREE_EDITION_LABEL_KEY.toLowerCase();\n    const trialDurationExistingSiteLabel =\n      isFree || migrationData\n        ? ''\n        : getTrialDurationExistingSiteLabel({ productKey, labels });\n    const trialDurationNewSiteLabel =\n      isFree || migrationData\n        ? ''\n        : getTrialDurationNewSiteLabel({ productKey, labels });\n    const isExistingFormShown = formExistingSiteShown\n      ? !!(userInfo && userInfo.email)\n      : formExistingSiteShown;\n\n    // setting featuresListEditionLabelKey to 'free' to fix BXPSU-348.\n    // forcing the edition to 'free' at this getFeaturesList() call\n    //   makes feature list copy the same for all editions in the \"default\"\n    //   sign up layout.\n    const featuresList = getFeaturesList({\n      labels,\n      productKey,\n      products: productKeys,\n      featuresListEditionLabelKey: 'free',\n      migrationData,\n      developerMode\n    });\n\n    return {\n      layout,\n      isLoading: isMigrationSignup && !migrationData,\n      imgSource,\n      edition: editionLabel,\n      featuresList,\n      sideInfoHeader: sideInfoHeaderLabel,\n      trialDurationExistingSite: trialDurationExistingSiteLabel,\n      trialDurationNewSite: trialDurationNewSiteLabel,\n      isExistingSiteFormShown: isExistingFormShown,\n      productKeys,\n      key: productKey,\n      analyticsTrack,\n      isMobile: false\n    };\n  });\n\n  return <SideInformationComponent {...sanitizedProps[0]} />;\n}\n","import Spinner from '@atlaskit/spinner';\nimport {\n  AsyncResult,\n  Environment,\n  getIsBitbucket,\n  RECAPTCHA_KEY,\n  Url,\n  useBitbucketWorkspaces\n} from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { SignupButtons } from '.';\nimport { SignupOptionsType } from '../../../../../model';\nimport { SignupLayoutAnalytics } from '../../../../../service';\nimport { SignUpFormView } from '../../sign-up-form';\nimport {\n  BITBUCKET,\n  onProductsRequireSitename\n} from '../../utility/sign-up-layout-container';\n\nimport { SignUpFormUIStateProvider } from '../../../../../hook';\nimport { useAppSelector } from '../../../../../redux';\nimport { useOrgInfo } from '../../../../../hook/use-org-info';\n\n/**\n * Obtains required data (aside from what's provided\n * by props), & render wac-signup-form component\n */\n\nexport function Signup({\n  productKeys,\n  userInfo,\n  locale,\n  migrationData,\n  isMigrationSignup,\n  analyticsTrack,\n  setFormExistingSiteShown,\n  allowEnableAutogenSiteName,\n  allowSignupWithGoogle,\n  allowSignupWithAllSocialOptions,\n  enableFreeBreachTest,\n  enableFieldProgression,\n  fadeOnDisable,\n  popOverError,\n  outlineOnFocus,\n  showWarningIcon,\n  hideCaptchaEula,\n  enableResendEmail,\n  enableCarouselEndCard,\n  firstImpressionsImageUrls,\n  siteRenamePageUrl,\n  enableSkipRecaptcha,\n  hideGreeting = false\n}: SignupOptionsType) {\n  if (!userInfo || (isMigrationSignup && !migrationData)) {\n    return (\n      <SpinnerWrapper>\n        <Spinner size=\"large\" />\n      </SpinnerWrapper>\n    );\n  }\n\n  const [bbWorkspaces, setBbWorkspaces] = useState<any>();\n  const isBitbucket = getIsBitbucket(productKeys);\n  const makeRequest =\n    !isBitbucket &&\n    !!(\n      !!userInfo.hasBitbucket &&\n      userInfo?.email &&\n      productKeys.some(({ product }) =>\n        product.includes(BITBUCKET.toLowerCase())\n      )\n    );\n  const bbWorkspacesAsync = useBitbucketWorkspaces({ makeRequest });\n  const useSigninButtons =\n    allowSignupWithGoogle && // prop\n    !onProductsRequireSitename(productKeys) && // non-approved social signup bundle\n    !_.get(userInfo, 'isLoggedIn'); // N2N only\n  const { enableDefaultExpandedEmail } = useAppSelector(\n    (state) => state.featureFlags\n  );\n\n  const [isEmailSignupSelected, setIsEmailSignupSelected] = useState(false);\n\n  useEffect(() => {\n    if (!bbWorkspacesAsync || AsyncResult.isPending(bbWorkspacesAsync)) {\n      return;\n    }\n    const bbData = bbWorkspacesAsync.catch(() => null).value;\n    if (bbData) {\n      analytics.trackBbSignupPerf();\n      const { values, size } = bbData;\n      setBbWorkspaces({ size, values });\n    }\n  }, [bbWorkspacesAsync]);\n\n  let userOrgInfo = null;\n  if (isBitbucket) {\n    userOrgInfo = useOrgInfo({\n      includeOrgResponse: true,\n      includeVortexMode: true\n    });\n\n    // continue rendering the spinner until the fetch completes\n    if (!userOrgInfo.completed) {\n      return (\n        <SpinnerWrapper>\n          <Spinner size=\"large\" />\n        </SpinnerWrapper>\n      );\n    }\n  }\n\n  const analytics = new SignupLayoutAnalytics({\n    analyticsTrack,\n    isLoggedIn: userInfo?.isLoggedIn || false\n  });\n  const { signInAccountUrl, switchAccountUrl, originAnalyticsAttributes } =\n    analytics;\n\n  const queryParameters = Url.getUrlParams() || {};\n  const templateId = queryParameters.hasOwnProperty('templateId')\n    ? queryParameters.templateId\n    : null;\n  const teamType = queryParameters.hasOwnProperty('team_type')\n    ? queryParameters.team_type\n    : null;\n  const deferSiteNameCreation =\n    !(userInfo && userInfo.isLoggedIn) ||\n    (allowEnableAutogenSiteName &&\n      !(userInfo && userInfo.isLoggedIn) &&\n      !onProductsRequireSitename(productKeys));\n\n  const hideCaptcha = allowSignupWithAllSocialOptions || !!hideCaptchaEula;\n\n  const isConfluence =\n    (productKeys ?? []).filter((item) => item.product.includes('confluence'))\n      .length > 0;\n\n  const signUpFormProps = {\n    productKeys,\n    templateId,\n    showEmail: true,\n    hideFullName: _.get(userInfo, 'isLoggedIn', false),\n    userInfo,\n    reCaptchaKey: RECAPTCHA_KEY,\n    devMode: queryParameters.hasOwnProperty('developer'),\n    marketingConsentRequired: _.get(\n      locale,\n      'localeRequiresMarketingCommunicationOptIn'\n    ),\n    locale: _.get(locale, 'locale'),\n    migrationData: migrationData || undefined,\n    isStaging: Environment.isStaging(),\n    signInAccountUrl,\n    switchAccountUrl: switchAccountUrl,\n    originAnalyticsAttributes,\n    wacEnvUrl: Environment.getWacIntegrationUrl(),\n    analyticsTrack,\n    bitbucketWorkspaces: bbWorkspaces,\n    formExistingSiteShown: (val: boolean) => setFormExistingSiteShown(val),\n    deferSiteNameCreation,\n    enableFreeBreachTest,\n    enableFieldProgression,\n    fadeOnDisable,\n    popOverError,\n    outlineOnFocus,\n    showWarningIcon,\n    hideCaptchaEula: hideCaptcha,\n    enableResendEmail,\n    enableCarouselEndCard,\n    firstImpressionsImageUrls,\n    siteRenamePageUrl,\n    enableSkipRecaptcha,\n    hideGreeting,\n    allowSignupWithAllSocialOptions,\n    teamType,\n    userOrgInfo\n  };\n\n  if (useSigninButtons) {\n    if (allowSignupWithAllSocialOptions || isConfluence) {\n      return (\n        <>\n          <SignUpFormUIStateProvider signUpFormProps={signUpFormProps}>\n            <SignUpFormView {...signUpFormProps} />\n          </SignUpFormUIStateProvider>\n          <SignupButtons\n            analyticsTrack={analyticsTrack}\n            isEmailSignupSelected={isEmailSignupSelected}\n            setIsEmailSignupSelected={setIsEmailSignupSelected}\n            allowSignupWithAllSocialOptions={allowSignupWithAllSocialOptions}\n          />\n        </>\n      );\n    }\n\n    return (\n      <>\n        <SignupButtons\n          analyticsTrack={analyticsTrack}\n          isEmailSignupSelected={isEmailSignupSelected}\n          setIsEmailSignupSelected={setIsEmailSignupSelected}\n        />\n\n        {(isEmailSignupSelected || enableDefaultExpandedEmail) && (\n          <SignUpFormUIStateProvider signUpFormProps={signUpFormProps}>\n            <SignUpFormView {...signUpFormProps} />\n          </SignUpFormUIStateProvider>\n        )}\n      </>\n    );\n  }\n\n  return (\n    <SignUpFormUIStateProvider signUpFormProps={signUpFormProps}>\n      <SignUpFormView {...signUpFormProps} />\n    </SignUpFormUIStateProvider>\n  );\n}\n\nconst SpinnerWrapper = styled.div`\n  width: 100%;\n  height: 100%;\n  min-height: 260px;\n  max-width: 400px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n","import React from 'react';\nimport { SideInfoDevopsOptionsType } from '../../../../../model';\nimport {\n  Layout,\n  SideInformationComponent\n} from '../../side-information-component';\nimport {\n  FREE_EDITION_LABEL_KEY,\n  getFeaturesList\n} from '../../utility/sign-up-layout-container';\n\nexport function SideInfoDevops({\n  labels,\n  productKeys,\n  analyticsTrack,\n  formExistingSiteShown\n}: SideInfoDevopsOptionsType) {\n  const layout: Layout = 'devops';\n  const edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n\n  const featuresList = getFeaturesList({\n    labels,\n    productKey: productKeys[0].product,\n    products: productKeys,\n    featuresListEditionLabelKey: edition,\n    migrationData: undefined\n  });\n\n  return (\n    <SideInformationComponent\n      layout={layout}\n      edition={edition}\n      productKeys={productKeys}\n      hideLogoContent={true}\n      featuresList={featuresList}\n      sideInfoHeader=\"\"\n      trialDurationNewSite=\"\"\n      trialDurationExistingSite=\"\"\n      imgSource=\"\"\n      isMobile={false}\n      analyticsTrack={analyticsTrack}\n      isExistingSiteFormShown={formExistingSiteShown}\n    />\n  );\n}\n","import React from 'react';\nimport { SideInfoDevopsOptionsType } from '../../../../../model';\nimport {\n  Layout,\n  SideInformationComponent\n} from '../../side-information-component';\nimport {\n  getFeaturesList,\n  getSocialProofImageURLs,\n  getSocialProofProductLabel,\n  SOCIAL_PROOF_TEXT_KEY_PREFIX\n} from '../../utility/sign-up-layout-container';\nimport { useSignUpFormConfig } from '../../../../../hook';\nimport { FREE_EDITION_LABEL_KEY } from '../../../../../utility';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\n\nexport function SideInfoFirstImpressions({\n  labels,\n  productKeys,\n  analyticsTrack,\n  firstImpressionsImageUrls\n}: SideInfoDevopsOptionsType) {\n  const { bundle } = useSignUpFormConfig();\n  const layout: Layout = 'first-impressions';\n\n  const productKey = productKeys[0].product;\n\n  const edition = productKey.includes(ProductKey.JIRA_CORE)\n    ? productKeys[0].edition.toLowerCase()\n    : FREE_EDITION_LABEL_KEY.toLowerCase();\n\n  const productNameKey =\n    bundle === 'jira'\n      ? getSocialProofProductLabel(bundle)\n      : getSocialProofProductLabel(productKey);\n\n  const socialProofTextKey = SOCIAL_PROOF_TEXT_KEY_PREFIX + productNameKey;\n  const socialProofText = labels[socialProofTextKey];\n\n  const socialProofImageURLs =\n    bundle === 'jira'\n      ? getSocialProofImageURLs(bundle, firstImpressionsImageUrls)\n      : getSocialProofImageURLs(productKey, firstImpressionsImageUrls);\n\n  const featuresList = getFeaturesList({\n    labels,\n    productKey: productKeys[0].product,\n    products: productKeys,\n    featuresListEditionLabelKey: edition,\n    migrationData: undefined,\n    developerMode: undefined\n  });\n\n  return (\n    <SideInformationComponent\n      layout={layout}\n      edition={edition}\n      productKeys={productKeys}\n      featuresList={featuresList}\n      sideInfoHeader=\"\"\n      trialDurationNewSite=\"\"\n      trialDurationExistingSite=\"\"\n      imgSource=\"\"\n      isMobile={false}\n      analyticsTrack={analyticsTrack}\n      isExistingSiteFormShown={false}\n      socialProof={{\n        text: socialProofText,\n        imgUrl: socialProofImageURLs.logoImage,\n        heroUrl: socialProofImageURLs.heroImage\n      }}\n    />\n  );\n}\n","/**\n * SVG string, trimmed, base64'd, & exported\n */\n\nexport const HeaderBackgroundDevops = btoa(\n  `\n<svg width=\"1920\" height=\"315\" viewBox=\"0 0 1920 315\" fill=\"none\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 314.771C0 314.771 302.958 222.964 567.503 216.083C832.048 209.201 983.02 283.743 1308.62 283.743C1634.22 283.743 1920 166.402 1920 166.402V-92H0\" fill=\"url(#paint0_linear)\"/>\n  <mask id=\"mask0\" mask-type=\"alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"-92\" width=\"1920\" height=\"407\">\n  <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 314.771C0 314.771 302.958 222.964 567.503 216.083C832.048 209.201 983.02 283.743 1308.62 283.743C1634.22 283.743 1920 166.402 1920 166.402V-92H0\" fill=\"white\"/>\n  </mask>\n  <g mask=\"url(#mask0)\">\n  <g style=\"mix-blend-mode:multiply\" opacity=\"0.2\">\n  <use xlink:href=\"#image0\" transform=\"translate(-345, -122) scale(1)\" />\n  </g>\n  </g>\n  <defs>\n  \n  <linearGradient id=\"paint0_linear\" x1=\"-98.3754\" y1=\"-237.419\" x2=\"-112.304\" y2=\"318.221\" gradientUnits=\"userSpaceOnUse\">\n    <stop stop-color=\"#117DD2\"/>\n    <stop offset=\"0.197178\" stop-color=\"#117DD2\"/>\n    <stop offset=\"1\" stop-color=\"#0747A6\"/>\n  </linearGradient>\n  <svg id=\"image0\" width=\"690\" height=\"432\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 372 203\" x=\"50%\" y=\"10%\"><defs><style>.cls-1{fill:none;}.cls-2{fill:#0065ff;}.cls-3{fill:url(#linear-gradient);}.cls-4{fill:url(#linear-gradient-2);}.cls-5{fill:#deebff;}.cls-6{fill:#fff;}.cls-7{fill:#2684ff;}</style><linearGradient id=\"linear-gradient\" x1=\"186\" y1=\"57.75\" x2=\"270.5\" y2=\"57.75\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#172b4d\" stop-opacity=\"0.25\"/><stop offset=\"0.75\" stop-color=\"#172b4d\" stop-opacity=\"0\"/></linearGradient><linearGradient id=\"linear-gradient-2\" x1=\"101.5\" y1=\"145.25\" x2=\"186\" y2=\"145.25\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0.11\" stop-color=\"#172b4d\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#172b4d\" stop-opacity=\"0.25\"/></linearGradient></defs><title>devops-no-products-02</title><g id=\"ART\"><path class=\"cls-1\" d=\"M270.5,191.5c-24,0-49.68-13.12-76.39-39-2.68-2.6-5.4-5.36-8.11-8.23-2.7,2.86-5.43,5.63-8.11,8.23-26.71,25.88-52.41,39-76.39,39a90,90,0,0,1,0-180c24,0,49.68,13.12,76.39,39,2.68,2.6,5.41,5.37,8.11,8.23,2.71-2.87,5.43-5.63,8.11-8.23,26.71-25.88,52.41-39,76.39-39a90,90,0,0,1,0,180Z\"/><path class=\"cls-1\" d=\"M186,101.5S141.5,164,101.5,164a62.5,62.5,0,0,1,0-125C141.5,39,186,101.5,186,101.5Z\"/><path class=\"cls-1\" d=\"M186,101.5S230.5,164,270.5,164a62.5,62.5,0,0,0,0-125C230.5,39,186,101.5,186,101.5Z\"/><path class=\"cls-2\" d=\"M270.5,14c-23.31,0-48.42,12.88-74.65,38.3-3.52,3.41-6.82,6.81-9.85,10.09-3-3.28-6.33-6.68-9.85-10.09C149.92,26.88,124.81,14,101.5,14a87.5,87.5,0,0,0,0,175c23.31,0,48.42-12.88,74.65-38.3,3.52-3.41,6.82-6.81,9.85-10.09,3,3.28,6.33,6.68,9.85,10.09,26.23,25.42,51.34,38.3,74.65,38.3a87.5,87.5,0,0,0,0-175ZM140.84,115.29C125.41,130.14,110.7,139,101.5,139a37.5,37.5,0,0,1,0-75c9.2,0,23.91,8.86,39.34,23.71,4.93,4.74,9.37,9.53,13.1,13.79C150.21,105.76,145.77,110.55,140.84,115.29ZM270.5,139c-9.2,0-23.91-8.86-39.34-23.71-4.93-4.74-9.37-9.53-13.1-13.79,3.73-4.26,8.17-9,13.1-13.79C246.59,72.86,261.3,64,270.5,64a37.5,37.5,0,0,1,0,75Z\"/><path class=\"cls-3\" d=\"M195.85,52.3c-3.52,3.41-6.82,6.81-9.85,10.09A274,274,0,0,1,206.37,87c0,.08,4.53,6.3,11.69,14.5,3.73-4.26,8.17-9,13.1-13.79C246.59,72.86,261.3,64,270.5,64V14C247.19,14,222.08,26.88,195.85,52.3Z\"/><path class=\"cls-4\" d=\"M165.63,116c0-.08-4.53-6.3-11.69-14.5-3.73,4.26-8.17,9-13.1,13.79C125.41,130.14,110.7,139,101.5,139v50c23.31,0,48.42-12.88,74.65-38.3,3.52-3.41,6.82-6.81,9.85-10.09A274,274,0,0,1,165.63,116Z\"/><path class=\"cls-5\" d=\"M270.5,0C243.43,0,215,14.21,186.11,42.24l-.11.11-.11-.11C157,14.21,128.57,0,101.5,0a101.5,101.5,0,0,0,0,203c27.07,0,55.46-14.21,84.39-42.24l.11-.11.11.11C215,188.79,243.43,203,270.5,203a101.5,101.5,0,0,0,0-203Zm0,189c-23.31,0-48.42-12.88-74.65-38.3-3.52-3.41-6.82-6.81-9.85-10.09-3,3.28-6.33,6.68-9.85,10.09C149.92,176.12,124.81,189,101.5,189a87.5,87.5,0,0,1,0-175c23.31,0,48.42,12.88,74.65,38.3,3.52,3.41,6.82,6.81,9.85,10.09,3-3.28,6.33-6.68,9.85-10.09C222.08,26.88,247.19,14,270.5,14a87.5,87.5,0,0,1,0,175Z\"/></g><g id=\"Inside_Text\" data-name=\"Inside Text\"><path class=\"cls-6\" d=\"M135.86,55.82a2.89,2.89,0,0,1-1.49-.47,2.72,2.72,0,1,1,2.79-4.66,2.85,2.85,0,0,1,1.11,1.13l-.61,1a2.78,2.78,0,0,0-1-1,1.51,1.51,0,1,0-1.54,2.59,3,3,0,0,0,1.35.4Z\"/><path class=\"cls-6\" d=\"M137.88,54.29a2.63,2.63,0,1,1,4.36,2.94,2.63,2.63,0,1,1-4.36-2.94Zm1,.7a1.39,1.39,0,1,0,2-.53A1.37,1.37,0,0,0,138.92,55Z\"/><path class=\"cls-6\" d=\"M148.53,58.64l-3.15,4.21-1.1-.82.31-2.83.28-1.49-2.28,3-1-.73,3.15-4.21,1.29,1-.26,2.44-.28,1.41,2-2.73Z\"/><path class=\"cls-6\" d=\"M152.43,61.77l-.69.86-1-.84L148.1,65l-1-.8L149.71,61l-1-.83.69-.86Z\"/><path class=\"cls-6\" d=\"M154.19,63.26l-3.39,4-1-.83,3.39-4Z\"/><path class=\"cls-6\" d=\"M158.87,67.36l-3.49,3.93-1-.91.54-2.79.4-1.46L152.78,69l-.91-.81,3.49-3.93,1.2,1.07-.46,2.41-.4,1.38L158,66.56Z\"/><path class=\"cls-6\" d=\"M157.75,70.69,160,68.36l.93.88-2.17,2.31c-.43.44-.56.91-.1,1.35s.93.28,1.35-.17l2.18-2.3.93.88-2.2,2.34a2.15,2.15,0,0,1-3.13-3Z\"/><path class=\"cls-6\" d=\"M162.05,74a2.63,2.63,0,1,1-.06,3.79A2.48,2.48,0,0,1,162.05,74Zm.89.89a1.38,1.38,0,1,0,1.94,1.93,1.38,1.38,0,1,0-1.94-1.93Z\"/><path class=\"cls-6\" d=\"M166.09,78.84l2.33-2.22.88.93L167,79.74c-.45.43-.61.89-.16,1.35s.9.33,1.35-.1l2.3-2.18.89.93L169.06,82a2.15,2.15,0,0,1-3-3.12Z\"/><path class=\"cls-6\" d=\"M169.55,85.65a4.13,4.13,0,0,1-1-1.76l.86-.78a5.21,5.21,0,0,0,1,1.77c.35.39.63.41.85.21s.21-.47-.13-1c-.75-1.22-.68-1.93-.07-2.49s1.63-.53,2.53.44a4,4,0,0,1,.91,1.58l-.84.77a4.86,4.86,0,0,0-.92-1.62c-.32-.35-.62-.44-.84-.23s-.16.47.2,1.09c.73,1.18.68,1.87,0,2.44S170.52,86.71,169.55,85.65Z\"/><path class=\"cls-6\" d=\"M174.87,88.93,173.59,90l-.85-1,4-3.45,2.44,2.81-.82.72-1.6-1.84-1,.9,1.46,1.68-.83.72Z\"/><path class=\"cls-6\" d=\"M180,89.42l2.4,2.86-.84.71L180,91.11l-.84.7,1.43,1.72-.73.61-1.44-1.71-.8.67,1.6,1.91-.81.68L176,92.79Z\"/><path class=\"cls-6\" d=\"M183.2,93.29l2.34,2.91-.85.69L183.15,95l-.85.69,1.4,1.74L183,98l-1.4-1.74-.82.65,1.56,2-.82.66-2.37-3Z\"/><path class=\"cls-6\" d=\"M186.37,97.25,187.69,99a2.63,2.63,0,0,1-4.17,3.19l-1.32-1.71ZM186.26,99l-2.38,1.83.54.7a1.25,1.25,0,0,0,2,.16c.81-.62.94-1.26.35-2Z\"/><path class=\"cls-6\" d=\"M190,102l1.61,2.16a1.35,1.35,0,0,1-.16,2.1,1.07,1.07,0,0,1-1.48,0,1.19,1.19,0,0,1-.36,1.68c-.67.5-1.47.39-2.18-.56l-1.65-2.23Zm-1.66,2.83-1,.75.71,1c.31.41.61.49.94.24s.38-.57.06-1Zm1.65-1.23-1,.74.61.82c.3.41.62.44.93.2s.35-.53.06-.93Z\"/><path class=\"cls-6\" d=\"M190.56,109.83l-1,.41-.86-1.08,5.22-1.87,1.12,1.43-3,4.63-.85-1.09.63-.87a5.4,5.4,0,0,1-.7-.74A5.51,5.51,0,0,1,190.56,109.83Zm1.8.79,1.6-2.19-2.52,1a6,6,0,0,0,.41.59A5.17,5.17,0,0,0,192.36,110.62Z\"/><path class=\"cls-6\" d=\"M195.18,116.77a2.89,2.89,0,0,1-1.24-1,2.71,2.71,0,1,1,4.19-3.45,2.79,2.79,0,0,1,.67,1.43l-.92.75a2.69,2.69,0,0,0-.59-1.29,1.51,1.51,0,1,0-2.32,1.92,3,3,0,0,0,1.13.83Z\"/><path class=\"cls-6\" d=\"M198.47,117.24l-1.88,1.6-.84-1,4-3.42.84,1-1.9,1.62,3.08-.25,1,1.13-3.3.15-.66,3.31-1-1.15Z\"/><path class=\"cls-6\" d=\"M241.23,153.69a2.63,2.63,0,1,1,.93,3.67A2.49,2.49,0,0,1,241.23,153.69Zm1.09.62a1.38,1.38,0,1,0,2-.68A1.36,1.36,0,0,0,242.32,154.31Z\"/><path class=\"cls-6\" d=\"M248.24,158.81l-.79-.38-.64,1.3-1.15-.56,2.3-4.73,1.94.95a1.77,1.77,0,0,1,1,2.6A1.75,1.75,0,0,1,248.24,158.81Zm1.55-1.33c.22-.44.13-.85-.48-1.14l-.69-.34-.72,1.49.69.33A.76.76,0,0,0,249.79,157.48Z\"/><path class=\"cls-6\" d=\"M252.54,156.62,256,158l-.4,1-2.27-.9-.41,1L255,160l-.35.89-2.08-.82-.39,1,2.32.92-.39,1-3.52-1.4Z\"/><path class=\"cls-6\" d=\"M259.38,162.56l.54,2.15-1.44-.43-.36-1.87-.85-.25-.48,1.62-1.23-.37,1.5-5,2.2.65a1.71,1.71,0,0,1,1.39,2.29A1.58,1.58,0,0,1,259.38,162.56Zm-1.4-2.79-.42,1.42.77.23c.66.19.95,0,1.09-.46s0-.77-.67-1Z\"/><path class=\"cls-6\" d=\"M262.48,164.17l-.46,1-1.36-.23,2.63-4.88,1.79.31.84,5.48-1.37-.23-.1-1.08a5.55,5.55,0,0,1-1-.08A5.81,5.81,0,0,1,262.48,164.17Zm1.86-.62-.26-2.71-1.18,2.46a4.07,4.07,0,0,0,.69.17A4.53,4.53,0,0,0,264.34,163.55Z\"/><path class=\"cls-6\" d=\"M270.64,160.79l-.06,1.1-1.33-.07L269,166l-1.28-.07.22-4.16-1.33-.07.06-1.1Z\"/><path class=\"cls-6\" d=\"M271.34,160.76l3.73-.17.05,1.1-2.44.11.05,1.09,2.24-.1,0,1-2.24.1.05,1.05,2.49-.11.05,1.05-3.78.18Z\"/><path class=\"cls-6\" d=\"M206.4,73.12l3.75,3.58-.86.91L205.54,74Z\"/><path class=\"cls-6\" d=\"M210.63,68.83l3.68,3.65-.94,1-2.7-.71-1.42-.48,2.67,2.64-.83.84-3.68-3.65,1.1-1.11,2.34.61,1.33.46-2.38-2.36Z\"/><path class=\"cls-6\" d=\"M214.09,65.49l.75.78-.93.89,2.84,3-.9.87L213,68l-.93.89-.75-.78Z\"/><path class=\"cls-6\" d=\"M214.79,64.82l2.68-2.45.73.8-1.75,1.61.73.79,1.6-1.47.64.7-1.6,1.47.7.76,1.79-1.64.7.77-2.71,2.48Z\"/><path class=\"cls-6\" d=\"M223.77,63.86a2.51,2.51,0,0,1-3.84-.2c-1.1-1.28-.93-2.76.49-4a4,4,0,0,1,1.33-.79l.7.81a3.64,3.64,0,0,0-1.27.73c-1,.84-1,1.68-.34,2.41a1.51,1.51,0,0,0,2.37.07,2.7,2.7,0,0,0,.37-.38l-.68-.79-.76.66-.6-.69,1.59-1.39,1.78,2.06A4,4,0,0,1,223.77,63.86Z\"/><path class=\"cls-6\" d=\"M227.49,58.22l2,.77-1.13.92-1.71-.76-.67.54,1.05,1.3-1,.78-3.25-4,1.73-1.4a1.66,1.66,0,0,1,2.6.17A1.54,1.54,0,0,1,227.49,58.22Zm-3-.44.92,1.13.6-.48c.52-.42.52-.78.22-1.14s-.62-.42-1.13,0Z\"/><path class=\"cls-6\" d=\"M230.44,57l.39,1-1.08.8L228,53.64l1.42-1.06,4.47,3.13-1.07.8-.84-.65a5.15,5.15,0,0,1-.74.67A7,7,0,0,1,230.44,57Zm.8-1.74-2.11-1.64,1,2.5c.22-.13.41-.25.59-.38A5.9,5.9,0,0,0,231.24,55.29Z\"/><path class=\"cls-6\" d=\"M234.13,49.27l.61.89-1.06.73L236,54.26,235,55l-2.33-3.37-1.06.73-.62-.89Z\"/><path class=\"cls-6\" d=\"M236,48l2.82,4.36-1,.68L235,48.71Z\"/><path class=\"cls-6\" d=\"M238.37,49.58a2.55,2.55,0,1,1,3.56,1A2.43,2.43,0,0,1,238.37,49.58Zm1-.62a1.35,1.35,0,1,0,.36-2A1.34,1.34,0,0,0,239.42,49Z\"/><path class=\"cls-6\" d=\"M246.67,42.08,249,46.71l-1.19.6-2.34-1.52-1.19-.91,1.7,3.36-1.06.53-2.33-4.63,1.39-.71,2,1.32,1.12.87-1.52-3Z\"/><path class=\"cls-6\" d=\"M252.2,44.24l.1,1-1.26.49-.25-5.46,1.65-.63,3.45,4.23-1.26.48-.63-.86a5.23,5.23,0,0,1-.88.45A5.17,5.17,0,0,1,252.2,44.24Zm1.24-1.45-1.58-2.16.25,2.67a5.32,5.32,0,0,0,.67-.2A4.33,4.33,0,0,0,253.44,42.79Z\"/><path class=\"cls-6\" d=\"M259.52,37.52l1.37,5-1.28.36-2-2-1-1.12,1,3.62-1.14.31-1.37-5,1.5-.41L258.35,40l.92,1.08-.89-3.25Z\"/><path class=\"cls-6\" d=\"M261.28,37.14l2.08-.31a2.35,2.35,0,0,1,2.91,2.2A2.32,2.32,0,0,1,264.13,42l-2.07.31Zm1.41.92.44,2.93.84-.13c.87-.13,1.23-.67,1.09-1.65s-.64-1.41-1.56-1.27Z\"/><path class=\"cls-6\" d=\"M269.17,36.29l2.09,0a2.34,2.34,0,0,1,2.5,2.65,2.32,2.32,0,0,1-2.6,2.53l-2.09,0Zm1.23,1.13-.06,3,.85,0c.87,0,1.33-.46,1.34-1.44s-.39-1.5-1.32-1.52Z\"/><path class=\"cls-6\" d=\"M275.16,36.48l3.61.38-.12,1.08-2.36-.25-.11,1.08,2.16.22-.1.95-2.16-.23-.11,1,2.41.25-.11,1-3.65-.38Z\"/><path class=\"cls-6\" d=\"M281.63,41.16,280.8,41l-.27,1.4-1.22-.23.95-5.1,2.07.39a1.74,1.74,0,0,1,1.57,2.22A1.71,1.71,0,0,1,281.63,41.16Zm1.12-1.67c.09-.48-.09-.84-.73-1l-.74-.14L281,40l.73.14A.74.74,0,0,0,282.75,39.49Z\"/><path class=\"cls-6\" d=\"M286.73,38.47l-1.06,3.94,1.93.51L287.31,44l-3.13-.84,1.34-5Z\"/><path class=\"cls-6\" d=\"M288.55,41.62a2.56,2.56,0,1,1,4.81,1.71,2.56,2.56,0,1,1-4.81-1.71Zm1.15.41a1.35,1.35,0,0,0,.74,1.93c.89.31,1.49-.23,1.77-1A1.35,1.35,0,1,0,289.7,42Z\"/><path class=\"cls-6\" d=\"M294.43,46.67l.7-1.52-.25-4,1.25.57,0,2.84,2.13-1.89,1.24.57-3.21,2.44-.69,1.48Z\"/><path class=\"cls-6\" d=\"M301.12,45.14l-2.21,3.72-1-.58,2.64-4.46,1.76,1-.43,2.24-.47,1.57,1.16-1.16,1.75-1.46L306,47l-2.64,4.46-1-.61,2.18-3.67L303,48.61l-1.89,1.57-1-.61.47-2.41Z\"/><path class=\"cls-6\" d=\"M307.37,48l2.92,2.15-.64.87-1.92-1.41-.64.87,1.75,1.29-.56.76-1.75-1.29-.61.83,1.95,1.44-.62.84-3-2.18Z\"/><path class=\"cls-6\" d=\"M314.93,54.15,311.5,58l-1-.88.55-2.73.4-1.44L309,55.81l-.88-.78,3.43-3.89,1.17,1-.47,2.37-.39,1.36,2.23-2.52Z\"/><path class=\"cls-6\" d=\"M318.46,57.76l-.77.75-.9-.92-3,2.85-.87-.9,3-2.85-.9-.92.78-.75Z\"/><path class=\"cls-6\" d=\"M53.11,134.45l1.71,2.09c.68.83.6,1.57-.06,2.1a1.07,1.07,0,0,1-1.48.05,1.19,1.19,0,0,1-.28,1.69c-.65.53-1.46.46-2.2-.45L49,137.78Zm-1.52,2.91-1,.79.75.92c.32.4.63.46.94.2s.36-.59,0-1Zm1.59-1.3-1,.78.65.79c.32.4.64.4.94.16s.33-.56,0-.94Z\"/><path class=\"cls-6\" d=\"M54.29,140.86l2.28-2.26.91.91-2.25,2.24c-.44.43-.58.9-.13,1.35s.91.31,1.35-.13l2.25-2.23.91.91-2.28,2.26a2.15,2.15,0,0,1-3-3Z\"/><path class=\"cls-6\" d=\"M61.51,143.29l-3.45,4-1-.85,3.45-4Z\"/><path class=\"cls-6\" d=\"M63.5,144.89,61,148.17l1.63,1.24-.69.9-2.64-2,3.19-4.17Z\"/><path class=\"cls-6\" d=\"M65.76,146.6l1.82,1.16a2.62,2.62,0,0,1-2.8,4.44L63,151Zm.49,1.64-1.61,2.54.75.47c.75.48,1.4.31,1.93-.54s.45-1.51-.37-2Z\"/><path class=\"cls-6\" d=\"M130.82,156.6a2.8,2.8,0,0,1-1.21,1,2.72,2.72,0,1,1-2.38-4.88,2.84,2.84,0,0,1,1.55-.32l.52,1.08a2.66,2.66,0,0,0-1.4.27,1.51,1.51,0,1,0,1.33,2.7,3.09,3.09,0,0,0,1.07-.91Z\"/><path class=\"cls-6\" d=\"M130.61,154.05a2.63,2.63,0,1,1,3.65,1A2.49,2.49,0,0,1,130.61,154.05Zm1.09-.63a1.37,1.37,0,0,0,2,.7,1.59,1.59,0,1,0-2-.7Z\"/><path class=\"cls-6\" d=\"M138.64,146.05l2.88,4.39-1.15.76L137.83,150l-1.31-.77,2.09,3.18-1,.67-2.88-4.39,1.34-.89,2.21,1.08,1.23.74-1.87-2.85Z\"/><path class=\"cls-6\" d=\"M142.52,143.24l.64.89-1.07.78,2.44,3.36-1,.75-2.45-3.36-1.07.78-.64-.89Z\"/><path class=\"cls-6\" d=\"M144.24,141.92l3.19,4.17-1,.78-3.2-4.17Z\"/><path class=\"cls-6\" d=\"M148.86,138.19l3.33,4.07-1.07.87-2.66-1-1.38-.63,2.41,2.95-.94.77-3.33-4.07,1.24-1,2.31.84,1.31.61L147.92,139Z\"/><path class=\"cls-6\" d=\"M151.83,139.88l-2.12-2.41,1-.85,2.09,2.38c.4.46.86.64,1.34.22s.36-.9,0-1.36L152,135.48l1-.85,2.12,2.41a2.15,2.15,0,0,1-3.23,2.84Z\"/><path class=\"cls-6\" d=\"M155.37,136a2.63,2.63,0,1,1,3.79.19A2.48,2.48,0,0,1,155.37,136Zm.92-.86a1.38,1.38,0,1,0-.07-2.09A1.37,1.37,0,0,0,156.29,135.12Z\"/><path class=\"cls-6\" d=\"M160.29,132.17,158,129.89,159,129l2.22,2.26c.44.44.9.59,1.35.14s.32-.92-.12-1.35l-2.22-2.26.92-.9,2.25,2.28a2.15,2.15,0,0,1-3.06,3Z\"/><path class=\"cls-6\" d=\"M167,128.5a4.19,4.19,0,0,1-1.69,1.13l-.83-.81a5.39,5.39,0,0,0,1.71-1.11c.37-.38.36-.66.15-.87s-.48-.17-1,.19c-1.18.83-1.89.81-2.49.23s-.63-1.59.29-2.55a4,4,0,0,1,1.52-1l.81.79a4.74,4.74,0,0,0-1.56,1c-.33.33-.39.64-.17.85s.48.13,1.07-.27c1.13-.8,1.82-.79,2.43-.2S168,127.47,167,128.5Z\"/><path class=\"cls-6\" d=\"M55.5,64.92l-.52.71,1.16.86-.76,1L51.15,64.4l1.29-1.74a1.77,1.77,0,0,1,2.73-.48A1.74,1.74,0,0,1,55.5,64.92Zm-1-1.77c-.39-.29-.81-.28-1.21.26l-.45.62,1.32,1,.46-.62A.76.76,0,0,0,54.47,63.15Z\"/><path class=\"cls-6\" d=\"M55.31,59.06l3.13,2.69,1.33-1.55.86.74-2.18,2.52-4-3.42Z\"/><path class=\"cls-6\" d=\"M61.27,58.78l.53.94-1,1-2.45-5,1.3-1.28,5,2.5-1,1-.93-.53a6.45,6.45,0,0,1-.66.78A5.25,5.25,0,0,1,61.27,58.78Zm.58-1.87-2.36-1.35,1.32,2.38a4.31,4.31,0,0,0,.54-.46A4.63,4.63,0,0,0,61.85,56.91Z\"/><path class=\"cls-6\" d=\"M65.43,49.45l3.33,4.08-1.06.87-2.67-1-1.38-.63,2.41,2.95-.94.77-3.33-4.07,1.25-1,2.31.84,1.3.6-2.16-2.63Z\"/><path class=\"cls-1\" d=\"M101.5,191.5a90,90,0,0,1,0-180\"/><path class=\"cls-7\" d=\"M38.68,167.91a2.88,2.88,0,0,1,1.4.7,2.72,2.72,0,1,1-3.47,4.18,2.88,2.88,0,0,1-.93-1.28l.77-.91a2.73,2.73,0,0,0,.82,1.16,1.51,1.51,0,1,0,1.92-2.32,3,3,0,0,0-1.27-.61Z\"/><path class=\"cls-7\" d=\"M36.44,169.11a2.63,2.63,0,1,1,0-3.79A2.48,2.48,0,0,1,36.44,169.11Zm-.9-.88a1.38,1.38,0,1,0-2-1.9,1.38,1.38,0,1,0,2,1.9Z\"/><path class=\"cls-7\" d=\"M29.1,165.43l3.06-2.78-1.38-1.52.83-.76,2.25,2.47L30,166.38Z\"/><path class=\"cls-7\" d=\"M26.18,162.06l3.2-2.62-1.3-1.58.88-.72,2.11,2.59L27,163.06Z\"/><path class=\"cls-7\" d=\"M26.92,156.14l1-.37.81,1.12-5.29,1.65-1.07-1.47,3.23-4.5.82,1.12-.68.84a5.86,5.86,0,0,1,.67.77A5.32,5.32,0,0,1,26.92,156.14Zm-1.76-.86-1.69,2.13,2.55-.94a4.92,4.92,0,0,0-.37-.61C25.5,155.67,25.35,155.48,25.16,155.28Z\"/><path class=\"cls-7\" d=\"M20.77,154.74l-1.43-2.29c-.57-.91-.4-1.63.32-2.08a1.08,1.08,0,0,1,1.48.14,1.18,1.18,0,0,1,.49-1.64c.71-.45,1.5-.27,2.13.73L25.23,152Zm.13-1.6,1-.66-.54-.87c-.27-.43-.58-.48-.92-.27s-.39.51-.12.93Zm1.74-1.09,1.07-.67-.63-1c-.27-.44-.57-.54-.91-.32s-.43.54-.15,1Z\"/><path class=\"cls-7\" d=\"M20.16,148.8a2.63,2.63,0,1,1-2.48-4.63,2.63,2.63,0,1,1,2.48,4.63Zm-.59-1.11a1.39,1.39,0,1,0-1.3-2.42,1.39,1.39,0,1,0,1.3,2.42Z\"/><path class=\"cls-7\" d=\"M16.43,139.68l1.27-1.81.62,1.37-1.18,1.49.37.81,1.54-.7.53,1.16-4.79,2.18-.95-2.09a1.7,1.7,0,0,1,.82-2.54A1.57,1.57,0,0,1,16.43,139.68Zm-1.18,2.89,1.34-.62-.33-.72c-.28-.63-.63-.72-1.06-.52s-.57.51-.28,1.13Z\"/><path class=\"cls-7\" d=\"M16,136.45l1.07-.1.49,1.29-5.54.24-.65-1.7,4.28-3.53.5,1.29-.87.65a5.5,5.5,0,0,1,.72,1.86Zm-1.49-1.29-2.18,1.62,2.71-.25a5.46,5.46,0,0,0-.21-.68A4.69,4.69,0,0,0,14.54,135.16Z\"/><path class=\"cls-7\" d=\"M9.48,130.52l1-.34.41,1.26,4-1.28.4,1.22-4,1.28.41,1.27-1.05.33Z\"/><path class=\"cls-7\" d=\"M8.84,128.25l5.06-1.43.35,1.23-5.06,1.44Z\"/><path class=\"cls-7\" d=\"M11,126.41a2.62,2.62,0,1,1-1.19-5.11A2.63,2.63,0,1,1,11,126.41Zm-.29-1.22c.85-.2,1.46-.74,1.24-1.7s-1-1.17-1.86-1a1.38,1.38,0,1,0,.62,2.67Z\"/><path class=\"cls-7\" d=\"M6.24,116l5.18-.87.23,1.36-2.17,1.82-1.23.89,3.75-.63.2,1.2L7,120.59,6.75,119l1.88-1.59,1.17-.83-3.36.57Z\"/><path class=\"cls-7\" d=\"M9.94,111.2l1.05.19.13,1.38-5.39-1.28-.17-1.81,5.08-2.22.12,1.38-1,.38a5.33,5.33,0,0,1,.19,2Zm-1.08-1.64-2.54,1L9,111a5.5,5.5,0,0,0,0-.71A5.37,5.37,0,0,0,8.86,109.56Z\"/><path class=\"cls-7\" d=\"M5.22,102.19l5.26-.16,0,1.38-2.41,1.51-1.34.71,3.81-.11,0,1.22-5.25.15-.05-1.61L7.39,104l1.28-.66-3.41.1Z\"/><path class=\"cls-7\" d=\"M5.22,100.56l.07-2.16A2.39,2.39,0,0,1,8,95.86a2.37,2.37,0,0,1,2.53,2.7l-.06,2.16Zm1.17-1.25,3,.09,0-.88c0-.9-.45-1.37-1.45-1.4s-1.52.39-1.55,1.35Z\"/><path class=\"cls-7\" d=\"M11,89.34a2.88,2.88,0,0,1,.2,1.55,2.52,2.52,0,0,1-3,2.47,2.55,2.55,0,0,1-2.41-3,2.85,2.85,0,0,1,.55-1.48L7.51,89A2.62,2.62,0,0,0,7,90.3a1.46,1.46,0,0,0,1.33,1.78A1.46,1.46,0,0,0,10,90.6a3.11,3.11,0,0,0-.2-1.38Z\"/><path class=\"cls-7\" d=\"M8.72,88.15A2.63,2.63,0,1,1,9.58,83a2.63,2.63,0,1,1-.86,5.18Zm.21-1.24c.86.15,1.63-.12,1.79-1.09s-.49-1.47-1.35-1.61A1.36,1.36,0,0,0,7.6,85.3C7.44,86.27,8.1,86.78,8.93,86.91Z\"/><path class=\"cls-7\" d=\"M8.36,80.24l4.26,1-.27,1.14L7.24,81.18l.49-2.05,2.3-.27,1.66,0-1.47-.78L8.29,76.79l.45-1.9,5.12,1.22-.29,1.2-4.21-1,1.8,1,2.08,1.38L13,79.85l-2.48.28Z\"/><path class=\"cls-7\" d=\"M10.41,72.4l4.16,1.38-.36,1.11-5-1.66.67-2,2.31-.07,1.66.12-1.39-.91-1.83-1.43.62-1.85,5,1.66-.39,1.17-4.11-1.37,1.72,1.14,1.95,1.56L15,72.4l-2.49.07Z\"/><path class=\"cls-7\" d=\"M14.83,66.79l-3-1.23.49-1.19,2.93,1.21c.56.24,1.05.2,1.29-.39s-.06-1-.63-1.2L13,62.77l.5-1.19,3,1.23a1.93,1.93,0,0,1,1.15,2.81A1.93,1.93,0,0,1,14.83,66.79Z\"/><path class=\"cls-7\" d=\"M16.25,55.9,21,58.23l-.61,1.23-2.83.21H16l3.41,1.68-.53,1.09-4.72-2.32.72-1.44,2.44-.2,1.44,0-3-1.51Z\"/><path class=\"cls-7\" d=\"M17.67,53.37l4.59,2.56-.63,1.13L17,54.49Z\"/><path class=\"cls-7\" d=\"M24.77,51.24a2.87,2.87,0,0,1-.49,1.48,2.53,2.53,0,0,1-3.77.94,2.56,2.56,0,0,1-.86-3.79,2.87,2.87,0,0,1,1.14-1.09l1,.62a2.77,2.77,0,0,0-1,1A1.51,1.51,0,1,0,23.34,52a3.12,3.12,0,0,0,.42-1.34Z\"/><path class=\"cls-7\" d=\"M25.4,49l.67.83L25.27,51,22,46.47l1-1.48,5.3,1.62-.8,1.12-1-.37a6.9,6.9,0,0,1-.51.89A6.15,6.15,0,0,1,25.4,49Zm.25-1.94-2.56-.93,1.71,2.12a5.36,5.36,0,0,0,.46-.55A6.38,6.38,0,0,0,25.65,47.05Z\"/><path class=\"cls-7\" d=\"M26.72,40.25l.86.69-.83,1L30,44.57l-.79,1L26,43l-.83,1-.85-.69Z\"/><path class=\"cls-7\" d=\"M28.3,38.45l4,3.46-.84,1-4-3.45Z\"/><path class=\"cls-7\" d=\"M31,39.27a2.63,2.63,0,1,1,3.67-3.76A2.63,2.63,0,1,1,31,39.27Zm.88-.9a1.38,1.38,0,1,0,1.91-2,1.38,1.38,0,1,0-1.91,2Z\"/><path class=\"cls-7\" d=\"M37.38,29.64l3.46,4-1,.9-2.7-.88L35.71,33l2.51,2.86-.91.8-3.47-3.95,1.21-1.06,2.34.76,1.32.56-2.25-2.56Z\"/><path class=\"cls-6\" d=\"M320,134.13l3.67,2.39-.64,1-4.4-2.87,1.15-1.76,2.26.53,1.56.53-1.11-1.23-1.4-1.84,1.07-1.64,4.4,2.87-.67,1-3.63-2.36,1.37,1.54,1.49,2-.66,1-2.42-.57Z\"/><path class=\"cls-6\" d=\"M324.88,129.58a2.63,2.63,0,1,1,3.61-1.15A2.48,2.48,0,0,1,324.88,129.58Zm.55-1.12a1.38,1.38,0,0,0,2-.53,1.59,1.59,0,1,0-2,.53Z\"/><path class=\"cls-6\" d=\"M326.86,118.45l4.93,1.84-.48,1.29-2.8.49-1.51.16,3.57,1.33-.43,1.13-4.92-1.83.56-1.51,2.42-.44,1.43-.13-3.19-1.19Z\"/><path class=\"cls-6\" d=\"M327.55,116l5.05,1.45-.35,1.24-5.06-1.45Z\"/><path class=\"cls-6\" d=\"M328.65,111.33l1.07.24-.28,1.3,4.06.9-.28,1.25-4.06-.9-.29,1.29-1.07-.24Z\"/><path class=\"cls-6\" d=\"M331.35,111.27a2.63,2.63,0,1,1,3.06-2.25A2.48,2.48,0,0,1,331.35,111.27Zm.17-1.25c.86.12,1.63-.18,1.76-1.15s-.53-1.46-1.4-1.57a1.37,1.37,0,0,0-1.74,1.15C330,109.43,330.69,109.91,331.52,110Z\"/><path class=\"cls-6\" d=\"M333,101.46l1.94-1.07-.05,1.51-1.72.81,0,.89,1.69.06,0,1.28-5.26-.19.08-2.29c.05-1.33.76-1.95,1.86-1.91A1.55,1.55,0,0,1,333,101.46Zm-2.34,2.05,1.48,0,0-.8c0-.68-.25-.92-.72-.93s-.73.2-.76.88Z\"/><path class=\"cls-7\" d=\"M331.59,33.08a3,3,0,0,1-1.43-.67,2.72,2.72,0,1,1,3.36-4.27,2.89,2.89,0,0,1,1,1.27l-.74.94a2.78,2.78,0,0,0-.86-1.16A1.51,1.51,0,1,0,331,31.56a3.19,3.19,0,0,0,1.29.59Z\"/><path class=\"cls-7\" d=\"M333.81,31.83a2.67,2.67,0,1,1,3.95,3.59,2.67,2.67,0,1,1-3.95-3.59Zm.94.86a1.41,1.41,0,1,0,2.07,1.87,1.4,1.4,0,1,0-2.07-1.87Z\"/><path class=\"cls-7\" d=\"M341.35,35.37l-3,2.88,1.45,1.49-.81.78-2.36-2.43,3.77-3.66Z\"/><path class=\"cls-7\" d=\"M344.41,38.67l-3.1,2.72L342.68,43l-.85.75-2.23-2.55,3.95-3.47Z\"/><path class=\"cls-7\" d=\"M343.92,44.64l-1,.41-.87-1.11,5.24-1.82,1.13,1.45-3,4.63-.86-1.1.64-.87a6.17,6.17,0,0,1-.71-.75A6.37,6.37,0,0,1,343.92,44.64Zm1.81.81,1.6-2.18-2.52,1a5.68,5.68,0,0,0,.4.6A4.49,4.49,0,0,0,345.73,45.45Z\"/><path class=\"cls-7\" d=\"M350.15,45.86l1.54,2.26c.61.9.47,1.64-.23,2.11a1.07,1.07,0,0,1-1.48-.09,1.19,1.19,0,0,1-.42,1.67c-.69.48-1.49.32-2.16-.66l-1.59-2.33Zm-1.75,2.78-1,.7.68,1c.29.43.59.52.93.29s.4-.56.09-1Zm1.7-1.16-1,.69.58.86c.29.43.61.47.93.25s.37-.52.09-.94Z\"/><path class=\"cls-7\" d=\"M351.05,51.85a2.67,2.67,0,1,1-1,3.69A2.51,2.51,0,0,1,351.05,51.85Zm.65,1.1a1.41,1.41,0,1,0,1.41,2.41A1.41,1.41,0,1,0,351.7,53Z\"/><path class=\"cls-7\" d=\"M355.21,60.94,354,62.82l-.68-1.37,1.11-1.55-.41-.8-1.5.76L352,58.7l4.69-2.37,1.05,2.08A1.72,1.72,0,0,1,357,61,1.55,1.55,0,0,1,355.21,60.94Zm1.05-3-1.32.67.37.72c.31.62.66.7,1.08.49s.55-.54.24-1.16Z\"/><path class=\"cls-7\" d=\"M355.75,64.18l-1.07.14L354.13,63l5.54-.44.72,1.69L356.27,68l-.56-1.29.84-.68a5.38,5.38,0,0,1-.49-.91A5.45,5.45,0,0,1,355.75,64.18Zm1.54,1.24,2.12-1.71-2.71.35a5.39,5.39,0,0,0,.24.68A5.49,5.49,0,0,0,357.29,65.42Z\"/><path class=\"cls-7\" d=\"M362.57,70l-1,.38-.47-1.27-3.9,1.44-.45-1.22,3.91-1.43-.47-1.27,1-.38Z\"/><path class=\"cls-7\" d=\"M363.3,72.23l-5,1.63-.4-1.25,5-1.62Z\"/><path class=\"cls-7\" d=\"M361.19,74.16a2.66,2.66,0,1,1-1.93,3.29A2.5,2.5,0,0,1,361.19,74.16Zm.34,1.23c-.85.23-1.44.8-1.18,1.76a1.59,1.59,0,0,0,3-.82A1.36,1.36,0,0,0,361.53,75.39Z\"/><path class=\"cls-7\" d=\"M366.36,84.63l-5.15,1-.28-1.37L363,82.38l1.2-.94-3.73.75L360.27,81l5.15-1,.32,1.6-1.82,1.67-1.14.87,3.34-.67Z\"/><path class=\"cls-7\" d=\"M362.82,89.58l-1.06-.17L361.59,88,367,89.18l.21,1.83-5,2.38L362.06,92l1-.41a5.75,5.75,0,0,1-.22-1A6.6,6.6,0,0,1,362.82,89.58Zm1.12,1.64,2.52-1-2.7-.44a5.39,5.39,0,0,0,0,.72A5.58,5.58,0,0,0,363.94,91.22Z\"/><path class=\"cls-7\" d=\"M367.79,98.6l-5.25.28-.08-1.39,2.37-1.59,1.32-.75-3.81.2-.06-1.23,5.25-.28.09,1.63-2,1.38-1.26.7,3.4-.18Z\"/><path class=\"cls-7\" d=\"M367.82,100.28l0,2.19a2.63,2.63,0,1,1-5.26-.08l0-2.2Zm-1.15,1.28-3,0v.89c0,.91.47,1.38,1.47,1.4s1.52-.42,1.53-1.39Z\"/><path class=\"cls-7\" d=\"M362.26,111.75a3,3,0,0,1-.22-1.56,2.72,2.72,0,1,1,5.41.46,2.9,2.9,0,0,1-.53,1.52l-1.18-.11a2.81,2.81,0,0,0,.49-1.36,1.51,1.51,0,1,0-3-.25,3.08,3.08,0,0,0,.22,1.41Z\"/><path class=\"cls-7\" d=\"M364.53,112.94a2.67,2.67,0,1,1-3.1,2.24A2.5,2.5,0,0,1,364.53,112.94Zm-.19,1.26a1.38,1.38,0,0,0-1.78,1.14c-.15,1,.5,1.48,1.37,1.61a1.37,1.37,0,0,0,1.76-1.14C365.83,114.83,365.17,114.33,364.34,114.2Z\"/><path class=\"cls-7\" d=\"M365,120.94l-4.27-1,.26-1.16,5.12,1.18-.47,2.08-2.3.3-1.66,0,1.47.78,1.95,1.26-.44,1.93-5.13-1.17.28-1.22,4.22,1-1.81-1-2.09-1.37.27-1.21,2.48-.31Z\"/><path class=\"cls-7\" d=\"M363,128.94l-4.17-1.35.36-1.12,5,1.61-.65,2-2.32.1-1.66-.1,1.4.9,1.83,1.43-.61,1.88-5-1.62.38-1.18,4.12,1.32-1.72-1.13-2-1.55.38-1.17,2.49-.1Z\"/><path class=\"cls-7\" d=\"M358.57,134.67l3,1.21-.5,1.21-2.93-1.19c-.57-.24-1.06-.19-1.3.41s.07,1,.64,1.21l2.94,1.2-.5,1.21-3-1.21a2.19,2.19,0,0,1,1.64-4.05Z\"/><path class=\"cls-7\" d=\"M357.16,145.71l-4.73-2.3.61-1.26,2.84-.24,1.52,0L354,140.23l.53-1.12,4.74,2.3-.72,1.47-2.45.22h-1.45l3.07,1.49Z\"/><path class=\"cls-7\" d=\"M355.75,148.27l-4.61-2.52.63-1.15,4.61,2.53Z\"/><path class=\"cls-7\" d=\"M348.62,150.53a3,3,0,0,1,.5-1.51,2.71,2.71,0,1,1,4.64,2.81,2.86,2.86,0,0,1-1.14,1.13l-1-.62a2.91,2.91,0,0,0,1-1,1.51,1.51,0,1,0-2.58-1.55,3.21,3.21,0,0,0-.42,1.36Z\"/><path class=\"cls-7\" d=\"M348,152.83l-.68-.83.8-1.15,3.3,4.46-1.05,1.52L345,155.3l.8-1.16,1,.36a5.89,5.89,0,0,1,.51-.9A6.37,6.37,0,0,1,348,152.83Zm-.24,2,2.57.89-1.73-2.11a6.9,6.9,0,0,0-.45.56A5.22,5.22,0,0,0,347.75,154.8Z\"/><path class=\"cls-7\" d=\"M346.71,161.66l-.87-.68.83-1.06-3.29-2.56.8-1,3.29,2.56.83-1.07.86.67Z\"/><path class=\"cls-7\" d=\"M345.13,163.5l-4-3.39.84-1,4,3.4Z\"/><path class=\"cls-7\" d=\"M342.39,162.73a2.67,2.67,0,1,1-3.82.08A2.5,2.5,0,0,1,342.39,162.73Zm-.87.93a1.4,1.4,0,1,0,.18,2.09A1.38,1.38,0,0,0,341.52,163.66Z\"/><path class=\"cls-7\" d=\"M336.14,172.6l-3.56-3.87,1-.95,2.73.82,1.43.54-2.58-2.8.91-.84,3.56,3.87-1.2,1.1-2.37-.69-1.35-.52,2.31,2.51Z\"/></g><g id=\"Arrow_Lines\" data-name=\"Arrow Lines\"><path class=\"cls-6\" d=\"M64.2,97.59l-25,8.12-25.09-9.4c0,.69-.07,1.39-.1,2.1l25.15,9.42L64,99.74C64.08,99,64.13,98.3,64.2,97.59Z\"/><path class=\"cls-6\" d=\"M106.1,64.64,104.59,39,120.34,16.7c-.69-.19-1.38-.38-2.07-.55L102.55,38.42l1.52,25.81A20.28,20.28,0,0,1,106.1,64.64Z\"/><path class=\"cls-6\" d=\"M240.48,123.6,219,137.85l-9.11,25.32,1.65,1.32,9.1-25.31,21.52-14.24Z\"/><path class=\"cls-6\" d=\"M299.79,156.92l-5.87-26.16c-.57.45-1.16.9-1.76,1.32L298,158l20.28,16.75,1.74-1.17Z\"/><path class=\"cls-6\" d=\"M344.87,55.44l-18,20.25L301.18,80c.42.59.83,1.2,1.21,1.82l25.54-4.26,18-20.31Z\"/><path class=\"cls-6\" d=\"M94.61,138.35l14.26,23.86-4.17,26.7c.68,0,1.36-.08,2-.13l4.21-27L97.26,138.75C96.37,138.65,95.48,138.52,94.61,138.35Z\"/></g></svg>\n  </defs>\n</svg>\n`.trim()\n);\n\nexport const HeaderBackgroundDevopsMobile = btoa(\n  `\n<svg width=\"1920\" height=\"315\" viewBox=\"0 0 1920 315\" fill=\"none\" preserveAspectRatio=\"xMidYMid meet\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n  <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 314.771C0 314.771 302.958 222.964 567.503 216.083C832.048 209.201 983.02 283.743 1308.62 283.743C1634.22 283.743 1920 166.402 1920 166.402V-92H0\" fill=\"url(#paint0_linear)\"/>\n  <mask id=\"mask0\" mask-type=\"alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"-92\" width=\"1920\" height=\"407\">\n  <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 314.771C0 314.771 302.958 222.964 567.503 216.083C832.048 209.201 983.02 283.743 1308.62 283.743C1634.22 283.743 1920 166.402 1920 166.402V-92H0\" fill=\"white\"/>\n  </mask>\n  <defs>\n  \n  <linearGradient id=\"paint0_linear\" x1=\"-98.3754\" y1=\"-237.419\" x2=\"-112.304\" y2=\"318.221\" gradientUnits=\"userSpaceOnUse\">\n    <stop stop-color=\"#117DD2\"/>\n    <stop offset=\"0.68\" stop-color=\"#117DD2\"/>\n    <stop offset=\"0.88\" stop-color=\"#0747A6\"/>\n    <stop offset=\"1\" stop-color=\"#0747A6\"/>\n  </linearGradient>\n  </defs>\n</svg>\n`.trim()\n);\n","import styled from '@emotion/styled';\n\n/**\n * Shared styles\n */\n\nexport const FullWidth = styled.div`\n  position: relative;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n`;\n\nexport const ReducedRow = styled.div`\n  position: relative;\n  max-width: 1200px;\n  margin: auto;\n\n  .logo-atl {\n    display: block;\n    margin: 26px auto 26px;\n  }\n`;\n","import { N0 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { HeaderDevopsOptionsType } from '../../../../../model';\nimport { SignupLayoutAnalytics } from '../../../../../service';\nimport {\n  Layout,\n  SideInformationComponent\n} from '../../side-information-component';\nimport {\n  FREE_EDITION_LABEL_KEY,\n  getSideInfoHeader\n} from '../../utility/sign-up-layout-container';\nimport { HeaderBackgroundDevops, HeaderBackgroundDevopsMobile } from '../asset';\nimport { ReducedRow } from '../styled';\n\n/**\n * Devops Header containing background,\n * listed products & Devops Features list\n */\n\nexport function HeaderDevops({\n  labels,\n  productKeys,\n  analyticsTrack,\n  formExistingSiteShown,\n  userInfo\n}: HeaderDevopsOptionsType) {\n  const layout: Layout = 'devops';\n  const edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n  const analytics = new SignupLayoutAnalytics({\n    isLoggedIn: false,\n    analyticsTrack\n  });\n  const switchUserInfo = ({\n    switchAccountUrl: analytics.switchAccountUrl,\n    switchUserOrigin: analytics.originAnalyticsAttributes.switchUser\n  } = analytics);\n  return (\n    <HeaderWrapper>\n      <InfinityLogo />\n      <ReducedRow>\n        <RowPadding>\n          <SideInformationComponent\n            layout={layout}\n            logoColor={N0}\n            edition={edition}\n            productKeys={productKeys}\n            featuresList=\"\"\n            trialDurationNewSite=\"\"\n            trialDurationExistingSite=\"\"\n            imgSource=\"\"\n            isMobile={false}\n            analyticsTrack={analyticsTrack}\n            sideInfoHeader={getSideInfoHeader({ labels, productKeys })}\n            isExistingSiteFormShown={formExistingSiteShown}\n            userInfo={userInfo}\n            switchUserInfo={switchUserInfo}\n          />\n        </RowPadding>\n      </ReducedRow>\n    </HeaderWrapper>\n  );\n}\n\nconst HeaderWrapper = styled.div`\n  position: relative;\n  width: 100%;\n  height: 320px;\n\n  @media only screen and (max-width: 800px) {\n    height: 164px;\n  }\n`;\n\nconst InfinityLogo = styled.div`\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  top: 0;\n  left: 0;\n\n  background-repeat: no-repeat;\n  background-size: 1920px 320px;\n  background-position: center;\n  background-image: url(data:image/svg+xml;base64,${HeaderBackgroundDevops});\n\n  @media only screen and (max-width: 800px) {\n    background-size: 4000px 700px;\n    background-position: -810px -342px;\n    background-image: url(data:image/svg+xml;base64,${HeaderBackgroundDevopsMobile});\n  }\n`;\n\nconst RowPadding = styled.div`\n  padding: 0px 48px;\n  @media only screen and (max-width: 800px) {\n    padding: 0px 22px;\n  }\n  div,\n  span {\n    max-width: none;\n  }\n\n  .product-heading {\n    margin: 30px auto -20px auto;\n  }\n`;\n","import { AtlassianLogo } from '@atlaskit/logo';\nimport { B400, B200, N40 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\n\nimport React from 'react';\nimport { ContainerLayoutType } from '../../../../../model';\nimport { SideInfo, Signup, SocialSignup } from '../component';\nimport { ReducedRow } from '../styled';\n\n/**\n * Default Layout\n * Includes basic header, side-information, and signup\n */\n\nexport function LayoutDefault(props: ContainerLayoutType) {\n  return (\n    <ReducedRow>\n      <SocialSignup {...props}>\n        <AtlassianLogo\n          size=\"large\"\n          textColor={B400}\n          iconColor={B200}\n          iconGradientStart={B400}\n          iconGradientStop={B200}\n          className=\"logo-atl\"\n        />\n        <FormAndInfoContainer>\n          <ComponentWrapper className=\"side-info\">\n            <SideInfo {...props} />\n          </ComponentWrapper>\n          <ComponentWrapper>\n            <Signup {...props} />\n          </ComponentWrapper>\n        </FormAndInfoContainer>\n      </SocialSignup>\n    </ReducedRow>\n  );\n}\n\nconst FormAndInfoContainer = styled.div`\n  width: 83%;\n  margin: auto;\n  display: flex;\n  flex-direction: row;\n  flex-flow: nowrap;\n  box-shadow: 0 2px 3px rgba(130, 130, 130, 0.2);\n  border: 1px solid rgba(130, 130, 130, 0.2);\n\n  @media only screen and (max-width: 769px) {\n    width: 100%;\n    flex-flow: row wrap;\n  }\n`;\n\nconst ComponentWrapper = styled.div`\n  padding: 0 48px;\n  margin: 48px 0;\n  width: 50%;\n\n  &:first-child {\n    border-right: 1px solid ${N40};\n  }\n\n  &.side-info {\n    @media only screen and (max-width: 769px) {\n      order: 2;\n    }\n  }\n\n  @media only screen and (max-width: 769px) {\n    padding: 0 12px;\n    margin: 16px 0;\n    width: 100%;\n    border-right: 0px solid transparent;\n\n    form {\n      max-width: initial;\n    }\n  }\n`;\n","import { AtlassianLogo } from '@atlaskit/logo';\nimport { B200, B400 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport _ from 'lodash';\nimport React from 'react';\nimport { useSignUpFormConfig } from '../../../../../hook';\nimport {\n  ContainerLayoutType,\n  Product,\n  ProductKeys\n} from '../../../../../model';\nimport { Labels, View as SignUpFormHeader } from '../../sign-up-form-header';\nimport { Signup } from '../component';\n\nexport function isOpsgenieIncluded(productKeys: Product[]) {\n  return _.includes(\n    _.map(\n      productKeys,\n      (productKey: Product) => productKey.product === ProductKeys.OPSGENIE\n    ),\n    true\n  );\n}\n\nexport function LayoutStandalone(props: ContainerLayoutType) {\n  const { edition } = useSignUpFormConfig();\n  const formHeaderLabels = Labels.useFormHeaderLabels({\n    edition: edition || '',\n    labels: props.labels,\n    productKeys: props.productKeys\n  });\n  const { userInfo, productKeys } = props;\n  const opsgenieIsIncludeInProducts = isOpsgenieIncluded(productKeys);\n  const isConfluence =\n    (props.productKeys ?? []).filter((item) =>\n      item.product.includes('confluence')\n    ).length > 0;\n\n  return (\n    <StandAloneLayoutContainer className={'layout-standalone'}>\n      <StandAloneLayoutInnerContainer>\n        {!!userInfo && !opsgenieIsIncludeInProducts && (\n          <SignUpFormHeader {...formHeaderLabels} userInfo={userInfo} />\n        )}\n        <RightContainerContent>\n          <Signup {...props} hideGreeting={!opsgenieIsIncludeInProducts} />\n        </RightContainerContent>\n        {!!userInfo ||\n          (!isConfluence && (\n            <LogoWrapper>\n              <AtlassianLogo\n                textColor={B400}\n                iconColor={B200}\n                iconGradientStart={B400}\n                iconGradientStop={B200}\n                size={'xsmall'}\n              />\n            </LogoWrapper>\n          ))}\n      </StandAloneLayoutInnerContainer>\n    </StandAloneLayoutContainer>\n  );\n}\n\nexport const StandAloneLayoutContainer = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: white;\n  border-radius: 5px;\n  box-shadow: 0px 4px 6px rgba(9, 30, 66, 0.15);\n  min-height: 314px;\n  padding: 0 24px;\n  width: 350px;\n\n  @media only screen and (max-width: 1023px) {\n    width: 100%;\n  }\n`;\n\nexport const StandAloneLayoutContainerChooseSignup = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: white;\n  border-radius: 5px;\n  box-shadow: 0px 4px 6px rgba(9, 30, 66, 0.15);\n  width: 380px !important;\n  max-width: 100%;\n  min-height: 314px;\n  padding: 0 30px !important;\n  text-align: left !important;\n`;\nexport const StandAloneLayoutInnerContainer = styled.div`\n  margin: 32px 0;\n  width: 100%;\n`;\n\nexport const LogoWrapper = styled.div`\n  width: min-content;\n  margin: 0 auto;\n`;\n\nexport const RightContainerContent = styled.div`\n  margin: 16px 0;\n  width: 100%;\n`;\n","import { N0, N200 } from '@atlaskit/theme/colors';\nimport { getIsBundleBbJsw } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { ContainerLayoutType } from '../../../../../model';\nimport { HeaderDevops, SideInfoDevops, Signup } from '../component';\nimport { FullWidth, ReducedRow } from '../styled';\n\nexport function LayoutDevops(props: ContainerLayoutType) {\n  // Disable field progression for BB/JSW\n  const fieldProgression = getIsBundleBbJsw(props?.productKeys) ? false : true;\n\n  return (\n    <FullWidth>\n      <HeaderDevops {...props} />\n      <ReducedRow>\n        <FormWrapper>\n          <ComponentWrapper className=\"wrapper-side-info\">\n            <SideInfoDevops {...props} />\n          </ComponentWrapper>\n          <ComponentWrapper>\n            <div className=\"wrapper-signup\">\n              <Signup\n                {...props}\n                enableFieldProgression={fieldProgression}\n                fadeOnDisable={true}\n                popOverError={true}\n                outlineOnFocus={true}\n                showWarningIcon={true}\n                hideCaptchaEula={true}\n                enableResendEmail={true}\n                enableCarouselEndCard={true}\n              />\n            </div>\n            <div className=\"recaptcha-legal\">\n              This page is protected by reCAPTCHA and the Google Privacy Policy\n              and Terms of Service apply.\n            </div>\n          </ComponentWrapper>\n        </FormWrapper>\n      </ReducedRow>\n    </FullWidth>\n  );\n}\n\nconst FormWrapper = styled.div`\n  z-index: 9;\n  width: 100%%;\n  margin: auto;\n  display: flex;\n  flex-direction: row;\n  flex-flow: nowrap;\n  padding: 0px 48px 48px 48px;\n\n  @media only screen and (max-width: 800px) {\n    box-sizing: border-box;\n    flex-flow: row wrap;\n    padding: 24px;\n  }\n`;\n\nconst ComponentWrapper = styled.div`\n  width: 50%;\n\n  @media only screen and (max-width: 800px) {\n    width: 100%;\n  }\n\n  &.wrapper-side-info {\n    padding: 0 48px 0 0;\n    margin-top: -30px;\n\n    @media only screen and (max-width: 800px) {\n      display: none;\n    }\n  }\n\n  .wrapper-signup {\n    padding: 48px 96px;\n    margin-top: -160px;\n    background-color: ${N0};\n    box-shadow: 0px 8px 16px rgba(9, 30, 66, 0.25),\n      0px 0px 1px rgba(9, 30, 66, 0.31);\n    border-radius: 3px;\n\n    form {\n      max-width: none;\n    }\n\n    @media only screen and (max-width: 1200px) {\n      padding: 48px;\n    }\n\n    @media only screen and (max-width: 800px) {\n      padding: 0px;\n      margin-top: 0px;\n      box-shadow: none;\n    }\n  }\n\n  .recaptcha-legal {\n    display: block;\n    max-width: 296px;\n    padding: 25px 0;\n    margin: auto;\n    text-align: center;\n    font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI,\n      Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n    font-size: 12px;\n    line-height: 18px;\n    color: ${N200};\n\n    @media only screen and (max-width: 800px) {\n      padding: 50px 0 60px 0;\n    }\n  }\n`;\n","import * as colors from './colors';\nimport themed from './utils/themed';\n// Cards on a board\nexport const e100 = themed({\n    light: `box-shadow: 0 1px 1px ${colors.N50A}, 0 0 1px 0 ${colors.N60A};`,\n    dark: `box-shadow: 0 1px 1px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Inline dialogs\nexport const e200 = themed({\n    light: `box-shadow: 0 4px 8px -2px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 4px 8px -2px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Modals\nexport const e300 = themed({\n    light: `box-shadow: 0 8px 16px -4px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 8px 16px -4px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Panels\nexport const e400 = themed({\n    light: `box-shadow: 0 12px 24px -6px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 12px 24px -6px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Flag messages (notifications)\nexport const e500 = themed({\n    light: `box-shadow: 0 20px 32px -8px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n    dark: `box-shadow: 0 20px 32px -8px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n//# sourceMappingURL=elevation.js.map","import { elevation } from '@atlaskit/theme';\nimport styled from '@emotion/styled';\nimport { FirstImpressionsImageUrlsType } from '../../../../../../model';\n\nexport const PageRoot = styled.div<{\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrlsType;\n}>`\n  background-image: url(${(props) =>\n    props.firstImpressionsImageUrls.backgroundImage});\n  background-repeat: no-repeat;\n  background-size: contain;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding-top: 10px;\n\n  @media only screen and (max-width: 769px) {\n    background-size: auto;\n  }\n`;\n\nexport const PageBody = styled.div`\n  flex: 1;\n  max-width: 1440px;\n  display: flex;\n  align-items: flex-start;\n  margin-top: 22px;\n  margin-bottom: 60px;\n  @media only screen and (max-width: 769px) {\n    width: 100%;\n    flex-flow: row wrap-reverse;\n    justify-content: center;\n  }\n`;\n\nexport const LeftContainer = styled.div`\n  margin: 16px;\n  width: 448px;\n  img {\n    margin-bottom: 10px !important;\n  }\n`;\n\nexport const RightContainer = styled.div`\n  ${elevation.e200}\n  margin: 16px;\n  padding: 32px;\n  background-color: white;\n  box-sizing: content-box;\n  width: 350px;\n  align-items: center;\n  border-radius: 8px;\n  position: relative;\n\n  @media only screen and (max-width: 420px) {\n    box-shadow: unset;\n    margin: 0;\n    border-radius: 0;\n  }\n`;\n\nexport const ChooseSignupRightContainer = styled.div`\n  ${elevation.e200}\n  margin: 16px;\n  padding: 30px;\n  background-color: white;\n  box-sizing: content-box;\n  width: 320px;\n  align-items: center;\n  border-radius: 8px;\n  position: relative;\n\n  @media only screen and (max-width: 420px) {\n    box-shadow: unset;\n    margin: 0;\n    border-radius: 0;\n  }\n`;\n\nexport const RightContainerContent = styled.div`\n  margin: 16px 0;\n  width: 100%;\n`;\n\nexport const RightContainerContentDefaultExpandedEmail = styled.div`\n  margin: 16px 0;\n  width: 100%;\n`;\n\nexport const LogoWrapper = styled.div`\n  width: min-content;\n  margin: 0 auto;\n`;\n\nexport const Loading = styled.div`\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  background: white;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n`;\n","import React from 'react';\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport { ContainerLayoutType, UserDataType } from '../../../../../../model';\nimport { useSignUpFormConfig } from '../../../../../../hook';\nimport { Signup } from '../signup';\nimport {\n  LogoWrapper,\n  RightContainerContent,\n  RightContainerContentDefaultExpandedEmail\n} from './styled';\nimport Spinner from '@atlaskit/spinner';\nimport styled from '@emotion/styled';\n\nimport { Labels, View as SignUpFormHeader } from '../../../sign-up-form-header';\nimport { useAppSelector } from '../../../../../../redux';\n\nexport function FirstImpressionsForm(props: ContainerLayoutType) {\n  const { edition } = useSignUpFormConfig();\n  const formHeaderLabels = Labels.useFormHeaderLabels({\n    edition: edition || '',\n    labels: props.labels,\n    productKeys: props.productKeys\n  });\n  const {\n    userInfo,\n    isMigrationSignup,\n    migrationData,\n    allowSignupWithAllSocialOptions\n  } = props;\n  const { isLoggedIn = false } = userInfo || {};\n  const { enableDefaultExpandedEmail } = useAppSelector(\n    (state) => state.featureFlags\n  );\n\n  const isConfluence =\n    (props.productKeys ?? []).filter((item) =>\n      item.product.includes('confluence')\n    ).length > 0;\n\n  if (!userInfo || (isMigrationSignup && !migrationData)) {\n    return (\n      <SpinnerWrapper>\n        <Spinner size=\"large\" />\n      </SpinnerWrapper>\n    );\n  }\n\n  return (\n    <>\n      <SignUpFormHeader\n        {...formHeaderLabels}\n        userInfo={props.userInfo as UserDataType}\n        allowSignupWithAllSocialOptions={allowSignupWithAllSocialOptions}\n        products={props.productKeys}\n      />\n      {enableDefaultExpandedEmail || isConfluence ? (\n        <RightContainerContentDefaultExpandedEmail>\n          <Signup\n            {...props}\n            fadeOnDisable={true}\n            outlineOnFocus={true}\n            showWarningIcon={true}\n            hideCaptchaEula={false}\n            hideGreeting={true}\n          />\n        </RightContainerContentDefaultExpandedEmail>\n      ) : (\n        <RightContainerContent>\n          <Signup\n            {...props}\n            fadeOnDisable={true}\n            outlineOnFocus={true}\n            showWarningIcon={true}\n            hideCaptchaEula={false}\n            hideGreeting={true}\n          />\n        </RightContainerContent>\n      )}\n      {!isConfluence && (\n        <LogoWrapper>\n          {allowSignupWithAllSocialOptions ? (\n            <span\n              style={\n                isLoggedIn ? { display: 'block', marginTop: '24px' } : undefined\n              }\n            >\n              <AtlassianLogo\n                appearance=\"brand\"\n                size={isLoggedIn ? 'xsmall' : 'small'}\n              />\n            </span>\n          ) : (\n            <AtlassianLogo appearance=\"brand\" size=\"xsmall\" />\n          )}\n        </LogoWrapper>\n      )}\n    </>\n  );\n}\n\nconst SpinnerWrapper = styled.div`\n  width: 100%;\n  height: 100%;\n  min-height: 400px;\n  max-width: 400px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n","import React, { useState, useEffect, Suspense } from 'react';\nimport { ContainerLayoutType } from '../../../../../model';\nimport { useAppSelector } from '../../../../../redux';\nimport { ReCaptchaEulaChooseSignup } from '../../sign-up-form/components/styled';\nimport { WacSignupHeader } from '../../signup-header';\nimport { SideInfoFirstImpressions } from '../component';\nimport {\n  ChooseSignupRightContainer,\n  FirstImpressionsForm,\n  LeftContainer,\n  PageBody,\n  PageRoot,\n  RightContainer\n} from '../component/first-impressions';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\n//@ts-ignore\nconst EasterEgg = React.lazy(() => import('../component/easter-egg'));\n\nexport function LayoutFirstImpressions(props: ContainerLayoutType) {\n  const { deferredSiteName } = useAppSelector((store) => store);\n\n  const [hidden, setHidden] = useState(true);\n\n  const isConfluence =\n    (props.productKeys ?? []).filter((item) =>\n      item.product.includes('confluence')\n    ).length > 0;\n\n  useEffect(() => {\n    // @ts-ignore\n    window.sugar = () => {\n      setHidden(false);\n      setTimeout(() => {\n        setHidden(true);\n      }, 5000);\n    };\n  }, []);\n\n  return (\n    <PageRoot firstImpressionsImageUrls={props.firstImpressionsImageUrls}>\n      <WacSignupHeader\n        productKeys={props.productKeys}\n        isWhiteBackground={false}\n      />\n      <PageBody>\n        <Suspense fallback={null}>{!hidden ? <EasterEgg /> : null}</Suspense>\n        <LeftContainer>\n          <SideInfoFirstImpressions\n            {...props}\n            isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n          />\n        </LeftContainer>\n        {isConfluence ? (\n          <ChooseSignupRightContainer>\n            <FirstImpressionsForm\n              {...props}\n              isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n            />\n          </ChooseSignupRightContainer>\n        ) : (\n          <RightContainer>\n            <FirstImpressionsForm\n              {...props}\n              isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n            />\n          </RightContainer>\n        )}\n      </PageBody>\n      {isConfluence && (\n        <ReCaptchaEulaChooseSignup>\n          <SanitizedFormattedHtmlMessage {...messages.reCaptchaLegal} />\n        </ReCaptchaEulaChooseSignup>\n      )}\n    </PageRoot>\n  );\n}\n","import {\n  hashEmail,\n  MarieSchemaAnalytics,\n  Environment\n} from '@atlassiansox/bxpkit-core';\nimport React, { useEffect, useState } from 'react';\nimport { isProductIncluded, useUserInfo } from '../../../../hook';\nimport {\n  ContainerLayoutType,\n  MigrationDataType,\n  ProductKeys,\n  WacSignupLayoutType\n} from '../../../../model';\nimport { getMigrationData, SignupLayoutAnalytics } from '../../../../service';\nimport {\n  LayoutDefault,\n  LayoutDevops,\n  LayoutFirstImpressions,\n  LayoutStandalone\n} from './container';\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateDeferredSiteNameStatus\n} from '../../../../redux';\nimport { ProductKeysType } from '@atlassiansox/bxpkit-core';\n\nexport function SignUpLayoutContainer(props: WacSignupLayoutType) {\n  const {\n    layout,\n    labels,\n    analyticsTrack,\n    productKeys,\n    templateId,\n    isMigrationSignup,\n    queryParameters,\n    productOverride,\n    editionOverride,\n    bundleOverride,\n    locale,\n    performanceStartTime,\n    siteRenamePageUrl,\n    firstImpressionsImageUrls\n  } = props;\n\n  const [combinedProps, setCombinedProps] = useState<ContainerLayoutType>();\n  const [migrationData, setMigrationData] = useState<MigrationDataType>();\n  const [formExistingSiteShown, setFormExistingSiteShown] = useState(true);\n\n  const dispatch = useAppDispatch();\n\n  const { enableDeferredSiteName } = useAppSelector(\n    ({ featureFlags }) => featureFlags\n  );\n\n  // marie schema state values\n  const [eventContainer, setEventContainer] = useState('wac-signup-form');\n  const [suiteName, setSuiteName] = useState('');\n  const [userEmail, setUserEmail] = useState('');\n  const setEmailWithHash = async (email: string) => {\n    const hash = await hashEmail(email);\n    setUserEmail(hash);\n  };\n\n  let userInfo = useUserInfo();\n\n  const combineProps = () => {\n    setCombinedProps(\n      Object.assign({}, props, {\n        locale,\n        userInfo,\n        productKeys,\n        migrationData,\n        isMigrationSignup,\n        formExistingSiteShown,\n        setFormExistingSiteShown,\n        siteRenamePageUrl: siteRenamePageUrl || '',\n        firstImpressionsImageUrls: firstImpressionsImageUrls || {},\n        templateId,\n        edition: editionOverride\n      })\n    );\n  };\n\n  // migrationData update (if applicable)\n  useEffect(() => {\n    if (migrationData) {\n      userInfo = Object.assign(userInfo, {\n        extendedTrialOverridableSites: migrationData?.migrationSites\n      });\n      combineProps();\n    }\n  }, [migrationData]);\n\n  // userInfo update\n  useEffect(() => {\n    combineProps();\n    if (!userInfo) {\n      return;\n    }\n    if (userInfo.email) {\n      void setEmailWithHash(userInfo.email);\n    }\n    if (isMigrationSignup) {\n      getMigrationData({\n        queryParameters,\n        labels,\n        productKeys,\n        userInfo,\n        analyticsTrack\n      })\n        .then((data) => {\n          if (data != null) {\n            setMigrationData(data);\n          }\n        })\n        .catch(() => setMigrationData({} as MigrationDataType));\n    }\n\n    // instantiate Analytics Singleton\n    // tslint:disable-next-line: no-unused-expression\n    new SignupLayoutAnalytics({\n      analyticsTrack,\n      performanceStartTime,\n      isLoggedIn: userInfo.isLoggedIn\n    });\n\n    // Redirect if Beacon user is signed out\n    const isBeacon = isProductIncluded(productKeys, ProductKeys.BEACON);\n    const isBitbucket =\n      productKeys.length === 1 &&\n      isProductIncluded(productKeys, ProductKeys.BITBUCKET);\n\n    if (\n      !userInfo.isLoggedIn &&\n      (isBeacon || isBitbucket || isMigrationSignup)\n    ) {\n      const redirectUrl = Environment.getIdSigninUrl();\n\n      window.location.assign(redirectUrl);\n    }\n  }, [userInfo]);\n\n  // productKeys update\n  useEffect(() => {\n    combineProps();\n  }, [bundleOverride, productOverride]);\n\n  let contextValues = {\n    eventContainer,\n    setEventContainer,\n    suiteName,\n    setSuiteName,\n    userEmail,\n    analyticsTrack,\n    setUserEmail: setEmailWithHash,\n    productKey: productKeys,\n    productEdition: productKeys[0].edition,\n    schemaVersion: 1,\n    loginUserDetected: userInfo?.isLoggedIn ? 1 : 0,\n    productsOffered: productKeys.map((prod: ProductKeysType) => prod.product),\n    productPlatform: 'cloud'\n  };\n\n  // update contextValues when productKeys update\n  useEffect(() => {\n    contextValues = { ...contextValues, productKey: productKeys };\n  }, [productKeys]);\n\n  // update deferred site name status after productKeys set\n  useEffect(() => {\n    dispatch(updateDeferredSiteNameStatus());\n  }, [enableDeferredSiteName]);\n  useEffect(() => {\n    const signupSource = new URLSearchParams(window.location.search).get(\n      'signupSource'\n    );\n    if (signupSource === 'bbbundle') {\n      analyticsTrack.segment('wac-signup-transition-from-bitbucket-bundles', {\n        eventType: 'track',\n        eventContainer: 'wac-sign-up-form',\n        productKey: productKeys,\n        productsOffered: contextValues.productsOffered,\n        loginUserDetected: contextValues.loginUserDetected,\n        userEmail: contextValues.userEmail,\n        suiteName: contextValues.suiteName,\n        productEdition: contextValues.productEdition,\n        productPlatform: contextValues.productPlatform,\n        schemaVersion: contextValues.schemaVersion\n      });\n    }\n  }, []);\n\n  return (\n    <MarieSchemaAnalytics.Provider value={contextValues}>\n      {(() => {\n        if (!combinedProps) {\n          return <></>;\n        }\n\n        switch (layout) {\n          case 'standalone':\n            return <LayoutStandalone {...combinedProps} />;\n          case 'devops':\n            return <LayoutDevops {...combinedProps} />;\n          case 'first-impressions':\n            return <LayoutFirstImpressions {...combinedProps} />;\n          case 'default':\n          default:\n            return <LayoutDefault {...combinedProps} />;\n        }\n      })()}\n    </MarieSchemaAnalytics.Provider>\n  );\n}\n","function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","import styled from '@emotion/styled';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\nimport { messages } from '../../messages';\nimport { N800, N20, N0, B400, B200 } from '@atlaskit/theme/colors';\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport Button from '@atlaskit/button';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\n\nexport type ErrorLocaleProps = {\n  readonly locale?: string;\n};\n\nfunction ErrorLocale({ locale }: ErrorLocaleProps) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  React.useEffect(() => {\n    createAnalyticsEvent({\n      event: 'blocked',\n      action: 'blocked',\n      actionSubject: 'signUp',\n      actionSubjectId: 'signUpForm',\n      product: 'marketing',\n      blockType: 'geoIP',\n      blockValue: locale\n    }).fire();\n  }, []);\n\n  return (\n    <Root>\n      <LogoContainer>\n        <AtlassianLogo\n          textColor={B400}\n          iconColor={B200}\n          iconGradientStart={B400}\n          iconGradientStop={B200}\n        />\n      </LogoContainer>\n      <h2>\n        <SanitizedFormattedHtmlMessage {...messages.localeError} />\n      </h2>\n      <p>\n        <SanitizedFormattedHtmlMessage {...messages.localeErrorMessage} />\n      </p>\n\n      <Button\n        appearance=\"link\"\n        href={\n          'https://www.atlassian.com/blog/announcements/atlassian-stands-with-ukraine'\n        }\n      >\n        <SanitizedFormattedHtmlMessage {...messages.localeErrorButton} />\n      </Button>\n    </Root>\n  );\n}\n\nErrorLocale.messages = messages;\nexport default injectIntl(ErrorLocale);\n\nconst Root = styled.div`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  flex-direction: column;\n  text-align: center;\n  background-color: ${N0} !important;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  color: ${N800};\n\n  h2 {\n    padding-top: 22px !important;\n  }\n\n  p {\n    width: 370px;\n  }\n\n  button {\n    padding-top: 10px;\n  }\n`;\nconst LogoContainer = styled.div`\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  height: 200px;\n  width: 300px;\n  background-color: ${N20};\n`;\n","import {\n  CONFLUENCE,\n  JIRA_CORE,\n  JSD,\n  TEAM_CENTRAL,\n  BEACON,\n  BITBUCKET\n} from '../../../utility/constants';\n\nexport const getSocialProofProductLabel = (productKey: string) => {\n  switch (productKey) {\n    case 'jira-servicedesk.ondemand':\n      return JSD;\n    case 'confluence.ondemand':\n      return CONFLUENCE;\n    case 'jira-core.ondemand':\n      return JIRA_CORE;\n    case 'townsquare':\n      return TEAM_CENTRAL;\n    case 'beacon':\n      return BEACON;\n    case 'com.atlassian.bitbucket':\n      return BITBUCKET;\n    default:\n      return '';\n  }\n};\n\nexport type FirstImpressionsProductImageUrls = {\n  readonly heroImage: string;\n  readonly socialProofImage?: string;\n};\n\nexport type FirstImpressionsImageUrls = {\n  readonly backgroundImage: string;\n  readonly jiraSoftware: FirstImpressionsProductImageUrls;\n  readonly jiraServiceDesk: FirstImpressionsProductImageUrls;\n  readonly confluence: FirstImpressionsProductImageUrls;\n  readonly jiraCore: FirstImpressionsProductImageUrls;\n  readonly teamCentral: FirstImpressionsProductImageUrls;\n  readonly beacon: FirstImpressionsProductImageUrls;\n  readonly bitbucket: FirstImpressionsProductImageUrls;\n};\n\nexport type GetSocialProofImageURLsOptions = {\n  readonly productKey: string;\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n};\n\nexport const getSocialProofImageURLs = ({\n  productKey,\n  firstImpressionsImageUrls\n}: GetSocialProofImageURLsOptions) => {\n  switch (productKey) {\n    case 'jira-servicedesk.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.jiraServiceDesk.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraServiceDesk.socialProofImage\n      };\n    case 'confluence.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.confluence.heroImage,\n        logoImage: firstImpressionsImageUrls.confluence.socialProofImage\n      };\n    case 'jira-core.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.jiraCore.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraCore.socialProofImage\n      };\n    case 'townsquare':\n      return {\n        heroImage: firstImpressionsImageUrls.teamCentral.heroImage,\n        logoImage: firstImpressionsImageUrls.teamCentral.socialProofImage\n      };\n    case 'beacon':\n      return {\n        heroImage: firstImpressionsImageUrls.beacon.heroImage,\n        logoImage: firstImpressionsImageUrls.beacon.socialProofImage\n      };\n    case 'com.atlassian.bitbucket':\n      return {\n        heroImage: firstImpressionsImageUrls.bitbucket.heroImage,\n        logoImage: firstImpressionsImageUrls.bitbucket.socialProofImage\n      };\n    default:\n      return {\n        heroImage: firstImpressionsImageUrls.jiraSoftware.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraSoftware.socialProofImage\n      };\n  }\n};\n","import _ from 'lodash';\nimport React, {\n  createContext,\n  useContext,\n  useMemo,\n  PropsWithChildren\n} from 'react';\nimport { useUserInfo, useSignUpFormConfig } from '../../hook';\nimport {\n  getBundleData,\n  FREE_EDITION_LABEL_KEY,\n  getFeaturesList,\n  SOCIAL_PROOF_TEXT_KEY_PREFIX,\n  BundleData,\n  getPageHeaderLabels,\n  PageHeaderLabels\n} from '../../utility';\nimport { getSocialProofImageURLs, getSocialProofProductLabel } from './utility';\nimport {\n  ProductDataType,\n  UserDataType,\n  FeatureFlags,\n  BundleContent\n} from '../../model';\nimport { FirstImpressionsImageUrls } from './types';\n\nexport type FirstImpressionsContextProps = {\n  readonly labels: {\n    [key: string]: string;\n  };\n  readonly productData: { [key: string]: ProductDataType };\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n  readonly featureFlags: FeatureFlags;\n};\n\nexport const FirstImpressionsContext =\n  createContext<FirstImpressionsContextProps>({\n    labels: {},\n    productData: {},\n    firstImpressionsImageUrls: {\n      backgroundImage: '',\n      jiraSoftware: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      jiraServiceDesk: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      confluence: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      jiraCore: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      teamCentral: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      beacon: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      bitbucket: {\n        heroImage: '',\n        socialProofImage: ''\n      }\n    },\n    featureFlags: {}\n  });\n\nexport function FirstImpressionsProvider({\n  children,\n  ...props\n}: PropsWithChildren<FirstImpressionsContextProps>) {\n  return (\n    <FirstImpressionsContext.Provider value={props}>\n      {children}\n    </FirstImpressionsContext.Provider>\n  );\n}\n\nexport type ActiveFormView =\n  | null\n  | 'team-central-logged-out'\n  | 'team-central-ineligible'\n  | 'first-impressions-loading'\n  | 'first-impressions-logged-out'\n  | 'first-impressions-logged-in';\n\nexport type FirstImpressionsState = {\n  readonly pageHeaderLabels: PageHeaderLabels;\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n  readonly bundleData: BundleData;\n  readonly activeFormView: ActiveFormView;\n  readonly userInfo?: UserDataType;\n  readonly bundleContent: BundleContent;\n};\n\nfunction buildFirstImpressionsState(\n  activeBundlesMap: { [key: string]: ProductDataType },\n  labels: { [key: string]: string },\n  firstImpressionsImageUrls: FirstImpressionsImageUrls,\n  userInfo?: UserDataType,\n  bundleName?: string,\n  productKeys?: string,\n  edition?: string\n): FirstImpressionsState {\n  const bundleData = getBundleData({\n    activeBundlesMap,\n    bundleName,\n    productKeys,\n    edition\n  });\n\n  const pageHeaderLabels = getPageHeaderLabels({\n    labels,\n    bundleData\n  });\n\n  const bundleContent = getBundleContent({\n    labels,\n    bundleData,\n    firstImpressionsImageUrls\n  });\n\n  let activeFormView: ActiveFormView = null;\n\n  if (!userInfo) {\n    activeFormView = 'first-impressions-loading';\n  } else if (!userInfo.isLoggedIn) {\n    activeFormView = 'first-impressions-logged-out';\n  } else {\n    activeFormView = 'first-impressions-logged-in';\n  }\n\n  return {\n    pageHeaderLabels,\n    firstImpressionsImageUrls,\n    bundleData,\n    activeFormView,\n    userInfo,\n    bundleContent\n  };\n}\n\ntype GetBundleContentOptions = {\n  readonly bundleData: BundleData;\n  readonly labels: { [key: string]: string };\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n};\n\nfunction getBundleContent({\n  bundleData,\n  labels,\n  firstImpressionsImageUrls\n}: GetBundleContentOptions): BundleContent {\n  // if default bundleContent exists in bundleData, return that\n  if (bundleData.bundleContent?.default) {\n    return bundleData.bundleContent.default;\n  }\n\n  // otherwise compute bundleContent the old way\n  const primaryProductKey = bundleData.products[0].productKey;\n\n  const productNameKey = getSocialProofProductLabel(primaryProductKey);\n\n  const socialProofTextKey = SOCIAL_PROOF_TEXT_KEY_PREFIX + productNameKey;\n  const socialProofText = labels[socialProofTextKey];\n\n  const socialProofImageURLs = getSocialProofImageURLs({\n    productKey: primaryProductKey,\n    firstImpressionsImageUrls\n  });\n\n  const featureList = getFeaturesList({\n    labels,\n    bundleData,\n    featuresListEditionLabelKey: FREE_EDITION_LABEL_KEY.toLowerCase()\n  });\n\n  return {\n    heroImage: socialProofImageURLs.heroImage,\n    headline: socialProofText,\n    socialProofImage: socialProofImageURLs.logoImage,\n    featureList\n  };\n}\n\nexport function useFirstImpressionsState(): FirstImpressionsState {\n  const { labels, productData, firstImpressionsImageUrls } = useContext(\n    FirstImpressionsContext\n  );\n\n  const {\n    bundle: bundleName,\n    product: productKeys,\n    edition\n  } = useSignUpFormConfig();\n\n  const userInfo = useUserInfo();\n\n  return useMemo(\n    () =>\n      buildFirstImpressionsState(\n        productData,\n        labels,\n        firstImpressionsImageUrls,\n        userInfo,\n        bundleName,\n        productKeys,\n        edition\n      ),\n    [\n      productData,\n      labels,\n      firstImpressionsImageUrls,\n      userInfo,\n      bundleName,\n      productKeys,\n      edition\n    ]\n  );\n}\n","import * as Logos from '@atlaskit/logo';\nimport { B300, DN10A, N0 } from '@atlaskit/theme/colors';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { ProductType } from '../../model';\n\nexport type PageHeaderLogoProps = {\n  readonly productData: ProductType;\n  readonly useDarkBackgroundMode: boolean;\n};\n\nexport function PageHeaderLogo({\n  productData,\n  useDarkBackgroundMode\n}: PageHeaderLogoProps) {\n  const textColor = useDarkBackgroundMode ? DN10A : N0;\n  const iconColor = useDarkBackgroundMode ? B300 : N0;\n  const Logostyle = {\n    iconColor,\n    size: 'xlarge',\n    textColor\n  };\n\n  // Try and get Atlaskit Logo from product data\n  if (productData.atlasKitLogoName) {\n    const allLogos = { ...Logos };\n    const ProductLogoClass = allLogos[productData.atlasKitLogoName];\n    if (!!ProductLogoClass) {\n      return <ProductLogoClass key={productData.productKey} {...Logostyle} />;\n    }\n  }\n\n  // for team central, get the logo from magnolia\n  if (\n    productData.productKey === ProductKey.TEAM_CENTRAL &&\n    !!productData.productLogoWhiteUrl\n  ) {\n    return (\n      <CMSLogo\n        key={productData.productKey}\n        src={productData.productLogoWhiteUrl}\n      />\n    );\n  }\n\n  switch (productData.productKey) {\n    case 'com.atlassian.bitbucket':\n      return (\n        <Logos.BitbucketLogo key={productData.productKey} {...Logostyle} />\n      );\n    case 'confluence.ondemand':\n      return (\n        <Logos.ConfluenceLogo key={productData.productKey} {...Logostyle} />\n      );\n    case 'jira-core.ondemand':\n      return (\n        <Logos.JiraWorkManagementLogo\n          key={productData.productKey}\n          {...Logostyle}\n        />\n      );\n    case 'jira-workmanagement.ondemand':\n      return (\n        <Logos.JiraWorkManagementLogo\n          key={productData.productKey}\n          {...Logostyle}\n        />\n      );\n    case 'jira-servicedesk.ondemand':\n      return (\n        <Logos.JiraServiceManagementLogo\n          key={productData.productKey}\n          {...Logostyle}\n        />\n      );\n    case 'jira-software.ondemand':\n      return <Logos.JiraLogo key={productData.productKey} {...Logostyle} />;\n    case 'opsgenie':\n      return <Logos.OpsGenieLogo key={productData.productKey} {...Logostyle} />;\n    case 'statuspage':\n      return (\n        <Logos.StatuspageLogo key={productData.productKey} {...Logostyle} />\n      );\n    case 'trello':\n      return <Logos.TrelloLogo key={productData.productKey} {...Logostyle} />;\n    default:\n      return productData && productData.productName ? (\n        <h2 style={{ color: textColor }}>{productData.productName}</h2>\n      ) : (\n        <Logos.AtlassianLogo key={productData.productKey} {...Logostyle} />\n      );\n  }\n}\n\nconst CMSLogo = styled.img`\n  height: 48px;\n`;\n","import styled from '@emotion/styled';\nimport React from 'react';\nimport { messages } from '../../messages';\n\ntype PageHeaderSubtitle = {\n  readonly edition: string;\n  readonly useDarkBackgroundMode: boolean;\n};\n\nexport function PageHeaderSubtitle({\n  edition,\n  useDarkBackgroundMode\n}: PageHeaderSubtitle) {\n  switch (edition) {\n    case 'standard':\n      return (\n        <PageHeaderSubtitleText useDarkBackgroundMode={useDarkBackgroundMode}>\n          {messages.cloudStandard.defaultMessage}\n        </PageHeaderSubtitleText>\n      );\n    case 'premium':\n      return (\n        <PageHeaderSubtitleText useDarkBackgroundMode={useDarkBackgroundMode}>\n          {messages.cloudPremium.defaultMessage}\n        </PageHeaderSubtitleText>\n      );\n    default:\n      return (\n        <PageHeaderSubtitleText useDarkBackgroundMode={useDarkBackgroundMode}>\n          {messages.cloudFree.defaultMessage}\n        </PageHeaderSubtitleText>\n      );\n  }\n}\n\nconst PageHeaderSubtitleText = styled.h4<{ useDarkBackgroundMode: boolean }>`\n  margin: 0px;\n  font-size: 20px;\n  font-weight: 400;\n  color: ${(props) =>\n    props.useDarkBackgroundMode ? 'rgba(13, 20, 36, 0.97)' : 'white'};\n`;\n","import AddIcon from '@atlaskit/icon/glyph/add';\nimport styled from '@emotion/styled';\nimport { map } from 'lodash';\nimport React from 'react';\nimport { BundleData } from '../../utility';\nimport { PageHeaderLogo } from './page-header-logo';\nimport { PageHeaderSubtitle } from './page-header-subtitle';\n\ntype PageHeaderProps = {\n  readonly bundleData: BundleData;\n  readonly useDarkBackgroundMode: boolean;\n};\n\nexport function PageHeader({\n  bundleData,\n  useDarkBackgroundMode\n}: PageHeaderProps) {\n  const headerBuffer: JSX.Element[] = [];\n  map(bundleData.products, (productData) =>\n    headerBuffer.push(PageHeaderLogo({ productData, useDarkBackgroundMode }))\n  );\n  if (headerBuffer.length > 1) {\n    headerBuffer.splice(\n      1,\n      0,\n      <PlusIcon>\n        <AddIcon label=\"plusSign\" key=\"plusSign\" primaryColor=\"white\" />\n      </PlusIcon>\n    );\n    return (\n      <Container>\n        <HeaderContainerWithPlus>{headerBuffer}</HeaderContainerWithPlus>\n        <PageHeaderSubtitle\n          edition={bundleData.edition}\n          useDarkBackgroundMode={useDarkBackgroundMode}\n        />\n      </Container>\n    );\n  }\n  return (\n    <Container>\n      <HeaderContainer>{headerBuffer}</HeaderContainer>\n      <PageHeaderSubtitle\n        edition={bundleData.edition}\n        useDarkBackgroundMode={useDarkBackgroundMode}\n      />\n    </Container>\n  );\n}\n\nconst Container = styled.div`\n  margin: 10px 10px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst PlusIcon = styled.div`\n  margin-left: 15px;\n  margin-right: 15px;\n  margin-top: 15px;\n  display: inline-block;\n  position: relative;\n  bottom: 10px;\n`;\nconst HeaderContainer = styled.div`\n  display: flex;\n  align-items: center;\n  svg,\n  img {\n    margin-bottom: 0px !important;\n  }\n`;\nconst HeaderContainerWithPlus = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  svg {\n    margin-bottom: 0px !important;\n  }\n`;\n","var isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tObject.keys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tObject.keys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = deepmerge(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nexport default deepmerge_1;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nexport default listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nexport default listCacheSet;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nexport default hashSet;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nexport default getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nexport default isKeyable;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n  this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  var isNew = !object;\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    if (newValue === undefined) {\n      newValue = source[key];\n    }\n    if (isNew) {\n      baseAssignValue(object, key, newValue);\n    } else {\n      assignValue(object, key, newValue);\n    }\n  }\n  return object;\n}\n\nexport default copyObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nexport default stubFalse;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n  return function(value) {\n    return func(value);\n  };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  var isArr = isArray(value),\n      isArg = !isArr && isArguments(value),\n      isBuff = !isArr && !isArg && isBuffer(value),\n      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n      skipIndexes = isArr || isArg || isBuff || isType,\n      result = skipIndexes ? baseTimes(value.length, String) : [],\n      length = result.length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (\n           // Safari 9 has enumerable `arguments.length` in strict mode.\n           key == 'length' ||\n           // Node.js 0.10 has enumerable non-index properties on buffers.\n           (isBuff && (key == 'offset' || key == 'parent')) ||\n           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n           // Skip index properties.\n           isIndex(key, length)\n        ))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\nexport default baseTimes;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nexport default isPrototype;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n  if (!isPrototype(object)) {\n    return nativeKeys(object);\n  }\n  var result = [];\n  for (var key in Object(object)) {\n    if (hasOwnProperty.call(object, key) && key != 'constructor') {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default baseKeys;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nexport default nativeKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var length = buffer.length,\n      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n  buffer.copy(result);\n  return result;\n}\n\nexport default cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\nexport default copyArray;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n  return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n  if (object == null) {\n    return [];\n  }\n  object = Object(object);\n  return arrayFilter(nativeGetSymbols(object), function(symbol) {\n    return propertyIsEnumerable.call(object, symbol);\n  });\n};\n\nexport default getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      resIndex = 0,\n      result = [];\n\n  while (++index < length) {\n    var value = array[index];\n    if (predicate(value, index, array)) {\n      result[resIndex++] = value;\n    }\n  }\n  return result;\n}\n\nexport default arrayFilter;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n  var index = -1,\n      length = values.length,\n      offset = array.length;\n\n  while (++index < length) {\n    array[offset + index] = values[index];\n  }\n  return array;\n}\n\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n  var result = [];\n  while (object) {\n    arrayPush(result, getSymbols(object));\n    object = getPrototype(object);\n  }\n  return result;\n};\n\nexport default getSymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n  var result = keysFunc(object);\n  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n  return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n  return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n    objectTag = '[object Object]',\n    promiseTag = '[object Promise]',\n    setTag = '[object Set]',\n    weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n    mapCtorString = toSource(Map),\n    promiseCtorString = toSource(Promise),\n    setCtorString = toSource(Set),\n    weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n    (Map && getTag(new Map) != mapTag) ||\n    (Promise && getTag(Promise.resolve()) != promiseTag) ||\n    (Set && getTag(new Set) != setTag) ||\n    (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n  getTag = function(value) {\n    var result = baseGetTag(value),\n        Ctor = result == objectTag ? value.constructor : undefined,\n        ctorString = Ctor ? toSource(Ctor) : '';\n\n    if (ctorString) {\n      switch (ctorString) {\n        case dataViewCtorString: return dataViewTag;\n        case mapCtorString: return mapTag;\n        case promiseCtorString: return promiseTag;\n        case setCtorString: return setTag;\n        case weakMapCtorString: return weakMapTag;\n      }\n    }\n    return result;\n  };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n  var length = array.length,\n      result = new array.constructor(length);\n\n  // Add properties assigned by `RegExp#exec`.\n  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n    result.index = array.index;\n    result.input = array.input;\n  }\n  return result;\n}\n\nexport default initCloneArray;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\nexport default cloneArrayBuffer;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n  result.lastIndex = regexp.lastIndex;\n  return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n  var Ctor = object.constructor;\n  switch (tag) {\n    case arrayBufferTag:\n      return cloneArrayBuffer(object);\n\n    case boolTag:\n    case dateTag:\n      return new Ctor(+object);\n\n    case dataViewTag:\n      return cloneDataView(object, isDeep);\n\n    case float32Tag: case float64Tag:\n    case int8Tag: case int16Tag: case int32Tag:\n    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n      return cloneTypedArray(object, isDeep);\n\n    case mapTag:\n      return new Ctor;\n\n    case numberTag:\n    case stringTag:\n      return new Ctor(object);\n\n    case regexpTag:\n      return cloneRegExp(object);\n\n    case setTag:\n      return new Ctor;\n\n    case symbolTag:\n      return cloneSymbol(object);\n  }\n}\n\nexport default initCloneByTag;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n  function object() {}\n  return function(proto) {\n    if (!isObject(proto)) {\n      return {};\n    }\n    if (objectCreate) {\n      return objectCreate(proto);\n    }\n    object.prototype = proto;\n    var result = new object;\n    object.prototype = undefined;\n    return result;\n  };\n}());\n\nexport default baseCreate;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n  return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n  return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_FLAT_FLAG = 2,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    symbolTag = '[object Symbol]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n *  1 - Deep clone\n *  2 - Flatten inherited properties\n *  4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n  var result,\n      isDeep = bitmask & CLONE_DEEP_FLAG,\n      isFlat = bitmask & CLONE_FLAT_FLAG,\n      isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n  if (customizer) {\n    result = object ? customizer(value, key, object, stack) : customizer(value);\n  }\n  if (result !== undefined) {\n    return result;\n  }\n  if (!isObject(value)) {\n    return value;\n  }\n  var isArr = isArray(value);\n  if (isArr) {\n    result = initCloneArray(value);\n    if (!isDeep) {\n      return copyArray(value, result);\n    }\n  } else {\n    var tag = getTag(value),\n        isFunc = tag == funcTag || tag == genTag;\n\n    if (isBuffer(value)) {\n      return cloneBuffer(value, isDeep);\n    }\n    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n      result = (isFlat || isFunc) ? {} : initCloneObject(value);\n      if (!isDeep) {\n        return isFlat\n          ? copySymbolsIn(value, baseAssignIn(result, value))\n          : copySymbols(value, baseAssign(result, value));\n      }\n    } else {\n      if (!cloneableTags[tag]) {\n        return object ? value : {};\n      }\n      result = initCloneByTag(value, tag, isDeep);\n    }\n  }\n  // Check for circular references and return its corresponding clone.\n  stack || (stack = new Stack);\n  var stacked = stack.get(value);\n  if (stacked) {\n    return stacked;\n  }\n  stack.set(value, result);\n\n  if (isSet(value)) {\n    value.forEach(function(subValue) {\n      result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n    });\n  } else if (isMap(value)) {\n    value.forEach(function(subValue, key) {\n      result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n    });\n  }\n\n  var keysFunc = isFull\n    ? (isFlat ? getAllKeysIn : getAllKeys)\n    : (isFlat ? keysIn : keys);\n\n  var props = isArr ? undefined : keysFunc(value);\n  arrayEach(props || value, function(subValue, key) {\n    if (props) {\n      key = subValue;\n      subValue = value[key];\n    }\n    // Recursively populate clone (susceptible to call stack limits).\n    assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n  });\n  return result;\n}\n\nexport default baseClone;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\nexport default initCloneObject;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n  return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n  return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n  return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n  return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length;\n\n  while (++index < length) {\n    if (iteratee(array[index], index, array) === false) {\n      break;\n    }\n  }\n  return array;\n}\n\nexport default arrayEach;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n  return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n  var index = -1,\n      length = array == null ? 0 : array.length,\n      result = Array(length);\n\n  while (++index < length) {\n    result[index] = iteratee(array[index], index, array);\n  }\n  return result;\n}\n\nexport default arrayMap;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  var memoized = function() {\n    var args = arguments,\n        key = resolver ? resolver.apply(this, args) : args[0],\n        cache = memoized.cache;\n\n    if (cache.has(key)) {\n      return cache.get(key);\n    }\n    var result = func.apply(this, args);\n    memoized.cache = cache.set(key, result) || cache;\n    return result;\n  };\n  memoized.cache = new (memoize.Cache || MapCache);\n  return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n  var result = [];\n  if (string.charCodeAt(0) === 46 /* . */) {\n    result.push('');\n  }\n  string.replace(rePropName, function(match, number, quote, subString) {\n    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n  });\n  return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n  var result = memoize(func, function(key) {\n    if (cache.size === MAX_MEMOIZE_SIZE) {\n      cache.clear();\n    }\n    return key;\n  });\n\n  var cache = result.cache;\n  return result;\n}\n\nexport default memoizeCapped;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n  if (typeof value == 'string' || isSymbol(value)) {\n    return value;\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n    symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n  // Exit early for strings to avoid a performance hit in some environments.\n  if (typeof value == 'string') {\n    return value;\n  }\n  if (isArray(value)) {\n    // Recursively convert values (susceptible to call stack limits).\n    return arrayMap(value, baseToString) + '';\n  }\n  if (isSymbol(value)) {\n    return symbolToString ? symbolToString.call(value) : '';\n  }\n  var result = (value + '');\n  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n  return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import arrayMap from './_arrayMap.js';\nimport copyArray from './_copyArray.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\nimport stringToPath from './_stringToPath.js';\nimport toKey from './_toKey.js';\nimport toString from './toString.js';\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n  if (isArray(value)) {\n    return arrayMap(value, toKey);\n  }\n  return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nexport default toPath;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n    CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n  return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import { Children, createContext, useContext, useRef, useEffect, useReducer, useCallback, useMemo, useImperativeHandle, createElement, useLayoutEffect, forwardRef, Component } from 'react';\nimport isEqual from 'react-fast-compare';\nimport deepmerge from 'deepmerge';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport clone from 'lodash-es/clone';\nimport toPath from 'lodash-es/toPath';\nimport invariant from 'tiny-warning';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\n/** @private is the value an empty array? */\n\nvar isEmptyArray = function isEmptyArray(value) {\n  return Array.isArray(value) && value.length === 0;\n};\n/** @private is the given object a Function? */\n\nvar isFunction = function isFunction(obj) {\n  return typeof obj === 'function';\n};\n/** @private is the given object an Object? */\n\nvar isObject = function isObject(obj) {\n  return obj !== null && typeof obj === 'object';\n};\n/** @private is the given object an integer? */\n\nvar isInteger = function isInteger(obj) {\n  return String(Math.floor(Number(obj))) === obj;\n};\n/** @private is the given object a string? */\n\nvar isString = function isString(obj) {\n  return Object.prototype.toString.call(obj) === '[object String]';\n};\n/** @private is the given object a NaN? */\n// eslint-disable-next-line no-self-compare\n\nvar isNaN$1 = function isNaN(obj) {\n  return obj !== obj;\n};\n/** @private Does a React component have exactly 0 children? */\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n  return Children.count(children) === 0;\n};\n/** @private is the given object/value a promise? */\n\nvar isPromise = function isPromise(value) {\n  return isObject(value) && isFunction(value.then);\n};\n/** @private is the given object/value a type of synthetic event? */\n\nvar isInputEvent = function isInputEvent(value) {\n  return value && isObject(value) && isObject(value.target);\n};\n/**\r\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\r\n * not safe to call document.activeElement if there is nothing focused.\r\n *\r\n * The activeElement will be null only if the document or document body is not\r\n * yet defined.\r\n *\r\n * @param {?Document} doc Defaults to current document.\r\n * @return {Element | null}\r\n * @see https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/dom/getActiveElement.js\r\n */\n\nfunction getActiveElement(doc) {\n  doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n  if (typeof doc === 'undefined') {\n    return null;\n  }\n\n  try {\n    return doc.activeElement || doc.body;\n  } catch (e) {\n    return doc.body;\n  }\n}\n/**\r\n * Deeply get a value from an object via its path.\r\n */\n\nfunction getIn(obj, key, def, p) {\n  if (p === void 0) {\n    p = 0;\n  }\n\n  var path = toPath(key);\n\n  while (obj && p < path.length) {\n    obj = obj[path[p++]];\n  }\n\n  return obj === undefined ? def : obj;\n}\n/**\r\n * Deeply set a value from in object via it's path. If the value at `path`\r\n * has changed, return a shallow copy of obj with `value` set at `path`.\r\n * If `value` has not changed, return the original `obj`.\r\n *\r\n * Existing objects / arrays along `path` are also shallow copied. Sibling\r\n * objects along path retain the same internal js reference. Since new\r\n * objects / arrays are only created along `path`, we can test if anything\r\n * changed in a nested structure by comparing the object's reference in\r\n * the old and new object, similar to how russian doll cache invalidation\r\n * works.\r\n *\r\n * In earlier versions of this function, which used cloneDeep, there were\r\n * issues whereby settings a nested value would mutate the parent\r\n * instead of creating a new object. `clone` avoids that bug making a\r\n * shallow copy of the objects along the update path\r\n * so no object is mutated in place.\r\n *\r\n * Before changing this function, please read through the following\r\n * discussions.\r\n *\r\n * @see https://github.com/developit/linkstate\r\n * @see https://github.com/jaredpalmer/formik/pull/123\r\n */\n\nfunction setIn(obj, path, value) {\n  var res = clone(obj); // this keeps inheritance when obj is a class\n\n  var resVal = res;\n  var i = 0;\n  var pathArray = toPath(path);\n\n  for (; i < pathArray.length - 1; i++) {\n    var currentPath = pathArray[i];\n    var currentObj = getIn(obj, pathArray.slice(0, i + 1));\n\n    if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) {\n      resVal = resVal[currentPath] = clone(currentObj);\n    } else {\n      var nextPath = pathArray[i + 1];\n      resVal = resVal[currentPath] = isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {};\n    }\n  } // Return original object if new value is the same as current\n\n\n  if ((i === 0 ? obj : resVal)[pathArray[i]] === value) {\n    return obj;\n  }\n\n  if (value === undefined) {\n    delete resVal[pathArray[i]];\n  } else {\n    resVal[pathArray[i]] = value;\n  } // If the path array has a single element, the loop did not run.\n  // Deleting on `resVal` had no effect in this scenario, so we delete on the result instead.\n\n\n  if (i === 0 && value === undefined) {\n    delete res[pathArray[i]];\n  }\n\n  return res;\n}\n/**\r\n * Recursively a set the same value for all keys and arrays nested object, cloning\r\n * @param object\r\n * @param value\r\n * @param visited\r\n * @param response\r\n */\n\nfunction setNestedObjectValues(object, value, visited, response) {\n  if (visited === void 0) {\n    visited = new WeakMap();\n  }\n\n  if (response === void 0) {\n    response = {};\n  }\n\n  for (var _i = 0, _Object$keys = Object.keys(object); _i < _Object$keys.length; _i++) {\n    var k = _Object$keys[_i];\n    var val = object[k];\n\n    if (isObject(val)) {\n      if (!visited.get(val)) {\n        visited.set(val, true); // In order to keep array values consistent for both dot path  and\n        // bracket syntax, we need to check if this is an array so that\n        // this will output  { friends: [true] } and not { friends: { \"0\": true } }\n\n        response[k] = Array.isArray(val) ? [] : {};\n        setNestedObjectValues(val, value, visited, response[k]);\n      }\n    } else {\n      response[k] = value;\n    }\n  }\n\n  return response;\n}\n\nvar FormikContext = /*#__PURE__*/createContext(undefined);\nFormikContext.displayName = 'FormikContext';\nvar FormikProvider = FormikContext.Provider;\nvar FormikConsumer = FormikContext.Consumer;\nfunction useFormikContext() {\n  var formik = useContext(FormikContext);\n  !!!formik ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Formik context is undefined, please verify you are calling useFormikContext() as child of a <Formik> component.\") : invariant(false) : void 0;\n  return formik;\n}\n\nfunction formikReducer(state, msg) {\n  switch (msg.type) {\n    case 'SET_VALUES':\n      return _extends({}, state, {\n        values: msg.payload\n      });\n\n    case 'SET_TOUCHED':\n      return _extends({}, state, {\n        touched: msg.payload\n      });\n\n    case 'SET_ERRORS':\n      if (isEqual(state.errors, msg.payload)) {\n        return state;\n      }\n\n      return _extends({}, state, {\n        errors: msg.payload\n      });\n\n    case 'SET_STATUS':\n      return _extends({}, state, {\n        status: msg.payload\n      });\n\n    case 'SET_ISSUBMITTING':\n      return _extends({}, state, {\n        isSubmitting: msg.payload\n      });\n\n    case 'SET_ISVALIDATING':\n      return _extends({}, state, {\n        isValidating: msg.payload\n      });\n\n    case 'SET_FIELD_VALUE':\n      return _extends({}, state, {\n        values: setIn(state.values, msg.payload.field, msg.payload.value)\n      });\n\n    case 'SET_FIELD_TOUCHED':\n      return _extends({}, state, {\n        touched: setIn(state.touched, msg.payload.field, msg.payload.value)\n      });\n\n    case 'SET_FIELD_ERROR':\n      return _extends({}, state, {\n        errors: setIn(state.errors, msg.payload.field, msg.payload.value)\n      });\n\n    case 'RESET_FORM':\n      return _extends({}, state, msg.payload);\n\n    case 'SET_FORMIK_STATE':\n      return msg.payload(state);\n\n    case 'SUBMIT_ATTEMPT':\n      return _extends({}, state, {\n        touched: setNestedObjectValues(state.values, true),\n        isSubmitting: true,\n        submitCount: state.submitCount + 1\n      });\n\n    case 'SUBMIT_FAILURE':\n      return _extends({}, state, {\n        isSubmitting: false\n      });\n\n    case 'SUBMIT_SUCCESS':\n      return _extends({}, state, {\n        isSubmitting: false\n      });\n\n    default:\n      return state;\n  }\n} // Initial empty states // objects\n\n\nvar emptyErrors = {};\nvar emptyTouched = {};\nfunction useFormik(_ref) {\n  var _ref$validateOnChange = _ref.validateOnChange,\n      validateOnChange = _ref$validateOnChange === void 0 ? true : _ref$validateOnChange,\n      _ref$validateOnBlur = _ref.validateOnBlur,\n      validateOnBlur = _ref$validateOnBlur === void 0 ? true : _ref$validateOnBlur,\n      _ref$validateOnMount = _ref.validateOnMount,\n      validateOnMount = _ref$validateOnMount === void 0 ? false : _ref$validateOnMount,\n      isInitialValid = _ref.isInitialValid,\n      _ref$enableReinitiali = _ref.enableReinitialize,\n      enableReinitialize = _ref$enableReinitiali === void 0 ? false : _ref$enableReinitiali,\n      onSubmit = _ref.onSubmit,\n      rest = _objectWithoutPropertiesLoose(_ref, [\"validateOnChange\", \"validateOnBlur\", \"validateOnMount\", \"isInitialValid\", \"enableReinitialize\", \"onSubmit\"]);\n\n  var props = _extends({\n    validateOnChange: validateOnChange,\n    validateOnBlur: validateOnBlur,\n    validateOnMount: validateOnMount,\n    onSubmit: onSubmit\n  }, rest);\n\n  var initialValues = useRef(props.initialValues);\n  var initialErrors = useRef(props.initialErrors || emptyErrors);\n  var initialTouched = useRef(props.initialTouched || emptyTouched);\n  var initialStatus = useRef(props.initialStatus);\n  var isMounted = useRef(false);\n  var fieldRegistry = useRef({});\n\n  if (process.env.NODE_ENV !== \"production\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useEffect(function () {\n      !(typeof isInitialValid === 'undefined') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.') : invariant(false) : void 0; // eslint-disable-next-line\n    }, []);\n  }\n\n  useEffect(function () {\n    isMounted.current = true;\n    return function () {\n      isMounted.current = false;\n    };\n  }, []);\n\n  var _React$useReducer = useReducer(formikReducer, {\n    values: props.initialValues,\n    errors: props.initialErrors || emptyErrors,\n    touched: props.initialTouched || emptyTouched,\n    status: props.initialStatus,\n    isSubmitting: false,\n    isValidating: false,\n    submitCount: 0\n  }),\n      state = _React$useReducer[0],\n      dispatch = _React$useReducer[1];\n\n  var runValidateHandler = useCallback(function (values, field) {\n    return new Promise(function (resolve, reject) {\n      var maybePromisedErrors = props.validate(values, field);\n\n      if (maybePromisedErrors == null) {\n        // use loose null check here on purpose\n        resolve(emptyErrors);\n      } else if (isPromise(maybePromisedErrors)) {\n        maybePromisedErrors.then(function (errors) {\n          resolve(errors || emptyErrors);\n        }, function (actualException) {\n          if (process.env.NODE_ENV !== 'production') {\n            console.warn(\"Warning: An unhandled error was caught during validation in <Formik validate />\", actualException);\n          }\n\n          reject(actualException);\n        });\n      } else {\n        resolve(maybePromisedErrors);\n      }\n    });\n  }, [props.validate]);\n  /**\r\n   * Run validation against a Yup schema and optionally run a function if successful\r\n   */\n\n  var runValidationSchema = useCallback(function (values, field) {\n    var validationSchema = props.validationSchema;\n    var schema = isFunction(validationSchema) ? validationSchema(field) : validationSchema;\n    var promise = field && schema.validateAt ? schema.validateAt(field, values) : validateYupSchema(values, schema);\n    return new Promise(function (resolve, reject) {\n      promise.then(function () {\n        resolve(emptyErrors);\n      }, function (err) {\n        // Yup will throw a validation error if validation fails. We catch those and\n        // resolve them into Formik errors. We can sniff if something is a Yup error\n        // by checking error.name.\n        // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n        if (err.name === 'ValidationError') {\n          resolve(yupToFormErrors(err));\n        } else {\n          // We throw any other errors\n          if (process.env.NODE_ENV !== 'production') {\n            console.warn(\"Warning: An unhandled error was caught during validation in <Formik validationSchema />\", err);\n          }\n\n          reject(err);\n        }\n      });\n    });\n  }, [props.validationSchema]);\n  var runSingleFieldLevelValidation = useCallback(function (field, value) {\n    return new Promise(function (resolve) {\n      return resolve(fieldRegistry.current[field].validate(value));\n    });\n  }, []);\n  var runFieldLevelValidations = useCallback(function (values) {\n    var fieldKeysWithValidation = Object.keys(fieldRegistry.current).filter(function (f) {\n      return isFunction(fieldRegistry.current[f].validate);\n    }); // Construct an array with all of the field validation functions\n\n    var fieldValidations = fieldKeysWithValidation.length > 0 ? fieldKeysWithValidation.map(function (f) {\n      return runSingleFieldLevelValidation(f, getIn(values, f));\n    }) : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;)\n\n    return Promise.all(fieldValidations).then(function (fieldErrorsList) {\n      return fieldErrorsList.reduce(function (prev, curr, index) {\n        if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') {\n          return prev;\n        }\n\n        if (curr) {\n          prev = setIn(prev, fieldKeysWithValidation[index], curr);\n        }\n\n        return prev;\n      }, {});\n    });\n  }, [runSingleFieldLevelValidation]); // Run all validations and return the result\n\n  var runAllValidations = useCallback(function (values) {\n    return Promise.all([runFieldLevelValidations(values), props.validationSchema ? runValidationSchema(values) : {}, props.validate ? runValidateHandler(values) : {}]).then(function (_ref2) {\n      var fieldErrors = _ref2[0],\n          schemaErrors = _ref2[1],\n          validateErrors = _ref2[2];\n      var combinedErrors = deepmerge.all([fieldErrors, schemaErrors, validateErrors], {\n        arrayMerge: arrayMerge\n      });\n      return combinedErrors;\n    });\n  }, [props.validate, props.validationSchema, runFieldLevelValidations, runValidateHandler, runValidationSchema]); // Run all validations methods and update state accordingly\n\n  var validateFormWithHighPriority = useEventCallback(function (values) {\n    if (values === void 0) {\n      values = state.values;\n    }\n\n    dispatch({\n      type: 'SET_ISVALIDATING',\n      payload: true\n    });\n    return runAllValidations(values).then(function (combinedErrors) {\n      if (!!isMounted.current) {\n        dispatch({\n          type: 'SET_ISVALIDATING',\n          payload: false\n        });\n        dispatch({\n          type: 'SET_ERRORS',\n          payload: combinedErrors\n        });\n      }\n\n      return combinedErrors;\n    });\n  });\n  useEffect(function () {\n    if (validateOnMount && isMounted.current === true && isEqual(initialValues.current, props.initialValues)) {\n      validateFormWithHighPriority(initialValues.current);\n    }\n  }, [validateOnMount, validateFormWithHighPriority]);\n  var resetForm = useCallback(function (nextState) {\n    var values = nextState && nextState.values ? nextState.values : initialValues.current;\n    var errors = nextState && nextState.errors ? nextState.errors : initialErrors.current ? initialErrors.current : props.initialErrors || {};\n    var touched = nextState && nextState.touched ? nextState.touched : initialTouched.current ? initialTouched.current : props.initialTouched || {};\n    var status = nextState && nextState.status ? nextState.status : initialStatus.current ? initialStatus.current : props.initialStatus;\n    initialValues.current = values;\n    initialErrors.current = errors;\n    initialTouched.current = touched;\n    initialStatus.current = status;\n\n    var dispatchFn = function dispatchFn() {\n      dispatch({\n        type: 'RESET_FORM',\n        payload: {\n          isSubmitting: !!nextState && !!nextState.isSubmitting,\n          errors: errors,\n          touched: touched,\n          status: status,\n          values: values,\n          isValidating: !!nextState && !!nextState.isValidating,\n          submitCount: !!nextState && !!nextState.submitCount && typeof nextState.submitCount === 'number' ? nextState.submitCount : 0\n        }\n      });\n    };\n\n    if (props.onReset) {\n      var maybePromisedOnReset = props.onReset(state.values, imperativeMethods);\n\n      if (isPromise(maybePromisedOnReset)) {\n        maybePromisedOnReset.then(dispatchFn);\n      } else {\n        dispatchFn();\n      }\n    } else {\n      dispatchFn();\n    }\n  }, [props.initialErrors, props.initialStatus, props.initialTouched]);\n  useEffect(function () {\n    if (isMounted.current === true && !isEqual(initialValues.current, props.initialValues)) {\n      if (enableReinitialize) {\n        initialValues.current = props.initialValues;\n        resetForm();\n      }\n\n      if (validateOnMount) {\n        validateFormWithHighPriority(initialValues.current);\n      }\n    }\n  }, [enableReinitialize, props.initialValues, resetForm, validateOnMount, validateFormWithHighPriority]);\n  useEffect(function () {\n    if (enableReinitialize && isMounted.current === true && !isEqual(initialErrors.current, props.initialErrors)) {\n      initialErrors.current = props.initialErrors || emptyErrors;\n      dispatch({\n        type: 'SET_ERRORS',\n        payload: props.initialErrors || emptyErrors\n      });\n    }\n  }, [enableReinitialize, props.initialErrors]);\n  useEffect(function () {\n    if (enableReinitialize && isMounted.current === true && !isEqual(initialTouched.current, props.initialTouched)) {\n      initialTouched.current = props.initialTouched || emptyTouched;\n      dispatch({\n        type: 'SET_TOUCHED',\n        payload: props.initialTouched || emptyTouched\n      });\n    }\n  }, [enableReinitialize, props.initialTouched]);\n  useEffect(function () {\n    if (enableReinitialize && isMounted.current === true && !isEqual(initialStatus.current, props.initialStatus)) {\n      initialStatus.current = props.initialStatus;\n      dispatch({\n        type: 'SET_STATUS',\n        payload: props.initialStatus\n      });\n    }\n  }, [enableReinitialize, props.initialStatus, props.initialTouched]);\n  var validateField = useEventCallback(function (name) {\n    // This will efficiently validate a single field by avoiding state\n    // changes if the validation function is synchronous. It's different from\n    // what is called when using validateForm.\n    if (fieldRegistry.current[name] && isFunction(fieldRegistry.current[name].validate)) {\n      var value = getIn(state.values, name);\n      var maybePromise = fieldRegistry.current[name].validate(value);\n\n      if (isPromise(maybePromise)) {\n        // Only flip isValidating if the function is async.\n        dispatch({\n          type: 'SET_ISVALIDATING',\n          payload: true\n        });\n        return maybePromise.then(function (x) {\n          return x;\n        }).then(function (error) {\n          dispatch({\n            type: 'SET_FIELD_ERROR',\n            payload: {\n              field: name,\n              value: error\n            }\n          });\n          dispatch({\n            type: 'SET_ISVALIDATING',\n            payload: false\n          });\n        });\n      } else {\n        dispatch({\n          type: 'SET_FIELD_ERROR',\n          payload: {\n            field: name,\n            value: maybePromise\n          }\n        });\n        return Promise.resolve(maybePromise);\n      }\n    } else if (props.validationSchema) {\n      dispatch({\n        type: 'SET_ISVALIDATING',\n        payload: true\n      });\n      return runValidationSchema(state.values, name).then(function (x) {\n        return x;\n      }).then(function (error) {\n        dispatch({\n          type: 'SET_FIELD_ERROR',\n          payload: {\n            field: name,\n            value: error[name]\n          }\n        });\n        dispatch({\n          type: 'SET_ISVALIDATING',\n          payload: false\n        });\n      });\n    }\n\n    return Promise.resolve();\n  });\n  var registerField = useCallback(function (name, _ref3) {\n    var validate = _ref3.validate;\n    fieldRegistry.current[name] = {\n      validate: validate\n    };\n  }, []);\n  var unregisterField = useCallback(function (name) {\n    delete fieldRegistry.current[name];\n  }, []);\n  var setTouched = useEventCallback(function (touched, shouldValidate) {\n    dispatch({\n      type: 'SET_TOUCHED',\n      payload: touched\n    });\n    var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve();\n  });\n  var setErrors = useCallback(function (errors) {\n    dispatch({\n      type: 'SET_ERRORS',\n      payload: errors\n    });\n  }, []);\n  var setValues = useEventCallback(function (values, shouldValidate) {\n    var resolvedValues = isFunction(values) ? values(state.values) : values;\n    dispatch({\n      type: 'SET_VALUES',\n      payload: resolvedValues\n    });\n    var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(resolvedValues) : Promise.resolve();\n  });\n  var setFieldError = useCallback(function (field, value) {\n    dispatch({\n      type: 'SET_FIELD_ERROR',\n      payload: {\n        field: field,\n        value: value\n      }\n    });\n  }, []);\n  var setFieldValue = useEventCallback(function (field, value, shouldValidate) {\n    dispatch({\n      type: 'SET_FIELD_VALUE',\n      payload: {\n        field: field,\n        value: value\n      }\n    });\n    var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(setIn(state.values, field, value)) : Promise.resolve();\n  });\n  var executeChange = useCallback(function (eventOrTextValue, maybePath) {\n    // By default, assume that the first argument is a string. This allows us to use\n    // handleChange with React Native and React Native Web's onChangeText prop which\n    // provides just the value of the input.\n    var field = maybePath;\n    var val = eventOrTextValue;\n    var parsed; // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one),\n    // so we handle like we would a normal HTML change event.\n\n    if (!isString(eventOrTextValue)) {\n      // If we can, persist the event\n      // @see https://reactjs.org/docs/events.html#event-pooling\n      if (eventOrTextValue.persist) {\n        eventOrTextValue.persist();\n      }\n\n      var target = eventOrTextValue.target ? eventOrTextValue.target : eventOrTextValue.currentTarget;\n      var type = target.type,\n          name = target.name,\n          id = target.id,\n          value = target.value,\n          checked = target.checked,\n          outerHTML = target.outerHTML,\n          options = target.options,\n          multiple = target.multiple;\n      field = maybePath ? maybePath : name ? name : id;\n\n      if (!field && process.env.NODE_ENV !== \"production\") {\n        warnAboutMissingIdentifier({\n          htmlContent: outerHTML,\n          documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',\n          handlerName: 'handleChange'\n        });\n      }\n\n      val = /number|range/.test(type) ? (parsed = parseFloat(value), isNaN(parsed) ? '' : parsed) : /checkbox/.test(type) // checkboxes\n      ? getValueForCheckbox(getIn(state.values, field), checked, value) : options && multiple // <select multiple>\n      ? getSelectedValues(options) : value;\n    }\n\n    if (field) {\n      // Set form fields by name\n      setFieldValue(field, val);\n    }\n  }, [setFieldValue, state.values]);\n  var handleChange = useEventCallback(function (eventOrPath) {\n    if (isString(eventOrPath)) {\n      return function (event) {\n        return executeChange(event, eventOrPath);\n      };\n    } else {\n      executeChange(eventOrPath);\n    }\n  });\n  var setFieldTouched = useEventCallback(function (field, touched, shouldValidate) {\n    if (touched === void 0) {\n      touched = true;\n    }\n\n    dispatch({\n      type: 'SET_FIELD_TOUCHED',\n      payload: {\n        field: field,\n        value: touched\n      }\n    });\n    var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate;\n    return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve();\n  });\n  var executeBlur = useCallback(function (e, path) {\n    if (e.persist) {\n      e.persist();\n    }\n\n    var _e$target = e.target,\n        name = _e$target.name,\n        id = _e$target.id,\n        outerHTML = _e$target.outerHTML;\n    var field = path ? path : name ? name : id;\n\n    if (!field && process.env.NODE_ENV !== \"production\") {\n      warnAboutMissingIdentifier({\n        htmlContent: outerHTML,\n        documentationAnchorLink: 'handleblur-e-any--void',\n        handlerName: 'handleBlur'\n      });\n    }\n\n    setFieldTouched(field, true);\n  }, [setFieldTouched]);\n  var handleBlur = useEventCallback(function (eventOrString) {\n    if (isString(eventOrString)) {\n      return function (event) {\n        return executeBlur(event, eventOrString);\n      };\n    } else {\n      executeBlur(eventOrString);\n    }\n  });\n  var setFormikState = useCallback(function (stateOrCb) {\n    if (isFunction(stateOrCb)) {\n      dispatch({\n        type: 'SET_FORMIK_STATE',\n        payload: stateOrCb\n      });\n    } else {\n      dispatch({\n        type: 'SET_FORMIK_STATE',\n        payload: function payload() {\n          return stateOrCb;\n        }\n      });\n    }\n  }, []);\n  var setStatus = useCallback(function (status) {\n    dispatch({\n      type: 'SET_STATUS',\n      payload: status\n    });\n  }, []);\n  var setSubmitting = useCallback(function (isSubmitting) {\n    dispatch({\n      type: 'SET_ISSUBMITTING',\n      payload: isSubmitting\n    });\n  }, []);\n  var submitForm = useEventCallback(function () {\n    dispatch({\n      type: 'SUBMIT_ATTEMPT'\n    });\n    return validateFormWithHighPriority().then(function (combinedErrors) {\n      // In case an error was thrown and passed to the resolved Promise,\n      // `combinedErrors` can be an instance of an Error. We need to check\n      // that and abort the submit.\n      // If we don't do that, calling `Object.keys(new Error())` yields an\n      // empty array, which causes the validation to pass and the form\n      // to be submitted.\n      var isInstanceOfError = combinedErrors instanceof Error;\n      var isActuallyValid = !isInstanceOfError && Object.keys(combinedErrors).length === 0;\n\n      if (isActuallyValid) {\n        // Proceed with submit...\n        //\n        // To respect sync submit fns, we can't simply wrap executeSubmit in a promise and\n        // _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false.\n        // This would be fine in simple cases, but make it impossible to disable submit\n        // buttons where people use callbacks or promises as side effects (which is basically\n        // all of v1 Formik code). Instead, recall that we are inside of a promise chain already,\n        //  so we can try/catch executeSubmit(), if it returns undefined, then just bail.\n        // If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle\n        // cleanup of isSubmitting on behalf of the consumer.\n        var promiseOrUndefined;\n\n        try {\n          promiseOrUndefined = executeSubmit(); // Bail if it's sync, consumer is responsible for cleaning up\n          // via setSubmitting(false)\n\n          if (promiseOrUndefined === undefined) {\n            return;\n          }\n        } catch (error) {\n          throw error;\n        }\n\n        return Promise.resolve(promiseOrUndefined).then(function (result) {\n          if (!!isMounted.current) {\n            dispatch({\n              type: 'SUBMIT_SUCCESS'\n            });\n          }\n\n          return result;\n        })[\"catch\"](function (_errors) {\n          if (!!isMounted.current) {\n            dispatch({\n              type: 'SUBMIT_FAILURE'\n            }); // This is a legit error rejected by the onSubmit fn\n            // so we don't want to break the promise chain\n\n            throw _errors;\n          }\n        });\n      } else if (!!isMounted.current) {\n        // ^^^ Make sure Formik is still mounted before updating state\n        dispatch({\n          type: 'SUBMIT_FAILURE'\n        }); // throw combinedErrors;\n\n        if (isInstanceOfError) {\n          throw combinedErrors;\n        }\n      }\n\n      return;\n    });\n  });\n  var handleSubmit = useEventCallback(function (e) {\n    if (e && e.preventDefault && isFunction(e.preventDefault)) {\n      e.preventDefault();\n    }\n\n    if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n      e.stopPropagation();\n    } // Warn if form submission is triggered by a <button> without a\n    // specified `type` attribute during development. This mitigates\n    // a common gotcha in forms with both reset and submit buttons,\n    // where the dev forgets to add type=\"button\" to the reset button.\n\n\n    if (process.env.NODE_ENV !== \"production\" && typeof document !== 'undefined') {\n      // Safely get the active element (works with IE)\n      var activeElement = getActiveElement();\n\n      if (activeElement !== null && activeElement instanceof HTMLButtonElement) {\n        !(activeElement.attributes && activeElement.attributes.getNamedItem('type')) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You submitted a Formik form using a button with an unspecified `type` attribute.  Most browsers default button elements to `type=\"submit\"`. If this is not a submit button, please add `type=\"button\"`.') : invariant(false) : void 0;\n      }\n    }\n\n    submitForm()[\"catch\"](function (reason) {\n      console.warn(\"Warning: An unhandled error was caught from submitForm()\", reason);\n    });\n  });\n  var imperativeMethods = {\n    resetForm: resetForm,\n    validateForm: validateFormWithHighPriority,\n    validateField: validateField,\n    setErrors: setErrors,\n    setFieldError: setFieldError,\n    setFieldTouched: setFieldTouched,\n    setFieldValue: setFieldValue,\n    setStatus: setStatus,\n    setSubmitting: setSubmitting,\n    setTouched: setTouched,\n    setValues: setValues,\n    setFormikState: setFormikState,\n    submitForm: submitForm\n  };\n  var executeSubmit = useEventCallback(function () {\n    return onSubmit(state.values, imperativeMethods);\n  });\n  var handleReset = useEventCallback(function (e) {\n    if (e && e.preventDefault && isFunction(e.preventDefault)) {\n      e.preventDefault();\n    }\n\n    if (e && e.stopPropagation && isFunction(e.stopPropagation)) {\n      e.stopPropagation();\n    }\n\n    resetForm();\n  });\n  var getFieldMeta = useCallback(function (name) {\n    return {\n      value: getIn(state.values, name),\n      error: getIn(state.errors, name),\n      touched: !!getIn(state.touched, name),\n      initialValue: getIn(initialValues.current, name),\n      initialTouched: !!getIn(initialTouched.current, name),\n      initialError: getIn(initialErrors.current, name)\n    };\n  }, [state.errors, state.touched, state.values]);\n  var getFieldHelpers = useCallback(function (name) {\n    return {\n      setValue: function setValue(value, shouldValidate) {\n        return setFieldValue(name, value, shouldValidate);\n      },\n      setTouched: function setTouched(value, shouldValidate) {\n        return setFieldTouched(name, value, shouldValidate);\n      },\n      setError: function setError(value) {\n        return setFieldError(name, value);\n      }\n    };\n  }, [setFieldValue, setFieldTouched, setFieldError]);\n  var getFieldProps = useCallback(function (nameOrOptions) {\n    var isAnObject = isObject(nameOrOptions);\n    var name = isAnObject ? nameOrOptions.name : nameOrOptions;\n    var valueState = getIn(state.values, name);\n    var field = {\n      name: name,\n      value: valueState,\n      onChange: handleChange,\n      onBlur: handleBlur\n    };\n\n    if (isAnObject) {\n      var type = nameOrOptions.type,\n          valueProp = nameOrOptions.value,\n          is = nameOrOptions.as,\n          multiple = nameOrOptions.multiple;\n\n      if (type === 'checkbox') {\n        if (valueProp === undefined) {\n          field.checked = !!valueState;\n        } else {\n          field.checked = !!(Array.isArray(valueState) && ~valueState.indexOf(valueProp));\n          field.value = valueProp;\n        }\n      } else if (type === 'radio') {\n        field.checked = valueState === valueProp;\n        field.value = valueProp;\n      } else if (is === 'select' && multiple) {\n        field.value = field.value || [];\n        field.multiple = true;\n      }\n    }\n\n    return field;\n  }, [handleBlur, handleChange, state.values]);\n  var dirty = useMemo(function () {\n    return !isEqual(initialValues.current, state.values);\n  }, [initialValues.current, state.values]);\n  var isValid = useMemo(function () {\n    return typeof isInitialValid !== 'undefined' ? dirty ? state.errors && Object.keys(state.errors).length === 0 : isInitialValid !== false && isFunction(isInitialValid) ? isInitialValid(props) : isInitialValid : state.errors && Object.keys(state.errors).length === 0;\n  }, [isInitialValid, dirty, state.errors, props]);\n\n  var ctx = _extends({}, state, {\n    initialValues: initialValues.current,\n    initialErrors: initialErrors.current,\n    initialTouched: initialTouched.current,\n    initialStatus: initialStatus.current,\n    handleBlur: handleBlur,\n    handleChange: handleChange,\n    handleReset: handleReset,\n    handleSubmit: handleSubmit,\n    resetForm: resetForm,\n    setErrors: setErrors,\n    setFormikState: setFormikState,\n    setFieldTouched: setFieldTouched,\n    setFieldValue: setFieldValue,\n    setFieldError: setFieldError,\n    setStatus: setStatus,\n    setSubmitting: setSubmitting,\n    setTouched: setTouched,\n    setValues: setValues,\n    submitForm: submitForm,\n    validateForm: validateFormWithHighPriority,\n    validateField: validateField,\n    isValid: isValid,\n    dirty: dirty,\n    unregisterField: unregisterField,\n    registerField: registerField,\n    getFieldProps: getFieldProps,\n    getFieldMeta: getFieldMeta,\n    getFieldHelpers: getFieldHelpers,\n    validateOnBlur: validateOnBlur,\n    validateOnChange: validateOnChange,\n    validateOnMount: validateOnMount\n  });\n\n  return ctx;\n}\nfunction Formik(props) {\n  var formikbag = useFormik(props);\n  var component = props.component,\n      children = props.children,\n      render = props.render,\n      innerRef = props.innerRef; // This allows folks to pass a ref to <Formik />\n\n  useImperativeHandle(innerRef, function () {\n    return formikbag;\n  });\n\n  if (process.env.NODE_ENV !== \"production\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useEffect(function () {\n      !!props.render ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Formik render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Formik render={(props) => ...} /> with <Formik>{(props) => ...}</Formik>\") : invariant(false) : void 0; // eslint-disable-next-line\n    }, []);\n  }\n\n  return createElement(FormikProvider, {\n    value: formikbag\n  }, component ? createElement(component, formikbag) : render ? render(formikbag) : children // children come last, always called\n  ? isFunction(children) ? children(formikbag) : !isEmptyChildren(children) ? Children.only(children) : null : null);\n}\n\nfunction warnAboutMissingIdentifier(_ref4) {\n  var htmlContent = _ref4.htmlContent,\n      documentationAnchorLink = _ref4.documentationAnchorLink,\n      handlerName = _ref4.handlerName;\n  console.warn(\"Warning: Formik called `\" + handlerName + \"`, but you forgot to pass an `id` or `name` attribute to your input:\\n    \" + htmlContent + \"\\n    Formik cannot determine which value to update. For more info see https://formik.org/docs/api/formik#\" + documentationAnchorLink + \"\\n  \");\n}\n/**\r\n * Transform Yup ValidationError to a more usable object\r\n */\n\n\nfunction yupToFormErrors(yupError) {\n  var errors = {};\n\n  if (yupError.inner) {\n    if (yupError.inner.length === 0) {\n      return setIn(errors, yupError.path, yupError.message);\n    }\n\n    for (var _iterator = yupError.inner, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n      var _ref5;\n\n      if (_isArray) {\n        if (_i >= _iterator.length) break;\n        _ref5 = _iterator[_i++];\n      } else {\n        _i = _iterator.next();\n        if (_i.done) break;\n        _ref5 = _i.value;\n      }\n\n      var err = _ref5;\n\n      if (!getIn(errors, err.path)) {\n        errors = setIn(errors, err.path, err.message);\n      }\n    }\n  }\n\n  return errors;\n}\n/**\r\n * Validate a yup schema.\r\n */\n\nfunction validateYupSchema(values, schema, sync, context) {\n  if (sync === void 0) {\n    sync = false;\n  }\n\n  if (context === void 0) {\n    context = {};\n  }\n\n  var validateData = prepareDataForValidation(values);\n  return schema[sync ? 'validateSync' : 'validate'](validateData, {\n    abortEarly: false,\n    context: context\n  });\n}\n/**\r\n * Recursively prepare values.\r\n */\n\nfunction prepareDataForValidation(values) {\n  var data = Array.isArray(values) ? [] : {};\n\n  for (var k in values) {\n    if (Object.prototype.hasOwnProperty.call(values, k)) {\n      var key = String(k);\n\n      if (Array.isArray(values[key]) === true) {\n        data[key] = values[key].map(function (value) {\n          if (Array.isArray(value) === true || isPlainObject(value)) {\n            return prepareDataForValidation(value);\n          } else {\n            return value !== '' ? value : undefined;\n          }\n        });\n      } else if (isPlainObject(values[key])) {\n        data[key] = prepareDataForValidation(values[key]);\n      } else {\n        data[key] = values[key] !== '' ? values[key] : undefined;\n      }\n    }\n  }\n\n  return data;\n}\n/**\r\n * deepmerge array merging algorithm\r\n * https://github.com/KyleAMathews/deepmerge#combine-array\r\n */\n\nfunction arrayMerge(target, source, options) {\n  var destination = target.slice();\n  source.forEach(function merge(e, i) {\n    if (typeof destination[i] === 'undefined') {\n      var cloneRequested = options.clone !== false;\n      var shouldClone = cloneRequested && options.isMergeableObject(e);\n      destination[i] = shouldClone ? deepmerge(Array.isArray(e) ? [] : {}, e, options) : e;\n    } else if (options.isMergeableObject(e)) {\n      destination[i] = deepmerge(target[i], e, options);\n    } else if (target.indexOf(e) === -1) {\n      destination.push(e);\n    }\n  });\n  return destination;\n}\n/** Return multi select values based on an array of options */\n\n\nfunction getSelectedValues(options) {\n  return Array.from(options).filter(function (el) {\n    return el.selected;\n  }).map(function (el) {\n    return el.value;\n  });\n}\n/** Return the next value for a checkbox */\n\n\nfunction getValueForCheckbox(currentValue, checked, valueProp) {\n  // If the current value was a boolean, return a boolean\n  if (typeof currentValue === 'boolean') {\n    return Boolean(checked);\n  } // If the currentValue was not a boolean we want to return an array\n\n\n  var currentArrayOfValues = [];\n  var isValueInArray = false;\n  var index = -1;\n\n  if (!Array.isArray(currentValue)) {\n    // eslint-disable-next-line eqeqeq\n    if (!valueProp || valueProp == 'true' || valueProp == 'false') {\n      return Boolean(checked);\n    }\n  } else {\n    // If the current value is already an array, use it\n    currentArrayOfValues = currentValue;\n    index = currentValue.indexOf(valueProp);\n    isValueInArray = index >= 0;\n  } // If the checkbox was checked and the value is not already present in the aray we want to add the new value to the array of values\n\n\n  if (checked && valueProp && !isValueInArray) {\n    return currentArrayOfValues.concat(valueProp);\n  } // If the checkbox was unchecked and the value is not in the array, simply return the already existing array of values\n\n\n  if (!isValueInArray) {\n    return currentArrayOfValues;\n  } // If the checkbox was unchecked and the value is in the array, remove the value and return the array\n\n\n  return currentArrayOfValues.slice(0, index).concat(currentArrayOfValues.slice(index + 1));\n} // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser.\n// @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;\n\nfunction useEventCallback(fn) {\n  var ref = useRef(fn); // we copy a ref to the callback scoped to the current state/props on each render\n\n  useIsomorphicLayoutEffect(function () {\n    ref.current = fn;\n  });\n  return useCallback(function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return ref.current.apply(void 0, args);\n  }, []);\n}\n\nfunction useField(propsOrFieldName) {\n  var formik = useFormikContext();\n  var getFieldProps = formik.getFieldProps,\n      getFieldMeta = formik.getFieldMeta,\n      getFieldHelpers = formik.getFieldHelpers,\n      registerField = formik.registerField,\n      unregisterField = formik.unregisterField;\n  var isAnObject = isObject(propsOrFieldName); // Normalize propsOrFieldName to FieldHookConfig<Val>\n\n  var props = isAnObject ? propsOrFieldName : {\n    name: propsOrFieldName\n  };\n  var fieldName = props.name,\n      validateFn = props.validate;\n  useEffect(function () {\n    if (fieldName) {\n      registerField(fieldName, {\n        validate: validateFn\n      });\n    }\n\n    return function () {\n      if (fieldName) {\n        unregisterField(fieldName);\n      }\n    };\n  }, [registerField, unregisterField, fieldName, validateFn]);\n\n  if (process.env.NODE_ENV !== \"production\") {\n    !formik ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'useField() / <Field /> must be used underneath a <Formik> component or withFormik() higher order component') : invariant(false) : void 0;\n  }\n\n  !fieldName ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid field name. Either pass `useField` a string or an object containing a `name` key.') : invariant(false) : void 0;\n  return [getFieldProps(props), getFieldMeta(fieldName), getFieldHelpers(fieldName)];\n}\nfunction Field(_ref) {\n  var validate = _ref.validate,\n      name = _ref.name,\n      render = _ref.render,\n      children = _ref.children,\n      is = _ref.as,\n      component = _ref.component,\n      props = _objectWithoutPropertiesLoose(_ref, [\"validate\", \"name\", \"render\", \"children\", \"as\", \"component\"]);\n\n  var _useFormikContext = useFormikContext(),\n      formik = _objectWithoutPropertiesLoose(_useFormikContext, [\"validate\", \"validationSchema\"]);\n\n  if (process.env.NODE_ENV !== \"production\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    useEffect(function () {\n      !!render ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Field render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Field name=\\\"\" + name + \"\\\" render={({field, form}) => ...} /> with <Field name=\\\"\" + name + \"\\\">{({field, form, meta}) => ...}</Field>\") : invariant(false) : void 0;\n      !!(is && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <Field as> and <Field children> as a function in the same <Field> component; <Field as> will be ignored.') : invariant(false) : void 0;\n      !!(component && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <Field component> and <Field children> as a function in the same <Field> component; <Field component> will be ignored.') : invariant(false) : void 0;\n      !!(render && children && !isEmptyChildren(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <Field render> and <Field children> in the same <Field> component; <Field children> will be ignored') : invariant(false) : void 0; // eslint-disable-next-line\n    }, []);\n  } // Register field and field-level validation with parent <Formik>\n\n\n  var registerField = formik.registerField,\n      unregisterField = formik.unregisterField;\n  useEffect(function () {\n    registerField(name, {\n      validate: validate\n    });\n    return function () {\n      unregisterField(name);\n    };\n  }, [registerField, unregisterField, name, validate]);\n  var field = formik.getFieldProps(_extends({\n    name: name\n  }, props));\n  var meta = formik.getFieldMeta(name);\n  var legacyBag = {\n    field: field,\n    form: formik\n  };\n\n  if (render) {\n    return render(_extends({}, legacyBag, {\n      meta: meta\n    }));\n  }\n\n  if (isFunction(children)) {\n    return children(_extends({}, legacyBag, {\n      meta: meta\n    }));\n  }\n\n  if (component) {\n    // This behavior is backwards compat with earlier Formik 0.9 to 1.x\n    if (typeof component === 'string') {\n      var innerRef = props.innerRef,\n          rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n      return createElement(component, _extends({\n        ref: innerRef\n      }, field, rest), children);\n    } // We don't pass `meta` for backwards compat\n\n\n    return createElement(component, _extends({\n      field: field,\n      form: formik\n    }, props), children);\n  } // default to input here so we can check for both `as` and `children` above\n\n\n  var asElement = is || 'input';\n\n  if (typeof asElement === 'string') {\n    var _innerRef = props.innerRef,\n        _rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n    return createElement(asElement, _extends({\n      ref: _innerRef\n    }, field, _rest), children);\n  }\n\n  return createElement(asElement, _extends({}, field, props), children);\n}\n\nvar Form = /*#__PURE__*/forwardRef(function (props, ref) {\n  // iOS needs an \"action\" attribute for nice input: https://stackoverflow.com/a/39485162/406725\n  // We default the action to \"#\" in case the preventDefault fails (just updates the URL hash)\n  var action = props.action,\n      rest = _objectWithoutPropertiesLoose(props, [\"action\"]);\n\n  var _action = action != null ? action : '#';\n\n  var _useFormikContext = useFormikContext(),\n      handleReset = _useFormikContext.handleReset,\n      handleSubmit = _useFormikContext.handleSubmit;\n\n  return createElement(\"form\", Object.assign({\n    onSubmit: handleSubmit,\n    ref: ref,\n    onReset: handleReset,\n    action: _action\n  }, rest));\n});\nForm.displayName = 'Form';\n\n/**\r\n * A public higher-order component to access the imperative API\r\n */\n\nfunction withFormik(_ref) {\n  var _ref$mapPropsToValues = _ref.mapPropsToValues,\n      mapPropsToValues = _ref$mapPropsToValues === void 0 ? function (vanillaProps) {\n    var val = {};\n\n    for (var k in vanillaProps) {\n      if (vanillaProps.hasOwnProperty(k) && typeof vanillaProps[k] !== 'function') {\n        // @todo TypeScript fix\n        val[k] = vanillaProps[k];\n      }\n    }\n\n    return val;\n  } : _ref$mapPropsToValues,\n      config = _objectWithoutPropertiesLoose(_ref, [\"mapPropsToValues\"]);\n\n  return function createFormik(Component$1) {\n    var componentDisplayName = Component$1.displayName || Component$1.name || Component$1.constructor && Component$1.constructor.name || 'Component';\n    /**\r\n     * We need to use closures here for to provide the wrapped component's props to\r\n     * the respective withFormik config methods.\r\n     */\n\n    var C = /*#__PURE__*/function (_React$Component) {\n      _inheritsLoose(C, _React$Component);\n\n      function C() {\n        var _this;\n\n        _this = _React$Component.apply(this, arguments) || this;\n\n        _this.validate = function (values) {\n          return config.validate(values, _this.props);\n        };\n\n        _this.validationSchema = function () {\n          return isFunction(config.validationSchema) ? config.validationSchema(_this.props) : config.validationSchema;\n        };\n\n        _this.handleSubmit = function (values, actions) {\n          return config.handleSubmit(values, _extends({}, actions, {\n            props: _this.props\n          }));\n        };\n        /**\r\n         * Just avoiding a render callback for perf here\r\n         */\n\n\n        _this.renderFormComponent = function (formikProps) {\n          return createElement(Component$1, Object.assign({}, _this.props, formikProps));\n        };\n\n        return _this;\n      }\n\n      var _proto = C.prototype;\n\n      _proto.render = function render() {\n        var _this$props = this.props,\n            props = _objectWithoutPropertiesLoose(_this$props, [\"children\"]);\n\n        return createElement(Formik, Object.assign({}, props, config, {\n          validate: config.validate && this.validate,\n          validationSchema: config.validationSchema && this.validationSchema,\n          initialValues: mapPropsToValues(this.props),\n          initialStatus: config.mapPropsToStatus && config.mapPropsToStatus(this.props),\n          initialErrors: config.mapPropsToErrors && config.mapPropsToErrors(this.props),\n          initialTouched: config.mapPropsToTouched && config.mapPropsToTouched(this.props),\n          onSubmit: this.handleSubmit,\n          children: this.renderFormComponent\n        }));\n      };\n\n      return C;\n    }(Component);\n\n    C.displayName = \"WithFormik(\" + componentDisplayName + \")\";\n    return hoistNonReactStatics(C, Component$1 // cast type to ComponentClass (even if SFC)\n    );\n  };\n}\n\n/**\r\n * Connect any component to Formik context, and inject as a prop called `formik`;\r\n * @param Comp React Component\r\n */\n\nfunction connect(Comp) {\n  var C = function C(props) {\n    return createElement(FormikConsumer, null, function (formik) {\n      !!!formik ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Formik context is undefined, please verify you are rendering <Form>, <Field>, <FastField>, <FieldArray>, or your custom context-using component as a child of a <Formik> component. Component name: \" + Comp.name) : invariant(false) : void 0;\n      return createElement(Comp, Object.assign({}, props, {\n        formik: formik\n      }));\n    });\n  };\n\n  var componentDisplayName = Comp.displayName || Comp.name || Comp.constructor && Comp.constructor.name || 'Component'; // Assign Comp to C.WrappedComponent so we can access the inner component in tests\n  // For example, <Field.WrappedComponent /> gets us <FieldInner/>\n\n  C.WrappedComponent = Comp;\n  C.displayName = \"FormikConnect(\" + componentDisplayName + \")\";\n  return hoistNonReactStatics(C, Comp // cast type to ComponentClass (even if SFC)\n  );\n}\n\n/**\r\n * Some array helpers!\r\n */\n\nvar move = function move(array, from, to) {\n  var copy = copyArrayLike(array);\n  var value = copy[from];\n  copy.splice(from, 1);\n  copy.splice(to, 0, value);\n  return copy;\n};\nvar swap = function swap(arrayLike, indexA, indexB) {\n  var copy = copyArrayLike(arrayLike);\n  var a = copy[indexA];\n  copy[indexA] = copy[indexB];\n  copy[indexB] = a;\n  return copy;\n};\nvar insert = function insert(arrayLike, index, value) {\n  var copy = copyArrayLike(arrayLike);\n  copy.splice(index, 0, value);\n  return copy;\n};\nvar replace = function replace(arrayLike, index, value) {\n  var copy = copyArrayLike(arrayLike);\n  copy[index] = value;\n  return copy;\n};\n\nvar copyArrayLike = function copyArrayLike(arrayLike) {\n  if (!arrayLike) {\n    return [];\n  } else if (Array.isArray(arrayLike)) {\n    return [].concat(arrayLike);\n  } else {\n    var maxIndex = Object.keys(arrayLike).map(function (key) {\n      return parseInt(key);\n    }).reduce(function (max, el) {\n      return el > max ? el : max;\n    }, 0);\n    return Array.from(_extends({}, arrayLike, {\n      length: maxIndex + 1\n    }));\n  }\n};\n\nvar FieldArrayInner = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(FieldArrayInner, _React$Component);\n\n  function FieldArrayInner(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n\n    _this.updateArrayField = function (fn, alterTouched, alterErrors) {\n      var _this$props = _this.props,\n          name = _this$props.name,\n          setFormikState = _this$props.formik.setFormikState;\n      setFormikState(function (prevState) {\n        var updateErrors = typeof alterErrors === 'function' ? alterErrors : fn;\n        var updateTouched = typeof alterTouched === 'function' ? alterTouched : fn; // values fn should be executed before updateErrors and updateTouched,\n        // otherwise it causes an error with unshift.\n\n        var values = setIn(prevState.values, name, fn(getIn(prevState.values, name)));\n        var fieldError = alterErrors ? updateErrors(getIn(prevState.errors, name)) : undefined;\n        var fieldTouched = alterTouched ? updateTouched(getIn(prevState.touched, name)) : undefined;\n\n        if (isEmptyArray(fieldError)) {\n          fieldError = undefined;\n        }\n\n        if (isEmptyArray(fieldTouched)) {\n          fieldTouched = undefined;\n        }\n\n        return _extends({}, prevState, {\n          values: values,\n          errors: alterErrors ? setIn(prevState.errors, name, fieldError) : prevState.errors,\n          touched: alterTouched ? setIn(prevState.touched, name, fieldTouched) : prevState.touched\n        });\n      });\n    };\n\n    _this.push = function (value) {\n      return _this.updateArrayField(function (arrayLike) {\n        return [].concat(copyArrayLike(arrayLike), [cloneDeep(value)]);\n      }, false, false);\n    };\n\n    _this.handlePush = function (value) {\n      return function () {\n        return _this.push(value);\n      };\n    };\n\n    _this.swap = function (indexA, indexB) {\n      return _this.updateArrayField(function (array) {\n        return swap(array, indexA, indexB);\n      }, true, true);\n    };\n\n    _this.handleSwap = function (indexA, indexB) {\n      return function () {\n        return _this.swap(indexA, indexB);\n      };\n    };\n\n    _this.move = function (from, to) {\n      return _this.updateArrayField(function (array) {\n        return move(array, from, to);\n      }, true, true);\n    };\n\n    _this.handleMove = function (from, to) {\n      return function () {\n        return _this.move(from, to);\n      };\n    };\n\n    _this.insert = function (index, value) {\n      return _this.updateArrayField(function (array) {\n        return insert(array, index, value);\n      }, function (array) {\n        return insert(array, index, null);\n      }, function (array) {\n        return insert(array, index, null);\n      });\n    };\n\n    _this.handleInsert = function (index, value) {\n      return function () {\n        return _this.insert(index, value);\n      };\n    };\n\n    _this.replace = function (index, value) {\n      return _this.updateArrayField(function (array) {\n        return replace(array, index, value);\n      }, false, false);\n    };\n\n    _this.handleReplace = function (index, value) {\n      return function () {\n        return _this.replace(index, value);\n      };\n    };\n\n    _this.unshift = function (value) {\n      var length = -1;\n\n      _this.updateArrayField(function (array) {\n        var arr = array ? [value].concat(array) : [value];\n\n        if (length < 0) {\n          length = arr.length;\n        }\n\n        return arr;\n      }, function (array) {\n        var arr = array ? [null].concat(array) : [null];\n\n        if (length < 0) {\n          length = arr.length;\n        }\n\n        return arr;\n      }, function (array) {\n        var arr = array ? [null].concat(array) : [null];\n\n        if (length < 0) {\n          length = arr.length;\n        }\n\n        return arr;\n      });\n\n      return length;\n    };\n\n    _this.handleUnshift = function (value) {\n      return function () {\n        return _this.unshift(value);\n      };\n    };\n\n    _this.handleRemove = function (index) {\n      return function () {\n        return _this.remove(index);\n      };\n    };\n\n    _this.handlePop = function () {\n      return function () {\n        return _this.pop();\n      };\n    }; // We need TypeScript generics on these, so we'll bind them in the constructor\n    // @todo Fix TS 3.2.1\n\n\n    _this.remove = _this.remove.bind(_assertThisInitialized(_this));\n    _this.pop = _this.pop.bind(_assertThisInitialized(_this));\n    return _this;\n  }\n\n  var _proto = FieldArrayInner.prototype;\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    if (this.props.validateOnChange && this.props.formik.validateOnChange && !isEqual(getIn(prevProps.formik.values, prevProps.name), getIn(this.props.formik.values, this.props.name))) {\n      this.props.formik.validateForm(this.props.formik.values);\n    }\n  };\n\n  _proto.remove = function remove(index) {\n    // We need to make sure we also remove relevant pieces of `touched` and `errors`\n    var result;\n    this.updateArrayField( // so this gets call 3 times\n    function (array) {\n      var copy = array ? copyArrayLike(array) : [];\n\n      if (!result) {\n        result = copy[index];\n      }\n\n      if (isFunction(copy.splice)) {\n        copy.splice(index, 1);\n      }\n\n      return copy;\n    }, true, true);\n    return result;\n  };\n\n  _proto.pop = function pop() {\n    // Remove relevant pieces of `touched` and `errors` too!\n    var result;\n    this.updateArrayField( // so this gets call 3 times\n    function (array) {\n      var tmp = array;\n\n      if (!result) {\n        result = tmp && tmp.pop && tmp.pop();\n      }\n\n      return tmp;\n    }, true, true);\n    return result;\n  };\n\n  _proto.render = function render() {\n    var arrayHelpers = {\n      push: this.push,\n      pop: this.pop,\n      swap: this.swap,\n      move: this.move,\n      insert: this.insert,\n      replace: this.replace,\n      unshift: this.unshift,\n      remove: this.remove,\n      handlePush: this.handlePush,\n      handlePop: this.handlePop,\n      handleSwap: this.handleSwap,\n      handleMove: this.handleMove,\n      handleInsert: this.handleInsert,\n      handleReplace: this.handleReplace,\n      handleUnshift: this.handleUnshift,\n      handleRemove: this.handleRemove\n    };\n\n    var _this$props2 = this.props,\n        component = _this$props2.component,\n        render = _this$props2.render,\n        children = _this$props2.children,\n        name = _this$props2.name,\n        _this$props2$formik = _this$props2.formik,\n        restOfFormik = _objectWithoutPropertiesLoose(_this$props2$formik, [\"validate\", \"validationSchema\"]);\n\n    var props = _extends({}, arrayHelpers, {\n      form: restOfFormik,\n      name: name\n    });\n\n    return component ? createElement(component, props) : render ? render(props) : children // children come last, always called\n    ? typeof children === 'function' ? children(props) : !isEmptyChildren(children) ? Children.only(children) : null : null;\n  };\n\n  return FieldArrayInner;\n}(Component);\n\nFieldArrayInner.defaultProps = {\n  validateOnChange: true\n};\nvar FieldArray = /*#__PURE__*/connect(FieldArrayInner);\n\nvar ErrorMessageImpl = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(ErrorMessageImpl, _React$Component);\n\n  function ErrorMessageImpl() {\n    return _React$Component.apply(this, arguments) || this;\n  }\n\n  var _proto = ErrorMessageImpl.prototype;\n\n  _proto.shouldComponentUpdate = function shouldComponentUpdate(props) {\n    if (getIn(this.props.formik.errors, this.props.name) !== getIn(props.formik.errors, this.props.name) || getIn(this.props.formik.touched, this.props.name) !== getIn(props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length) {\n      return true;\n    } else {\n      return false;\n    }\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        component = _this$props.component,\n        formik = _this$props.formik,\n        render = _this$props.render,\n        children = _this$props.children,\n        name = _this$props.name,\n        rest = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"formik\", \"render\", \"children\", \"name\"]);\n\n    var touch = getIn(formik.touched, name);\n    var error = getIn(formik.errors, name);\n    return !!touch && !!error ? render ? isFunction(render) ? render(error) : null : children ? isFunction(children) ? children(error) : null : component ? createElement(component, rest, error) : error : null;\n  };\n\n  return ErrorMessageImpl;\n}(Component);\n\nvar ErrorMessage = /*#__PURE__*/connect(ErrorMessageImpl);\n\n/**\r\n * Custom Field component for quickly hooking into Formik\r\n * context and wiring up forms.\r\n */\n\nvar FastFieldInner = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(FastFieldInner, _React$Component);\n\n  function FastFieldInner(props) {\n    var _this;\n\n    _this = _React$Component.call(this, props) || this;\n    var render = props.render,\n        children = props.children,\n        component = props.component,\n        is = props.as,\n        name = props.name;\n    !!render ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<FastField render> has been deprecated. Please use a child callback function instead: <FastField name={\" + name + \"}>{props => ...}</FastField> instead.\") : invariant(false) : void 0;\n    !!(component && render) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField component> and <FastField render> in the same <FastField> component; <FastField component> will be ignored') : invariant(false) : void 0;\n    !!(is && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField as> and <FastField children> as a function in the same <FastField> component; <FastField as> will be ignored.') : invariant(false) : void 0;\n    !!(component && children && isFunction(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField component> and <FastField children> as a function in the same <FastField> component; <FastField component> will be ignored.') : invariant(false) : void 0;\n    !!(render && children && !isEmptyChildren(children)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'You should not use <FastField render> and <FastField children> in the same <FastField> component; <FastField children> will be ignored') : invariant(false) : void 0;\n    return _this;\n  }\n\n  var _proto = FastFieldInner.prototype;\n\n  _proto.shouldComponentUpdate = function shouldComponentUpdate(props) {\n    if (this.props.shouldUpdate) {\n      return this.props.shouldUpdate(props, this.props);\n    } else if (props.name !== this.props.name || getIn(props.formik.values, this.props.name) !== getIn(this.props.formik.values, this.props.name) || getIn(props.formik.errors, this.props.name) !== getIn(this.props.formik.errors, this.props.name) || getIn(props.formik.touched, this.props.name) !== getIn(this.props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length || props.formik.isSubmitting !== this.props.formik.isSubmitting) {\n      return true;\n    } else {\n      return false;\n    }\n  };\n\n  _proto.componentDidMount = function componentDidMount() {\n    // Register the Field with the parent Formik. Parent will cycle through\n    // registered Field's validate fns right prior to submit\n    this.props.formik.registerField(this.props.name, {\n      validate: this.props.validate\n    });\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    if (this.props.name !== prevProps.name) {\n      this.props.formik.unregisterField(prevProps.name);\n      this.props.formik.registerField(this.props.name, {\n        validate: this.props.validate\n      });\n    }\n\n    if (this.props.validate !== prevProps.validate) {\n      this.props.formik.registerField(this.props.name, {\n        validate: this.props.validate\n      });\n    }\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.props.formik.unregisterField(this.props.name);\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        name = _this$props.name,\n        render = _this$props.render,\n        is = _this$props.as,\n        children = _this$props.children,\n        component = _this$props.component,\n        formik = _this$props.formik,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"validate\", \"name\", \"render\", \"as\", \"children\", \"component\", \"shouldUpdate\", \"formik\"]);\n\n    var restOfFormik = _objectWithoutPropertiesLoose(formik, [\"validate\", \"validationSchema\"]);\n\n    var field = formik.getFieldProps(_extends({\n      name: name\n    }, props));\n    var meta = {\n      value: getIn(formik.values, name),\n      error: getIn(formik.errors, name),\n      touched: !!getIn(formik.touched, name),\n      initialValue: getIn(formik.initialValues, name),\n      initialTouched: !!getIn(formik.initialTouched, name),\n      initialError: getIn(formik.initialErrors, name)\n    };\n    var bag = {\n      field: field,\n      meta: meta,\n      form: restOfFormik\n    };\n\n    if (render) {\n      return render(bag);\n    }\n\n    if (isFunction(children)) {\n      return children(bag);\n    }\n\n    if (component) {\n      // This behavior is backwards compat with earlier Formik 0.9 to 1.x\n      if (typeof component === 'string') {\n        var innerRef = props.innerRef,\n            rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n        return createElement(component, _extends({\n          ref: innerRef\n        }, field, rest), children);\n      } // We don't pass `meta` for backwards compat\n\n\n      return createElement(component, _extends({\n        field: field,\n        form: formik\n      }, props), children);\n    } // default to input here so we can check for both `as` and `children` above\n\n\n    var asElement = is || 'input';\n\n    if (typeof asElement === 'string') {\n      var _innerRef = props.innerRef,\n          _rest = _objectWithoutPropertiesLoose(props, [\"innerRef\"]);\n\n      return createElement(asElement, _extends({\n        ref: _innerRef\n      }, field, _rest), children);\n    }\n\n    return createElement(asElement, _extends({}, field, props), children);\n  };\n\n  return FastFieldInner;\n}(Component);\n\nvar FastField = /*#__PURE__*/connect(FastFieldInner);\n\nexport { ErrorMessage, FastField, Field, FieldArray, Form, Formik, FormikConsumer, FormikContext, FormikProvider, connect, getActiveElement, getIn, insert, isEmptyArray, isEmptyChildren, isFunction, isInputEvent, isInteger, isNaN$1 as isNaN, isObject, isPromise, isString, move, prepareDataForValidation, replace, setIn, setNestedObjectValues, swap, useField, useFormik, useFormikContext, validateYupSchema, withFormik, yupToFormErrors };\n//# sourceMappingURL=formik.esm.js.map\n","// ES6 Map\nvar map\ntry {\n  map = Map\n} catch (_) { }\nvar set\n\n// ES6 Set\ntry {\n  set = Set\n} catch (_) { }\n\nfunction baseClone (src, circulars, clones) {\n  // Null/undefined/functions/etc\n  if (!src || typeof src !== 'object' || typeof src === 'function') {\n    return src\n  }\n\n  // DOM Node\n  if (src.nodeType && 'cloneNode' in src) {\n    return src.cloneNode(true)\n  }\n\n  // Date\n  if (src instanceof Date) {\n    return new Date(src.getTime())\n  }\n\n  // RegExp\n  if (src instanceof RegExp) {\n    return new RegExp(src)\n  }\n\n  // Arrays\n  if (Array.isArray(src)) {\n    return src.map(clone)\n  }\n\n  // ES6 Maps\n  if (map && src instanceof map) {\n    return new Map(Array.from(src.entries()))\n  }\n\n  // ES6 Sets\n  if (set && src instanceof set) {\n    return new Set(Array.from(src.values()))\n  }\n\n  // Object\n  if (src instanceof Object) {\n    circulars.push(src)\n    var obj = Object.create(src)\n    clones.push(obj)\n    for (var key in src) {\n      var idx = circulars.findIndex(function (i) {\n        return i === src[key]\n      })\n      obj[key] = idx > -1 ? clones[idx] : baseClone(src[key], circulars, clones)\n    }\n    return obj\n  }\n\n  // ???\n  return src\n}\n\nexport default function clone (src) {\n  return baseClone(src, [], [])\n}\n","const toString = Object.prototype.toString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\nconst symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => '';\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\n\nfunction printNumber(val) {\n  if (val != +val) return 'NaN';\n  const isNegativeZero = val === 0 && 1 / val < 0;\n  return isNegativeZero ? '-0' : '' + val;\n}\n\nfunction printSimpleValue(val, quoteStrings = false) {\n  if (val == null || val === true || val === false) return '' + val;\n  const typeOf = typeof val;\n  if (typeOf === 'number') return printNumber(val);\n  if (typeOf === 'string') return quoteStrings ? `\"${val}\"` : val;\n  if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']';\n  if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)');\n  const tag = toString.call(val).slice(8, -1);\n  if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val);\n  if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']';\n  if (tag === 'RegExp') return regExpToString.call(val);\n  return null;\n}\n\nexport default function printValue(value, quoteStrings) {\n  let result = printSimpleValue(value, quoteStrings);\n  if (result !== null) return result;\n  return JSON.stringify(value, function (key, value) {\n    let result = printSimpleValue(this[key], quoteStrings);\n    if (result !== null) return result;\n    return value;\n  }, 2);\n}","import printValue from './util/printValue';\nexport let mixed = {\n  default: '${path} is invalid',\n  required: '${path} is a required field',\n  oneOf: '${path} must be one of the following values: ${values}',\n  notOneOf: '${path} must not be one of the following values: ${values}',\n  notType: ({\n    path,\n    type,\n    value,\n    originalValue\n  }) => {\n    let isCast = originalValue != null && originalValue !== value;\n    let msg = `${path} must be a \\`${type}\\` type, ` + `but the final value was: \\`${printValue(value, true)}\\`` + (isCast ? ` (cast from the value \\`${printValue(originalValue, true)}\\`).` : '.');\n\n    if (value === null) {\n      msg += `\\n If \"null\" is intended as an empty value be sure to mark the schema as \\`.nullable()\\``;\n    }\n\n    return msg;\n  },\n  defined: '${path} must be defined'\n};\nexport let string = {\n  length: '${path} must be exactly ${length} characters',\n  min: '${path} must be at least ${min} characters',\n  max: '${path} must be at most ${max} characters',\n  matches: '${path} must match the following: \"${regex}\"',\n  email: '${path} must be a valid email',\n  url: '${path} must be a valid URL',\n  uuid: '${path} must be a valid UUID',\n  trim: '${path} must be a trimmed string',\n  lowercase: '${path} must be a lowercase string',\n  uppercase: '${path} must be a upper case string'\n};\nexport let number = {\n  min: '${path} must be greater than or equal to ${min}',\n  max: '${path} must be less than or equal to ${max}',\n  lessThan: '${path} must be less than ${less}',\n  moreThan: '${path} must be greater than ${more}',\n  positive: '${path} must be a positive number',\n  negative: '${path} must be a negative number',\n  integer: '${path} must be an integer'\n};\nexport let date = {\n  min: '${path} field must be later than ${min}',\n  max: '${path} field must be at earlier than ${max}'\n};\nexport let boolean = {\n  isValue: '${path} field must be ${value}'\n};\nexport let object = {\n  noUnknown: '${path} field has unspecified keys: ${unknown}'\n};\nexport let array = {\n  min: '${path} field must have at least ${min} items',\n  max: '${path} field must have less than or equal to ${max} items',\n  length: '${path} must have ${length} items'\n};\nexport default Object.assign(Object.create(null), {\n  mixed,\n  string,\n  number,\n  date,\n  object,\n  array,\n  boolean\n});","const isSchema = obj => obj && obj.__isYupSchema__;\n\nexport default isSchema;","export default function toArray(value) {\n  return value == null ? [] : [].concat(value);\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport printValue from './util/printValue';\nimport toArray from './util/toArray';\nlet strReg = /\\$\\{\\s*(\\w+)\\s*\\}/g;\nexport default class ValidationError extends Error {\n  static formatError(message, params) {\n    const path = params.label || params.path || 'this';\n    if (path !== params.path) params = _extends({}, params, {\n      path\n    });\n    if (typeof message === 'string') return message.replace(strReg, (_, key) => printValue(params[key]));\n    if (typeof message === 'function') return message(params);\n    return message;\n  }\n\n  static isError(err) {\n    return err && err.name === 'ValidationError';\n  }\n\n  constructor(errorOrErrors, value, field, type) {\n    super();\n    this.value = void 0;\n    this.path = void 0;\n    this.type = void 0;\n    this.errors = void 0;\n    this.params = void 0;\n    this.inner = void 0;\n    this.name = 'ValidationError';\n    this.value = value;\n    this.path = field;\n    this.type = type;\n    this.errors = [];\n    this.inner = [];\n    toArray(errorOrErrors).forEach(err => {\n      if (ValidationError.isError(err)) {\n        this.errors.push(...err.errors);\n        this.inner = this.inner.concat(err.inner.length ? err.inner : err);\n      } else {\n        this.errors.push(err);\n      }\n    });\n    this.message = this.errors.length > 1 ? `${this.errors.length} errors occurred` : this.errors[0];\n    if (Error.captureStackTrace) Error.captureStackTrace(this, ValidationError);\n  }\n\n}","import ValidationError from '../ValidationError';\n\nconst once = cb => {\n  let fired = false;\n  return (...args) => {\n    if (fired) return;\n    fired = true;\n    cb(...args);\n  };\n};\n\nexport default function runTests(options, cb) {\n  let {\n    endEarly,\n    tests,\n    args,\n    value,\n    errors,\n    sort,\n    path\n  } = options;\n  let callback = once(cb);\n  let count = tests.length;\n  const nestedErrors = [];\n  errors = errors ? errors : [];\n  if (!count) return errors.length ? callback(new ValidationError(errors, value, path)) : callback(null, value);\n\n  for (let i = 0; i < tests.length; i++) {\n    const test = tests[i];\n    test(args, function finishTestRun(err) {\n      if (err) {\n        // always return early for non validation errors\n        if (!ValidationError.isError(err)) {\n          return callback(err, value);\n        }\n\n        if (endEarly) {\n          err.value = value;\n          return callback(err, value);\n        }\n\n        nestedErrors.push(err);\n      }\n\n      if (--count <= 0) {\n        if (nestedErrors.length) {\n          if (sort) nestedErrors.sort(sort); //show parent errors after the nested ones: name.first, name\n\n          if (errors.length) nestedErrors.push(...errors);\n          errors = nestedErrors;\n        }\n\n        if (errors.length) {\n          callback(new ValidationError(errors, value, path), value);\n          return;\n        }\n\n        callback(null, value);\n      }\n    });\n  }\n}","import { getter } from 'property-expr';\nconst prefixes = {\n  context: '$',\n  value: '.'\n};\nexport function create(key, options) {\n  return new Reference(key, options);\n}\nexport default class Reference {\n  constructor(key, options = {}) {\n    this.key = void 0;\n    this.isContext = void 0;\n    this.isValue = void 0;\n    this.isSibling = void 0;\n    this.path = void 0;\n    this.getter = void 0;\n    this.map = void 0;\n    if (typeof key !== 'string') throw new TypeError('ref must be a string, got: ' + key);\n    this.key = key.trim();\n    if (key === '') throw new TypeError('ref must be a non-empty string');\n    this.isContext = this.key[0] === prefixes.context;\n    this.isValue = this.key[0] === prefixes.value;\n    this.isSibling = !this.isContext && !this.isValue;\n    let prefix = this.isContext ? prefixes.context : this.isValue ? prefixes.value : '';\n    this.path = this.key.slice(prefix.length);\n    this.getter = this.path && getter(this.path, true);\n    this.map = options.map;\n  }\n\n  getValue(value, parent, context) {\n    let result = this.isContext ? context : this.isValue ? value : parent;\n    if (this.getter) result = this.getter(result || {});\n    if (this.map) result = this.map(result);\n    return result;\n  }\n  /**\n   *\n   * @param {*} value\n   * @param {Object} options\n   * @param {Object=} options.context\n   * @param {Object=} options.parent\n   */\n\n\n  cast(value, options) {\n    return this.getValue(value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context);\n  }\n\n  resolve() {\n    return this;\n  }\n\n  describe() {\n    return {\n      type: 'ref',\n      key: this.key\n    };\n  }\n\n  toString() {\n    return `Ref(${this.key})`;\n  }\n\n  static isRef(value) {\n    return value && value.__isYupRef;\n  }\n\n} // @ts-ignore\n\nReference.prototype.__isYupRef = true;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport mapValues from 'lodash/mapValues';\nimport ValidationError from '../ValidationError';\nimport Ref from '../Reference';\nexport default function createValidation(config) {\n  function validate(_ref, cb) {\n    let {\n      value,\n      path = '',\n      label,\n      options,\n      originalValue,\n      sync\n    } = _ref,\n        rest = _objectWithoutPropertiesLoose(_ref, [\"value\", \"path\", \"label\", \"options\", \"originalValue\", \"sync\"]);\n\n    const {\n      name,\n      test,\n      params,\n      message\n    } = config;\n    let {\n      parent,\n      context\n    } = options;\n\n    function resolve(item) {\n      return Ref.isRef(item) ? item.getValue(value, parent, context) : item;\n    }\n\n    function createError(overrides = {}) {\n      const nextParams = mapValues(_extends({\n        value,\n        originalValue,\n        label,\n        path: overrides.path || path\n      }, params, overrides.params), resolve);\n      const error = new ValidationError(ValidationError.formatError(overrides.message || message, nextParams), value, nextParams.path, overrides.type || name);\n      error.params = nextParams;\n      return error;\n    }\n\n    let ctx = _extends({\n      path,\n      parent,\n      type: name,\n      createError,\n      resolve,\n      options,\n      originalValue\n    }, rest);\n\n    if (!sync) {\n      try {\n        Promise.resolve(test.call(ctx, value, ctx)).then(validOrError => {\n          if (ValidationError.isError(validOrError)) cb(validOrError);else if (!validOrError) cb(createError());else cb(null, validOrError);\n        }).catch(cb);\n      } catch (err) {\n        cb(err);\n      }\n\n      return;\n    }\n\n    let result;\n\n    try {\n      var _ref2;\n\n      result = test.call(ctx, value, ctx);\n\n      if (typeof ((_ref2 = result) == null ? void 0 : _ref2.then) === 'function') {\n        throw new Error(`Validation test of type: \"${ctx.type}\" returned a Promise during a synchronous validate. ` + `This test will finish after the validate call has returned`);\n      }\n    } catch (err) {\n      cb(err);\n      return;\n    }\n\n    if (ValidationError.isError(result)) cb(result);else if (!result) cb(createError());else cb(null, result);\n  }\n\n  validate.OPTIONS = config;\n  return validate;\n}","import { forEach } from 'property-expr';\n\nlet trim = part => part.substr(0, part.length - 1).substr(1);\n\nexport function getIn(schema, path, value, context = value) {\n  let parent, lastPart, lastPartDebug; // root path: ''\n\n  if (!path) return {\n    parent,\n    parentPath: path,\n    schema\n  };\n  forEach(path, (_part, isBracket, isArray) => {\n    let part = isBracket ? trim(_part) : _part;\n    schema = schema.resolve({\n      context,\n      parent,\n      value\n    });\n\n    if (schema.innerType) {\n      let idx = isArray ? parseInt(part, 10) : 0;\n\n      if (value && idx >= value.length) {\n        throw new Error(`Yup.reach cannot resolve an array item at index: ${_part}, in the path: ${path}. ` + `because there is no value at that index. `);\n      }\n\n      parent = value;\n      value = value && value[idx];\n      schema = schema.innerType;\n    } // sometimes the array index part of a path doesn't exist: \"nested.arr.child\"\n    // in these cases the current part is the next schema and should be processed\n    // in this iteration. For cases where the index signature is included this\n    // check will fail and we'll handle the `child` part on the next iteration like normal\n\n\n    if (!isArray) {\n      if (!schema.fields || !schema.fields[part]) throw new Error(`The schema does not contain the path: ${path}. ` + `(failed at: ${lastPartDebug} which is a type: \"${schema._type}\")`);\n      parent = value;\n      value = value && value[part];\n      schema = schema.fields[part];\n    }\n\n    lastPart = part;\n    lastPartDebug = isBracket ? '[' + _part + ']' : '.' + _part;\n  });\n  return {\n    schema,\n    parent,\n    parentPath: lastPart\n  };\n}\n\nconst reach = (obj, path, value, context) => getIn(obj, path, value, context).schema;\n\nexport default reach;","import Reference from '../Reference';\nexport default class ReferenceSet {\n  constructor() {\n    this.list = void 0;\n    this.refs = void 0;\n    this.list = new Set();\n    this.refs = new Map();\n  }\n\n  get size() {\n    return this.list.size + this.refs.size;\n  }\n\n  describe() {\n    const description = [];\n\n    for (const item of this.list) description.push(item);\n\n    for (const [, ref] of this.refs) description.push(ref.describe());\n\n    return description;\n  }\n\n  toArray() {\n    return Array.from(this.list).concat(Array.from(this.refs.values()));\n  }\n\n  resolveAll(resolve) {\n    return this.toArray().reduce((acc, e) => acc.concat(Reference.isRef(e) ? resolve(e) : e), []);\n  }\n\n  add(value) {\n    Reference.isRef(value) ? this.refs.set(value.key, value) : this.list.add(value);\n  }\n\n  delete(value) {\n    Reference.isRef(value) ? this.refs.delete(value.key) : this.list.delete(value);\n  }\n\n  clone() {\n    const next = new ReferenceSet();\n    next.list = new Set(this.list);\n    next.refs = new Map(this.refs);\n    return next;\n  }\n\n  merge(newItems, removeItems) {\n    const next = this.clone();\n    newItems.list.forEach(value => next.add(value));\n    newItems.refs.forEach(value => next.add(value));\n    removeItems.list.forEach(value => next.delete(value));\n    removeItems.refs.forEach(value => next.delete(value));\n    return next;\n  }\n\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n// @ts-ignore\nimport cloneDeep from 'nanoclone';\nimport { mixed as locale } from './locale';\nimport Condition from './Condition';\nimport runTests from './util/runTests';\nimport createValidation from './util/createValidation';\nimport printValue from './util/printValue';\nimport Ref from './Reference';\nimport { getIn } from './util/reach';\nimport ValidationError from './ValidationError';\nimport ReferenceSet from './util/ReferenceSet';\nimport toArray from './util/toArray'; // const UNSET = 'unset' as const;\n\nexport default class BaseSchema {\n  constructor(options) {\n    this.deps = [];\n    this.tests = void 0;\n    this.transforms = void 0;\n    this.conditions = [];\n    this._mutate = void 0;\n    this._typeError = void 0;\n    this._whitelist = new ReferenceSet();\n    this._blacklist = new ReferenceSet();\n    this.exclusiveTests = Object.create(null);\n    this.spec = void 0;\n    this.tests = [];\n    this.transforms = [];\n    this.withMutation(() => {\n      this.typeError(locale.notType);\n    });\n    this.type = (options == null ? void 0 : options.type) || 'mixed';\n    this.spec = _extends({\n      strip: false,\n      strict: false,\n      abortEarly: true,\n      recursive: true,\n      nullable: false,\n      presence: 'optional'\n    }, options == null ? void 0 : options.spec);\n  } // TODO: remove\n\n\n  get _type() {\n    return this.type;\n  }\n\n  _typeCheck(_value) {\n    return true;\n  }\n\n  clone(spec) {\n    if (this._mutate) {\n      if (spec) Object.assign(this.spec, spec);\n      return this;\n    } // if the nested value is a schema we can skip cloning, since\n    // they are already immutable\n\n\n    const next = Object.create(Object.getPrototypeOf(this)); // @ts-expect-error this is readonly\n\n    next.type = this.type;\n    next._typeError = this._typeError;\n    next._whitelistError = this._whitelistError;\n    next._blacklistError = this._blacklistError;\n    next._whitelist = this._whitelist.clone();\n    next._blacklist = this._blacklist.clone();\n    next.exclusiveTests = _extends({}, this.exclusiveTests); // @ts-expect-error this is readonly\n\n    next.deps = [...this.deps];\n    next.conditions = [...this.conditions];\n    next.tests = [...this.tests];\n    next.transforms = [...this.transforms];\n    next.spec = cloneDeep(_extends({}, this.spec, spec));\n    return next;\n  }\n\n  label(label) {\n    let next = this.clone();\n    next.spec.label = label;\n    return next;\n  }\n\n  meta(...args) {\n    if (args.length === 0) return this.spec.meta;\n    let next = this.clone();\n    next.spec.meta = Object.assign(next.spec.meta || {}, args[0]);\n    return next;\n  } // withContext<TContext extends AnyObject>(): BaseSchema<\n  //   TCast,\n  //   TContext,\n  //   TOutput\n  // > {\n  //   return this as any;\n  // }\n\n\n  withMutation(fn) {\n    let before = this._mutate;\n    this._mutate = true;\n    let result = fn(this);\n    this._mutate = before;\n    return result;\n  }\n\n  concat(schema) {\n    if (!schema || schema === this) return this;\n    if (schema.type !== this.type && this.type !== 'mixed') throw new TypeError(`You cannot \\`concat()\\` schema's of different types: ${this.type} and ${schema.type}`);\n    let base = this;\n    let combined = schema.clone();\n\n    const mergedSpec = _extends({}, base.spec, combined.spec); // if (combined.spec.nullable === UNSET)\n    //   mergedSpec.nullable = base.spec.nullable;\n    // if (combined.spec.presence === UNSET)\n    //   mergedSpec.presence = base.spec.presence;\n\n\n    combined.spec = mergedSpec;\n    combined._typeError || (combined._typeError = base._typeError);\n    combined._whitelistError || (combined._whitelistError = base._whitelistError);\n    combined._blacklistError || (combined._blacklistError = base._blacklistError); // manually merge the blacklist/whitelist (the other `schema` takes\n    // precedence in case of conflicts)\n\n    combined._whitelist = base._whitelist.merge(schema._whitelist, schema._blacklist);\n    combined._blacklist = base._blacklist.merge(schema._blacklist, schema._whitelist); // start with the current tests\n\n    combined.tests = base.tests;\n    combined.exclusiveTests = base.exclusiveTests; // manually add the new tests to ensure\n    // the deduping logic is consistent\n\n    combined.withMutation(next => {\n      schema.tests.forEach(fn => {\n        next.test(fn.OPTIONS);\n      });\n    });\n    combined.transforms = [...base.transforms, ...combined.transforms];\n    return combined;\n  }\n\n  isType(v) {\n    if (this.spec.nullable && v === null) return true;\n    return this._typeCheck(v);\n  }\n\n  resolve(options) {\n    let schema = this;\n\n    if (schema.conditions.length) {\n      let conditions = schema.conditions;\n      schema = schema.clone();\n      schema.conditions = [];\n      schema = conditions.reduce((schema, condition) => condition.resolve(schema, options), schema);\n      schema = schema.resolve(options);\n    }\n\n    return schema;\n  }\n  /**\n   *\n   * @param {*} value\n   * @param {Object} options\n   * @param {*=} options.parent\n   * @param {*=} options.context\n   */\n\n\n  cast(value, options = {}) {\n    let resolvedSchema = this.resolve(_extends({\n      value\n    }, options));\n\n    let result = resolvedSchema._cast(value, options);\n\n    if (value !== undefined && options.assert !== false && resolvedSchema.isType(result) !== true) {\n      let formattedValue = printValue(value);\n      let formattedResult = printValue(result);\n      throw new TypeError(`The value of ${options.path || 'field'} could not be cast to a value ` + `that satisfies the schema type: \"${resolvedSchema._type}\". \\n\\n` + `attempted value: ${formattedValue} \\n` + (formattedResult !== formattedValue ? `result of cast: ${formattedResult}` : ''));\n    }\n\n    return result;\n  }\n\n  _cast(rawValue, _options) {\n    let value = rawValue === undefined ? rawValue : this.transforms.reduce((value, fn) => fn.call(this, value, rawValue, this), rawValue);\n\n    if (value === undefined) {\n      value = this.getDefault();\n    }\n\n    return value;\n  }\n\n  _validate(_value, options = {}, cb) {\n    let {\n      sync,\n      path,\n      from = [],\n      originalValue = _value,\n      strict = this.spec.strict,\n      abortEarly = this.spec.abortEarly\n    } = options;\n    let value = _value;\n\n    if (!strict) {\n      // this._validating = true;\n      value = this._cast(value, _extends({\n        assert: false\n      }, options)); // this._validating = false;\n    } // value is cast, we can check if it meets type requirements\n\n\n    let args = {\n      value,\n      path,\n      options,\n      originalValue,\n      schema: this,\n      label: this.spec.label,\n      sync,\n      from\n    };\n    let initialTests = [];\n    if (this._typeError) initialTests.push(this._typeError);\n    let finalTests = [];\n    if (this._whitelistError) finalTests.push(this._whitelistError);\n    if (this._blacklistError) finalTests.push(this._blacklistError);\n    runTests({\n      args,\n      value,\n      path,\n      sync,\n      tests: initialTests,\n      endEarly: abortEarly\n    }, err => {\n      if (err) return void cb(err, value);\n      runTests({\n        tests: this.tests.concat(finalTests),\n        args,\n        path,\n        sync,\n        value,\n        endEarly: abortEarly\n      }, cb);\n    });\n  }\n\n  validate(value, options, maybeCb) {\n    let schema = this.resolve(_extends({}, options, {\n      value\n    })); // callback case is for nested validations\n\n    return typeof maybeCb === 'function' ? schema._validate(value, options, maybeCb) : new Promise((resolve, reject) => schema._validate(value, options, (err, value) => {\n      if (err) reject(err);else resolve(value);\n    }));\n  }\n\n  validateSync(value, options) {\n    let schema = this.resolve(_extends({}, options, {\n      value\n    }));\n    let result;\n\n    schema._validate(value, _extends({}, options, {\n      sync: true\n    }), (err, value) => {\n      if (err) throw err;\n      result = value;\n    });\n\n    return result;\n  }\n\n  isValid(value, options) {\n    return this.validate(value, options).then(() => true, err => {\n      if (ValidationError.isError(err)) return false;\n      throw err;\n    });\n  }\n\n  isValidSync(value, options) {\n    try {\n      this.validateSync(value, options);\n      return true;\n    } catch (err) {\n      if (ValidationError.isError(err)) return false;\n      throw err;\n    }\n  }\n\n  _getDefault() {\n    let defaultValue = this.spec.default;\n\n    if (defaultValue == null) {\n      return defaultValue;\n    }\n\n    return typeof defaultValue === 'function' ? defaultValue.call(this) : cloneDeep(defaultValue);\n  }\n\n  getDefault(options) {\n    let schema = this.resolve(options || {});\n    return schema._getDefault();\n  }\n\n  default(def) {\n    if (arguments.length === 0) {\n      return this._getDefault();\n    }\n\n    let next = this.clone({\n      default: def\n    });\n    return next;\n  }\n\n  strict(isStrict = true) {\n    let next = this.clone();\n    next.spec.strict = isStrict;\n    return next;\n  }\n\n  _isPresent(value) {\n    return value != null;\n  }\n\n  defined(message = locale.defined) {\n    return this.test({\n      message,\n      name: 'defined',\n      exclusive: true,\n\n      test(value) {\n        return value !== undefined;\n      }\n\n    });\n  }\n\n  required(message = locale.required) {\n    return this.clone({\n      presence: 'required'\n    }).withMutation(s => s.test({\n      message,\n      name: 'required',\n      exclusive: true,\n\n      test(value) {\n        return this.schema._isPresent(value);\n      }\n\n    }));\n  }\n\n  notRequired() {\n    let next = this.clone({\n      presence: 'optional'\n    });\n    next.tests = next.tests.filter(test => test.OPTIONS.name !== 'required');\n    return next;\n  }\n\n  nullable(isNullable = true) {\n    let next = this.clone({\n      nullable: isNullable !== false\n    });\n    return next;\n  }\n\n  transform(fn) {\n    let next = this.clone();\n    next.transforms.push(fn);\n    return next;\n  }\n  /**\n   * Adds a test function to the schema's queue of tests.\n   * tests can be exclusive or non-exclusive.\n   *\n   * - exclusive tests, will replace any existing tests of the same name.\n   * - non-exclusive: can be stacked\n   *\n   * If a non-exclusive test is added to a schema with an exclusive test of the same name\n   * the exclusive test is removed and further tests of the same name will be stacked.\n   *\n   * If an exclusive test is added to a schema with non-exclusive tests of the same name\n   * the previous tests are removed and further tests of the same name will replace each other.\n   */\n\n\n  test(...args) {\n    let opts;\n\n    if (args.length === 1) {\n      if (typeof args[0] === 'function') {\n        opts = {\n          test: args[0]\n        };\n      } else {\n        opts = args[0];\n      }\n    } else if (args.length === 2) {\n      opts = {\n        name: args[0],\n        test: args[1]\n      };\n    } else {\n      opts = {\n        name: args[0],\n        message: args[1],\n        test: args[2]\n      };\n    }\n\n    if (opts.message === undefined) opts.message = locale.default;\n    if (typeof opts.test !== 'function') throw new TypeError('`test` is a required parameters');\n    let next = this.clone();\n    let validate = createValidation(opts);\n    let isExclusive = opts.exclusive || opts.name && next.exclusiveTests[opts.name] === true;\n\n    if (opts.exclusive) {\n      if (!opts.name) throw new TypeError('Exclusive tests must provide a unique `name` identifying the test');\n    }\n\n    if (opts.name) next.exclusiveTests[opts.name] = !!opts.exclusive;\n    next.tests = next.tests.filter(fn => {\n      if (fn.OPTIONS.name === opts.name) {\n        if (isExclusive) return false;\n        if (fn.OPTIONS.test === validate.OPTIONS.test) return false;\n      }\n\n      return true;\n    });\n    next.tests.push(validate);\n    return next;\n  }\n\n  when(keys, options) {\n    if (!Array.isArray(keys) && typeof keys !== 'string') {\n      options = keys;\n      keys = '.';\n    }\n\n    let next = this.clone();\n    let deps = toArray(keys).map(key => new Ref(key));\n    deps.forEach(dep => {\n      // @ts-ignore\n      if (dep.isSibling) next.deps.push(dep.key);\n    });\n    next.conditions.push(new Condition(deps, options));\n    return next;\n  }\n\n  typeError(message) {\n    let next = this.clone();\n    next._typeError = createValidation({\n      message,\n      name: 'typeError',\n\n      test(value) {\n        if (value !== undefined && !this.schema.isType(value)) return this.createError({\n          params: {\n            type: this.schema._type\n          }\n        });\n        return true;\n      }\n\n    });\n    return next;\n  }\n\n  oneOf(enums, message = locale.oneOf) {\n    let next = this.clone();\n    enums.forEach(val => {\n      next._whitelist.add(val);\n\n      next._blacklist.delete(val);\n    });\n    next._whitelistError = createValidation({\n      message,\n      name: 'oneOf',\n\n      test(value) {\n        if (value === undefined) return true;\n        let valids = this.schema._whitelist;\n        let resolved = valids.resolveAll(this.resolve);\n        return resolved.includes(value) ? true : this.createError({\n          params: {\n            values: valids.toArray().join(', '),\n            resolved\n          }\n        });\n      }\n\n    });\n    return next;\n  }\n\n  notOneOf(enums, message = locale.notOneOf) {\n    let next = this.clone();\n    enums.forEach(val => {\n      next._blacklist.add(val);\n\n      next._whitelist.delete(val);\n    });\n    next._blacklistError = createValidation({\n      message,\n      name: 'notOneOf',\n\n      test(value) {\n        let invalids = this.schema._blacklist;\n        let resolved = invalids.resolveAll(this.resolve);\n        if (resolved.includes(value)) return this.createError({\n          params: {\n            values: invalids.toArray().join(', '),\n            resolved\n          }\n        });\n        return true;\n      }\n\n    });\n    return next;\n  }\n\n  strip(strip = true) {\n    let next = this.clone();\n    next.spec.strip = strip;\n    return next;\n  }\n\n  describe() {\n    const next = this.clone();\n    const {\n      label,\n      meta\n    } = next.spec;\n    const description = {\n      meta,\n      label,\n      type: next.type,\n      oneOf: next._whitelist.describe(),\n      notOneOf: next._blacklist.describe(),\n      tests: next.tests.map(fn => ({\n        name: fn.OPTIONS.name,\n        params: fn.OPTIONS.params\n      })).filter((n, idx, list) => list.findIndex(c => c.name === n.name) === idx)\n    };\n    return description;\n  }\n\n} // eslint-disable-next-line @typescript-eslint/no-unused-vars\n\n// @ts-expect-error\nBaseSchema.prototype.__isYupSchema__ = true;\n\nfor (const method of ['validate', 'validateSync']) BaseSchema.prototype[`${method}At`] = function (path, value, options = {}) {\n  const {\n    parent,\n    parentPath,\n    schema\n  } = getIn(this, path, value, options.context);\n  return schema[method](parent && parent[parentPath], _extends({}, options, {\n    parent,\n    path\n  }));\n};\n\nfor (const alias of ['equals', 'is']) BaseSchema.prototype[alias] = BaseSchema.prototype.oneOf;\n\nfor (const alias of ['not', 'nope']) BaseSchema.prototype[alias] = BaseSchema.prototype.notOneOf;\n\nBaseSchema.prototype.optional = BaseSchema.prototype.notRequired;","import has from 'lodash/has';\nimport isSchema from './util/isSchema';\n\nclass Condition {\n  constructor(refs, options) {\n    this.fn = void 0;\n    this.refs = refs;\n    this.refs = refs;\n\n    if (typeof options === 'function') {\n      this.fn = options;\n      return;\n    }\n\n    if (!has(options, 'is')) throw new TypeError('`is:` is required for `when()` conditions');\n    if (!options.then && !options.otherwise) throw new TypeError('either `then:` or `otherwise:` is required for `when()` conditions');\n    let {\n      is,\n      then,\n      otherwise\n    } = options;\n    let check = typeof is === 'function' ? is : (...values) => values.every(value => value === is);\n\n    this.fn = function (...args) {\n      let options = args.pop();\n      let schema = args.pop();\n      let branch = check(...args) ? then : otherwise;\n      if (!branch) return undefined;\n      if (typeof branch === 'function') return branch(schema);\n      return schema.concat(branch.resolve(options));\n    };\n  }\n\n  resolve(base, options) {\n    let values = this.refs.map(ref => ref.getValue(options == null ? void 0 : options.value, options == null ? void 0 : options.parent, options == null ? void 0 : options.context));\n    let schema = this.fn.apply(base, values.concat(base, options));\n    if (schema === undefined || schema === base) return base;\n    if (!isSchema(schema)) throw new TypeError('conditions must return a schema object');\n    return schema.resolve(options);\n  }\n\n}\n\nexport default Condition;","import BaseSchema from './schema';\nconst Mixed = BaseSchema;\nexport default Mixed;\nexport function create() {\n  return new Mixed();\n} // XXX: this is using the Base schema so that `addMethod(mixed)` works as a base class\n\ncreate.prototype = Mixed.prototype;","const isAbsent = value => value == null;\n\nexport default isAbsent;","import { string as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport BaseSchema from './schema'; // eslint-disable-next-line\n\nlet rEmail = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i; // eslint-disable-next-line\n\nlet rUrl = /^((https?|ftp):)?\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i; // eslint-disable-next-line\n\nlet rUUID = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\n\nlet isTrimmed = value => isAbsent(value) || value === value.trim();\n\nlet objStringTag = {}.toString();\nexport function create() {\n  return new StringSchema();\n}\nexport default class StringSchema extends BaseSchema {\n  constructor() {\n    super({\n      type: 'string'\n    });\n    this.withMutation(() => {\n      this.transform(function (value) {\n        if (this.isType(value)) return value;\n        if (Array.isArray(value)) return value;\n        const strValue = value != null && value.toString ? value.toString() : value;\n        if (strValue === objStringTag) return value;\n        return strValue;\n      });\n    });\n  }\n\n  _typeCheck(value) {\n    if (value instanceof String) value = value.valueOf();\n    return typeof value === 'string';\n  }\n\n  _isPresent(value) {\n    return super._isPresent(value) && !!value.length;\n  }\n\n  length(length, message = locale.length) {\n    return this.test({\n      message,\n      name: 'length',\n      exclusive: true,\n      params: {\n        length\n      },\n\n      test(value) {\n        return isAbsent(value) || value.length === this.resolve(length);\n      }\n\n    });\n  }\n\n  min(min, message = locale.min) {\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n\n      test(value) {\n        return isAbsent(value) || value.length >= this.resolve(min);\n      }\n\n    });\n  }\n\n  max(max, message = locale.max) {\n    return this.test({\n      name: 'max',\n      exclusive: true,\n      message,\n      params: {\n        max\n      },\n\n      test(value) {\n        return isAbsent(value) || value.length <= this.resolve(max);\n      }\n\n    });\n  }\n\n  matches(regex, options) {\n    let excludeEmptyString = false;\n    let message;\n    let name;\n\n    if (options) {\n      if (typeof options === 'object') {\n        ({\n          excludeEmptyString = false,\n          message,\n          name\n        } = options);\n      } else {\n        message = options;\n      }\n    }\n\n    return this.test({\n      name: name || 'matches',\n      message: message || locale.matches,\n      params: {\n        regex\n      },\n      test: value => isAbsent(value) || value === '' && excludeEmptyString || value.search(regex) !== -1\n    });\n  }\n\n  email(message = locale.email) {\n    return this.matches(rEmail, {\n      name: 'email',\n      message,\n      excludeEmptyString: true\n    });\n  }\n\n  url(message = locale.url) {\n    return this.matches(rUrl, {\n      name: 'url',\n      message,\n      excludeEmptyString: true\n    });\n  }\n\n  uuid(message = locale.uuid) {\n    return this.matches(rUUID, {\n      name: 'uuid',\n      message,\n      excludeEmptyString: false\n    });\n  } //-- transforms --\n\n\n  ensure() {\n    return this.default('').transform(val => val === null ? '' : val);\n  }\n\n  trim(message = locale.trim) {\n    return this.transform(val => val != null ? val.trim() : val).test({\n      message,\n      name: 'trim',\n      test: isTrimmed\n    });\n  }\n\n  lowercase(message = locale.lowercase) {\n    return this.transform(value => !isAbsent(value) ? value.toLowerCase() : value).test({\n      message,\n      name: 'string_case',\n      exclusive: true,\n      test: value => isAbsent(value) || value === value.toLowerCase()\n    });\n  }\n\n  uppercase(message = locale.uppercase) {\n    return this.transform(value => !isAbsent(value) ? value.toUpperCase() : value).test({\n      message,\n      name: 'string_case',\n      exclusive: true,\n      test: value => isAbsent(value) || value === value.toUpperCase()\n    });\n  }\n\n}\ncreate.prototype = StringSchema.prototype; //\n// String Interfaces\n//","/* eslint-disable */\n\n/**\n *\n * Date.parse with progressive enhancement for ISO 8601 <https://github.com/csnover/js-iso8601>\n * NON-CONFORMANT EDITION.\n * © 2011 Colin Snover <http://zetafleet.com>\n * Released under MIT license.\n */\n//              1 YYYY                 2 MM        3 DD              4 HH     5 mm        6 ss            7 msec         8 Z 9 ±    10 tzHH    11 tzmm\nvar isoReg = /^(\\d{4}|[+\\-]\\d{6})(?:-?(\\d{2})(?:-?(\\d{2}))?)?(?:[ T]?(\\d{2}):?(\\d{2})(?::?(\\d{2})(?:[,\\.](\\d{1,}))?)?(?:(Z)|([+\\-])(\\d{2})(?::?(\\d{2}))?)?)?$/;\nexport default function parseIsoDate(date) {\n  var numericKeys = [1, 4, 5, 6, 7, 10, 11],\n      minutesOffset = 0,\n      timestamp,\n      struct;\n\n  if (struct = isoReg.exec(date)) {\n    // avoid NaN timestamps caused by “undefined” values being passed to Date.UTC\n    for (var i = 0, k; k = numericKeys[i]; ++i) struct[k] = +struct[k] || 0; // allow undefined days and months\n\n\n    struct[2] = (+struct[2] || 1) - 1;\n    struct[3] = +struct[3] || 1; // allow arbitrary sub-second precision beyond milliseconds\n\n    struct[7] = struct[7] ? String(struct[7]).substr(0, 3) : 0; // timestamps without timezone identifiers should be considered local time\n\n    if ((struct[8] === undefined || struct[8] === '') && (struct[9] === undefined || struct[9] === '')) timestamp = +new Date(struct[1], struct[2], struct[3], struct[4], struct[5], struct[6], struct[7]);else {\n      if (struct[8] !== 'Z' && struct[9] !== undefined) {\n        minutesOffset = struct[10] * 60 + struct[11];\n        if (struct[9] === '+') minutesOffset = 0 - minutesOffset;\n      }\n\n      timestamp = Date.UTC(struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7]);\n    }\n  } else timestamp = Date.parse ? Date.parse(date) : NaN;\n\n  return timestamp;\n}","// @ts-ignore\nimport isoParse from './util/isodate';\nimport { date as locale } from './locale';\nimport isAbsent from './util/isAbsent';\nimport Ref from './Reference';\nimport BaseSchema from './schema';\nlet invalidDate = new Date('');\n\nlet isDate = obj => Object.prototype.toString.call(obj) === '[object Date]';\n\nexport function create() {\n  return new DateSchema();\n}\nexport default class DateSchema extends BaseSchema {\n  constructor() {\n    super({\n      type: 'date'\n    });\n    this.withMutation(() => {\n      this.transform(function (value) {\n        if (this.isType(value)) return value;\n        value = isoParse(value); // 0 is a valid timestamp equivalent to 1970-01-01T00:00:00Z(unix epoch) or before.\n\n        return !isNaN(value) ? new Date(value) : invalidDate;\n      });\n    });\n  }\n\n  _typeCheck(v) {\n    return isDate(v) && !isNaN(v.getTime());\n  }\n\n  prepareParam(ref, name) {\n    let param;\n\n    if (!Ref.isRef(ref)) {\n      let cast = this.cast(ref);\n      if (!this._typeCheck(cast)) throw new TypeError(`\\`${name}\\` must be a Date or a value that can be \\`cast()\\` to a Date`);\n      param = cast;\n    } else {\n      param = ref;\n    }\n\n    return param;\n  }\n\n  min(min, message = locale.min) {\n    let limit = this.prepareParam(min, 'min');\n    return this.test({\n      message,\n      name: 'min',\n      exclusive: true,\n      params: {\n        min\n      },\n\n      test(value) {\n        return isAbsent(value) || value >= this.resolve(limit);\n      }\n\n    });\n  }\n\n  max(max, message = locale.max) {\n    let limit = this.prepareParam(max, 'max');\n    return this.test({\n      message,\n      name: 'max',\n      exclusive: true,\n      params: {\n        max\n      },\n\n      test(value) {\n        return isAbsent(value) || value <= this.resolve(limit);\n      }\n\n    });\n  }\n\n}\nDateSchema.INVALID_DATE = invalidDate;\ncreate.prototype = DateSchema.prototype;\ncreate.INVALID_DATE = invalidDate;","function findIndex(arr, err) {\n  let idx = Infinity;\n  arr.some((key, ii) => {\n    var _err$path;\n\n    if (((_err$path = err.path) == null ? void 0 : _err$path.indexOf(key)) !== -1) {\n      idx = ii;\n      return true;\n    }\n  });\n  return idx;\n}\n\nexport default function sortByKeyOrder(keys) {\n  return (a, b) => {\n    return findIndex(keys, a) - findIndex(keys, b);\n  };\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport has from 'lodash/has';\nimport snakeCase from 'lodash/snakeCase';\nimport camelCase from 'lodash/camelCase';\nimport mapKeys from 'lodash/mapKeys';\nimport mapValues from 'lodash/mapValues';\nimport { getter } from 'property-expr';\nimport { object as locale } from './locale';\nimport sortFields from './util/sortFields';\nimport sortByKeyOrder from './util/sortByKeyOrder';\nimport runTests from './util/runTests';\nimport ValidationError from './ValidationError';\nimport BaseSchema from './schema';\n\nlet isObject = obj => Object.prototype.toString.call(obj) === '[object Object]';\n\nfunction unknown(ctx, value) {\n  let known = Object.keys(ctx.fields);\n  return Object.keys(value).filter(key => known.indexOf(key) === -1);\n}\n\nconst defaultSort = sortByKeyOrder([]);\nexport default class ObjectSchema extends BaseSchema {\n  constructor(spec) {\n    super({\n      type: 'object'\n    });\n    this.fields = Object.create(null);\n    this._sortErrors = defaultSort;\n    this._nodes = [];\n    this._excludedEdges = [];\n    this.withMutation(() => {\n      this.transform(function coerce(value) {\n        if (typeof value === 'string') {\n          try {\n            value = JSON.parse(value);\n          } catch (err) {\n            value = null;\n          }\n        }\n\n        if (this.isType(value)) return value;\n        return null;\n      });\n\n      if (spec) {\n        this.shape(spec);\n      }\n    });\n  }\n\n  _typeCheck(value) {\n    return isObject(value) || typeof value === 'function';\n  }\n\n  _cast(_value, options = {}) {\n    var _options$stripUnknown;\n\n    let value = super._cast(_value, options); //should ignore nulls here\n\n\n    if (value === undefined) return this.getDefault();\n    if (!this._typeCheck(value)) return value;\n    let fields = this.fields;\n    let strip = (_options$stripUnknown = options.stripUnknown) != null ? _options$stripUnknown : this.spec.noUnknown;\n\n    let props = this._nodes.concat(Object.keys(value).filter(v => this._nodes.indexOf(v) === -1));\n\n    let intermediateValue = {}; // is filled during the transform below\n\n    let innerOptions = _extends({}, options, {\n      parent: intermediateValue,\n      __validating: options.__validating || false\n    });\n\n    let isChanged = false;\n\n    for (const prop of props) {\n      let field = fields[prop];\n      let exists = has(value, prop);\n\n      if (field) {\n        let fieldValue;\n        let inputValue = value[prop]; // safe to mutate since this is fired in sequence\n\n        innerOptions.path = (options.path ? `${options.path}.` : '') + prop; // innerOptions.value = value[prop];\n\n        field = field.resolve({\n          value: inputValue,\n          context: options.context,\n          parent: intermediateValue\n        });\n        let fieldSpec = 'spec' in field ? field.spec : undefined;\n        let strict = fieldSpec == null ? void 0 : fieldSpec.strict;\n\n        if (fieldSpec == null ? void 0 : fieldSpec.strip) {\n          isChanged = isChanged || prop in value;\n          continue;\n        }\n\n        fieldValue = !options.__validating || !strict ? // TODO: use _cast, this is double resolving\n        field.cast(value[prop], innerOptions) : value[prop];\n\n        if (fieldValue !== undefined) {\n          intermediateValue[prop] = fieldValue;\n        }\n      } else if (exists && !strip) {\n        intermediateValue[prop] = value[prop];\n      }\n\n      if (intermediateValue[prop] !== value[prop]) {\n        isChanged = true;\n      }\n    }\n\n    return isChanged ? intermediateValue : value;\n  }\n\n  _validate(_value, opts = {}, callback) {\n    let errors = [];\n    let {\n      sync,\n      from = [],\n      originalValue = _value,\n      abortEarly = this.spec.abortEarly,\n      recursive = this.spec.recursive\n    } = opts;\n    from = [{\n      schema: this,\n      value: originalValue\n    }, ...from]; // this flag is needed for handling `strict` correctly in the context of\n    // validation vs just casting. e.g strict() on a field is only used when validating\n\n    opts.__validating = true;\n    opts.originalValue = originalValue;\n    opts.from = from;\n\n    super._validate(_value, opts, (err, value) => {\n      if (err) {\n        if (!ValidationError.isError(err) || abortEarly) {\n          return void callback(err, value);\n        }\n\n        errors.push(err);\n      }\n\n      if (!recursive || !isObject(value)) {\n        callback(errors[0] || null, value);\n        return;\n      }\n\n      originalValue = originalValue || value;\n\n      let tests = this._nodes.map(key => (_, cb) => {\n        let path = key.indexOf('.') === -1 ? (opts.path ? `${opts.path}.` : '') + key : `${opts.path || ''}[\"${key}\"]`;\n        let field = this.fields[key];\n\n        if (field && 'validate' in field) {\n          field.validate(value[key], _extends({}, opts, {\n            // @ts-ignore\n            path,\n            from,\n            // inner fields are always strict:\n            // 1. this isn't strict so the casting will also have cast inner values\n            // 2. this is strict in which case the nested values weren't cast either\n            strict: true,\n            parent: value,\n            originalValue: originalValue[key]\n          }), cb);\n          return;\n        }\n\n        cb(null);\n      });\n\n      runTests({\n        sync,\n        tests,\n        value,\n        errors,\n        endEarly: abortEarly,\n        sort: this._sortErrors,\n        path: opts.path\n      }, callback);\n    });\n  }\n\n  clone(spec) {\n    const next = super.clone(spec);\n    next.fields = _extends({}, this.fields);\n    next._nodes = this._nodes;\n    next._excludedEdges = this._excludedEdges;\n    next._sortErrors = this._sortErrors;\n    return next;\n  }\n\n  concat(schema) {\n    let next = super.concat(schema);\n    let nextFields = next.fields;\n\n    for (let [field, schemaOrRef] of Object.entries(this.fields)) {\n      const target = nextFields[field];\n\n      if (target === undefined) {\n        nextFields[field] = schemaOrRef;\n      } else if (target instanceof BaseSchema && schemaOrRef instanceof BaseSchema) {\n        nextFields[field] = schemaOrRef.concat(target);\n      }\n    }\n\n    return next.withMutation(() => next.shape(nextFields, this._excludedEdges));\n  }\n\n  getDefaultFromShape() {\n    let dft = {};\n\n    this._nodes.forEach(key => {\n      const field = this.fields[key];\n      dft[key] = 'default' in field ? field.getDefault() : undefined;\n    });\n\n    return dft;\n  }\n\n  _getDefault() {\n    if ('default' in this.spec) {\n      return super._getDefault();\n    } // if there is no default set invent one\n\n\n    if (!this._nodes.length) {\n      return undefined;\n    }\n\n    return this.getDefaultFromShape();\n  }\n\n  shape(additions, excludes = []) {\n    let next = this.clone();\n    let fields = Object.assign(next.fields, additions);\n    next.fields = fields;\n    next._sortErrors = sortByKeyOrder(Object.keys(fields));\n\n    if (excludes.length) {\n      // this is a convenience for when users only supply a single pair\n      if (!Array.isArray(excludes[0])) excludes = [excludes];\n      next._excludedEdges = [...next._excludedEdges, ...excludes];\n    }\n\n    next._nodes = sortFields(fields, next._excludedEdges);\n    return next;\n  }\n\n  pick(keys) {\n    const picked = {};\n\n    for (const key of keys) {\n      if (this.fields[key]) picked[key] = this.fields[key];\n    }\n\n    return this.clone().withMutation(next => {\n      next.fields = {};\n      return next.shape(picked);\n    });\n  }\n\n  omit(keys) {\n    const next = this.clone();\n    const fields = next.fields;\n    next.fields = {};\n\n    for (const key of keys) {\n      delete fields[key];\n    }\n\n    return next.withMutation(() => next.shape(fields));\n  }\n\n  from(from, to, alias) {\n    let fromGetter = getter(from, true);\n    return this.transform(obj => {\n      if (obj == null) return obj;\n      let newObj = obj;\n\n      if (has(obj, from)) {\n        newObj = _extends({}, obj);\n        if (!alias) delete newObj[from];\n        newObj[to] = fromGetter(obj);\n      }\n\n      return newObj;\n    });\n  }\n\n  noUnknown(noAllow = true, message = locale.noUnknown) {\n    if (typeof noAllow === 'string') {\n      message = noAllow;\n      noAllow = true;\n    }\n\n    let next = this.test({\n      name: 'noUnknown',\n      exclusive: true,\n      message: message,\n\n      test(value) {\n        if (value == null) return true;\n        const unknownKeys = unknown(this.schema, value);\n        return !noAllow || unknownKeys.length === 0 || this.createError({\n          params: {\n            unknown: unknownKeys.join(', ')\n          }\n        });\n      }\n\n    });\n    next.spec.noUnknown = noAllow;\n    return next;\n  }\n\n  unknown(allow = true, message = locale.noUnknown) {\n    return this.noUnknown(!allow, message);\n  }\n\n  transformKeys(fn) {\n    return this.transform(obj => obj && mapKeys(obj, (_, key) => fn(key)));\n  }\n\n  camelCase() {\n    return this.transformKeys(camelCase);\n  }\n\n  snakeCase() {\n    return this.transformKeys(snakeCase);\n  }\n\n  constantCase() {\n    return this.transformKeys(key => snakeCase(key).toUpperCase());\n  }\n\n  describe() {\n    let base = super.describe();\n    base.fields = mapValues(this.fields, value => value.describe());\n    return base;\n  }\n\n}\nexport function create(spec) {\n  return new ObjectSchema(spec);\n}\ncreate.prototype = ObjectSchema.prototype;","import has from 'lodash/has'; // @ts-expect-error\n\nimport toposort from 'toposort';\nimport { split } from 'property-expr';\nimport Ref from '../Reference';\nimport isSchema from './isSchema';\nexport default function sortFields(fields, excludedEdges = []) {\n  let edges = [];\n  let nodes = new Set();\n  let excludes = new Set(excludedEdges.map(([a, b]) => `${a}-${b}`));\n\n  function addNode(depPath, key) {\n    let node = split(depPath)[0];\n    nodes.add(node);\n    if (!excludes.has(`${key}-${node}`)) edges.push([key, node]);\n  }\n\n  for (const key in fields) if (has(fields, key)) {\n    let value = fields[key];\n    nodes.add(key);\n    if (Ref.isRef(value) && value.isSibling) addNode(value.path, key);else if (isSchema(value) && 'deps' in value) value.deps.forEach(path => addNode(path, key));\n  }\n\n  return toposort.array(Array.from(nodes), edges).reverse();\n}","import React from 'react';\nimport styled from '@emotion/styled';\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport { B200, B400 } from '@atlaskit/theme/colors';\n\nexport function FooterLogo() {\n  return (\n    <LogoWrapper>\n      <AtlassianLogo\n        textColor={B400}\n        iconColor={B200}\n        iconGradientStart={B400}\n        iconGradientStop={B200}\n        size={'xsmall'}\n      />\n    </LogoWrapper>\n  );\n}\n\nconst LogoWrapper = styled.div`\n  width: min-content;\n  margin: 0 auto;\n`;\n","import React, { ReactNode, useCallback } from 'react';\nimport { useAnalyticsEvents, UIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport styled from '@emotion/styled';\nimport Button from '@atlaskit/button';\nimport { N700 } from '@atlaskit/theme/colors';\n\nexport type ProductSelectButtonProps = {\n  readonly productIcon: ReactNode;\n  readonly productName: ReactNode;\n  readonly productDescription: ReactNode;\n  readonly buttonTitle: ReactNode;\n  readonly className: string;\n  readonly analyticsId: string;\n  readonly analyticsLabel: string | undefined;\n  readonly onClick: (\n    event: React.MouseEvent<HTMLElement, MouseEvent>,\n    analyticsEvent: UIAnalyticsEvent | null\n  ) => void;\n  readonly testId?: string;\n};\n\nexport function ProductSelectButton({\n  productIcon,\n  productName,\n  productDescription,\n  buttonTitle,\n  className,\n  analyticsId,\n  analyticsLabel,\n  onClick = () => undefined,\n  testId\n}: ProductSelectButtonProps) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  const clickHandler = useCallback(\n    (clickEvent) => {\n      const analyticsEvent = createAnalyticsEvent({\n        event: 'clicked',\n        eventComponent: 'button',\n        eventName: 'signUpProductSelectButtonClicked',\n        uuid: analyticsId,\n        label: analyticsLabel\n      });\n\n      // do what you like with the event, fire / modify / clone\n      // this here is the typical usage pattern for atlaskit components\n\n      const clonedEvent = analyticsEvent.clone();\n\n      // channel name gets passed to fire(), but we aren't using channels, so it's left blank\n      analyticsEvent.fire();\n\n      // firing is prevented from happening more than once\n      // so that's why we pass a clone to be accessed by the parent component\n      // which might also want to fire their own event on this ui interaction\n      onClick(clickEvent, clonedEvent);\n    },\n    [createAnalyticsEvent, onClick]\n  );\n\n  return (\n    <Container className={className}>\n      <LogoContent>\n        {productIcon}\n        <LogoTextContainer>\n          <ProductName>{productName}</ProductName>\n          <ProductDescription>{productDescription}</ProductDescription>\n        </LogoTextContainer>\n      </LogoContent>\n      <StyledButton appearance=\"primary\" onClick={clickHandler} testId={testId}>\n        {buttonTitle}\n      </StyledButton>\n    </Container>\n  );\n}\n\nconst Container = styled.div`\n  display: flex;\n  margin-bottom: 32px;\n  flex-direction: row;\n  justify-content: space-between;\n  align-items: center;\n`;\n\nconst LogoContent = styled.div`\n  display: flex;\n  flex-direction: row;\n`;\n\nconst LogoTextContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: space-around;\n  margin-left: 11px;\n`;\n\nconst ProductName = styled.div`\n  font-family: Charlie Display;\n  font-style: normal;\n  font-weight: 500;\n  font-size: 18px;\n  line-height: 16px;\n  color: ${N700};\n`;\n\nconst ProductDescription = styled.div`\n  font-family: Charlie Text;\n  font-style: normal;\n  font-weight: normal;\n  font-size: 12px;\n  line-height: 18px;\n  color: ${N700};\n`;\n\nconst StyledButton = styled(Button)`\n  font-family: Charlie Text;\n  font-size: 16px;\n  font-style: normal;\n  font-weight: 600;\n  line-height: 20px;\n  letter-spacing: 0px;\n  text-align: center;\n`;\n","import { defineMessagesSimple } from '@atlassiansox/bxpkit-core';\n\nexport const messages = defineMessagesSimple('WacSignupForm.FirstImpressions', {\n  noCreditCardRequiredFooter: `No credit card required`,\n  firstImpressionsEula:\n    \"<p>By signing up, you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy.</a></p>\",\n  firstImpressionsRecaptcha:\n    'This site is protected by reCAPTCHA and the Google <a href=\"https://policies.google.com/privacy\">Privacy Policy</a> and <a href=\"https://policies.google.com/terms\">Terms of Service</a> apply.',\n  firstImpressionsLoggedOutFormHeader: 'Get Started',\n  firstImpressionsLoggedOutFormSubHeader: 'Free for up to 10 users',\n  firstImpressionsLoggedInFormHeader: 'Welcome back, {userName}',\n  inputLabelWorkEmail: 'Work email',\n  inputLabelWorkEmailError: 'Invalid email address',\n  inputLabelFullName: 'Full name',\n  inputLabelSiteName: 'Claim your site',\n  submitButtonLabel: 'Agree',\n  socialSignUpButtonContinueWithGoogle: 'Continue with Google',\n  socialSignUpButtonSignUpWithEmail: 'Sign up with email',\n  socialSignUpDividerLabel: 'OR',\n  inputLabelFullNameLengthError: 'Must be 255 characters or less',\n  inputLabelRequired: 'Required',\n  firstImpressionsLoggedOutFormSubmitError:\n    'Something went wrong, please try again.',\n  firstImpressionsSamlRequired:\n    'You must use single sign-on to access your account and continue signing up for your product. <a href=\"{loginUrl}\">Login to continue</a>',\n  firstImpressionsSsoCheckError:\n    'There was an unexpected error validating your email. Please check your network settings.'\n});\n","import Form, { Field, HelperMessage } from '@atlaskit/form';\nimport Textfield from '@atlaskit/textfield';\nimport styled from '@emotion/styled';\nimport React, { Fragment } from 'react';\n\nexport type SwitchAccountsEmailFormProps = {\n  readonly email: string;\n  readonly switchAccountLink: React.ReactNode;\n};\n\nexport function SwitchAccountsEmailForm({\n  email,\n  switchAccountLink\n}: SwitchAccountsEmailFormProps) {\n  return (\n    <Form>\n      {({ formProps }: any) => (\n        <form {...formProps}>\n          <Field\n            label=\"Work email\"\n            name=\"email\"\n            isRequired\n            defaultValue={email}\n          >\n            {({ fieldProps }: any) => (\n              <Fragment>\n                <StyledTextField {...fieldProps} isDisabled />\n                <HelperMessage>{switchAccountLink}</HelperMessage>\n              </Fragment>\n            )}\n          </Field>\n        </form>\n      )}\n    </Form>\n  );\n}\n\nconst StyledTextField = styled(Textfield)`\n  // force box-sizing: content-box; to prevent styling issues in magnolia\n  box-sizing: content-box;\n`;\n","import React, { useState } from 'react';\nimport { useField, ErrorMessage } from 'formik';\nimport styled from '@emotion/styled';\nimport { G300, N60, N500, N900, R400 } from '@atlaskit/theme/colors';\nimport Spinner from '@atlaskit/spinner';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport { DebouncedFunc } from 'lodash';\n\nimport CheckCircleOutlineIcon from '@atlaskit/icon/glyph/check-circle-outline';\n\ntype TextInputProps = {\n  readonly name: string;\n  readonly label: React.ReactNode;\n  readonly type: string;\n  readonly testId?: string;\n  readonly disabled?: boolean;\n  readonly value?: string;\n  readonly validateFn?: DebouncedFunc<\n    (value: string) => Promise<string | undefined>\n  >;\n  readonly autoComplete?: string;\n};\n\nexport const TextInput = ({\n  name,\n  label,\n  testId,\n  validateFn,\n  ...props\n}: TextInputProps) => {\n  const [isValidating, setIsValidating] = useState(false);\n  const [field, meta] = useField({\n    name,\n    ...(validateFn && {\n      validate: async (value) => {\n        setIsValidating(true);\n        const error = await validateFn(value);\n        setIsValidating(false);\n        return error;\n      }\n    })\n  });\n  const InputFeedback = () => {\n    if (isValidating) {\n      return <Spinner size=\"small\" />;\n    }\n\n    if (!!meta.error && !!meta.touched) {\n      return <WarningIcon label=\"success\" primaryColor={R400} />;\n    }\n\n    if (!meta.error && !!meta.touched) {\n      return <CheckCircleOutlineIcon label=\"success\" primaryColor={G300} />;\n    }\n\n    return null;\n  };\n\n  return (\n    <FormField>\n      <FormFieldLabel htmlFor={name}>{label}</FormFieldLabel>\n      <FormFieldInputContainer\n        showErrorState={!!meta.error && !!meta.touched}\n        showValidState={!meta.error && !!meta.touched}\n      >\n        <FormFieldInput {...field} {...props} data-testid={testId} />\n        {validateFn && (\n          <EmailAfter>\n            <InputFeedback />\n          </EmailAfter>\n        )}\n      </FormFieldInputContainer>\n      <ErrorMessage name={name} component={FormFieldErrorMessage} />\n    </FormField>\n  );\n};\n\nconst EmailAfter = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 16px;\n  align-items: center;\n  svg {\n    margin-bottom: 0px;\n  }\n`;\n\nconst fontCharlieText =\n  '\"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",' +\n  'Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif !important';\n\nconst FormField = styled.div`\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  margin-bottom: 16px;\n`;\n\nexport const FormFieldLabel = styled.label`\n  font-family: ${fontCharlieText};\n  font-weight: 500;\n  font-size: 14px;\n  color: ${N500};\n  margin-bottom: 5px;\n`;\n\nconst FormFieldInput = styled.input`\n  width: 100%;\n  outline: none;\n  font-family: ${fontCharlieText};\n  font-weight: 400;\n  font-size: 14px;\n  color: ${N900};\n  padding: 8px 10px;\n  height: 20px;\n  border-style: none;\n`;\n\nconst FormFieldInputContainer = styled.div`\n  display: flex;\n  justify-content: space-between;\n  border-style: solid;\n  border-radius: 3px;\n  border-color: ${({\n    showErrorState,\n    showValidState\n  }: {\n    showErrorState: boolean;\n    showValidState: boolean;\n  }) => {\n    if (showErrorState) {\n      return R400;\n    } else if (showValidState) {\n      return G300;\n    }\n    return N60;\n  }};\n`;\n\nconst FormFieldErrorMessage = styled.span`\n  color: ${R400};\n  font-weight: 400;\n  font-size: 12px;\n  font-family: ${fontCharlieText};\n  margin: 6px 0;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from '@emotion/styled';\nimport { N500 } from '@atlaskit/theme/colors';\n\nimport { messages } from '../../messages';\n\nexport const SocialSignUpDivider = () => {\n  return (\n    <SocialSignUpDividerLabel>\n      <SocialSignUpDividerLeftline />\n      <FormattedMessage {...messages.socialSignUpDividerLabel} />\n      <SocialSignUpDividerRightline />\n    </SocialSignUpDividerLabel>\n  );\n};\n\nconst fontCharlieText =\n  '\"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",' +\n  'Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif !important';\n\nconst SocialSignUpDividerLabel = styled.div`\n  font-family: ${fontCharlieText};\n  margin-bottom: 20px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  font-size: 14px;\n  font-weight: 500;\n  text-transform: uppercase;\n`;\nconst SocialSignUpDividerLeftline = styled.div`\n  border-bottom: 1px solid #d8d8d8;\n  width: 31px;\n  margin-right: 8px;\n`;\nconst SocialSignUpDividerRightline = styled.div`\n  border-bottom: 1px solid #d8d8d8;\n  width: 31px;\n  margin-left: 8px;\n`;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { N500 } from '@atlaskit/theme/colors';\n\nexport type SocialSignUpButtonProps = {\n  readonly href: string;\n  readonly onClick: () => undefined;\n  readonly iconUrl: string;\n  readonly label: React.ReactNode;\n};\n\nexport const SocialSignUpButton = ({\n  href,\n  onClick,\n  iconUrl,\n  label\n}: SocialSignUpButtonProps) => {\n  return (\n    <SocialButton href={href} onClick={onClick}>\n      <SocialButtonIcon src={iconUrl} /> {label}\n    </SocialButton>\n  );\n};\n\nconst fontCharlieText =\n  '\"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",' +\n  'Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif !important';\n\nexport const SocialButtonIcon = styled.img`\n  height: 18px;\n  width: 18px;\n  margin-right: 8px;\n  margin-bottom: 0;\n`;\n\nexport const SocialButton = styled.a`\n  text-decoration: none;\n  height: 39px;\n  width: 100%;\n  border-radius: 3px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  :hover{\n    color: ${N500}\n    text-decoration: none;\n  }\n  cursor: pointer;\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n  background-color: #FFF;\n\n  margin: 0px 0px 20px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${fontCharlieText};\n  font-style: normal;\n`;\n","import React from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from '@emotion/styled';\nimport { B300, B400, N30, N80, N200, N500, N900 } from '@atlaskit/theme/colors';\nimport { Formik, Form } from 'formik';\nimport * as Yup from 'yup';\nimport debounce from 'lodash/debounce';\n\nimport {\n  FooterLogo,\n  SocialSignUpDivider,\n  TextInput,\n  SocialSignUpButton\n} from '../components';\nimport { messages } from '../../messages';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { useSignUpFormGlobalConfiguration } from '../../../../hook';\n\nconst GOOGLE_ICON_URL =\n  'https://aid-frontend.prod.atl-paas.net/atlassian-id/front-end/5.0.51/static/media/google-logo.c21ca9d1.svg';\n\nexport function FirstImpressionsLoggedOutView() {\n  const [useEmail, setUseEmail] = useState(false);\n  const [formSubmitError, setFormSubmitError] = useState(false);\n  const stargateClient = useStargateClient();\n  const { checkEmailPageUrl } = useSignUpFormGlobalConfiguration();\n\n  const validateSsoDebounced = debounce(async (email: string) => {\n    console.log('validating sso');\n    try {\n      const {\n        samlRequired,\n        methods: [{ redirect_to = '' }]\n      } = await stargateClient.checkAuthenticationMethodsAvailable({\n        email: email,\n        successRedirect: window.location.href,\n        webPlatform: 'magnolia'\n      });\n\n      if (samlRequired) {\n        return messages.firstImpressionsSamlRequired.defaultMessage?.replace(\n          '{loginUrl}',\n          redirect_to\n        );\n      }\n      return undefined;\n    } catch (error) {\n      console.log(error);\n      return messages.firstImpressionsSsoCheckError.defaultMessage as string;\n    }\n  }, 500);\n\n  const SignupWithEmailButton = () => {\n    return (\n      <DefaultButton\n        data-testid=\"signup-with-email-button\"\n        onClick={() => setUseEmail(true)}\n      >\n        <FormattedMessage {...messages.socialSignUpButtonSignUpWithEmail} />\n      </DefaultButton>\n    );\n  };\n\n  const SignupWithEmailForm = () => (\n    <Formik\n      initialValues={{\n        email: '',\n        fullName: ''\n      }}\n      validationSchema={Yup.object({\n        fullName: Yup.string()\n          .max(255, () => (\n            <FormattedMessage {...messages.inputLabelFullNameLengthError} />\n          ))\n          .required(() => (\n            <FormattedMessage {...messages.inputLabelRequired} />\n          )),\n        email: Yup.string()\n          .email(() => (\n            <FormattedMessage {...messages.inputLabelWorkEmailError} />\n          ))\n          .required(() => <FormattedMessage {...messages.inputLabelRequired} />)\n      })}\n      onSubmit={async (values) => {\n        setFormSubmitError(false);\n\n        try {\n          await stargateClient.userSignup({\n            displayName: values.fullName,\n            email: values.email,\n            redirectTo: window.location.href,\n            locale: 'en',\n            webPlatform: 'magnolia'\n          });\n          window.location.assign(checkEmailPageUrl);\n        } catch (error) {\n          setFormSubmitError(true);\n        }\n      }}\n    >\n      {({ dirty, isSubmitting, isValid }) => (\n        <Form>\n          <TextInput\n            validateFn={validateSsoDebounced}\n            autoComplete=\"email\"\n            testId=\"first-impressions-work-email-text-input\"\n            name=\"email\"\n            type=\"email\"\n            label={<FormattedMessage {...messages.inputLabelWorkEmail} />}\n          />\n\n          <TextInput\n            testId=\"first-impressions-full-name-text-input\"\n            name=\"fullName\"\n            type=\"text\"\n            label={<FormattedMessage {...messages.inputLabelFullName} />}\n          />\n\n          <Eula>\n            <SanitizedFormattedHtmlMessage {...messages.firstImpressionsEula} />\n          </Eula>\n\n          <SubmitButton\n            type=\"submit\"\n            disabled={!dirty || isSubmitting || !isValid}\n          >\n            <FormattedMessage {...messages.submitButtonLabel} />\n          </SubmitButton>\n          {formSubmitError && (\n            <FailedSubmitMessage>\n              <FormattedMessage\n                {...messages.firstImpressionsLoggedOutFormSubmitError}\n              />\n            </FailedSubmitMessage>\n          )}\n        </Form>\n      )}\n    </Formik>\n  );\n\n  const SignupWithEmailFormFooter = () => (\n    <>\n      <NoCreditCardRequiredFooterMessage>\n        <FormattedMessage {...messages.noCreditCardRequiredFooter} />\n      </NoCreditCardRequiredFooterMessage>\n      <ReCaptchaEula>\n        <SanitizedFormattedHtmlMessage\n          {...messages.firstImpressionsRecaptcha}\n        />\n      </ReCaptchaEula>\n    </>\n  );\n\n  return (\n    <FirstImpressionsLoggedOutViewContainer>\n      <FormHeaderContainer>\n        <FormHeaderHeading>\n          <FormattedMessage {...messages.firstImpressionsLoggedOutFormHeader} />\n        </FormHeaderHeading>\n        <FormHeaderSubHeading>\n          <FormattedMessage\n            {...messages.firstImpressionsLoggedOutFormSubHeader}\n          />\n        </FormHeaderSubHeading>\n      </FormHeaderContainer>\n\n      <SocialSignUpButton\n        href={''}\n        onClick={() => undefined}\n        label={\n          <FormattedMessage\n            {...messages.socialSignUpButtonContinueWithGoogle}\n          />\n        }\n        iconUrl={GOOGLE_ICON_URL}\n      />\n      <SocialSignUpDivider />\n\n      {useEmail ? (\n        <>\n          <SignupWithEmailForm />\n          <SignupWithEmailFormFooter />\n        </>\n      ) : (\n        <SignupWithEmailButton />\n      )}\n\n      <FooterLogo />\n    </FirstImpressionsLoggedOutViewContainer>\n  );\n}\n\nconst fontCharlieText =\n  '\"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",' +\n  'Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif !important';\n\nconst FirstImpressionsLoggedOutViewContainer = styled.div`\n  width: 100%;\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n`;\n\nconst FormHeaderContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-start;\n`;\n\nconst FormHeaderHeading = styled.div`\n  color: ${N900};\n  font-family: 'Charlie Display';\n  font-size: 36px;\n  font-weight: 500;\n  line-height: 40px;\n`;\n\nconst FormHeaderSubHeading = styled.div`\n  color: ${N900};\n  font-family: 'Charlie Display';\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 19px;\n  margin: 0 0 16px 0;\n`;\n\nconst NoCreditCardRequiredFooterMessage = styled.p`\n  font-family: Charlie Display;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 500;\n  line-height: 17.5px;\n  letter-spacing: 1px;\n  align-items: center;\n  text-align: center;\n  text-transform: uppercase;\n  margin: 16px 0 40px 0;\n`;\n\nconst SubmitButton = styled.button`\n  font-family: ${fontCharlieText};\n  font-weight: 500;\n  font-size: 16px;\n  outline: none !important;\n  border: none;\n  border-radius: 3px;\n  color: white;\n  background-color: ${B400};\n  width: 100%;\n  height: 36px;\n  &:disabled {\n    color: ${N80};\n    background-color: ${N30};\n    opacity: 0.6;\n  }\n`;\n\nconst Eula = styled.div`\n  font-family: ${fontCharlieText};\n  font-size: 12px;\n  line-height: 16px;\n  color: ${N200};\n  vertical-align: middle;\n  padding: 0;\n  font-weight: 400;\n\n  a {\n    color: ${B400};\n    cursor: pointer;\n    text-decoration: none;\n    &:hover {\n      color: ${B300};\n      text-decoration: underline;\n    }\n  }\n\n  p {\n    font-size: 12px;\n    line-height: 16px;\n    margin-bottom: 24px;\n  }\n`;\n\nconst ReCaptchaEula = styled.div`\n  font-size: 12px;\n  color: ${N200};\n  line-height: 16px;\n  text-align: center;\n  font-family: ${fontCharlieText};\n  margin-bottom: 16px;\n  > * {\n      margin-block-start: 0;\n      > a {     \n        color: ${N200};\n        text-decoration: underline;        \n      }\n    }\n}\n`;\n\nconst DefaultButton = styled.div`\n  height: 39px;\n  width: 100%;\n  border-radius: 3px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  cursor: pointer;\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n\n  margin: 0px 0px 20px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${fontCharlieText};\n  font-style: normal;\n  background-color: #e8e9ee;\n`;\n\nconst FailedSubmitMessage = styled.div`\n  color: #de350b;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: ${fontCharlieText};\n`;\n","import React from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from '@emotion/styled';\nimport { B300, B400, N30, N80, N900, N200 } from '@atlaskit/theme/colors';\nimport { Formik, Form } from 'formik';\nimport * as Yup from 'yup';\n\nimport { FooterLogo, TextInput } from '../components';\nimport { messages } from '../../messages';\nimport { useFirstImpressionsState } from '../../use-first-impressions-state';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { useSignUpFormGlobalConfiguration } from '../../../../hook';\n\nexport function FirstImpressionsLoggedInView() {\n  const [formSubmitError, setFormSubmitError] = useState(false);\n  const stargateClient = useStargateClient();\n  const { checkEmailPageUrl } = useSignUpFormGlobalConfiguration();\n  const { userInfo } = useFirstImpressionsState();\n\n  const LoggedInForm = () => (\n    <Formik\n      initialValues={{\n        email: '',\n        fullName: ''\n      }}\n      validationSchema={Yup.object({\n        siteName: Yup.string().max(255, () => (\n          <FormattedMessage {...messages.inputLabelFullNameLengthError} />\n        )),\n        email: Yup.string()\n          .email(() => (\n            <FormattedMessage {...messages.inputLabelWorkEmailError} />\n          ))\n          .required(() => <FormattedMessage {...messages.inputLabelRequired} />)\n      })}\n      onSubmit={async (values) => {\n        setFormSubmitError(false);\n        try {\n          await stargateClient.userSignup({\n            displayName: values.fullName,\n            email: values.email,\n            redirectTo: window.location.href,\n            locale: 'en',\n            webPlatform: 'magnolia'\n          });\n          window.location.assign(checkEmailPageUrl);\n        } catch (error) {\n          setFormSubmitError(true);\n        }\n      }}\n    >\n      {({ dirty, isSubmitting, isValid }) => (\n        <Form>\n          <TextInput\n            testId=\"first-impressions-work-email-text-input\"\n            name=\"email\"\n            type=\"email\"\n            label={<FormattedMessage {...messages.inputLabelWorkEmail} />}\n            disabled={true}\n            value={userInfo?.email || ''}\n          />\n\n          <TextInput\n            testId=\"first-impressions-site-name-text-input\"\n            name=\"siteName\"\n            type=\"url\"\n            label={<FormattedMessage {...messages.inputLabelSiteName} />}\n          />\n\n          <Eula>\n            <SanitizedFormattedHtmlMessage {...messages.firstImpressionsEula} />\n          </Eula>\n\n          <SubmitButton\n            type=\"submit\"\n            disabled={!dirty || isSubmitting || !isValid}\n          >\n            <FormattedMessage {...messages.submitButtonLabel} />\n          </SubmitButton>\n          {formSubmitError && (\n            <FailedSubmitMessage>\n              <FormattedMessage\n                {...messages.firstImpressionsLoggedOutFormSubmitError}\n              />\n            </FailedSubmitMessage>\n          )}\n        </Form>\n      )}\n    </Formik>\n  );\n\n  return (\n    <FirstImpressionsLoggedOutViewContainer>\n      <FormHeaderContainer>\n        <FormHeaderHeading>\n          <FormattedMessage\n            {...messages.firstImpressionsLoggedInFormHeader}\n            values={{\n              userName: userInfo?.firstName\n            }}\n          />\n        </FormHeaderHeading>\n      </FormHeaderContainer>\n\n      <LoggedInForm />\n\n      <NoCreditCardRequiredFooterMessage>\n        <FormattedMessage {...messages.noCreditCardRequiredFooter} />\n      </NoCreditCardRequiredFooterMessage>\n      <FooterLogo />\n    </FirstImpressionsLoggedOutViewContainer>\n  );\n}\n\nconst fontCharlieText =\n  '\"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",' +\n  'Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif !important';\n\nconst FirstImpressionsLoggedOutViewContainer = styled.div`\n  width: 100%;\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n`;\n\nconst FormHeaderContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-start;\n`;\n\nconst FormHeaderHeading = styled.div`\n  color: ${N900};\n  font-family: 'Charlie Display';\n  font-size: 36px;\n  font-weight: 500;\n  line-height: 40px;\n`;\n\nconst NoCreditCardRequiredFooterMessage = styled.p`\n  font-family: Charlie Display;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: 500;\n  line-height: 17.5px;\n  letter-spacing: 1px;\n  align-items: center;\n  text-align: center;\n  text-transform: uppercase;\n  margin: 16px 0 40px 0;\n`;\n\nconst SubmitButton = styled.button`\n  font-family: ${fontCharlieText};\n  font-weight: 500;\n  font-size: 16px;\n  outline: none !important;\n  border: none;\n  border-radius: 3px;\n  color: white;\n  background-color: ${B400};\n  width: 100%;\n  height: 36px;\n  &:disabled {\n    color: ${N80};\n    background-color: ${N30};\n    opacity: 0.6;\n  }\n`;\n\nconst Eula = styled.div`\n  font-family: ${fontCharlieText};\n  font-size: 12px;\n  line-height: 16px;\n  color: ${N200};\n  vertical-align: middle;\n  padding: 0;\n  font-weight: 400;\n\n  a {\n    color: ${B400};\n    cursor: pointer;\n    text-decoration: none;\n    &:hover {\n      color: ${B300};\n      text-decoration: underline;\n    }\n  }\n\n  p {\n    font-size: 12px;\n    line-height: 16px;\n    margin-bottom: 24px;\n  }\n`;\n\nconst FailedSubmitMessage = styled.div`\n  color: #de350b;\n  font-weight: 400;\n  font-size: 12px;\n  font-family: ${fontCharlieText};\n`;\n","import React from 'react';\nimport Spinner from '@atlaskit/spinner';\nimport styled from '@emotion/styled';\n\nexport function FirstImpressionsLoadingView() {\n  return (\n    <FirstImpressionsLoadingViewContainer>\n      <SpinnerWrapper>\n        <Spinner size=\"large\" />\n      </SpinnerWrapper>\n    </FirstImpressionsLoadingViewContainer>\n  );\n}\n\nconst FirstImpressionsLoadingViewContainer = styled.div`\n  width: 100%;\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n`;\n\nconst SpinnerWrapper = styled.div`\n  width: 100%;\n  height: 100%;\n  min-height: 400px;\n  max-width: 400px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n","import React from 'react';\nimport { useFirstImpressionsState } from '../use-first-impressions-state';\nimport {\n  FirstImpressionsLoadingView,\n  FirstImpressionsLoggedOutView\n} from './views';\n\nexport function FirstImpressionsFormView() {\n  const firstImpressionState = useFirstImpressionsState();\n\n  switch (firstImpressionState.activeFormView) {\n    case 'first-impressions-loading':\n      return <FirstImpressionsLoadingView />;\n    case 'first-impressions-logged-out':\n      return <FirstImpressionsLoggedOutView />;\n    default:\n      return <FirstImpressionsLoadingView />;\n  }\n}\n","import { N400 } from '@atlaskit/theme/colors';\nimport { SanitizedHtml } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { BundleContent } from '../../model';\n\nexport type FirstImpressionsProductInfoProps = {\n  readonly bundleContent: BundleContent;\n};\n\nexport function FirstImpressionsProductInfo({\n  bundleContent\n}: FirstImpressionsProductInfoProps) {\n  const showSocialProofImage = !!bundleContent.socialProofImage?.length;\n  return (\n    <OuterContainer>\n      <InnerContainer>\n        <HeroImage src={bundleContent.heroImage} />\n        <SocialProofText addBottomMargin={!showSocialProofImage}>\n          {bundleContent.headline}\n        </SocialProofText>\n        {showSocialProofImage && (\n          <SocialProofImage src={bundleContent.socialProofImage} />\n        )}\n        <FeatureList>\n          <SanitizedHtml innerHTML={bundleContent.featureList} />\n        </FeatureList>\n      </InnerContainer>\n    </OuterContainer>\n  );\n}\n\nconst OuterContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n  max-width: 700px;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst InnerContainer = styled.div`\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  font-size: 16px;\n`;\n\nconst HeroImage = styled.img`\n  object-fit: contain;\n  width: 100%;\n  height: 100%;\n`;\n\nconst FeatureList = styled.div`\n  margin: 0 auto;\n\n  & ul {\n    color: ${N400};\n    font-weight: 100;\n    font-size: clamp(1em, 2.5vw, 1.5em);\n    list-style-type: none;\n    margin: 0;\n    padding-inline-start: 20px;\n  }\n\n  & li {\n    font-size: 16px;\n    margin: 8px 0;\n    line-height: 1.5;\n    list-style-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%230049B0' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n  }\n`;\n\nconst SocialProofImage = styled.img`\n  width: 100%;\n`;\n\ntype SocialProofTextProps = {\n  readonly addBottomMargin: boolean;\n};\nconst SocialProofText = styled.p<SocialProofTextProps>`\n  width: 100%;\n  margin: ${(props) => (props.addBottomMargin ? '0 0 16px 0' : '0 0 0 0')};\n  text-align: center;\n  font-size: 1.25em;\n  line-height: 1.1;\n`;\n","import { elevation } from '@atlaskit/theme';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { PageHeader } from '../../components/page-header';\nimport { FirstImpressionsFormView } from './first-impressions-form-view';\nimport { FirstImpressionsProductInfo } from './first-impressions-product-info';\nimport { FirstImpressionsImageUrls } from './types';\nimport { useFirstImpressionsState } from './use-first-impressions-state';\n\nexport function FirstImpressionsView() {\n  const { firstImpressionsImageUrls, bundleData, bundleContent } =\n    useFirstImpressionsState();\n  return (\n    <PageRoot firstImpressionsImageUrls={firstImpressionsImageUrls}>\n      <PageHeader bundleData={bundleData} useDarkBackgroundMode={false} />\n      <PageBody>\n        <LeftColumn>\n          <FirstImpressionsProductInfo bundleContent={bundleContent} />\n        </LeftColumn>\n        <RightColumn>\n          <FirstImpressionsFormView />\n        </RightColumn>\n      </PageBody>\n    </PageRoot>\n  );\n}\n\nconst PageRoot = styled.div<{\n  readonly firstImpressionsImageUrls?: FirstImpressionsImageUrls;\n}>`\n  background-image: url(${(props) =>\n    props.firstImpressionsImageUrls?.backgroundImage});\n  background-repeat: no-repeat;\n  background-size: contain;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding-top: 10px;\n\n  @media only screen and (max-width: 769px) {\n    background-size: auto;\n  }\n`;\n\nconst PageBody = styled.div`\n  flex: 1;\n  max-width: 1440px;\n  display: flex;\n  align-items: flex-start;\n  margin-top: 22px;\n  @media only screen and (max-width: 769px) {\n    width: 100%;\n    flex-flow: row wrap-reverse;\n    justify-content: center;\n  }\n`;\n\nconst LeftColumn = styled.div`\n  margin: 16px;\n  width: 448px;\n  img {\n    margin-bottom: 10px !important;\n  }\n`;\n\nconst RightColumn = styled.div`\n  ${elevation.e200}\n  margin: 16px;\n  padding: 32px;\n  background-color: white;\n  box-sizing: content-box;\n  width: 350px;\n  align-items: center;\n  border-radius: 8px;\n  position: relative;\n\n  @media only screen and (max-width: 420px) {\n    box-shadow: unset;\n    margin: 0;\n    border-radius: 0;\n  }\n`;\n","import React from 'react';\nimport {\n  FirstImpressionsProvider,\n  FirstImpressionsContextProps\n} from './use-first-impressions-state';\nimport { FirstImpressionsView } from './first-impressions-view';\n\nexport function FirstImpressionsScreen(props: FirstImpressionsContextProps) {\n  return (\n    <FirstImpressionsProvider {...props}>\n      <FirstImpressionsView />\n    </FirstImpressionsProvider>\n  );\n}\n","import {\n  CONFLUENCE,\n  JIRA_CORE,\n  JSD,\n  TEAM_CENTRAL,\n  BEACON\n} from '../../../../utility/constants';\n\nexport const getSocialProofProductLabel = (productKey: string) => {\n  switch (productKey) {\n    case 'jira-servicedesk.ondemand':\n      return JSD;\n    case 'confluence.ondemand':\n      return CONFLUENCE;\n    case 'jira-core.ondemand':\n      return JIRA_CORE;\n    case 'townsquare':\n      return TEAM_CENTRAL;\n    case 'beacon':\n      return BEACON;\n    default:\n      return '';\n  }\n};\n\nexport type FirstImpressionsProductImageUrls = {\n  readonly heroImage: string;\n  readonly socialProofImage?: string;\n};\n\nexport type FirstImpressionsImageUrls = {\n  readonly backgroundImage: string;\n  readonly jiraSoftware: FirstImpressionsProductImageUrls;\n  readonly jiraServiceDesk: FirstImpressionsProductImageUrls;\n  readonly confluence: FirstImpressionsProductImageUrls;\n  readonly jiraCore: FirstImpressionsProductImageUrls;\n  readonly teamCentral: FirstImpressionsProductImageUrls;\n  readonly beacon: FirstImpressionsProductImageUrls;\n};\n\nexport type GetSocialProofImageURLsOptions = {\n  readonly productKey: string;\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n};\n\nexport const getSocialProofImageURLs = ({\n  productKey,\n  firstImpressionsImageUrls\n}: GetSocialProofImageURLsOptions) => {\n  switch (productKey) {\n    case 'jira-servicedesk.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.jiraServiceDesk.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraServiceDesk.socialProofImage\n      };\n    case 'confluence.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.confluence.heroImage,\n        logoImage: firstImpressionsImageUrls.confluence.socialProofImage\n      };\n    case 'jira-core.ondemand':\n      return {\n        heroImage: firstImpressionsImageUrls.jiraCore.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraCore.socialProofImage\n      };\n    case 'townsquare':\n      return {\n        heroImage: firstImpressionsImageUrls.teamCentral.heroImage,\n        logoImage: firstImpressionsImageUrls.teamCentral.socialProofImage\n      };\n    case 'beacon':\n      return {\n        heroImage: firstImpressionsImageUrls.beacon.heroImage,\n        logoImage: firstImpressionsImageUrls.beacon.socialProofImage\n      };\n    default:\n      return {\n        heroImage: firstImpressionsImageUrls.jiraSoftware.heroImage,\n        logoImage: firstImpressionsImageUrls.jiraSoftware.socialProofImage\n      };\n  }\n};\n","import _ from 'lodash';\nimport React, {\n  createContext,\n  useContext,\n  useMemo,\n  PropsWithChildren\n} from 'react';\nimport { useUserInfo, useSignUpFormConfig } from '../../../hook';\nimport {\n  getBundleData,\n  FREE_EDITION_LABEL_KEY,\n  getFeaturesList,\n  SOCIAL_PROOF_TEXT_KEY_PREFIX,\n  BundleData,\n  getPageHeaderLabels,\n  PageHeaderLabels\n} from '../../../utility';\nimport { getSocialProofImageURLs, getSocialProofProductLabel } from './utility';\nimport {\n  ProductDataType,\n  UserDataType,\n  FeatureFlags,\n  BundleContent\n} from '../../../model';\nimport { FirstImpressionsImageUrls } from './types';\n\nexport type FirstImpressionsContextProps = {\n  readonly labels: {\n    [key: string]: string;\n  };\n  readonly productData: { [key: string]: ProductDataType };\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n  readonly featureFlags: FeatureFlags;\n};\n\nexport const FirstImpressionsContext =\n  createContext<FirstImpressionsContextProps>({\n    labels: {},\n    productData: {},\n    firstImpressionsImageUrls: {\n      backgroundImage: '',\n      jiraSoftware: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      jiraServiceDesk: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      confluence: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      jiraCore: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      teamCentral: {\n        heroImage: '',\n        socialProofImage: ''\n      },\n      beacon: {\n        heroImage: '',\n        socialProofImage: ''\n      }\n    },\n    featureFlags: {}\n  });\n\nexport function FirstImpressionsProvider({\n  children,\n  ...props\n}: PropsWithChildren<FirstImpressionsContextProps>) {\n  return (\n    <FirstImpressionsContext.Provider value={props}>\n      {children}\n    </FirstImpressionsContext.Provider>\n  );\n}\n\nexport type ActiveFormView =\n  | null\n  | 'team-central-logged-out'\n  | 'team-central-ineligible'\n  | 'first-impressions-loading'\n  | 'first-impressions-logged-out'\n  | 'first-impressions-logged-in';\n\nexport type FirstImpressionsState = {\n  readonly pageHeaderLabels: PageHeaderLabels;\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n  readonly bundleData: BundleData;\n  readonly activeFormView: ActiveFormView;\n  readonly userInfo?: UserDataType;\n  readonly bundleContent: BundleContent;\n};\n\nfunction buildFirstImpressionsState(\n  activeBundlesMap: { [key: string]: ProductDataType },\n  labels: { [key: string]: string },\n  firstImpressionsImageUrls: FirstImpressionsImageUrls,\n  userInfo?: UserDataType,\n  bundleName?: string,\n  productKeys?: string,\n  edition?: string\n): FirstImpressionsState {\n  const bundleData = getBundleData({\n    activeBundlesMap,\n    bundleName,\n    productKeys,\n    edition\n  });\n\n  const pageHeaderLabels = getPageHeaderLabels({\n    labels,\n    bundleData\n  });\n\n  const bundleContent = getBundleContent({\n    labels,\n    bundleData,\n    firstImpressionsImageUrls\n  });\n\n  let activeFormView: ActiveFormView = null;\n\n  if (!userInfo) {\n    activeFormView = 'first-impressions-loading';\n  } else if (!userInfo.isLoggedIn) {\n    activeFormView = 'first-impressions-logged-out';\n  } else {\n    activeFormView = 'first-impressions-logged-in';\n  }\n\n  return {\n    pageHeaderLabels,\n    firstImpressionsImageUrls,\n    bundleData,\n    activeFormView,\n    userInfo,\n    bundleContent\n  };\n}\n\ntype GetBundleContentOptions = {\n  readonly bundleData: BundleData;\n  readonly labels: { [key: string]: string };\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n};\n\nfunction getBundleContent({\n  bundleData,\n  labels,\n  firstImpressionsImageUrls\n}: GetBundleContentOptions): BundleContent {\n  // if default bundleContent exists in bundleData, return that\n  if (bundleData.bundleContent?.default) {\n    return bundleData.bundleContent.default;\n  }\n\n  // otherwise compute bundleContent the old way\n  const primaryProductKey = bundleData.products[0].productKey;\n\n  const productNameKey = getSocialProofProductLabel(primaryProductKey);\n\n  const socialProofTextKey = SOCIAL_PROOF_TEXT_KEY_PREFIX + productNameKey;\n  const socialProofText = labels[socialProofTextKey];\n\n  const socialProofImageURLs = getSocialProofImageURLs({\n    productKey: primaryProductKey,\n    firstImpressionsImageUrls\n  });\n\n  const featureList = getFeaturesList({\n    labels,\n    bundleData,\n    featuresListEditionLabelKey: FREE_EDITION_LABEL_KEY.toLowerCase()\n  });\n\n  return {\n    heroImage: socialProofImageURLs.heroImage,\n    headline: socialProofText,\n    socialProofImage: socialProofImageURLs.logoImage,\n    featureList\n  };\n}\n\nexport function useFirstImpressionsState(): FirstImpressionsState {\n  const { labels, productData, firstImpressionsImageUrls } = useContext(\n    FirstImpressionsContext\n  );\n\n  const {\n    bundle: bundleName,\n    product: productKeys,\n    edition\n  } = useSignUpFormConfig();\n\n  const userInfo = useUserInfo();\n\n  return useMemo(\n    () =>\n      buildFirstImpressionsState(\n        productData,\n        labels,\n        firstImpressionsImageUrls,\n        userInfo,\n        bundleName,\n        productKeys,\n        edition\n      ),\n    [\n      productData,\n      labels,\n      firstImpressionsImageUrls,\n      userInfo,\n      bundleName,\n      productKeys,\n      edition\n    ]\n  );\n}\n","import { defineMessagesSimple } from '@atlassiansox/bxpkit-core';\n\nexport const messages = defineMessagesSimple('WacSignupForm.FirstImpressions', {\n  noCreditCardRequiredFooter: `No credit card required`,\n  firstImpressionsEula:\n    \"<p>By signing up, you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy.</a></p>\",\n  firstImpressionsRecaptcha:\n    'This site is protected by reCAPTCHA and the Google <a href=\"https://policies.google.com/privacy\">Privacy Policy</a> and <a href=\"https://policies.google.com/terms\">Terms of Service</a> apply.',\n  firstImpressionsLoggedOutFormHeader: 'Get Started',\n  firstImpressionsLoggedOutFormSubHeader: 'Free for up to 10 users',\n  firstImpressionsLoggedInFormHeader: 'Welcome back, {userName}',\n  inputLabelWorkEmail: 'Work email',\n  inputLabelWorkEmailError: 'Invalid email address',\n  inputLabelFullName: 'Full name',\n  inputLabelSiteName: 'Claim your site',\n  submitButtonLabel: 'Agree',\n  socialSignUpButtonContinueWithGoogle: 'Continue with Google',\n  socialSignUpButtonSignUpWithEmail: 'Sign up with email',\n  socialSignUpDividerLabel: 'OR',\n  inputLabelFullNameLengthError: 'Must be 255 characters or less',\n  inputLabelRequired: 'Required',\n  firstImpressionsLoggedOutFormSubmitError:\n    'Something went wrong, please try again.',\n  firstImpressionsSamlRequired:\n    'You must use single sign-on to access your account and continue signing up for your product. <a href=\"{loginUrl}\">Login to continue</a>',\n  firstImpressionsSsoCheckError:\n    'There was an unexpected error validating your email. Please check your network settings.',\n  userHasPaidSites:\n    'Looks like you already have a Standard/Premium Atlassian product. Unfortunately the discount only applies for new customers.',\n  goToMyProducts: 'Go to my products'\n});\n","import { N900 } from '@atlaskit/theme/colors';\nimport { Environment } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useFirstImpressionsState } from '../../use-first-impressions-state';\n\nimport { messages } from '../../messages';\n\nexport function SlackPromoConfluenceIneligibleFormView() {\n  const { userInfo } = useFirstImpressionsState();\n  const environment = Environment.getEnvironment();\n  let goToMyProductsUrl = 'https://start.stg.atlassian.com/';\n  if (environment === 'production') {\n    goToMyProductsUrl = 'https://start.atlassian.com/';\n  }\n  return (\n    <SlackPromoConfluenceIneligibleFormViewContainer>\n      <FormHeaderContainer>\n        <FormHeaderHeading>\n          <FormattedMessage\n            {...messages.firstImpressionsLoggedInFormHeader}\n            values={{\n              userName: userInfo?.firstName\n            }}\n          />\n        </FormHeaderHeading>\n      </FormHeaderContainer>\n      <IneligibleMessageParagraphContainer>\n        <IneligibleMessageParagraph>\n          <FormattedMessage {...messages.userHasPaidSites} />\n        </IneligibleMessageParagraph>\n      </IneligibleMessageParagraphContainer>\n      <IneligibleMessageLink>\n        <a href={goToMyProductsUrl}>\n          <FormattedMessage {...messages.goToMyProducts} />\n        </a>\n      </IneligibleMessageLink>\n    </SlackPromoConfluenceIneligibleFormViewContainer>\n  );\n}\n\nconst SlackPromoConfluenceIneligibleFormViewContainer = styled.div`\n  width: 100%;\n  margin: 0;\n  display: flex;\n  flex-direction: column;\n`;\n\nconst FormHeaderContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-start;\n`;\n\nconst FormHeaderHeading = styled.div`\n  color: ${N900};\n  font-family: 'Charlie Display';\n  font-size: 24px;\n  font-weight: 600;\n  line-height: 32px;\n  padding-bottom: 24px;\n`;\n\nconst IneligibleMessageParagraphContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-start;\n`;\n\nconst IneligibleMessageParagraph = styled.div`\n  color: ${N900};\n  font-family: 'Charlie Display';\n  font-size: 16px;\n  font-weight: 400;\n  line-height: 24px;\n  padding-bottom: 24px;\n  text-align: center;\n`;\n\nconst IneligibleMessageLink = styled.div`\n  color: ${N900};\n  font-family: 'Charlie Text';\n  font-weight: 400;\n  font-size: 16px;\n  line-height: 20px;\n  padding-bottom: 24px;\n  text-align: center;\n  letter-spacing: 0px;\n  & a {\n    text-decoration: none;\n    font-weight: 400;\n\n    & span:after {\n      content: '→';\n      margin-left: 4px;\n      font-size: 12px;\n    }\n  }\n`;\n","import React from 'react';\nimport { SlackPromoConfluenceIneligibleFormView } from './views';\n\nexport function SlackPromoConfluenceFormView() {\n  return <SlackPromoConfluenceIneligibleFormView />;\n}\n","import { N400 } from '@atlaskit/theme/colors';\nimport { SanitizedHtml } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { BundleContent } from '../../../model';\n\nexport type SlackPromoConfluenceProductInfoProps = {\n  readonly bundleContent: BundleContent;\n};\n\nexport function SlackPromoConfluenceProductInfo({\n  bundleContent\n}: SlackPromoConfluenceProductInfoProps) {\n  const showSocialProofImage = !!bundleContent.socialProofImage?.length;\n  return (\n    <OuterContainer>\n      <InnerContainer>\n        <HeroImage src={bundleContent.heroImage} />\n        <SocialProofText addBottomMargin={!showSocialProofImage}>\n          {bundleContent.headline}\n        </SocialProofText>\n        {showSocialProofImage && (\n          <SocialProofImage src={bundleContent.socialProofImage} />\n        )}\n        <FeatureList>\n          <SanitizedHtml innerHTML={bundleContent.featureList} />\n        </FeatureList>\n      </InnerContainer>\n    </OuterContainer>\n  );\n}\n\nconst OuterContainer = styled.div`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n  max-width: 700px;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst InnerContainer = styled.div`\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  font-size: 16px;\n`;\n\nconst HeroImage = styled.img`\n  object-fit: contain;\n  width: 100%;\n  height: 100%;\n`;\n\nconst FeatureList = styled.div`\n  margin: 0 auto;\n\n  & ul {\n    color: ${N400};\n    font-weight: 100;\n    font-size: clamp(1em, 2.5vw, 1.5em);\n    list-style-type: none;\n    margin: 0;\n    padding-inline-start: 20px;\n  }\n\n  & li {\n    font-size: 16px;\n    margin: 8px 0;\n    line-height: 1.5;\n    list-style-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%230049B0' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n  }\n`;\n\nconst SocialProofImage = styled.img`\n  width: 100%;\n`;\n\ntype SocialProofTextProps = {\n  readonly addBottomMargin: boolean;\n};\nconst SocialProofText = styled.p<SocialProofTextProps>`\n  width: 100%;\n  margin: ${(props) => (props.addBottomMargin ? '0 0 16px 0' : '0 0 0 0')};\n  text-align: center;\n  font-size: 1.25em;\n  line-height: 1.1;\n`;\n","import { elevation } from '@atlaskit/theme';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { PageHeader } from '../../../components/page-header';\nimport { SlackPromoConfluenceFormView } from './slack-promo-confluence-form-views';\nimport { SlackPromoConfluenceProductInfo } from './slack-promo-confluence-product-info';\nimport { FirstImpressionsImageUrls } from './types';\nimport { useFirstImpressionsState } from './use-first-impressions-state';\n\nexport function SlackPromoConfluenceFirstImpressionsLayout() {\n  const { firstImpressionsImageUrls, bundleData, bundleContent } =\n    useFirstImpressionsState();\n  return (\n    <PageRoot firstImpressionsImageUrls={firstImpressionsImageUrls}>\n      <PageHeader bundleData={bundleData} useDarkBackgroundMode={false} />\n      <PageBody>\n        <LeftColumn>\n          <SlackPromoConfluenceProductInfo bundleContent={bundleContent} />\n        </LeftColumn>\n        <RightColumn>\n          <SlackPromoConfluenceFormView />\n        </RightColumn>\n      </PageBody>\n    </PageRoot>\n  );\n}\n\nconst PageRoot = styled.div<{\n  readonly firstImpressionsImageUrls?: FirstImpressionsImageUrls;\n}>`\n  background-image: url(${(props) =>\n    props.firstImpressionsImageUrls?.backgroundImage});\n  background-repeat: no-repeat;\n  background-size: contain;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding-top: 10px;\n\n  @media only screen and (max-width: 769px) {\n    background-size: auto;\n  }\n`;\n\nconst PageBody = styled.div`\n  flex: 1;\n  max-width: 1440px;\n  display: flex;\n  align-items: flex-start;\n  margin-top: 22px;\n  @media only screen and (max-width: 769px) {\n    width: 100%;\n    flex-flow: row wrap-reverse;\n    justify-content: center;\n  }\n`;\n\nconst LeftColumn = styled.div`\n  margin: 16px;\n  width: 448px;\n  img {\n    margin-bottom: 10px !important;\n  }\n`;\n\nconst RightColumn = styled.div`\n  ${elevation.e200}\n  margin: 16px;\n  padding: 32px;\n  background-color: white;\n  box-sizing: content-box;\n  width: 350px;\n  align-items: center;\n  border-radius: 8px;\n  position: relative;\n\n  @media only screen and (max-width: 420px) {\n    box-shadow: unset;\n    margin: 0;\n    border-radius: 0;\n  }\n`;\n","import styled from '@emotion/styled';\nimport React from 'react';\nimport { SlackPromoConfluenceFormView } from './slack-promo-confluence-form-views';\n\nexport function SlackPromoConfluenceStandaloneLayout() {\n  return (\n    <StandAloneLayoutContainer className={'layout-standalone'}>\n      <StandAloneLayoutInnerContainer>\n        <SlackPromoConfluenceFormView />\n      </StandAloneLayoutInnerContainer>\n    </StandAloneLayoutContainer>\n  );\n}\n\nexport const StandAloneLayoutContainer = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: white;\n  border-radius: 5px;\n  box-shadow: 0px 4px 6px rgba(9, 30, 66, 0.15);\n  max-width: 414px;\n  min-height: 314px;\n  padding: 0 24px;\n  width: 100%;\n`;\n\nexport const StandAloneLayoutInnerContainer = styled.div`\n  margin: 32px 0;\n  width: 100%;\n`;\n","import React from 'react';\nimport { SignUpLayoutContainerProps } from '../../../sign-up-layout-container';\nimport { SlackPromoConfluenceFirstImpressionsLayout } from './slack-promo-confluence-view-first-impressions-layout';\nimport { SlackPromoConfluenceStandaloneLayout } from './slack-promo-confluence-view-standalone-layout';\n\nexport function SlackPromoConfluenceView(props: SignUpLayoutContainerProps) {\n  switch (props.layout) {\n    case 'standalone':\n      return <SlackPromoConfluenceStandaloneLayout />;\n    default:\n      return <SlackPromoConfluenceFirstImpressionsLayout />;\n  }\n}\n","import React from 'react';\nimport { FirstImpressionsProvider } from './use-first-impressions-state';\nimport { SlackPromoConfluenceView } from './slack-promo-confluence-view';\nimport { SignUpLayoutContainerProps } from '../../../sign-up-layout-container';\n\nexport function SlackPromoConfluenceScreen(props: SignUpLayoutContainerProps) {\n  return (\n    <FirstImpressionsProvider {...props}>\n      <SlackPromoConfluenceView {...props} />\n    </FirstImpressionsProvider>\n  );\n}\n","import React from 'react';\nimport { SignUpLayoutContainerProps } from '../../sign-up-layout-container';\nimport { SlackPromoConfluenceScreen } from './slack-promo-confluence';\nimport { UserDataType } from '../../model';\n\nexport function ExperimentScreensSwitch(props: SignUpLayoutContainerProps) {\n  console.log(`ExperimentScreensSwitch ${props.layout}`);\n  if (props.experimentScreensFlags?.enableSlackPromoConfluence) {\n    return <SlackPromoConfluenceScreen {...props} />;\n  }\n\n  return <SlackPromoConfluenceScreen {...props} />;\n}\n\nexport function showExperimentScreens(\n  props: SignUpLayoutContainerProps,\n  userInfo?: UserDataType\n) {\n  return showSlackPromoConfluenceIneligibleScreen(props, userInfo);\n}\n\nfunction showSlackPromoConfluenceIneligibleScreen(\n  props: SignUpLayoutContainerProps,\n  userInfo?: UserDataType\n) {\n  if (!userInfo?.sites) {\n    return false;\n  }\n  const userIsIneligible = userInfo?.sites\n    .map((siteData) => {\n      return siteData?.edition !== 'free';\n    })\n    .reduce((userHasAPaidSite: boolean, siteIsPaid: boolean) => {\n      return userHasAPaidSite || siteIsPaid;\n    }, false);\n  return (\n    props.experimentScreensFlags?.enableSlackPromoConfluence &&\n    userInfo?.isLoggedIn &&\n    !!userIsIneligible\n  );\n}\n","import { AsyncResult, useBitbucketWorkspaces } from '@atlassiansox/bxpkit-core';\nimport { filter } from 'lodash';\nimport { useEffect, useState } from 'react';\nimport { BitbucketWorkspace } from '../model';\n\n/**\n * Hook that provides bitbucket workspace info relevant to signup\n */\n\nexport const getBitbucketWorkspaces = (makeRequest: boolean) => {\n  const [bbWorkspaces, setBbWorkspaces] = useState<any>([]);\n  const bbWorkspacesAsync = useBitbucketWorkspaces({ makeRequest });\n\n  useEffect(() => {\n    if (!bbWorkspacesAsync || AsyncResult.isPending(bbWorkspacesAsync)) {\n      return;\n    }\n\n    const bbData = bbWorkspacesAsync.catch(() => null).value;\n    if (bbData) {\n      // analytics.trackBbSignupPerf();\n      // TODO: consider Pagination\n      const { values } = bbData;\n      if (values) {\n        // remove any non admin workspace\n        const purifiedData = filter(\n          values,\n          (workspace: BitbucketWorkspace) => workspace.permission === 'owner'\n        );\n        setBbWorkspaces(purifiedData);\n      }\n    }\n  }, [bbWorkspacesAsync]);\n\n  return bbWorkspaces;\n};\n","/**\n * Shared Styles for Devops Form View Component\n */\n\nimport { B300, B400, G300, N900, R400, R500 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\n\nexport const fontCharlieText =\n  '\"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",' +\n  'Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif !important';\n\nexport const fontCharlieDisplay =\n  '\"Charlie Display\", \"Charlie Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\",' +\n  'Roboto, \"Noto Sans\", Ubuntu, \"Droid Sans\", \"Helvetica Neue\", sans-serif !important';\n\ntype ValidationState = {\n  readonly validationState?: string;\n  readonly isDisabled?: boolean;\n};\n\nexport const FieldWrapper = styled.div<ValidationState>`\n  position: relative;\n  margin: 0;\n  padding: 0;\n\n  input {\n    height: 20px;\n    box-sizing: content-box;\n  }\n\n  > div {\n    transition all 0.1s linear 0s;\n    opacity: ${(props) => {\n      if (props.isDisabled) {\n        return 0.4;\n      }\n      return 1;\n    }};\n    ${(props) => {\n      if (props.validationState === 'success') {\n        return ` border-color:${G300} !important`; // green\n      }\n      if (props.validationState === 'error') {\n        return ` border-color:${R400} !important`; // red\n      }\n      return '';\n    }};\n  }\n`;\n\nexport const ErrorMessage = styled.div`\n  font-size: 0.875rem;\n  font-weight: 400;\n  margin: 16px 0;\n  font-size: 12px;\n  line-height: 12px;\n\n  position: absolute;\n  display: grid;\n  justify-items: center;\n  align-items: start;\n  width: 100%;\n  margin: 0;\n  z-index: 9;\n  color: ${N900};\n  background: transparent !important;\n\n  &.location-top {\n    bottom: 100%;\n  }\n\n  &.location-bottom {\n    top: 100%;\n  }\n\n  & > div {\n    display: flex;\n  }\n\n  span {\n    padding: 7px;\n    background: white;\n    box-shadow: 0px 0px 1px rgba(9, 30, 66, 0.31),\n      0px 3px 5px rgba(9, 30, 66, 0.2);\n    border-radius: 3px;\n    margin: 2px auto 0;\n    max-width: 90%;\n    line-height: 1.2em;\n  }\n\n  a {\n    text-decoration: none;\n    color: ${B400};\n\n    &:hover {\n      text-decoration: underline;\n      color: ${B300};\n    }\n  }\n`;\nexport const SubmitErrorMessage = styled.div`\n  font-size: 0.875rem;\n  font-weight: 400;\n  margin: 16px 0;\n  font-size: 13px;\n  line-height: 12px;\n  font-family: ${fontCharlieText};\n  position: relative;\n  display: grid;\n  justify-items: center;\n  align-items: start;\n  width: 100%;\n  margin: 0;\n  color: ${R500};\n  background: transparent !important;\n\n  &.location-top {\n    bottom: 100%;\n  }\n\n  span {\n    background: none;\n    margin-top: 15px;\n    max-width: 90%;\n    line-height: 1.2em;\n  }\n\n  a {\n    text-decoration: none;\n    color: ${B400};\n\n    &:hover {\n      text-decoration: underline;\n      color: ${B300};\n    }\n  }\n`;\n","import OriginTracing from '@atlassiansox/origin-tracing';\nimport { Environment, Url } from '@atlassiansox/bxpkit-core';\n\ntype SwitchAccountUrlType = {\n  readonly signInAccountOrigin: OriginTracing;\n  readonly switchAccountOrigin: OriginTracing;\n  readonly signInAccountUrl: string;\n  readonly switchAccountUrl: string;\n};\n\nexport const accountOperationUrl = (): SwitchAccountUrlType => {\n  const queryParameters = Url.getUrlParams() || {};\n\n  const signInAccountOrigin = new OriginTracing({\n    product: 'wac-signup-login'\n  });\n  const switchAccountOrigin = new OriginTracing({\n    product: 'wac-signup-switch'\n  });\n\n  const signInAccountUrl = Environment.getIdSigninUrl(\n    signInAccountOrigin.encode(),\n    undefined,\n    queryParameters['continue']\n  );\n  const switchAccountUrl = Environment.getIdSwitchUserUrl(\n    switchAccountOrigin.encode()\n  );\n\n  return {\n    signInAccountOrigin,\n    switchAccountOrigin,\n    signInAccountUrl,\n    switchAccountUrl\n  };\n};\n","import _ from 'lodash';\nimport { messages } from '../../../messages';\nimport { LocaleType } from '../types';\n\nexport const getConsents = (locale: LocaleType, consentChecked: boolean) => {\n  const consent = {\n    site: 'atlassian',\n    locale: locale.locale,\n    formUrl: window.location.href,\n    consents: [\n      {\n        key: 'termsOfService',\n        displayedText: messages.eula.defaultMessage,\n        granted: true\n      },\n      {\n        key: 'privacyPolicy',\n        displayedText: messages.eula.defaultMessage,\n        granted: true\n      },\n      {\n        key: 'generalMarketingOptIn',\n        displayedText: messages.marketingConsent.defaultMessage,\n        granted: false\n      }\n    ]\n  };\n  const needsConsent = _.get(\n    locale,\n    'localeRequiresMarketingCommunicationOptIn'\n  );\n\n  if (!needsConsent) {\n    consent.consents[2].granted = true;\n    consent.consents[2].displayedText = 'general consent implied';\n  } else {\n    consent.consents[2].granted = consentChecked;\n  }\n\n  return consent;\n};\n","import { Environment, Url } from '@atlassiansox/bxpkit-core';\nimport Cookies from 'js-cookie';\n// TODO: break this into ./utility?\nimport { isTestTenantByName } from '../../../service/sign-up-form/form-submit';\nimport { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';\n\ntype GetSignupContextType = {\n  readonly cloudName: string;\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\nexport function getSignupContext({\n  cloudName,\n  createAnalyticsEvent\n}: GetSignupContextType): string | undefined {\n  const MAX_SIGNUP_CONTEXT_LENGTH = 8192;\n  const signupContext = {};\n  const queryParameters = Url.getUrlParams() || {};\n  const templateId = queryParameters.hasOwnProperty('templateId')\n    ? queryParameters.templateId\n    : null;\n\n  if (templateId) {\n    Object.assign(signupContext, { templateId });\n  }\n  if (isTestTenantByName(!Environment.isProduction(), cloudName)) {\n    Object.assign(signupContext, { testingPurposes: true });\n  }\n\n  const bxpGatewayAnchorCookie = Cookies.get('bxp_gateway_anchor') || '';\n  if (bxpGatewayAnchorCookie) {\n    try {\n      const bxpGatewayAnchor = JSON.parse(bxpGatewayAnchorCookie);\n      if (bxpGatewayAnchor) {\n        bxpGatewayAnchor.timestamp = new Date();\n        Object.assign(signupContext, { bxpGatewayAnchor });\n      }\n    } catch (error) {\n      createAnalyticsEvent({\n        eventName: 'bxp.anchorJourney.parseCookieError'\n      }).fire();\n    }\n  }\n\n  const signupContextString = JSON.stringify(signupContext);\n\n  if (signupContextString.length <= MAX_SIGNUP_CONTEXT_LENGTH) {\n    return signupContextString;\n  } else {\n    // newRelic.action(\n    //   'bxp.formCloudSignup.signupContextTooLarge',\n    //   signupContextString.length.toString()\n    // );\n    // TODO: signup context too large with createAnalyticsEvent\n    return;\n  }\n}\n","import { defineMessages } from 'react-intl';\nconst ID_PREFIX = 'WacSignupForm.Devops.';\nexport const messages = defineMessages({\n  logo: {\n    id: `${ID_PREFIX}logo`,\n    defaultMessage: 'Atlassian'\n  },\n  openDevOps: {\n    id: `${ID_PREFIX}openDevOps`,\n    defaultMessage: 'Open DevOps'\n  },\n  devopsLogoSubheader: {\n    id: `${ID_PREFIX}devopsLogoSubheader`,\n    defaultMessage:\n      'Connected out-of-the-box and easily extendable to your favorite third-party tools. Powered by Jira Software, the #1 tool used by agile teams.'\n  },\n  devopsSwitchAccounts: {\n    id: `${ID_PREFIX}devopsSwitchAccounts`,\n    defaultMessage: 'Log in to another account'\n  },\n  devopsRecaptcha: {\n    id: `${ID_PREFIX}devopsRecaptcha`,\n    defaultMessage:\n      'This page is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.'\n  },\n  devopsEula: {\n    id: `${ID_PREFIX}devopsEula`,\n    defaultMessage:\n      \"<p>By signing up, you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy.</a></p>\"\n  },\n  noCard: {\n    id: `${ID_PREFIX}noCard`,\n    defaultMessage: 'No Credit Card Required'\n  },\n  welcomeMessageLoggedOut: {\n    id: `${ID_PREFIX}welcomeMessageLoggedOut`,\n    defaultMessage: 'Create your account'\n  },\n  submitButtonLoggedOut: {\n    id: `${ID_PREFIX}submitButtonLoggedOut`,\n    defaultMessage: 'Sign up'\n  },\n  submitButtonLoggedIn: {\n    id: `${ID_PREFIX}submitButtonLoggedIn`,\n    defaultMessage: 'Sign up'\n  },\n  inputLabelEmail: {\n    id: `${ID_PREFIX}inputLabelEmail`,\n    defaultMessage: 'Work email'\n  },\n  inputLabelPassword: {\n    id: `${ID_PREFIX}inputLabelPassword`,\n    defaultMessage: 'Password'\n  },\n  inputLabelFullName: {\n    id: `${ID_PREFIX}inputLabelFullName`,\n    defaultMessage: 'Full name'\n  },\n  inputLabelSitenameNew: {\n    id: `${ID_PREFIX}inputLabelSitenameNew`,\n    defaultMessage: 'Name your suite'\n  },\n  inputLabelSitenameExisting: {\n    id: `${ID_PREFIX}inputLabelSitenameExisting`,\n    defaultMessage: 'Select a site (or type a name to create a new one)'\n  },\n  inputLabelWorkspaceExisting: {\n    id: `${ID_PREFIX}inputLabelWorkspaceExisting`,\n    defaultMessage: 'Select a workspace (or type a name to create a new one)'\n  },\n  inputDescriptionSitenameNew: {\n    id: `${ID_PREFIX}inputDescriptionSitenameNew`,\n    defaultMessage: '* We’ll use this to name your suite and workspaces'\n  },\n  inputDescriptionSitenameExisting: {\n    id: `${ID_PREFIX}inputDescriptionSitenameExisting`,\n    defaultMessage: 'The address your team will use to access Jira Software'\n  },\n  inputToggleSitenameNew: {\n    id: `${ID_PREFIX}inputToggleSitenameNew`,\n    defaultMessage: 'Start a new site'\n  },\n  inputToggleSitenameExisting: {\n    id: `${ID_PREFIX}inputToggleSitenameExisting`,\n    defaultMessage: 'Use an existing site'\n  },\n  inputSitenameExistingPlaceholder: {\n    id: `${ID_PREFIX}inputSitenameExistingPlaceholder`,\n    defaultMessage: 'Select or create a new site'\n  },\n  errorPasswordMinMsg: {\n    id: `${ID_PREFIX}errorPasswordMinMsg`,\n    defaultMessage: 'Password must be at least 8 characters long'\n  },\n  passwordStrength: {\n    id: `${ID_PREFIX}passwordStrength`,\n    defaultMessage: `Password strength:`\n  },\n  passwordWeak: {\n    id: `${ID_PREFIX}passwordWeak`,\n    defaultMessage: `Weak`\n  },\n  passwordModerate: {\n    id: `${ID_PREFIX}passwordModerate`,\n    defaultMessage: `Moderate`\n  },\n  passwordStrong: {\n    id: `${ID_PREFIX}passwordStrong`,\n    defaultMessage: `Strong`\n  },\n  passwordVeryStrong: {\n    id: `${ID_PREFIX}passwordVeryStrong`,\n    defaultMessage: `Very strong`\n  },\n  errorName: {\n    id: `${ID_PREFIX}errorName`,\n    defaultMessage: 'Invalid name pattern.'\n  },\n  errorEmailInvalid: {\n    id: `${ID_PREFIX}errorEmailInvalid`,\n    defaultMessage: 'Please enter a valid email address'\n  },\n  errorEmailInUse: {\n    id: `${ID_PREFIX}errorEmailInUse`,\n    defaultMessage: `Oops, an Atlassian account with this email already exists. If you are the owner of this account, please <a href='{signInAccountUrl}'>login to continue</a>.`\n  },\n  errorSsoInUse: {\n    id: `${ID_PREFIX}errorSsoInUse`,\n    defaultMessage: `You must use single sign-on to access your account and continue signing up for your product. <a href='{signInAccountUrl}'>Login to continue.</a>`\n  },\n  errorSitenameUnavailable: {\n    id: `${ID_PREFIX}errorSitenameUnavailable`,\n    defaultMessage: 'This suite is already taken.'\n  },\n  errorSitenameInvalid: {\n    id: `${ID_PREFIX}errorSitenameInvalid`,\n    defaultMessage:\n      'Your suite name must be 3 or more lowercase letters and/or numbers. Hyphens are ok if they’re in the middle.'\n  },\n  slideExistingSiteHeader: {\n    id: `${ID_PREFIX}slideExistingSiteHeader`,\n    defaultMessage: 'Let’s get started'\n  },\n  slideExistingSiteSubHeader: {\n    id: `${ID_PREFIX}slideExistingSiteSubHeader`,\n    defaultMessage:\n      'Start building your toolchain with our flagship product for free, then upgrade or add more third-party tools later.'\n  },\n  slideExistingWorkspaceSubHeader: {\n    id: `${ID_PREFIX}slideExistingWorkspaceSubHeader`,\n    defaultMessage:\n      'Integrate Jira, Confluence and Opsgenie with Bitbucket for free, then upgrade  or add more third-party tools later.'\n  },\n  slideExistingSiteSubHeaderTooltip: {\n    id: `${ID_PREFIX}slideExistingSiteSubHeaderTooltip`,\n    defaultMessage:\n      'If your chosen site does not include Jira software, we’ll add and integrate it with your suite.'\n  },\n  slideConfirmationHeader: {\n    id: `${ID_PREFIX}slideConfirmationHeader`,\n    defaultMessage: 'You’re almost there!'\n  },\n  slideConfirmationSubHeaderText: {\n    id: `${ID_PREFIX}slideConfirmationSubHeaderText`,\n    defaultMessage: 'Your new products are now connected to your site.'\n  },\n  slideConfirmationFooterText: {\n    id: `${ID_PREFIX}slideConfirmationFooterText`,\n    defaultMessage:\n      'Next, dive into a project to start exploring Atlassian Open DevOps.'\n  },\n  slideConfirmationGetStarted: {\n    id: `${ID_PREFIX}slideConfirmationGetStarted`,\n    defaultMessage: 'Get started in {product}'\n  },\n  slideProductConfirmationHeader: {\n    id: `${ID_PREFIX}slideProductConfirmationHeader`,\n    defaultMessage: 'Review your toolchain'\n  },\n  slideProductConfirmationSubHeader: {\n    id: `${ID_PREFIX}slideProductConfirmationSubHeader`,\n    defaultMessage:\n      'You’ll connect these products to your site. Remember, new products are free!'\n  },\n  slideProductConfirmationProductsExisting: {\n    id: `${ID_PREFIX}slideProductConfirmationProductsExisting`,\n    defaultMessage: 'Existing Products'\n  },\n  slideProductConfirmationProductsNew: {\n    id: `${ID_PREFIX}slideProductConfirmationProductsNew`,\n    defaultMessage: 'New Products'\n  },\n  productListJiraSoftwareName: {\n    id: `${ID_PREFIX}productListJiraSoftwareName`,\n    defaultMessage: 'Jira Software'\n  },\n  productListJiraSoftwareDescription: {\n    id: `${ID_PREFIX}productListJiraSoftwareDescription`,\n    defaultMessage: 'Mission control for your entire team'\n  },\n  productListConfluenceName: {\n    id: `${ID_PREFIX}productListConfluenceName`,\n    defaultMessage: 'Confluence'\n  },\n  productListConfluenceDescription: {\n    id: `${ID_PREFIX}productListConfluenceDescription`,\n    defaultMessage: 'Keep everyone in the loop'\n  },\n  productListBitbucketName: {\n    id: `${ID_PREFIX}productListBitbucketName`,\n    defaultMessage: 'Bitbucket'\n  },\n  productListBitbucketDescription: {\n    id: `${ID_PREFIX}productListBitbucketDescription`,\n    defaultMessage:\n      'Ship quality code as a team <br/>*With Bitbucket, Github, or Gitlab'\n  },\n  productListOpsgenieName: {\n    id: `${ID_PREFIX}productListOpsgenieName`,\n    defaultMessage: 'Opsgenie'\n  },\n  productListOpsgenieDescription: {\n    id: `${ID_PREFIX}productListOpsgenieDescription`,\n    defaultMessage: 'Streamline incident management'\n  },\n  devopsEmailSent: {\n    id: `${ID_PREFIX}devopsEmailSent`,\n    defaultMessage:\n      'Click the link sent to <div>{email}</div> to verify your email and activate your account.'\n  },\n  devopsNoResendNoEmail: {\n    id: `${ID_PREFIX}devopsNoResendNoEmail`,\n    defaultMessage: \"Don't see any email? Check your spam folder.\"\n  },\n  devopsHeader: {\n    id: `${ID_PREFIX}devopsHeader`,\n    defaultMessage: 'Your suite is ready!'\n  },\n  devopsSubHeader: {\n    id: `${ID_PREFIX}devopsSubHeader`,\n    defaultMessage: 'Verify your email address'\n  },\n  marketingConsent: {\n    id: `${ID_PREFIX}marketingConsent`,\n    defaultMessage: `Yes! I would like to receive promotional emails including product news, events and more from Atlassian and its affiliates.`\n  },\n  devopsSidebarTextPlan: {\n    id: `${ID_PREFIX}devopsSidebarTextPlan`,\n    defaultMessage: `Plan`\n  },\n  devopsSidebarTextCode: {\n    id: `${ID_PREFIX}devopsSidebarTextCode`,\n    defaultMessage: `Code`\n  },\n  devopsSidebarTextDeploy: {\n    id: `${ID_PREFIX}devopsSidebarTextDeploy`,\n    defaultMessage: `Deploy`\n  },\n  devopsSidebarTextOperate: {\n    id: `${ID_PREFIX}devopsSidebarTextOperate`,\n    defaultMessage: `Operate`\n  },\n  devopsSidebarTextCollaborate: {\n    id: `${ID_PREFIX}devopsSidebarTextCollaborate`,\n    defaultMessage: `Collaborate`\n  },\n  errorTimeoutN2E: {\n    id: `${ID_PREFIX}errorTimeout`,\n    defaultMessage:\n      '<span>It\\'s taking longer than expected to get you started. Please <a href=\"/company/contact\" track-link-ga=\"error-contact-us\">contact us</a>.</span>'\n  },\n  errorTimeoutN2N: {\n    id: `${ID_PREFIX}errorTimeout`,\n    defaultMessage:\n      '<span>It\\'s taking longer than expected to get you started. Please check your inbox to see if the order has completed successfully, or <a href=\"/company/contact\">contact us</a>.</span>'\n  },\n  provisioningTakesTime: {\n    id: `${ID_PREFIX}provisioningTakesTime`,\n    defaultMessage: 'Please wait a moment, this can take up to a minute...'\n  },\n  socialSignUpButtonContinueWithGoogle: {\n    id: `${ID_PREFIX}socialSignUpButtonContinueWithGoogle`,\n    defaultMessage: 'Continue with Google'\n  },\n  socialSignUpOr: {\n    id: `${ID_PREFIX}socialSignUpOr`,\n    defaultMessage: 'OR'\n  },\n  socialSignUpButtonSignUpWithEmail: {\n    id: `${ID_PREFIX}socialSignUpButtonSignUpWithEmail`,\n    defaultMessage: 'Sign up with email'\n  },\n  nextButton: {\n    id: `${ID_PREFIX}nextButton`,\n    defaultMessage: 'Next'\n  },\n  previousButton: {\n    id: `${ID_PREFIX}previousButton`,\n    defaultMessage: 'Prev'\n  }\n});\n","import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';\nimport { PollProgressResponseBody } from '@atlassiansox/asc-cofs';\nimport { Environment, ProductKey, Url } from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport { metalClient } from '../../../metrics';\nimport { generateConfirmationUrl } from '../../../service/sign-up-form/form-submit';\nimport { DevopsState } from '../hook';\nimport { messages } from '../messages';\nimport { FormDataN2N } from '../types';\nimport { getSiteDomain } from './';\nimport {\n  LoggedInFormDataType,\n  updateSharedFormDataGoToProductUrl,\n  updateSharedFormDataSubmitErrorMessage\n} from '../../../redux';\n\ntype PollForSuccessType = {\n  readonly progressUri: string;\n  readonly confirmationPageUrl: string;\n  readonly pollProgress: () => Promise<PollProgressResponseBody>;\n  readonly devopsState: DevopsState;\n  readonly data?: FormDataN2N;\n  readonly dispatch: any;\n  readonly loggedInFormData?: LoggedInFormDataType;\n  readonly onInitialRequestSuccess?: (cloudId: string) => void;\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\nexport function pollForSuccess({\n  progressUri,\n  confirmationPageUrl,\n  pollProgress,\n  devopsState,\n  data,\n  onInitialRequestSuccess,\n  createAnalyticsEvent,\n  dispatch,\n  loggedInFormData\n}: PollForSuccessType) {\n  const wacEnvUrl = Environment.getWacIntegrationUrl();\n  const { productKeys, userInfo, locale } = devopsState;\n\n  const isJswIncluded = loggedInFormData?.productsExisting?.includes(\n    ProductKey.JIRA_SOFTWARE\n  );\n\n  return new Promise((resolve, reject) => {\n    let secondsPassed = 0;\n\n    const poll = setInterval(async () => {\n      secondsPassed++;\n      if (secondsPassed === 5) {\n        dispatch(\n          updateSharedFormDataSubmitErrorMessage(messages.provisioningTakesTime)\n        );\n      }\n      if (secondsPassed === 15) {\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.waitedSignupPageSubmit>15s',\n          eventComponent: 'button',\n          event: 'clicked'\n        }).fire();\n      }\n      if (secondsPassed === 60) {\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.waitedSignupPageSubmit>60s',\n          eventComponent: 'button',\n          event: 'clicked'\n        }).fire();\n      }\n      if (secondsPassed === 180) {\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.waitedSignupPageSubmit>180s',\n          eventComponent: 'button',\n          event: 'clicked'\n        }).fire();\n        metalClient.metric.submit({\n          name: catalog.userInteraction.TASK_FAILURE,\n          page: 'sign-up-layout-devops',\n          task: 'devops-form-submit'\n        });\n        if (userInfo?.isLoggedIn) {\n          dispatch(\n            updateSharedFormDataSubmitErrorMessage(messages.errorTimeoutN2E)\n          );\n        } else {\n          dispatch(\n            updateSharedFormDataSubmitErrorMessage(messages.errorTimeoutN2N)\n          );\n        }\n        clearInterval(poll);\n        resolve('180_SEC_TIME_OUT');\n        // setPollingLoaderShown(false);\n      }\n\n      const body = await pollProgress();\n      if (!body) {\n        clearInterval(poll);\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.progressPollMissing',\n          eventComponent: 'button',\n          event: 'clicked',\n          data: {\n            label: body\n          }\n        }).fire();\n      }\n\n      if (body) {\n        const cloudId = body.cloudId;\n        const productParam = productKeys.map((p) => p.product).join(',');\n        const cloudName =\n          data?.sitenameNew || loggedInFormData?.cloudName || '';\n        const dataRegion = locale.locale;\n\n        const statusActivate = body.bestStatuses.ACTIVATE_PRODUCT;\n        const statusSignup =\n          body.bestStatuses.HAMS_CREATE_CLOUD !== 'SKIPPED'\n            ? body.bestStatuses.HAMS_CREATE_CLOUD\n            : body.bestStatuses.BAG_CREATE_CLOUD;\n\n        if (cloudId && onInitialRequestSuccess) {\n          onInitialRequestSuccess(cloudId);\n        }\n\n        // runs on activation requests\n        if (statusActivate && body.completed) {\n          clearInterval(poll);\n          metalClient.metric.submit({\n            name: catalog.userInteraction.TASK_DURATION,\n            page: 'sign-up-layout-devops',\n            task: 'devops-form-submit',\n            value: secondsPassed * 1000\n          });\n\n          if (body.successful) {\n            let confirmUrl = generateConfirmationUrl({\n              wacEnvUrl,\n              confirmationPageUrl,\n              cloudId,\n              progressUri,\n              cloudName,\n              products: productParam,\n              isOpsgenieIncluded: true,\n              dataRegion,\n              isDevops: true\n            });\n            if (isJswIncluded) {\n              const queryParameters = Url.getUrlParams() || {};\n              const signupSource = queryParameters.hasOwnProperty(\n                'signupSource'\n              )\n                ? `&signupSource${queryParameters.signupSource}`\n                : '';\n              confirmUrl = `https://${cloudName}${getSiteDomain()}/jira/devops/connected-project?isFoundingAdmin=true${signupSource}`;\n            }\n            dispatch(updateSharedFormDataGoToProductUrl(confirmUrl));\n            createAnalyticsEvent({\n              eventName: 'bxp.formCloudSignup.submitSuccess',\n              eventComponent: 'button',\n              event: 'clicked',\n              data: {\n                type: 'N2E'\n              }\n            }).fire();\n            createAnalyticsEvent({\n              eventName: 'bxp.formCloudSignup.confirmedEvaluation',\n              eventComponent: 'button',\n              event: 'clicked'\n            }).fire();\n            metalClient.metric.submit({\n              name: catalog.userInteraction.TASK_SUCCESS,\n              page: 'sign-up-layout-devops',\n              task: 'devops-form-submit'\n            });\n            dispatch(updateSharedFormDataSubmitErrorMessage(undefined));\n            resolve(statusActivate);\n            // }\n          } else {\n            metalClient.metric.submit({\n              name: catalog.userInteraction.TASK_FAILURE,\n              page: 'sign-up-layout-devops',\n              task: 'devops-form-submit'\n            });\n            createAnalyticsEvent({\n              eventName: 'bxp.formCloudSignup.progressPollError',\n              eventComponent: 'button',\n              event: 'clicked',\n              data: {\n                label: body\n              }\n            }).fire();\n          }\n          // TODO: else if successful === false, throw error/show in UI\n        }\n\n        // runs on signup requests\n        switch (statusSignup) {\n          // @ts-ignore\n          case 'COMPLETE_SUCCESS':\n            // @ts-ignore\n            // case 'COMPLETE_MANUAL_SUCCESS':\n            clearInterval(poll);\n            metalClient.metric.submit({\n              name: catalog.userInteraction.TASK_DURATION,\n              page: 'sign-up-layout-devops',\n              task: 'devops-form-submit',\n              value: secondsPassed * 1000\n            });\n            createAnalyticsEvent({\n              eventName: 'apollo.signup.success',\n              eventComponent: 'button',\n              event: 'clicked'\n            }).fire();\n\n            // TODO if (!cloudId) throw Error;\n\n            if (!cloudId) {\n              createAnalyticsEvent({\n                eventName: 'bxp.formCloudSignup.progressPollMissing',\n                eventComponent: 'button',\n                event: 'clicked',\n                data: {\n                  label: 'cloudId'\n                }\n              }).fire();\n            } else {\n              createAnalyticsEvent({\n                eventName: 'bxp.formCloudSignup.submitSuccess',\n                eventComponent: 'button',\n                event: 'clicked',\n                data: {\n                  type: userInfo?.isLoggedIn ? 'N2E' : 'N2N'\n                }\n              }).fire();\n              metalClient.metric.submit({\n                name: catalog.userInteraction.TASK_SUCCESS,\n                page: 'sign-up-layout-devops',\n                task: 'devops-form-submit'\n              });\n            }\n            if (userInfo?.isLoggedIn) {\n              const confirmUrl = generateConfirmationUrl({\n                wacEnvUrl,\n                confirmationPageUrl,\n                cloudId,\n                progressUri,\n                cloudName,\n                products: productParam,\n                isOpsgenieIncluded: true,\n                dataRegion,\n                isDevops: true\n              });\n              dispatch(updateSharedFormDataGoToProductUrl(confirmUrl));\n              dispatch(updateSharedFormDataSubmitErrorMessage(undefined));\n              resolve(statusSignup);\n            } else {\n              sessionStorage.setItem(\n                'r.e.d',\n                btoa(\n                  JSON.stringify({\n                    cloudId,\n                    cloudName,\n                    email: data?.email,\n                    pagePath: 'account/setup',\n                    requestId: body.requestId\n                  })\n                )\n              );\n              dispatch(updateSharedFormDataSubmitErrorMessage(undefined));\n              resolve(statusSignup);\n            }\n            return;\n          case 'COMPLETE_ERROR':\n            clearInterval(poll);\n            reject('error'); // testing rejection, sh\n            // newRelic.action('apollo.error.progressUri', {\n            //   ...body.bestStatuses\n            // });\n            // segment('bxp.formCloudSignup.progressPollError', {\n            //   label: statusSignup\n            // });\n            // TODO: show error on frontend\n\n            return;\n        }\n      }\n    }, 1000);\n  });\n}\n","import { SitesType } from '@atlassiansox/asc-stargate';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport { ProductPayloadType } from '../types';\n\n/**\n * Build Devops products payload,\n * return the payload, plus existing products\n */\n\ntype BuildDevopsProductOptions = {\n  readonly cloudName: string;\n  readonly selectedSite?: SitesType;\n  readonly breachStatus: boolean;\n  readonly existingWorkspace?: boolean;\n};\n\ntype BuildDevopsProductType = {\n  productsNew: ProductPayloadType[];\n  productsExisting: ProductKey[];\n};\n\nexport function buildDevopsProduct({\n  cloudName,\n  selectedSite,\n  breachStatus,\n  existingWorkspace\n}: BuildDevopsProductOptions): BuildDevopsProductType {\n  const baseProductKeys = [\n    ProductKey.JIRA_SOFTWARE,\n    ProductKey.CONFLUENCE,\n    ProductKey.BITBUCKET,\n    ProductKey.OPSGENIE\n  ];\n  // set default for all-new products\n  let productsExisting: ProductKey[] = [];\n  let productsNew = baseProductKeys.map((productKey) => {\n    if (\n      breachStatus &&\n      (productKey === ProductKey.JIRA_SOFTWARE ||\n        productKey === ProductKey.CONFLUENCE)\n    ) {\n      return {\n        accountName: cloudName,\n        product: productKey,\n        edition: 'standard'\n      };\n    }\n    return {\n      accountName: cloudName,\n      product: productKey,\n      edition: 'free'\n    };\n  });\n  // if there is an existing workspace being used remove bitbucket from new\n  if (existingWorkspace) {\n    productsExisting.push(ProductKey.BITBUCKET);\n    productsNew = productsNew.filter(\n      ({ product }) => !productsExisting.includes(product)\n    );\n  }\n  // no existing products\n  if (!selectedSite || !selectedSite?.products) {\n    return {\n      productsNew,\n      productsExisting\n    };\n  }\n\n  // existing products\n  productsExisting = selectedSite.products as ProductKey[];\n\n  // JSM already includes OG (avoid provisioning OG if JSM is included)\n  if (\n    productsExisting.includes(ProductKey.JIRA_SERVICE_MANAGEMENT) &&\n    !productsExisting.includes(ProductKey.OPSGENIE)\n  ) {\n    productsExisting.push(ProductKey.OPSGENIE);\n  }\n\n  // Avoid provisioning products that already exist\n  productsNew = productsNew.filter(\n    ({ product }) => !productsExisting.includes(product)\n  );\n\n  return {\n    productsNew,\n    productsExisting\n  };\n}\n","import { Environment } from '@atlassiansox/bxpkit-core';\n\nexport function getSiteDomain() {\n  if (!Environment.isProduction()) {\n    return '.jira-dev.com';\n  } else {\n    return '.atlassian.net';\n  }\n}\n","import { Product } from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport React, { createContext, PropsWithChildren, useContext } from 'react';\nimport { InjectedIntl } from 'react-intl';\nimport { useSignUpFormConfig } from '../../../hook';\nimport {\n  FeatureFlags,\n  LocaleType,\n  ProductDataType,\n  UserDataType\n} from '../../../model';\nimport { WorkspacesType } from '../../../model/workspaces';\nimport { DevopsImageUrlsType } from '../types';\n\nimport {\n  BundleData,\n  FREE_EDITION_LABEL_KEY,\n  getBundleData,\n  getFeaturesList,\n  getPageHeaderLabels,\n  PageHeaderLabels\n} from '../../../utility';\nimport { accountOperationUrl } from '../utility';\n\nexport type DevopsContextProps = {\n  readonly labels: {\n    [key: string]: string;\n  };\n  readonly productData: { [key: string]: ProductDataType };\n  readonly intl: InjectedIntl;\n  readonly enableSkipRecaptcha?: boolean;\n  readonly locale: LocaleType;\n  readonly devopsImageUrls: DevopsImageUrlsType;\n  readonly userInfo?: UserDataType;\n  readonly bbworkspaces?: WorkspacesType[];\n  readonly featureFlags: FeatureFlags;\n};\n\nexport type DevopsState = {\n  readonly bundleData: BundleData;\n  readonly pageHeaderLabels: PageHeaderLabels;\n  readonly featuresList: string;\n  readonly userInfo?: UserDataType;\n  readonly signInAccountUrl: string;\n  readonly switchAccountUrl: string;\n  readonly switchAccountOrigin: OriginTracing;\n  readonly productKeys: Product[];\n  readonly intl: InjectedIntl;\n  readonly enableSkipRecaptcha: boolean;\n  readonly locale: LocaleType;\n  readonly devopsImageUrls: DevopsImageUrlsType;\n  readonly bbworkspaces?: WorkspacesType[];\n  readonly featureFlags: FeatureFlags;\n};\n\nexport const DevopsContext = createContext<DevopsContextProps>({\n  // @ts-ignore\n  intl: {},\n  labels: {},\n  productData: {},\n  devopsImageUrls: {\n    sidebarImage: '',\n    backgroundImage: '',\n    envelopeN2N: '',\n    successN2E: '',\n    codeAwsJsw: ''\n  },\n  featureFlags: {}\n});\n\nexport function DevopsProvider({\n  children,\n  ...props\n}: PropsWithChildren<DevopsContextProps>) {\n  return (\n    <DevopsContext.Provider value={props}>{children}</DevopsContext.Provider>\n  );\n}\n\nexport function useDevopsState(): DevopsState {\n  const {\n    labels,\n    locale,\n    productData,\n    userInfo,\n    devopsImageUrls,\n    bbworkspaces,\n    intl,\n    featureFlags,\n    enableSkipRecaptcha = false\n  } = useContext(DevopsContext);\n\n  const { bundle: bundleName, product, edition } = useSignUpFormConfig();\n\n  const bundleData = getBundleData({\n    activeBundlesMap: productData,\n    bundleName,\n    productKeys: product,\n    edition\n  });\n  const pageHeaderLabels = getPageHeaderLabels({\n    labels,\n    bundleData\n  });\n  const featuresList = getFeaturesList({\n    labels,\n    bundleData,\n    featuresListEditionLabelKey: FREE_EDITION_LABEL_KEY.toLowerCase()\n  });\n  const { switchAccountUrl, switchAccountOrigin, signInAccountUrl } =\n    accountOperationUrl();\n\n  const productKeys = bundleData.products.map((product) => {\n    return {\n      edition: bundleData.edition,\n      imgSource: product.productLogoUrl,\n      product: product.productKey,\n      serverDownloadContent: null\n    };\n  });\n\n  return {\n    intl,\n    pageHeaderLabels,\n    bundleData,\n    featuresList,\n    userInfo,\n    signInAccountUrl,\n    switchAccountUrl,\n    switchAccountOrigin,\n    productKeys,\n    enableSkipRecaptcha,\n    locale,\n    devopsImageUrls,\n    bbworkspaces,\n    featureFlags\n  };\n}\n","import { N0 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { fontCharlieDisplay } from '../devops-form-view/styled';\nimport { useDevopsState } from '../hook/use-devops-state';\nimport { messages } from '../messages';\nimport { DevopsImageUrlsType } from '../types';\n\nexport function SideInfoDevops() {\n  const { devopsImageUrls } = useDevopsState();\n\n  return (\n    <InfoComponent>\n      <DevopsLayout devopsImageUrls={devopsImageUrls}>\n        <div className=\"devops-sidebar devops-plan\">\n          <SanitizedFormattedHtmlMessage {...messages.devopsSidebarTextPlan} />\n        </div>\n        <div className=\"devops-sidebar devops-code\">\n          <SanitizedFormattedHtmlMessage {...messages.devopsSidebarTextCode} />\n        </div>\n        <div className=\"devops-sidebar devops-deploy\">\n          <SanitizedFormattedHtmlMessage\n            {...messages.devopsSidebarTextDeploy}\n          />\n        </div>\n        <div className=\"devops-sidebar devops-operate\">\n          <SanitizedFormattedHtmlMessage\n            {...messages.devopsSidebarTextOperate}\n          />\n        </div>\n        <div className=\"devops-sidebar devops-collaborate\">\n          <SanitizedFormattedHtmlMessage\n            {...messages.devopsSidebarTextCollaborate}\n          />\n        </div>\n      </DevopsLayout>\n    </InfoComponent>\n  );\n}\nconst InfoComponent = styled.div`\n  width: 100%;\n  height: 100%;\n`;\n\nconst DevopsLayout = styled.div<{\n  readonly devopsImageUrls?: DevopsImageUrlsType;\n}>`\n  position: relative;\n  font-family: ${fontCharlieDisplay};\n  -webkit-font-smoothing: antialiased;\n  font-weight: normal;\n  font-size: 18px;\n  text-transform: uppercase;\n  line-height: 34px;\n  color: ${N0};\n  background-image: url(${({ devopsImageUrls }) =>\n    devopsImageUrls?.sidebarImage});\n  background-repeat: no-repeat;\n  background-size: contain;\n  width: 534px;\n  height: 595px;\n  margin: 24px 0 0 -112px;\n\n  @media (max-width: 1024px) {\n    margin: 24px 0 0 -172px;\n  }\n  @media (max-width: 900px) {\n    margin: 24px 0 0 -188px;\n  }\n  @media (max-width: 800px) {\n    display: none;\n  }\n\n  .devops-sidebar {\n    position: absolute;\n    pointer-events: none;\n    text-align: center;\n\n    span {\n      position: absolute;\n      display: block;\n      top: 0px;\n      left: 50%;\n      transform: translateX(-50%);\n      width: max-content;\n    }\n\n    &.devops-plan {\n      top: 17px;\n      right: 260px;\n    }\n    &.devops-code {\n      top: 102px;\n      right: 110px;\n    }\n    &.devops-deploy {\n      top: 244px;\n      right: 64px;\n    }\n    &.devops-operate {\n      top: 382px;\n      right: 110px;\n    }\n    &.devops-collaborate {\n      top: 470px;\n      right: 259px;\n    }\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { AtlassianIcon, AtlassianLogo } from '@atlaskit/logo';\nimport { N0, N800 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport { MobileTrigger } from '@atlassiansox/bxpkit-user-profile-dropdown';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { useDevopsState } from '../';\nimport { messages } from '../messages';\n\nexport function DevopsHeader() {\n  const { userInfo, switchAccountUrl, switchAccountOrigin } = useDevopsState();\n\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  function DevOpsLogoGA() {\n    return (\n      <DevopsLogoWrapper>\n        <LogoText>\n          <AtlassianLogo textColor={N0} iconColor={N0} className={'logo'} />\n          <span className={'openDevOps'}>\n            <SanitizedFormattedHtmlMessage {...messages.openDevOps} />\n          </span>\n        </LogoText>\n        <LogoSubheaderText>\n          <SanitizedFormattedHtmlMessage {...messages.devopsLogoSubheader} />\n        </LogoSubheaderText>\n      </DevopsLogoWrapper>\n    );\n  }\n  function DevOpsLogoMobileGA() {\n    return (\n      <DevopsLogoMobileWrapper>\n        <AtlassianIcon iconColor={N0} />\n      </DevopsLogoMobileWrapper>\n    );\n  }\n\n  function UserDisplay() {\n    if (\n      !userInfo ||\n      !userInfo.isLoggedIn ||\n      !userInfo.picture ||\n      !userInfo.email\n    ) {\n      return null;\n    }\n\n    const onChangeAccount = () => {\n      if (switchAccountOrigin) {\n        createAnalyticsEvent({\n          eventName: 'wac-signup-existing-user-switch',\n          data: {\n            switchAccountOrigin\n          }\n        }).fire();\n      }\n    };\n\n    return (\n      <LoggedInView data-testid=\"devops-account-switcher\">\n        <MobileTrigger\n          userName={userInfo?.email}\n          logOutUrl={switchAccountUrl}\n          logOutMessage={messages.devopsSwitchAccounts}\n          avatarSrc={userInfo?.picture}\n          onClick={onChangeAccount}\n        />\n      </LoggedInView>\n    );\n  }\n\n  return (\n    <HeaderWrapper>\n      <HeaderCenter>\n        <Header>\n          <DevOpsLogoMobileGA />\n          <DevOpsLogoGA />\n          <UserDisplay />\n        </Header>\n      </HeaderCenter>\n    </HeaderWrapper>\n  );\n}\n\nconst HeaderWrapper = styled.div`\n  font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n    Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  position: relative;\n  width: 100%;\n  height: 200px;\n  color ${N0} !important;\n\n  @media only screen and (max-width: 800px) {\n    height: 65px;\n    background-image: none;\n    background-color: ${N800} !important;\n  }\n`;\n\nconst HeaderCenter = styled.div`\n  position: relative;\n  max-width: 1200px;\n  margin: 0px auto 0px;\n  padding: 48px 48px 0px 48px;\n\n  @media only screen and (max-width: 800px) {\n    padding: 0px 22px;\n  }\n`;\n\nconst Header = styled.div`\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n  font-size: 44px;\n  font-weight: 700;\n  max-width: 360px;\n  line-height: 42px;\n  max-width: none;\n\n  .atl-logo {\n    display: none;\n  }\n\n  @media only screen and (max-width: 800px) {\n    .atl-logo {\n      display: block;\n    }\n  }\n`;\n\nconst LoggedInView = styled.div`\n  padding-left: 10px;\n  padding-top: 17px;\n\n  @media only screen and (max-width: 800px) {\n    top: 32px;\n  }\n`;\nconst DevopsLogoWrapper = styled.div`\n  color: ${N0};\n  display: flex;\n  flex-direction: column;\n  line-height: 66px;\n  @media only screen and (max-width: 800px) {\n    display: none;\n  }\n`;\n\nconst DevopsLogoMobileWrapper = styled.div`\n  display: none;\n  @media only screen and (max-width: 800px) {\n    display: block;\n    padding-top: 12px;\n  }\n`;\n\nconst LogoText = styled.div`\n  @media only screen and (max-width: 800px) {\n    display: none;\n  }\n  white-space: nowrap;\n  font-size: 34px;\n  font-weight: 600;\n  margin-top: 2px;\n  text-transform: uppercase;\n  display: flex;\n  align-items: center;\n\n  .openDevOps {\n    color: ${N0};\n    margin-left: 1rem;\n    font-size: 34px;\n    line-height: 44px;\n    font-weight: normal;\n    text-transform: initial;\n  }\n\n  .logo {\n    height: 38px;\n  }\n`;\n\nconst LogoSubheaderText = styled.div`\n  @media only screen and (max-width: 800px) {\n    display: none;\n  }\n  color: ${N0};\n  margin-top: 1rem;\n  font-size: 16px;\n  line-height: 20px;\n  letter-spacing: 0.3px;\n  font-weight: normal;\n  max-width: 595px;\n`;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n  var rawClassName = '';\n  classNames.split(' ').forEach(function (className) {\n    if (registered[className] !== undefined) {\n      registeredStyles.push(registered[className] + \";\");\n    } else {\n      rawClassName += className + \" \";\n    }\n  });\n  return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n  var className = cache.key + \"-\" + serialized.name;\n\n  if ( // we only need to add the styles to the registered cache if the\n  // class name could be used further down\n  // the tree but if it's a string tag, we know it won't\n  // so we don't have to add it to registered cache.\n  // this improves memory usage since we can avoid storing the whole style string\n  (isStringTag === false || // we need to always store it if we're in compat mode and\n  // in node since emotion-server relies on whether a style is in\n  // the registered cache to know whether a style is global or not\n  // also, note that this check will be dead code eliminated in the browser\n  isBrowser === false ) && cache.registered[className] === undefined) {\n    cache.registered[className] = serialized.styles;\n  }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n  registerStyles(cache, serialized, isStringTag);\n  var className = cache.key + \"-\" + serialized.name;\n\n  if (cache.inserted[serialized.name] === undefined) {\n    var current = serialized;\n\n    do {\n      cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n      current = current.next;\n    } while (current !== undefined);\n  }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n  constructor(props) {\n    _defineProperty(this, \"_isAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      // just a shallow clone, don't change sub refs unless you want to\n      // affect the original's too\n      const payload = {\n        ...this.payload\n      };\n      return new AnalyticsEvent({\n        payload\n      });\n    });\n    this.payload = props.payload;\n  }\n  update(updater) {\n    if (typeof updater === 'function') {\n      this.payload = updater(this.payload);\n    }\n    if (typeof updater === 'object') {\n      this.payload = {\n        ...this.payload,\n        ...updater\n      };\n    }\n    return this;\n  }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n  var _obj$constructor;\n  return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n  // Backwards compatibility with older analytics-next packages\n  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n  constructor(props) {\n    super(props);\n    _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n    _defineProperty(this, \"clone\", () => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn(\"Cannot clone an event after it's been fired.\");\n        }\n        return null;\n      }\n      const context = [...this.context];\n      const handlers = [...this.handlers];\n\n      /**\n       * A hacky \"deep clone\" of the object. This is limited in that it wont\n       * support functions, regexs, Maps, Sets, etc, but none of those need to\n       * be represented in our payload.\n       */\n      const payload = JSON.parse(JSON.stringify(this.payload));\n      return new UIAnalyticsEvent({\n        context,\n        handlers,\n        payload\n      });\n    });\n    _defineProperty(this, \"fire\", channel => {\n      if (this.hasFired) {\n        if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n          // eslint-disable-next-line no-console\n          console.warn('Cannot fire an event twice.');\n        }\n        return;\n      }\n      this.handlers.forEach(handler => handler(this, channel));\n      this.hasFired = true;\n    });\n    this.context = props.context || [];\n    this.handlers = props.handlers || [];\n    this.hasFired = false;\n  }\n  update(updater) {\n    if (this.hasFired) {\n      if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Cannot update an event after it's been fired.\");\n      }\n      return this;\n    }\n    return super.update(updater);\n  }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n  return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n  const ref = useRef(value);\n  useEffect(() => {\n    ref.current = value;\n  }, [value]);\n  return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n  fn,\n  action,\n  componentName,\n  actionSubject,\n  packageName,\n  packageVersion,\n  analyticsData\n}) {\n  const {\n    createAnalyticsEvent\n  } = useAnalyticsEvents();\n\n  // We put analyticsData and fn in a ref so that we don't need to break\n  // memoization.\n  // Generally these could be defined by consumers inline\n  // and so we do this to avoid breaking memoization of useCallback\n  const dataRef = useTrackedRef(analyticsData);\n  const fnRef = useTrackedRef(fn);\n  const handler = useCallback(value => {\n    const analyticsEvent = createAnalyticsEvent({\n      action,\n      actionSubject: actionSubject || componentName,\n      attributes: {\n        componentName,\n        packageName,\n        packageVersion\n      }\n    });\n\n    // To avoid wrapping this component in AnalyticsContext we manually\n    // push the parent context's meta data into the context.\n    // Note: this new 'context'\n    const context = {\n      componentName,\n      packageName,\n      packageVersion,\n      ...dataRef.current\n    };\n    analyticsEvent.context.push(context);\n\n    // fire an event on the atlaskit channel\n    const clone = analyticsEvent.clone();\n    if (clone) {\n      clone.fire('atlaskit');\n    }\n    fnRef.current(value, analyticsEvent);\n  }, [\n  // These are strings and won't change\n  action, componentName, actionSubject, packageName, packageVersion,\n  // This function is memoized in the context\n  createAnalyticsEvent,\n  // these are a stable ref because of the useTrackedRef hook\n  dataRef, fnRef]);\n  return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n  const analyticsContext = useAnalyticsContext();\n  const createAnalyticsEvent = useCallbackOne(payload => {\n    return new UIAnalyticsEvent({\n      context: analyticsContext.getAtlaskitAnalyticsContext(),\n      handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n      payload\n    });\n  }, [analyticsContext]);\n  return {\n    createAnalyticsEvent\n  };\n}","import { css } from '@emotion/react';\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::7d4a8604dc454e30c0fec5c1330ea7c5>>\n * @codegenId dimensions\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"dimensions\"]\n * @codegenDependency ../../scripts/codegen-file-templates/dimensions.tsx <<SignedSource::dbad5eb9ef292d4ec59f90459a81e1d6>>\n */\nexport const dimensionMap = {\n  '100%': '100%',\n  'size.100': '16px',\n  'size.200': '24px',\n  'size.300': '32px',\n  'size.400': '40px',\n  'size.500': '48px',\n  'size.600': '96px',\n  'size.1000': '192px'\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::9fbc4dfcd8f43f52bff6b3bb666397fe>>\n * @codegenId spacing\n * @codegenCommand yarn codegen-styles\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-spacing.tsx <<SignedSource::167d3b69b159ae33e74d4ea5ab7eade6>>\n */\nexport const spaceMap = {\n  'space.0': \"var(--ds-space-0, 0px)\",\n  'space.025': \"var(--ds-space-025, 2px)\",\n  'space.050': \"var(--ds-space-050, 4px)\",\n  'space.075': \"var(--ds-space-075, 6px)\",\n  'space.100': \"var(--ds-space-100, 8px)\",\n  'space.150': \"var(--ds-space-150, 12px)\",\n  'space.200': \"var(--ds-space-200, 16px)\",\n  'space.250': \"var(--ds-space-250, 20px)\",\n  'space.300': \"var(--ds-space-300, 24px)\",\n  'space.400': \"var(--ds-space-400, 32px)\",\n  'space.500': \"var(--ds-space-500, 40px)\",\n  'space.600': \"var(--ds-space-600, 48px)\",\n  'space.800': \"var(--ds-space-800, 64px)\",\n  'space.1000': \"var(--ds-space-1000, 80px)\"\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::aa1cfa3cd24f141a85ac1e0b70dbd8a8>>\n * @codegenId colors\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"border\", \"background\", \"shadow\", \"text\", \"fill\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-light.tsx <<SignedSource::10aa7e87eca39e4d6594a764e78e0698>>\n */\nexport const borderColorMap = {\n  'color.border': \"var(--ds-border, #091e4221)\",\n  'accent.red': \"var(--ds-border-accent-red, #FF5630)\",\n  'accent.orange': \"var(--ds-border-accent-orange, #D94008)\",\n  'accent.yellow': \"var(--ds-border-accent-yellow, #FFAB00)\",\n  'accent.green': \"var(--ds-border-accent-green, #36B37E)\",\n  'accent.teal': \"var(--ds-border-accent-teal, #00B8D9)\",\n  'accent.blue': \"var(--ds-border-accent-blue, #0065FF)\",\n  'accent.purple': \"var(--ds-border-accent-purple, #6554C0)\",\n  'accent.magenta': \"var(--ds-border-accent-magenta, #CD519D)\",\n  'accent.gray': \"var(--ds-border-accent-gray, #5E6C84)\",\n  disabled: \"var(--ds-border-disabled, #FAFBFC)\",\n  focused: \"var(--ds-border-focused, #4C9AFF)\",\n  input: \"var(--ds-border-input, #FAFBFC)\",\n  inverse: \"var(--ds-border-inverse, #FFFFFF)\",\n  selected: \"var(--ds-border-selected, #0052CC)\",\n  brand: \"var(--ds-border-brand, #0052CC)\",\n  danger: \"var(--ds-border-danger, #FF5630)\",\n  warning: \"var(--ds-border-warning, #FFC400)\",\n  success: \"var(--ds-border-success, #00875A)\",\n  discovery: \"var(--ds-border-discovery, #998DD9)\",\n  information: \"var(--ds-border-information, #0065FF)\",\n  bold: \"var(--ds-border-bold, #344563)\"\n};\nexport const backgroundColorMap = {\n  'accent.red.subtlest': \"var(--ds-background-accent-red-subtlest, #FF8F73)\",\n  'accent.red.subtler': \"var(--ds-background-accent-red-subtler, #FF7452)\",\n  'accent.red.subtle': \"var(--ds-background-accent-red-subtle, #DE350B)\",\n  'accent.red.bolder': \"var(--ds-background-accent-red-bolder, #DE350B)\",\n  'accent.orange.subtlest': \"var(--ds-background-accent-orange-subtlest, #F18D13)\",\n  'accent.orange.subtler': \"var(--ds-background-accent-orange-subtler, #B65C02)\",\n  'accent.orange.subtle': \"var(--ds-background-accent-orange-subtle, #5F3811)\",\n  'accent.orange.bolder': \"var(--ds-background-accent-orange-bolder, #43290F)\",\n  'accent.yellow.subtlest': \"var(--ds-background-accent-yellow-subtlest, #FFE380)\",\n  'accent.yellow.subtler': \"var(--ds-background-accent-yellow-subtler, #FFC400)\",\n  'accent.yellow.subtle': \"var(--ds-background-accent-yellow-subtle, #FF991F)\",\n  'accent.yellow.bolder': \"var(--ds-background-accent-yellow-bolder, #FF991F)\",\n  'accent.green.subtlest': \"var(--ds-background-accent-green-subtlest, #79F2C0)\",\n  'accent.green.subtler': \"var(--ds-background-accent-green-subtler, #57D9A3)\",\n  'accent.green.subtle': \"var(--ds-background-accent-green-subtle, #00875A)\",\n  'accent.green.bolder': \"var(--ds-background-accent-green-bolder, #00875A)\",\n  'accent.teal.subtlest': \"var(--ds-background-accent-teal-subtlest, #79E2F2)\",\n  'accent.teal.subtler': \"var(--ds-background-accent-teal-subtler, #00C7E6)\",\n  'accent.teal.subtle': \"var(--ds-background-accent-teal-subtle, #00A3BF)\",\n  'accent.teal.bolder': \"var(--ds-background-accent-teal-bolder, #00A3BF)\",\n  'accent.blue.subtlest': \"var(--ds-background-accent-blue-subtlest, #4C9AFF)\",\n  'accent.blue.subtler': \"var(--ds-background-accent-blue-subtler, #2684FF)\",\n  'accent.blue.subtle': \"var(--ds-background-accent-blue-subtle, #0052CC)\",\n  'accent.blue.bolder': \"var(--ds-background-accent-blue-bolder, #0052CC)\",\n  'accent.purple.subtlest': \"var(--ds-background-accent-purple-subtlest, #998DD9)\",\n  'accent.purple.subtler': \"var(--ds-background-accent-purple-subtler, #8777D9)\",\n  'accent.purple.subtle': \"var(--ds-background-accent-purple-subtle, #5243AA)\",\n  'accent.purple.bolder': \"var(--ds-background-accent-purple-bolder, #5243AA)\",\n  'accent.magenta.subtlest': \"var(--ds-background-accent-magenta-subtlest, #E774BB)\",\n  'accent.magenta.subtler': \"var(--ds-background-accent-magenta-subtler, #E774BB)\",\n  'accent.magenta.subtle': \"var(--ds-background-accent-magenta-subtle, #E774BB)\",\n  'accent.magenta.bolder': \"var(--ds-background-accent-magenta-bolder, #E774BB)\",\n  'accent.gray.subtlest': \"var(--ds-background-accent-gray-subtlest, #6B778C)\",\n  'accent.gray.subtler': \"var(--ds-background-accent-gray-subtler, #5E6C84)\",\n  'accent.gray.subtle': \"var(--ds-background-accent-gray-subtle, #42526E)\",\n  'accent.gray.bolder': \"var(--ds-background-accent-gray-bolder, #505F79)\",\n  disabled: \"var(--ds-background-disabled, #091e4289)\",\n  input: \"var(--ds-background-input, #FAFBFC)\",\n  'input.hovered': \"var(--ds-background-input-hovered, #EBECF0)\",\n  'input.pressed': \"var(--ds-background-input-pressed, #FFFFFF)\",\n  'inverse.subtle': \"var(--ds-background-inverse-subtle, #00000029)\",\n  'inverse.subtle.hovered': \"var(--ds-background-inverse-subtle-hovered, #0000003D)\",\n  'inverse.subtle.pressed': \"var(--ds-background-inverse-subtle-pressed, #00000052)\",\n  neutral: \"var(--ds-background-neutral, #DFE1E6)\",\n  'neutral.hovered': \"var(--ds-background-neutral-hovered, #091e4214)\",\n  'neutral.pressed': \"var(--ds-background-neutral-pressed, #B3D4FF)\",\n  'neutral.subtle': \"var(--ds-background-neutral-subtle, transparent)\",\n  'neutral.subtle.hovered': \"var(--ds-background-neutral-subtle-hovered, #091e4214)\",\n  'neutral.subtle.pressed': \"var(--ds-background-neutral-subtle-pressed, #B3D4FF)\",\n  'neutral.bold': \"var(--ds-background-neutral-bold, #42526E)\",\n  'neutral.bold.hovered': \"var(--ds-background-neutral-bold-hovered, #505F79)\",\n  'neutral.bold.pressed': \"var(--ds-background-neutral-bold-pressed, #344563)\",\n  selected: \"var(--ds-background-selected, #DEEBFF)\",\n  'selected.hovered': \"var(--ds-background-selected-hovered, #B3D4FF)\",\n  'selected.pressed': \"var(--ds-background-selected-pressed, #4C9AFF)\",\n  'selected.bold': \"var(--ds-background-selected-bold, #0052CC)\",\n  'selected.bold.hovered': \"var(--ds-background-selected-bold-hovered, #2684FF)\",\n  'selected.bold.pressed': \"var(--ds-background-selected-bold-pressed, #0052CC)\",\n  'brand.bold': \"var(--ds-background-brand-bold, #0052CC)\",\n  'brand.bold.hovered': \"var(--ds-background-brand-bold-hovered, #0065FF)\",\n  'brand.bold.pressed': \"var(--ds-background-brand-bold-pressed, #0747A6)\",\n  danger: \"var(--ds-background-danger, #FFEBE6)\",\n  'danger.hovered': \"var(--ds-background-danger-hovered, #FFBDAD)\",\n  'danger.pressed': \"var(--ds-background-danger-pressed, #FF8F73)\",\n  'danger.bold': \"var(--ds-background-danger-bold, #DE350B)\",\n  'danger.bold.hovered': \"var(--ds-background-danger-bold-hovered, #FF5630)\",\n  'danger.bold.pressed': \"var(--ds-background-danger-bold-pressed, #BF2600)\",\n  warning: \"var(--ds-background-warning, #FFFAE6)\",\n  'warning.hovered': \"var(--ds-background-warning-hovered, #FFF0B3)\",\n  'warning.pressed': \"var(--ds-background-warning-pressed, #FFE380)\",\n  'warning.bold': \"var(--ds-background-warning-bold, #FFAB00)\",\n  'warning.bold.hovered': \"var(--ds-background-warning-bold-hovered, #FFC400)\",\n  'warning.bold.pressed': \"var(--ds-background-warning-bold-pressed, #FF991F)\",\n  success: \"var(--ds-background-success, #E3FCEF)\",\n  'success.hovered': \"var(--ds-background-success-hovered, #ABF5D1)\",\n  'success.pressed': \"var(--ds-background-success-pressed, #79F2C0)\",\n  'success.bold': \"var(--ds-background-success-bold, #00875A)\",\n  'success.bold.hovered': \"var(--ds-background-success-bold-hovered, #57D9A3)\",\n  'success.bold.pressed': \"var(--ds-background-success-bold-pressed, #00875A)\",\n  discovery: \"var(--ds-background-discovery, #EAE6FF)\",\n  'discovery.hovered': \"var(--ds-background-discovery-hovered, #C0B6F2)\",\n  'discovery.pressed': \"var(--ds-background-discovery-pressed, #998DD9)\",\n  'discovery.bold': \"var(--ds-background-discovery-bold, #5243AA)\",\n  'discovery.bold.hovered': \"var(--ds-background-discovery-bold-hovered, #8777D9)\",\n  'discovery.bold.pressed': \"var(--ds-background-discovery-bold-pressed, #5243AA)\",\n  information: \"var(--ds-background-information, #DEEBFF)\",\n  'information.hovered': \"var(--ds-background-information-hovered, #B3D4FF)\",\n  'information.pressed': \"var(--ds-background-information-pressed, #4C9AFF)\",\n  'information.bold': \"var(--ds-background-information-bold, #0052CC)\",\n  'information.bold.hovered': \"var(--ds-background-information-bold-hovered, #2684FF)\",\n  'information.bold.pressed': \"var(--ds-background-information-bold-pressed, #0052CC)\",\n  'color.blanket': \"var(--ds-blanket, #091e4289)\",\n  'color.blanket.selected': \"var(--ds-blanket-selected, #388BFF14)\",\n  'color.blanket.danger': \"var(--ds-blanket-danger, #EF5C4814)\",\n  'elevation.surface': \"var(--ds-surface, #FFFFFF)\",\n  'elevation.surface.hovered': \"var(--ds-surface-hovered, #FAFBFC)\",\n  'elevation.surface.pressed': \"var(--ds-surface-pressed, #F4F5F7)\",\n  'elevation.surface.overlay': \"var(--ds-surface-overlay, #FFFFFF)\",\n  'elevation.surface.overlay.hovered': \"var(--ds-surface-overlay-hovered, #FAFBFC)\",\n  'elevation.surface.overlay.pressed': \"var(--ds-surface-overlay-pressed, #F4F5F7)\",\n  'elevation.surface.raised': \"var(--ds-surface-raised, #FFFFFF)\",\n  'elevation.surface.raised.hovered': \"var(--ds-surface-raised-hovered, #FAFBFC)\",\n  'elevation.surface.raised.pressed': \"var(--ds-surface-raised-pressed, #F4F5F7)\",\n  'elevation.surface.sunken': \"var(--ds-surface-sunken, #F4F5F7)\"\n};\nexport const shadowMap = {\n  overflow: \"var(--ds-shadow-overflow, 0px 0px 8px #091e423f, 0px 0px 1px #091e424f)\",\n  'overflow.perimeter': \"var(--ds-shadow-overflow-perimeter, #091e421f)\",\n  'overflow.spread': \"var(--ds-shadow-overflow-spread, #091e4229)\",\n  overlay: \"var(--ds-shadow-overlay, 0px 8px 12px #091e423f, 0px 0px 1px #091e424f)\",\n  raised: \"var(--ds-shadow-raised, 0px 1px 1px #091e423f, 0px 0px 1px #091e4221)\"\n};\nexport const textColorMap = {\n  'color.text': \"var(--ds-text, #172B4D)\",\n  'accent.red': \"var(--ds-text-accent-red, #DE350B)\",\n  'accent.red.bolder': \"var(--ds-text-accent-red-bolder, #BF2600)\",\n  'accent.orange': \"var(--ds-text-accent-orange, #F18D13)\",\n  'accent.orange.bolder': \"var(--ds-text-accent-orange-bolder, #B65C02)\",\n  'accent.yellow': \"var(--ds-text-accent-yellow, #FF991F)\",\n  'accent.yellow.bolder': \"var(--ds-text-accent-yellow-bolder, #FF8B00)\",\n  'accent.green': \"var(--ds-text-accent-green, #00875A)\",\n  'accent.green.bolder': \"var(--ds-text-accent-green-bolder, #006644)\",\n  'accent.teal': \"var(--ds-text-accent-teal, #00A3BF)\",\n  'accent.teal.bolder': \"var(--ds-text-accent-teal-bolder, #008DA6)\",\n  'accent.blue': \"var(--ds-text-accent-blue, #0052CC)\",\n  'accent.blue.bolder': \"var(--ds-text-accent-blue-bolder, #0747A6)\",\n  'accent.purple': \"var(--ds-text-accent-purple, #5243AA)\",\n  'accent.purple.bolder': \"var(--ds-text-accent-purple-bolder, #403294)\",\n  'accent.magenta': \"var(--ds-text-accent-magenta, #E774BB)\",\n  'accent.magenta.bolder': \"var(--ds-text-accent-magenta-bolder, #DA62AC)\",\n  'accent.gray': \"var(--ds-text-accent-gray, #505F79)\",\n  'accent.gray.bolder': \"var(--ds-text-accent-gray-bolder, #172B4D)\",\n  disabled: \"var(--ds-text-disabled, #A5ADBA)\",\n  inverse: \"var(--ds-text-inverse, #FFFFFF)\",\n  selected: \"var(--ds-text-selected, #0052CC)\",\n  brand: \"var(--ds-text-brand, #0065FF)\",\n  danger: \"var(--ds-text-danger, #DE350B)\",\n  warning: \"var(--ds-text-warning, #974F0C)\",\n  'warning.inverse': \"var(--ds-text-warning-inverse, #172B4D)\",\n  success: \"var(--ds-text-success, #006644)\",\n  discovery: \"var(--ds-text-discovery, #403294)\",\n  information: \"var(--ds-text-information, #0052CC)\",\n  subtlest: \"var(--ds-text-subtlest, #7A869A)\",\n  subtle: \"var(--ds-text-subtle, #42526E)\"\n};\nexport const fillMap = {\n  'color.icon': \"var(--ds-icon, #505F79)\",\n  'accent.red': \"var(--ds-icon-accent-red, #FF5630)\",\n  'accent.orange': \"var(--ds-icon-accent-orange, #D94008)\",\n  'accent.yellow': \"var(--ds-icon-accent-yellow, #FFAB00)\",\n  'accent.green': \"var(--ds-icon-accent-green, #36B37E)\",\n  'accent.teal': \"var(--ds-icon-accent-teal, #00B8D9)\",\n  'accent.blue': \"var(--ds-icon-accent-blue, #0065FF)\",\n  'accent.purple': \"var(--ds-icon-accent-purple, #6554C0)\",\n  'accent.magenta': \"var(--ds-icon-accent-magenta, #CD519D)\",\n  'accent.gray': \"var(--ds-icon-accent-gray, #5E6C84)\",\n  disabled: \"var(--ds-icon-disabled, #8993A4)\",\n  inverse: \"var(--ds-icon-inverse, #FFFFFF)\",\n  selected: \"var(--ds-icon-selected, #0052CC)\",\n  brand: \"var(--ds-icon-brand, #0065FF)\",\n  danger: \"var(--ds-icon-danger, #DE350B)\",\n  warning: \"var(--ds-icon-warning, #FFC400)\",\n  'warning.inverse': \"var(--ds-icon-warning-inverse, #253858)\",\n  success: \"var(--ds-icon-success, #00875A)\",\n  discovery: \"var(--ds-icon-discovery, #8777D9)\",\n  information: \"var(--ds-icon-information, #0747A6)\",\n  subtle: \"var(--ds-icon-subtle, #6B778C)\"\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::64f7b08cdbce710fba3157594ea695a8>>\n * @codegenId misc\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"align-self\", \"border-style\", \"display\", \"flex-direction\", \"flex-grow\", \"flex-shrink\", \"flex\", \"layer\", \"overflow\", \"position\"]\n * @codegenDependency ../../scripts/codegen-file-templates/align-self.tsx <<SignedSource::074079802534462de54bf882bb2073e5>>\n * @codegenDependency ../../scripts/codegen-file-templates/border-style.tsx <<SignedSource::87e7e289ffeaac901997c4af98084a5f>>\n * @codegenDependency ../../scripts/codegen-file-templates/dimensions.tsx <<SignedSource::dbad5eb9ef292d4ec59f90459a81e1d6>>\n * @codegenDependency ../../scripts/codegen-file-templates/display.tsx <<SignedSource::04ea30fcb3c02f2545af7fdc0206e645>>\n * @codegenDependency ../../scripts/codegen-file-templates/flex-direction.tsx <<SignedSource::19809ba11675679c188b0d98fb651dc1>>\n * @codegenDependency ../../scripts/codegen-file-templates/flex-grow.tsx <<SignedSource::b8a06b122cb609170f1f42778a6c270e>>\n * @codegenDependency ../../scripts/codegen-file-templates/flex-shrink.tsx <<SignedSource::bf6626972898bf22d2eeee2130693d47>>\n * @codegenDependency ../../scripts/codegen-file-templates/flex.tsx <<SignedSource::ffa0189d14f1f00a16ec1e9f43a17ce9>>\n * @codegenDependency ../../scripts/codegen-file-templates/layer.tsx <<SignedSource::79d24a1e558f12d671c06a7609f90dc1>>\n * @codegenDependency ../../scripts/codegen-file-templates/overflow.tsx <<SignedSource::ccb841f2f51525aed895c06e00f15089>>\n * @codegenDependency ../../scripts/codegen-file-templates/position.tsx <<SignedSource::8709494ef16c48046c1784a9aaec6d80>>\n */\nexport const alignSelfMap = {\n  center: 'center',\n  start: 'start',\n  stretch: 'stretch',\n  end: 'end',\n  baseline: 'baseline'\n};\nexport const borderStyleMap = {\n  none: 'none',\n  solid: 'solid'\n};\nexport const displayMap = {\n  flex: 'flex',\n  block: 'block',\n  inline: 'inline',\n  inlineBlock: 'inline-block',\n  inlineFlex: 'inline-flex'\n};\nexport const flexDirectionMap = {\n  row: 'row',\n  column: 'column'\n};\nexport const flexGrowMap = {\n  '0': 0,\n  '1': 1\n};\nexport const flexShrinkMap = {\n  '0': 0,\n  '1': 1\n};\nexport const flexMap = {\n  '1': 1\n};\nexport const layerMap = {\n  card: 100,\n  navigation: 200,\n  dialog: 300,\n  layer: 400,\n  blanket: 500,\n  modal: 510,\n  flag: 600,\n  spotlight: 700,\n  tooltip: 800\n};\nexport const overflowMap = {\n  auto: 'auto',\n  hidden: 'hidden'\n};\nexport const overflowInlineMap = {\n  auto: 'auto',\n  hidden: 'hidden'\n};\nexport const overflowBlockMap = {\n  auto: 'auto',\n  hidden: 'hidden'\n};\nexport const positionMap = {\n  absolute: 'absolute',\n  fixed: 'fixed',\n  relative: 'relative',\n  static: 'static'\n};\n/**\n * @codegenEnd\n */\n/**\n * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}\n * @codegen <<SignedSource::e3e1d54f37a0f8c524ccc5c8e22ad5bf>>\n * @codegenId border\n * @codegenCommand yarn codegen-styles\n * @codegenParams [\"width\", \"radius\"]\n * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-shape.tsx <<SignedSource::a4f70bd83edd3dd448c6eccda60abdf7>>\n */\nexport const borderWidthMap = {\n  'width.0': \"var(--ds-width-0, 0)\",\n  'width.050': \"var(--ds-width-050, 0.0625rem)\",\n  'width.100': \"var(--ds-width-100, 0.125rem)\"\n};\nexport const borderRadiusMap = {\n  'radius.050': \"var(--ds-radius-050, 0.125rem)\",\n  'radius.100': \"var(--ds-radius-100, 0.25rem)\",\n  'radius.200': \"var(--ds-radius-200, 0.5rem)\",\n  'radius.300': \"var(--ds-radius-300, 0.75rem)\",\n  'radius.400': \"var(--ds-radius-400, 1rem)\",\n  'radius.round': \"var(--ds-radius-round, 50%)\"\n};\n\n/**\n * @codegenEnd\n */\n\n// Generate maps for Box props. backgroundColor, padding, etc\nconst spacingProperties = [\n// Used by Box\n'padding', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd',\n// Used by Inline and Stack\n'gap', 'rowGap', 'columnGap'];\nconst getSerializedStylesMap = (cssProperty, tokenMap) => {\n  return Object.keys(tokenMap).reduce((emotionSpacingMap, token) => {\n    emotionSpacingMap[token] = css({\n      [cssProperty]: tokenMap[token]\n    });\n    return emotionSpacingMap;\n  }, {});\n};\nexport const paddingStylesMap = spacingProperties.reduce((styleMap, spacingProperty) => {\n  styleMap[spacingProperty] = getSerializedStylesMap(spacingProperty, spaceMap);\n  return styleMap;\n}, {});\nexport const spaceStylesMap = spacingProperties.reduce((styleMap, spacingProperty) => {\n  styleMap[spacingProperty] = getSerializedStylesMap(spacingProperty, spaceMap);\n  return styleMap;\n}, {});\nexport const backgroundColorStylesMap = getSerializedStylesMap('backgroundColor', backgroundColorMap);","/* eslint-disable @repo/internal/styles/no-exported-styles */\n/** @jsx jsx */\nimport { Children, forwardRef, Fragment, memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { spaceStylesMap } from '../xcss/style-maps.partial';\nconst alignItemsMap = {\n  center: css({\n    alignItems: 'center'\n  }),\n  baseline: css({\n    alignItems: 'baseline'\n  }),\n  start: css({\n    alignItems: 'flex-start'\n  }),\n  end: css({\n    alignItems: 'flex-end'\n  })\n};\nconst justifyContentMap = {\n  start: css({\n    justifyContent: 'flex-start'\n  }),\n  center: css({\n    justifyContent: 'center'\n  }),\n  end: css({\n    justifyContent: 'flex-end'\n  }),\n  'space-between': css({\n    justifyContent: 'space-between'\n  })\n};\nconst flexGrowMap = {\n  hug: css({\n    flexGrow: 0\n  }),\n  fill: css({\n    width: '100%',\n    flexGrow: 1\n  })\n};\nconst flexWrapStyles = css({\n  flexWrap: 'wrap'\n});\nconst baseStyles = css({\n  display: 'flex',\n  boxSizing: 'border-box',\n  flexDirection: 'row'\n});\nconst separatorStyles = css({\n  color: \"var(--ds-text-subtle, #42526E)\",\n  marginBlock: \"var(--ds-space-0, 0px)\",\n  marginInline: `calc(-1 * ${\"var(--ds-space-025, 2px)\"})`,\n  pointerEvents: 'none',\n  userSelect: 'none'\n});\nconst Separator = ({\n  children\n}) => jsx(\"span\", {\n  css: separatorStyles\n}, children);\n\n/**\n * __Inline__\n *\n * Inline is a primitive component based on flexbox that manages the horizontal layout of direct children.\n *\n *\n * @example\n * ```tsx\n *  <Inline>\n *    <Box padding=\"space.100\" backgroundColor=\"neutral\"></Box>\n *    <Box padding=\"space.100\" backgroundColor=\"neutral\"></Box>\n *  </Inline>\n * ```\n *\n */\nconst Inline = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(({\n  as,\n  alignInline,\n  alignBlock: alignItems,\n  shouldWrap = false,\n  spread,\n  grow,\n  space,\n  rowSpace,\n  separator,\n  testId,\n  children: rawChildren\n}, ref) => {\n  const Component = as || 'div';\n  const separatorComponent = typeof separator === 'string' ? jsx(Separator, null, separator) : separator;\n  const children = separatorComponent ? Children.toArray(rawChildren).filter(Boolean).map((child, index) => {\n    return jsx(Fragment, {\n      key: index\n    }, separator && index > 0 ? separatorComponent : null, child);\n  }) : rawChildren;\n  const justifyContent = spread || alignInline;\n  return jsx(Component, {\n    css: [baseStyles, space && spaceStylesMap.gap[space], justifyContent && justifyContentMap[justifyContent], grow && flexGrowMap[grow], alignItems && alignItemsMap[alignItems], shouldWrap && flexWrapStyles, rowSpace && spaceStylesMap.rowGap[rowSpace]],\n    \"data-testid\": testId,\n    ref: ref\n  }, children);\n}));\nInline.displayName = 'Inline';\nexport default Inline;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n  Provider,\n  Consumer,\n  useTheme\n} = createTheme(() => ({\n  mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n  Provider,\n  Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n *  based on those props. An example of this default theme function is one that produces the standard\n *  appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n *  to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n  const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n  /**\n   * Internally, Theme uses React Context, with internal providers and consumers.\n   * The React Context passes only a function that gets props, and turns them into tokens. This\n   * function gets mixed as more Providers with their own themes are added. This mixed function\n   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n   * the theme.\n   */\n  const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n  function useTheme(themeProps) {\n    const theme = useContext(ThemeContext);\n    const themeFn = theme || emptyThemeFn;\n    const tokens = themeFn(themeProps);\n    return tokens;\n  }\n\n  // The Theme Consumer takes a function as its child - this function takes tokens, and the\n  // return value is generally a set of nodes with the tokens applied appropriately.\n  function Consumer(props) {\n    const {\n      children,\n      ...themeProps\n    } = props;\n\n    // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n    // Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, \"children\">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n    const tokens = useTheme(themeProps);\n    // We add a fragment to ensure we don't break people upgrading.\n    // Previously they may have been able to pass in undefined without things blowing up.\n    return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n  }\n\n  /**\n   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n   * - The getTokens function isn't called immediately - instead the props are passed\n   *    through a mix of parent theming functions\n   * Children of this provider will receive this mixed theme\n   */\n  function Provider(props) {\n    const themeFn = useContext(ThemeContext);\n    const valueFn = props.value || emptyThemeFn;\n    const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n    return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n      value: mixedFn\n    }, props.children);\n  }\n  return {\n    Consumer,\n    Provider,\n    useTheme\n  };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { B100, B400, B75, DN30, DN300A, DN600, DN70, N0, N50, N900, P300, P400, P75 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\n// TODO Token usages are not consistent for dots https://product-fabric.atlassian.net/browse/DSP-3180\nconst colorMap = {\n  default: themed({\n    light: `var(--ds-background-neutral, ${N50})`,\n    dark: `var(--ds-background-neutral, ${DN70})`\n  }),\n  help: themed({\n    light: `var(--ds-background-neutral, ${P75})`,\n    dark: `var(--ds-background-neutral, ${DN70})`\n  }),\n  inverted: themed({\n    light: \"var(--ds-icon-subtle, rgba(255, 255, 255, 0.4))\",\n    dark: `var(--ds-icon-subtle, ${DN300A})`\n  }),\n  primary: themed({\n    light: `var(--ds-background-neutral, ${B75})`,\n    dark: `var(--ds-background-neutral, ${DN70})`\n  })\n};\nconst selectedColorMap = {\n  default: themed({\n    light: `var(--ds-icon, ${N900})`,\n    dark: `var(--ds-icon, ${DN600})`\n  }),\n  help: themed({\n    light: `var(--ds-icon-discovery, ${P400})`,\n    dark: `var(--ds-icon-discovery, ${P300})`\n  }),\n  inverted: themed({\n    light: `var(--ds-icon-inverse, ${N0})`,\n    dark: `var(--ds-icon-inverse, ${DN30})`\n  }),\n  primary: themed({\n    light: `var(--ds-icon-brand, ${B400})`,\n    dark: `var(--ds-icon-brand, ${B100})`\n  })\n};\nexport const getBgColor = (appearance, isSelected) => isSelected ? selectedColorMap[appearance] : colorMap[appearance];","export const progressIndicatorGapMap = {\n  comfortable: {\n    small: ['space.075', \"var(--ds-space-075, 6px)\"],\n    default: ['space.100', \"var(--ds-space-100, 8px)\"],\n    large: ['space.150', \"var(--ds-space-150, 12px)\"]\n  },\n  cozy: {\n    small: ['space.050', \"var(--ds-space-050, 4px)\"],\n    default: ['space.075', \"var(--ds-space-075, 6px)\"],\n    large: ['space.100', \"var(--ds-space-100, 8px)\"]\n  },\n  compact: {\n    small: ['space.025', \"var(--ds-space-025, 2px)\"],\n    default: ['space.050', \"var(--ds-space-050, 4px)\"],\n    large: ['space.075', \"var(--ds-space-075, 6px)\"]\n  }\n};\nexport const sizes = {\n  small: 4,\n  default: 8,\n  large: 12\n};\nexport const varDotsSize = '--ds-dots-size';\nexport const varDotsMargin = '--ds-dots-margin';","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport FocusRing from '@atlaskit/focus-ring';\nimport { varDotsMargin, varDotsSize } from './constants';\nconst commonStyles = css({\n  width: `var(${varDotsSize})`,\n  height: `var(${varDotsSize})`,\n  position: 'relative',\n  borderRadius: '50%',\n  '&::before': {\n    display: 'block',\n    width: `calc(var(${varDotsSize}) + var(${varDotsMargin}))`,\n    height: `calc(var(${varDotsSize}) + var(${varDotsMargin}))`,\n    position: 'absolute',\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    top: `calc(-1 * var(${varDotsMargin}) / 2)`,\n    // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n    left: `calc(-1 * var(${varDotsMargin}) / 2)`,\n    content: '\"\"'\n  }\n});\nconst buttonStyles = css({\n  padding: \"var(--ds-space-0, 0px)\",\n  border: 0,\n  cursor: 'pointer',\n  outline: 0\n});\n\n/**\n * __Presentational indicator__\n *\n * A presentational indicator with no interactivity\n */\nexport const PresentationalIndicator = (props\n// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n) => jsx(\"div\", _extends({}, props, {\n  css: commonStyles,\n  role: \"presentation\"\n}));\n\n/**\n * __Button indicator__\n *\n * An interactive indicator.\n */\nexport const ButtonIndicator = props => {\n  return jsx(FocusRing, null, jsx(\"button\", _extends({}, props, {\n    role: \"tab\",\n    type: \"button\",\n    css: [commonStyles, buttonStyles]\n  })));\n};","/** @jsx jsx */\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { jsx } from '@emotion/react';\nimport { bind } from 'bind-event-listener';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport Box from '@atlaskit/ds-explorations/box';\nimport noop from '@atlaskit/ds-lib/noop';\nimport Inline from '@atlaskit/primitives/inline';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBgColor } from './appearances';\nimport { progressIndicatorGapMap, sizes, varDotsMargin, varDotsSize } from './constants';\nimport { ButtonIndicator, PresentationalIndicator } from './indicator';\nconst packageName = \"@atlaskit/progress-indicator\";\nconst packageVersion = \"9.5.2\";\n\n/**\n * __ProgressDots__\n *\n * A progress indicator shows the user where they are along the steps of a journey.\n */\nconst ProgressDots = ({\n  appearance = 'default',\n  ariaControls = 'panel',\n  ariaLabel = 'tab',\n  size = 'default',\n  // NOTE: `spacing` is a reserved HTML attribute and will be added to the\n  // element, replaced with `gutter`.\n  spacing: gutter = 'comfortable',\n  selectedIndex,\n  testId,\n  values,\n  onSelect\n}) => {\n  const tablistRef = useRef(null);\n  const onSelectWithAnalytics = usePlatformLeafEventHandler({\n    fn: onSelect || noop,\n    action: 'selected',\n    componentName: 'progressIndicator',\n    packageName,\n    packageVersion\n  });\n  const [inlineGapValue, rawGapValue] = progressIndicatorGapMap[gutter][size];\n  const handleKeyDown = useCallback(event => {\n    const indicators = Array.from(tablistRef.current.children);\n\n    // bail if the target isn't an indicator\n    if (!indicators.includes(event.target)) {\n      return;\n    }\n\n    // bail if not valid arrow key\n    const isLeft = event.key === 'ArrowLeft';\n    const isRight = event.key === 'ArrowRight';\n    if (!isLeft && !isRight) {\n      return;\n    }\n\n    // bail if at either end of the values\n    const isAlpha = isLeft && selectedIndex === 0;\n    const isOmega = isRight && selectedIndex === values.length - 1;\n    if (isAlpha || isOmega) {\n      return;\n    }\n    const index = isLeft ? selectedIndex - 1 : selectedIndex + 1;\n\n    // call the consumer's select method and focus the applicable indicator\n    if (onSelect) {\n      onSelectWithAnalytics({\n        event: event,\n        index\n      });\n    }\n    if (typeof indicators[index].focus === 'function') {\n      indicators[index].focus();\n    }\n  }, [onSelectWithAnalytics, selectedIndex, values, onSelect]);\n  useEffect(() => {\n    if (!onSelect) {\n      return noop;\n    }\n    return bind(document, {\n      type: 'keydown',\n      listener: handleKeyDown,\n      options: {\n        capture: false\n      }\n    });\n  }, [onSelect, handleKeyDown]);\n  const theme = useGlobalTheme();\n  return jsx(Box, {\n    UNSAFE_style: {\n      [varDotsSize]: `${sizes[size]}px`,\n      [varDotsMargin]: rawGapValue\n    },\n    display: \"block\",\n    role: \"tablist\"\n  }, jsx(Inline, {\n    testId: testId,\n    ref: r => {\n      tablistRef.current = r;\n    },\n    alignInline: \"center\",\n    space: inlineGapValue\n  }, values.map((_, index) => {\n    const isSelected = selectedIndex === index;\n    const tabId = `${ariaLabel}${index}`;\n    const panelId = `${ariaControls}${index}`;\n    const backgroundColor = getBgColor(appearance, isSelected)({\n      theme\n    });\n    return onSelect ? jsx(ButtonIndicator, {\n      key: index,\n      style: {\n        backgroundColor\n      },\n      \"aria-controls\": panelId,\n      \"aria-label\": tabId,\n      \"aria-selected\": isSelected,\n      id: tabId,\n      onClick: event => onSelectWithAnalytics({\n        event,\n        index\n      }),\n      tabIndex: isSelected ? 0 : -1,\n      \"data-testid\": testId && `${testId}-ind-${index}`\n    }) : jsx(PresentationalIndicator, {\n      \"data-testid\": testId && `${testId}-ind-${index}`,\n      key: index,\n      style: {\n        backgroundColor\n      }\n    });\n  })));\n};\nexport default ProgressDots;","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button/dist/cjs/components/Button';\nimport { ProgressIndicator } from '@atlaskit/progress-indicator';\nimport styled from '@emotion/styled';\nimport React, {\n  useEffect,\n  useState,\n  PropsWithChildren,\n  ReactElement\n} from 'react';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport { useDevopsState } from '../hook';\nimport { SubmitErrorMessage } from '../devops-form-view/styled';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateLoggedInFormDataSubmitStatus\n} from '../../../redux';\nimport { messages } from '../messages';\ntype DevopsCarouselType = {\n  readonly children: React.ReactNode;\n};\n\nexport function DevopsCarousel({\n  children\n}: PropsWithChildren<DevopsCarouselType>) {\n  const navigate = useNavigate();\n  const currentRoute = useLocation();\n  const dispatch = useAppDispatch();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const isFormValid = useAppSelector(\n    ({ loggedInFormValid: { isValid } }) => isValid\n  );\n  const { bbWorkspaceName, cloudName } = useAppSelector(\n    ({ loggedInFormData }) => loggedInFormData\n  );\n  const submitErrorMessage = useAppSelector(\n    ({ sharedFormData: { submitErrorMessage } }) => submitErrorMessage\n  );\n  const submitStatus = useAppSelector(\n    ({ loggedInFormData: { submitStatus } }) => submitStatus\n  );\n  const { userInfo, bbworkspaces } = useDevopsState();\n\n  const slidePaths = children\n    ? //@ts-ignore\n      children.props.children\n        .map((child: ReactElement) => child?.props?.path)\n        .filter((p: ReactElement) => p !== undefined)\n    : [];\n\n  const [slideIndex, setSlideIndex] = useState(0);\n  const [isNextDisabled, setIsNextDisabled] = useState(\n    slideIndex >= slidePaths.length - 1 || !isFormValid\n  );\n  const [isPrevDisabled, setIsPrevDisabled] = useState(slideIndex === 0);\n  const [isNextLoading, setIsNextLoading] = useState(false);\n  const isFooterHidden = currentRoute?.pathname === '/confirmation';\n\n  const routeActionConfig: { [key: string]: any } = {\n    '/confirmation': {\n      submit: true\n    },\n    '/site-picker': {\n      checkKeys: slidePaths.includes('/workspace-picker')\n    }\n  };\n\n  const nextOnClick = async () => {\n    let actionResult;\n    // check for any actions, then move to the next slide\n    const nextPath = slidePaths[slideIndex + 1];\n    // trackEvent of slide progression\n    createAnalyticsEvent({\n      eventName: 'bxp.formCloudSignup.devops.carouselSlide',\n      eventComponent: 'button',\n      event: 'clicked',\n      data: { route: nextPath }\n    }).fire();\n\n    if (routeActionConfig[nextPath]) {\n      actionResult = await routeAction(routeActionConfig[nextPath]);\n      if (actionResult === 'COMPLETE_SUCCESS') {\n        // only proceed to next slide if submit was successful\n        setSlideIndex(slideIndex + 1);\n      }\n      if (actionResult === 'SKIP' && nextPath === '/site-picker') {\n        setIsNextDisabled(true);\n        setIsNextLoading(true);\n        setIsPrevDisabled(true);\n        dispatch(updateLoggedInFormDataSubmitStatus('shouldSubmit'));\n      }\n      if (actionResult === 'CONTINUE' && nextPath === '/site-picker') {\n        setSlideIndex(slideIndex + 1);\n      }\n    } else {\n      // no action, proceed to next slide\n      setSlideIndex(slideIndex + 1);\n    }\n  };\n\n  const prevOnClick = async () => {\n    let actionResult;\n    // check for any actions, then move to the next slide\n    const prevPath = slidePaths[slideIndex - 1];\n    if (routeActionConfig[prevPath]) {\n      actionResult = await routeAction(routeActionConfig[prevPath]);\n      if (actionResult === 'SKIP' && prevPath === '/site-picker') {\n        setSlideIndex(slideIndex - 2);\n      }\n      if (actionResult === 'CONTINUE' && prevPath === '/site-picker') {\n        setSlideIndex(slideIndex - 1);\n      }\n      if (actionResult === undefined && prevPath === '/site-picker') {\n        setSlideIndex(slideIndex - 1);\n      }\n    } else {\n      // no action, proceed to next slide\n      setSlideIndex(slideIndex - 1);\n    }\n\n    // TODO analytics\n  };\n  // decide who gets to be the first slide here\n  useEffect(() => {\n    if (slidePaths && slidePaths.length > 0) {\n      if (userInfo && bbworkspaces) {\n        if (\n          (userInfo?.sites || []).filter((site) => site?.adminAccess).length ===\n            0 &&\n          bbworkspaces.length !== 0\n        ) {\n          navigate(slidePaths[0]);\n        }\n      }\n    }\n  }, [userInfo, bbworkspaces]);\n\n  useEffect(() => {\n    if (submitStatus === 'success') {\n      setIsPrevDisabled(false);\n      setIsNextDisabled(false);\n      setIsNextLoading(false);\n\n      if (bbWorkspaceName && cloudName && bbWorkspaceName === cloudName) {\n        setSlideIndex(slideIndex + 2);\n      } else {\n        void nextOnClick();\n      }\n    }\n  }, [submitStatus]);\n\n  useEffect(() => {\n    if (slidePaths && slidePaths.length > 0) {\n      navigate(slidePaths[0]);\n    }\n  }, []);\n\n  useEffect(() => {\n    setIsPrevDisabled(slideIndex === 0);\n    navigate(slidePaths[slideIndex]);\n  }, [slideIndex]);\n\n  useEffect(() => {\n    setIsNextDisabled(!isFormValid);\n  }, [isFormValid]);\n\n  async function routeAction(action: {\n    [key: string]: any;\n  }): Promise<string | void> {\n    let result;\n\n    if (action?.submit && submitStatus !== 'success') {\n      setIsNextDisabled(true);\n      setIsNextLoading(true);\n      setIsPrevDisabled(true);\n\n      dispatch(updateLoggedInFormDataSubmitStatus('shouldSubmit'));\n    } else if (action?.submit && submitStatus === 'success') {\n      result = 'COMPLETE_SUCCESS';\n    }\n\n    if (action?.checkKeys) {\n      if (bbWorkspaceName && cloudName && bbWorkspaceName === cloudName) {\n        return Promise.resolve('SKIP');\n      } else {\n        return Promise.resolve('CONTINUE');\n      }\n    }\n\n    return Promise.resolve(result);\n  }\n\n  return (\n    <Carousel>\n      {children}\n      <Footer isFooterHidden={isFooterHidden}>\n        <Button\n          onClick={prevOnClick}\n          isDisabled={isPrevDisabled}\n          testId=\"button-devops-carousel-prev\"\n        >\n          <SanitizedFormattedHtmlMessage {...messages.previousButton} />\n        </Button>\n        <ProgressIndicatorWrapper>\n          <ProgressIndicator\n            selectedIndex={slideIndex}\n            values={slidePaths}\n            size={'default'}\n            spacing={'comfortable'}\n          />\n        </ProgressIndicatorWrapper>\n        <Button\n          onClick={nextOnClick}\n          appearance=\"primary\"\n          isDisabled={isNextDisabled}\n          isLoading={isNextLoading}\n          testId=\"button-devops-carousel-next\"\n        >\n          <SanitizedFormattedHtmlMessage {...messages.nextButton} />\n        </Button>\n      </Footer>\n      {submitErrorMessage && (\n        <SubmitErrorMessage>\n          <SanitizedFormattedHtmlMessage {...submitErrorMessage} />\n        </SubmitErrorMessage>\n      )}\n    </Carousel>\n  );\n}\nconst Footer = styled.div<{ readonly isFooterHidden: boolean }>`\n  display: ${(props) => (props.isFooterHidden ? 'none' : 'flex')};\n  justify-content: space-around;\n  align-items: center;\n  margin: 40px auto 0 auto;\n  max-width: 312px;\n`;\n\nconst Carousel = styled.div`\n  width: 100%;\n  svg {\n    margin-bottom: 0px;\n  }\n`;\n\nconst ProgressIndicatorWrapper = styled.div`\n  pointer-events: none;\n`;\n","import React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { createForm } from 'final-form';\nimport createDecorator from 'final-form-focus';\nimport set from 'lodash/set';\n/**\n * __Form context__\n *\n * A form context creates a context for the field values and allows them to be accessed by the children.\n */\nexport const FormContext = /*#__PURE__*/createContext({\n  registerField: function () {\n    return () => {};\n  },\n  getCurrentValue: () => undefined,\n  subscribe: function () {\n    return () => {};\n  }\n});\n\n/**\n * __Is disabled context__\n *\n * An is disabled context creates the context for when a value is disabled.\n */\nexport const IsDisabledContext = /*#__PURE__*/createContext(false);\nexport default function Form(props) {\n  const formRef = useRef(null);\n  const onSubmitRef = useRef(props.onSubmit);\n  onSubmitRef.current = props.onSubmit;\n  const [form] = useState(() => {\n    // Types here would break the existing API\n    const finalForm = createForm({\n      onSubmit: (...args) => onSubmitRef.current(...args),\n      destroyOnUnregister: true,\n      initialValues: {},\n      mutators: {\n        setDefaultValue: ([name, defaultValue], state) => {\n          if (state.formState.initialValues) {\n            const initialValues = state.formState.initialValues;\n            const values = state.formState.values;\n            const value = name && typeof defaultValue === 'function' ? defaultValue(initialValues[name]) : defaultValue;\n\n            /* eslint-disable no-param-reassign */\n            set(initialValues, name, value);\n            set(values, name, value);\n            /* eslint-enable */\n          }\n        }\n      }\n    });\n    createDecorator(() => formRef.current ? Array.from(formRef.current.querySelectorAll('input')) : [])(finalForm);\n    return finalForm;\n  });\n  const [state, setState] = useState({\n    dirty: false,\n    submitting: false\n  });\n  useEffect(() => {\n    const unsubscribe = form.subscribe(({\n      dirty,\n      submitting\n    }) => {\n      setState({\n        dirty,\n        submitting\n      });\n    }, {\n      dirty: true,\n      submitting: true\n    });\n    return unsubscribe;\n  }, [form]);\n  const registerField = useCallback((name, defaultValue, subscriber, subscription, config) => {\n    form.pauseValidation();\n    const unsubscribe = form.registerField(name, subscriber, subscription, config);\n    form.mutators.setDefaultValue(name, defaultValue);\n    form.resumeValidation();\n    return unsubscribe;\n  }, [form]);\n  const handleSubmit = e => {\n    if (e) {\n      e.preventDefault();\n    }\n    form.submit();\n  };\n  const handleReset = initialValues => {\n    form.reset(initialValues);\n  };\n  const handleKeyDown = e => {\n    if (e.key === 'Enter' && (e.ctrlKey || e.metaKey) && formRef.current) {\n      const submitButton = formRef.current.querySelector('button:not([type]), button[type=\"submit\"], input[type=\"submit\"]');\n      if (submitButton) {\n        submitButton.click();\n      }\n      e.preventDefault();\n    }\n  };\n  const {\n    isDisabled = false,\n    children\n  } = props;\n  const {\n    dirty,\n    submitting\n  } = state;\n\n  /**\n   * This method is needed in FormContext to use it on the field level\n   * to check the current value of the field in case of the component re-mounting.\n   */\n  const getCurrentValue = useCallback(name => {\n    const formState = form.getState();\n    return (formState === null || formState === void 0 ? void 0 : formState.values[name]) || undefined;\n  }, [form]);\n  const FormContextValue = useMemo(() => {\n    return {\n      registerField,\n      getCurrentValue,\n      subscribe: form.subscribe\n    };\n  }, [registerField, getCurrentValue, form.subscribe]);\n  return /*#__PURE__*/React.createElement(FormContext.Provider, {\n    value: FormContextValue\n  }, /*#__PURE__*/React.createElement(IsDisabledContext.Provider, {\n    value: isDisabled\n  }, children({\n    formProps: {\n      onSubmit: handleSubmit,\n      ref: formRef,\n      onKeyDown: handleKeyDown\n    },\n    dirty,\n    reset: handleReset,\n    submitting,\n    disabled: isDisabled,\n    getState: () => form.getState(),\n    getValues: () => form.getState().values,\n    // TODO: deprecate\n    setFieldValue: form.change\n  })));\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n  if (tag.sheet) {\n    // $FlowFixMe\n    return tag.sheet;\n  } // this weirdness brought to you by firefox\n\n  /* istanbul ignore next */\n\n\n  for (var i = 0; i < document.styleSheets.length; i++) {\n    if (document.styleSheets[i].ownerNode === tag) {\n      // $FlowFixMe\n      return document.styleSheets[i];\n    }\n  }\n}\n\nfunction createStyleElement(options) {\n  var tag = document.createElement('style');\n  tag.setAttribute('data-emotion', options.key);\n\n  if (options.nonce !== undefined) {\n    tag.setAttribute('nonce', options.nonce);\n  }\n\n  tag.appendChild(document.createTextNode(''));\n  tag.setAttribute('data-s', '');\n  return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n  // Using Node instead of HTMLElement since container may be a ShadowRoot\n  function StyleSheet(options) {\n    var _this = this;\n\n    this._insertTag = function (tag) {\n      var before;\n\n      if (_this.tags.length === 0) {\n        if (_this.insertionPoint) {\n          before = _this.insertionPoint.nextSibling;\n        } else if (_this.prepend) {\n          before = _this.container.firstChild;\n        } else {\n          before = _this.before;\n        }\n      } else {\n        before = _this.tags[_this.tags.length - 1].nextSibling;\n      }\n\n      _this.container.insertBefore(tag, before);\n\n      _this.tags.push(tag);\n    };\n\n    this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n    this.tags = [];\n    this.ctr = 0;\n    this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n    this.key = options.key;\n    this.container = options.container;\n    this.prepend = options.prepend;\n    this.insertionPoint = options.insertionPoint;\n    this.before = null;\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.hydrate = function hydrate(nodes) {\n    nodes.forEach(this._insertTag);\n  };\n\n  _proto.insert = function insert(rule) {\n    // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n    // it's 1 in dev because we insert source maps that map a single rule to a location\n    // and you can only have one source map per style tag\n    if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n      this._insertTag(createStyleElement(this));\n    }\n\n    var tag = this.tags[this.tags.length - 1];\n\n    if (process.env.NODE_ENV !== 'production') {\n      var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n      if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n        // this would only cause problem in speedy mode\n        // but we don't want enabling speedy to affect the observable behavior\n        // so we report this error at all times\n        console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n      }\n      this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n    }\n\n    if (this.isSpeedy) {\n      var sheet = sheetForTag(tag);\n\n      try {\n        // this is the ultrafast version, works across browsers\n        // the big drawback is that the css won't be editable in devtools\n        sheet.insertRule(rule, sheet.cssRules.length);\n      } catch (e) {\n        if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n          console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n        }\n      }\n    } else {\n      tag.appendChild(document.createTextNode(rule));\n    }\n\n    this.ctr++;\n  };\n\n  _proto.flush = function flush() {\n    // $FlowFixMe\n    this.tags.forEach(function (tag) {\n      return tag.parentNode && tag.parentNode.removeChild(tag);\n    });\n    this.tags = [];\n    this.ctr = 0;\n\n    if (process.env.NODE_ENV !== 'production') {\n      this._alreadyInsertedOrderInsensitiveRule = false;\n    }\n  };\n\n  return StyleSheet;\n}();\n\nexport { StyleSheet };\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n  var previous = 0;\n  var character = 0;\n\n  while (true) {\n    previous = character;\n    character = peek(); // &\\f\n\n    if (previous === 38 && character === 12) {\n      points[index] = 1;\n    }\n\n    if (token(character)) {\n      break;\n    }\n\n    next();\n  }\n\n  return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n  // pretend we've started with a comma\n  var index = -1;\n  var character = 44;\n\n  do {\n    switch (token(character)) {\n      case 0:\n        // &\\f\n        if (character === 38 && peek() === 12) {\n          // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n          // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n          // and when it should just concatenate the outer and inner selectors\n          // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n          points[index] = 1;\n        }\n\n        parsed[index] += identifierWithPointTracking(position - 1, points, index);\n        break;\n\n      case 2:\n        parsed[index] += delimit(character);\n        break;\n\n      case 4:\n        // comma\n        if (character === 44) {\n          // colon\n          parsed[++index] = peek() === 58 ? '&\\f' : '';\n          points[index] = parsed[index].length;\n          break;\n        }\n\n      // fallthrough\n\n      default:\n        parsed[index] += from(character);\n    }\n  } while (character = next());\n\n  return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n  return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n  if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n  // negative .length indicates that this rule has been already prefixed\n  element.length < 1) {\n    return;\n  }\n\n  var value = element.value,\n      parent = element.parent;\n  var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n  while (parent.type !== 'rule') {\n    parent = parent.parent;\n    if (!parent) return;\n  } // short-circuit for the simplest case\n\n\n  if (element.props.length === 1 && value.charCodeAt(0) !== 58\n  /* colon */\n  && !fixedElements.get(parent)) {\n    return;\n  } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n  // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n  if (isImplicitRule) {\n    return;\n  }\n\n  fixedElements.set(element, true);\n  var points = [];\n  var rules = getRules(value, points);\n  var parentRules = parent.props;\n\n  for (var i = 0, k = 0; i < rules.length; i++) {\n    for (var j = 0; j < parentRules.length; j++, k++) {\n      element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n    }\n  }\n};\nvar removeLabel = function removeLabel(element) {\n  if (element.type === 'decl') {\n    var value = element.value;\n\n    if ( // charcode for l\n    value.charCodeAt(0) === 108 && // charcode for b\n    value.charCodeAt(2) === 98) {\n      // this ignores label\n      element[\"return\"] = '';\n      element.value = '';\n    }\n  }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n  return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n  return function (element, index, children) {\n    if (element.type !== 'rule' || cache.compat) return;\n    var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n    if (unsafePseudoClasses) {\n      var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n      //\n      // considering this input:\n      // .a {\n      //   .b /* comm */ {}\n      //   color: hotpink;\n      // }\n      // we get output corresponding to this:\n      // .a {\n      //   & {\n      //     /* comm */\n      //     color: hotpink;\n      //   }\n      //   .b {}\n      // }\n\n      var commentContainer = isNested ? element.parent.children : // global rule at the root level\n      children;\n\n      for (var i = commentContainer.length - 1; i >= 0; i--) {\n        var node = commentContainer[i];\n\n        if (node.line < element.line) {\n          break;\n        } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n        // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n        // this will also match inputs like this:\n        // .a {\n        //   /* comm */\n        //   .b {}\n        // }\n        //\n        // but that is fine\n        //\n        // it would be the easiest to change the placement of the comment to be the first child of the rule:\n        // .a {\n        //   .b { /* comm */ }\n        // }\n        // with such inputs we wouldn't have to search for the comment at all\n        // TODO: consider changing this comment placement in the next major version\n\n\n        if (node.column < element.column) {\n          if (isIgnoringComment(node)) {\n            return;\n          }\n\n          break;\n        }\n      }\n\n      unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n        console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n      });\n    }\n  };\n};\n\nvar isImportRule = function isImportRule(element) {\n  return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n  for (var i = index - 1; i >= 0; i--) {\n    if (!isImportRule(children[i])) {\n      return true;\n    }\n  }\n\n  return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n  element.type = '';\n  element.value = '';\n  element[\"return\"] = '';\n  element.children = '';\n  element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n  if (!isImportRule(element)) {\n    return;\n  }\n\n  if (element.parent) {\n    console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n    nullifyElement(element);\n  } else if (isPrependedWithRegularRules(index, children)) {\n    console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n    nullifyElement(element);\n  }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n  switch (hash(value, length)) {\n    // color-adjust\n    case 5103:\n      return WEBKIT + 'print-' + value + value;\n    // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n    case 5737:\n    case 4201:\n    case 3177:\n    case 3433:\n    case 1641:\n    case 4457:\n    case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n    case 5572:\n    case 6356:\n    case 5844:\n    case 3191:\n    case 6645:\n    case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n    case 6391:\n    case 5879:\n    case 5623:\n    case 6135:\n    case 4599:\n    case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n    case 4215:\n    case 6389:\n    case 5109:\n    case 5365:\n    case 5621:\n    case 3829:\n      return WEBKIT + value + value;\n    // appearance, user-select, transform, hyphens, text-size-adjust\n\n    case 5349:\n    case 4246:\n    case 4810:\n    case 6968:\n    case 2756:\n      return WEBKIT + value + MOZ + value + MS + value + value;\n    // flex, flex-direction\n\n    case 6828:\n    case 4268:\n      return WEBKIT + value + MS + value + value;\n    // order\n\n    case 6165:\n      return WEBKIT + value + MS + 'flex-' + value + value;\n    // align-items\n\n    case 5187:\n      return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n    // align-self\n\n    case 5443:\n      return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n    // align-content\n\n    case 4675:\n      return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n    // flex-shrink\n\n    case 5548:\n      return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n    // flex-basis\n\n    case 5292:\n      return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n    // flex-grow\n\n    case 6060:\n      return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n    // transition\n\n    case 4554:\n      return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n    // cursor\n\n    case 6187:\n      return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n    // background, background-image\n\n    case 5495:\n    case 3959:\n      return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n    // justify-content\n\n    case 4968:\n      return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n    // (margin|padding)-inline-(start|end)\n\n    case 4095:\n    case 3583:\n    case 4068:\n    case 2532:\n      return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n    // (min|max)?(width|height|inline-size|block-size)\n\n    case 8116:\n    case 7059:\n    case 5753:\n    case 5535:\n    case 5445:\n    case 5701:\n    case 4933:\n    case 4677:\n    case 5533:\n    case 5789:\n    case 5021:\n    case 4765:\n      // stretch, max-content, min-content, fill-available\n      if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n        // (m)ax-content, (m)in-content\n        case 109:\n          // -\n          if (charat(value, length + 4) !== 45) break;\n        // (f)ill-available, (f)it-content\n\n        case 102:\n          return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n        // (s)tretch\n\n        case 115:\n          return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n      }\n      break;\n    // position: sticky\n\n    case 4949:\n      // (s)ticky?\n      if (charat(value, length + 1) !== 115) break;\n    // display: (flex|inline-flex)\n\n    case 6444:\n      switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n        // stic(k)y\n        case 107:\n          return replace(value, ':', ':' + WEBKIT) + value;\n        // (inline-)?fl(e)x\n\n        case 101:\n          return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n      }\n\n      break;\n    // writing-mode\n\n    case 5936:\n      switch (charat(value, length + 11)) {\n        // vertical-l(r)\n        case 114:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n        // vertical-r(l)\n\n        case 108:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n        // horizontal(-)tb\n\n        case 45:\n          return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n      }\n\n      return WEBKIT + value + MS + value + value;\n  }\n\n  return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n  if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n    case DECLARATION:\n      element[\"return\"] = prefix(element.value, element.length);\n      break;\n\n    case KEYFRAMES:\n      return serialize([copy(element, {\n        value: replace(element.value, '@', '@' + WEBKIT)\n      })], callback);\n\n    case RULESET:\n      if (element.length) return combine(element.props, function (value) {\n        switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n          // :read-(only|write)\n          case ':read-only':\n          case ':read-write':\n            return serialize([copy(element, {\n              props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n            })], callback);\n          // :placeholder\n\n          case '::placeholder':\n            return serialize([copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n            }), copy(element, {\n              props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n            })], callback);\n        }\n\n        return '';\n      });\n  }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n  var key = options.key;\n\n  if (process.env.NODE_ENV !== 'production' && !key) {\n    throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n  }\n\n  if (key === 'css') {\n    var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n    // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n    // note this very very intentionally targets all style elements regardless of the key to ensure\n    // that creating a cache works inside of render of a React component\n\n    Array.prototype.forEach.call(ssrStyles, function (node) {\n      // we want to only move elements which have a space in the data-emotion attribute value\n      // because that indicates that it is an Emotion 11 server-side rendered style elements\n      // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n      // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n      // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n      // will not result in the Emotion 10 styles being destroyed\n      var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n      if (dataEmotionAttribute.indexOf(' ') === -1) {\n        return;\n      }\n      document.head.appendChild(node);\n      node.setAttribute('data-s', '');\n    });\n  }\n\n  var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n  if (process.env.NODE_ENV !== 'production') {\n    // $FlowFixMe\n    if (/[^a-z-]/.test(key)) {\n      throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n    }\n  }\n\n  var inserted = {};\n  var container;\n  var nodesToHydrate = [];\n\n  {\n    container = options.container || document.head;\n    Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n    document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n      var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n      for (var i = 1; i < attrib.length; i++) {\n        inserted[attrib[i]] = true;\n      }\n\n      nodesToHydrate.push(node);\n    });\n  }\n\n  var _insert;\n\n  var omnipresentPlugins = [compat, removeLabel];\n\n  if (process.env.NODE_ENV !== 'production') {\n    omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n      get compat() {\n        return cache.compat;\n      }\n\n    }), incorrectImportAlarm);\n  }\n\n  {\n    var currentSheet;\n    var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n      if (!element.root) {\n        if (element[\"return\"]) {\n          currentSheet.insert(element[\"return\"]);\n        } else if (element.value && element.type !== COMMENT) {\n          // insert empty rule in non-production environments\n          // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n          currentSheet.insert(element.value + \"{}\");\n        }\n      }\n    } : rulesheet(function (rule) {\n      currentSheet.insert(rule);\n    })];\n    var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n    var stylis = function stylis(styles) {\n      return serialize(compile(styles), serializer);\n    };\n\n    _insert = function insert(selector, serialized, sheet, shouldCache) {\n      currentSheet = sheet;\n\n      if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n        currentSheet = {\n          insert: function insert(rule) {\n            sheet.insert(rule + serialized.map);\n          }\n        };\n      }\n\n      stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n      if (shouldCache) {\n        cache.inserted[serialized.name] = true;\n      }\n    };\n  }\n\n  var cache = {\n    key: key,\n    sheet: new StyleSheet({\n      key: key,\n      container: container,\n      nonce: options.nonce,\n      speedy: options.speedy,\n      prepend: options.prepend,\n      insertionPoint: options.insertionPoint\n    }),\n    nonce: options.nonce,\n    inserted: inserted,\n    registered: {},\n    insert: _insert\n  };\n  cache.sheet.hydrate(nodesToHydrate);\n  return cache;\n};\n\nexport { createCache as default };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n  key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n  EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n  return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n  // $FlowFixMe\n  return /*#__PURE__*/forwardRef(function (props, ref) {\n    // the cache will never be null in the browser\n    var cache = useContext(EmotionCacheContext);\n    return func(props, cache, ref);\n  });\n};\n\nif (!isBrowser) {\n  withEmotionCache = function withEmotionCache(func) {\n    return function (props) {\n      var cache = useContext(EmotionCacheContext);\n\n      if (cache === null) {\n        // yes, we're potentially creating this on every render\n        // it doesn't actually matter though since it's only on the server\n        // so there will only every be a single render\n        // that could change in the future because of suspense and etc. but for now,\n        // this works and i don't want to optimise for a future thing that we aren't sure about\n        cache = createCache({\n          key: 'css'\n        });\n        return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n          value: cache\n        }, func(props, cache));\n      } else {\n        return func(props, cache);\n      }\n    };\n  };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n  ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n  return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n  if (typeof theme === 'function') {\n    var mergedTheme = theme(outerTheme);\n\n    if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n      throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n    }\n\n    return mergedTheme;\n  }\n\n  if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n    throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n  }\n\n  return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n  return weakMemoize(function (theme) {\n    return getTheme(outerTheme, theme);\n  });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n  var theme = React.useContext(ThemeContext);\n\n  if (props.theme !== theme) {\n    theme = createCacheWithTheme(theme)(props.theme);\n  }\n\n  return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n    value: theme\n  }, props.children);\n};\nfunction withTheme(Component) {\n  var componentName = Component.displayName || Component.name || 'Component';\n\n  var render = function render(props, ref) {\n    var theme = React.useContext(ThemeContext);\n    return /*#__PURE__*/React.createElement(Component, _extends({\n      theme: theme,\n      ref: ref\n    }, props));\n  }; // $FlowFixMe\n\n\n  var WithTheme = /*#__PURE__*/React.forwardRef(render);\n  WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n  return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n  // The match may be something like 'Object.createEmotionProps' or\n  // 'Loader.prototype.render'\n  var parts = functionName.split('.');\n  return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n  // V8\n  var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n  if (match) return getLastPart(match[1]); // Safari / Firefox\n\n  match = /^([A-Za-z0-9$.]+)@/.exec(line);\n  if (match) return getLastPart(match[1]);\n  return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n  return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n  if (!stackTrace) return undefined;\n  var lines = stackTrace.split('\\n');\n\n  for (var i = 0; i < lines.length; i++) {\n    var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n    if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n    if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n    // uppercase letter\n\n    if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n  }\n\n  return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n  if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n  props.css.indexOf(':') !== -1) {\n    throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n  }\n\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n  // the label hasn't already been computed\n\n  if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n    var label = getLabelFromStackTrace(new Error().stack);\n    if (label) newProps[labelPropName] = label;\n  }\n\n  return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serialized = _ref.serialized,\n      isStringTag = _ref.isStringTag;\n  registerStyles(cache, serialized, isStringTag);\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n    return insertStyles(cache, serialized, isStringTag);\n  });\n\n  return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n  var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n  // not passing the registered cache to serializeStyles because it would\n  // make certain babel optimisations not possible\n\n  if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n    cssProp = cache.registered[cssProp];\n  }\n\n  var WrappedComponent = props[typePropName];\n  var registeredStyles = [cssProp];\n  var className = '';\n\n  if (typeof props.className === 'string') {\n    className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n  } else if (props.className != null) {\n    className = props.className + \" \";\n  }\n\n  var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n  if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n    var labelFromStack = props[labelPropName];\n\n    if (labelFromStack) {\n      serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n    }\n  }\n\n  className += cache.key + \"-\" + serialized.name;\n  var newProps = {};\n\n  for (var key in props) {\n    if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n      newProps[key] = props[key];\n    }\n  }\n\n  newProps.ref = ref;\n  newProps.className = className;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serialized: serialized,\n    isStringTag: typeof WrappedComponent === 'string'\n  }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-c39617d8.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-c39617d8.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.2\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.0\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n  var args = arguments;\n\n  if (props == null || !hasOwnProperty.call(props, 'css')) {\n    // $FlowFixMe\n    return React.createElement.apply(undefined, args);\n  }\n\n  var argsLength = args.length;\n  var createElementArgArray = new Array(argsLength);\n  createElementArgArray[0] = Emotion;\n  createElementArgArray[1] = createEmotionProps(type, props);\n\n  for (var i = 2; i < argsLength; i++) {\n    createElementArgArray[i] = args[i];\n  } // $FlowFixMe\n\n\n  return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n  // probably using the custom createElement which\n  // means it will be turned into a className prop\n  // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n  props.className || props.css)) {\n    console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n    warnedAboutCssPropForGlobal = true;\n  }\n\n  var styles = props.styles;\n  var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n  if (!isBrowser$1) {\n    var _ref;\n\n    var serializedNames = serialized.name;\n    var serializedStyles = serialized.styles;\n    var next = serialized.next;\n\n    while (next !== undefined) {\n      serializedNames += ' ' + next.name;\n      serializedStyles += next.styles;\n      next = next.next;\n    }\n\n    var shouldCache = cache.compat === true;\n    var rules = cache.insert(\"\", {\n      name: serializedNames,\n      styles: serializedStyles\n    }, cache.sheet, shouldCache);\n\n    if (shouldCache) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n      __html: rules\n    }, _ref.nonce = cache.sheet.nonce, _ref));\n  } // yes, i know these hooks are used conditionally\n  // but it is based on a constant that will never change at runtime\n  // it's effectively like having two implementations and switching them out\n  // so it's not actually breaking anything\n\n\n  var sheetRef = React.useRef();\n  useInsertionEffectWithLayoutFallback(function () {\n    var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n    var sheet = new cache.sheet.constructor({\n      key: key,\n      nonce: cache.sheet.nonce,\n      container: cache.sheet.container,\n      speedy: cache.sheet.isSpeedy\n    });\n    var rehydrating = false; // $FlowFixMe\n\n    var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n    if (cache.sheet.tags.length) {\n      sheet.before = cache.sheet.tags[0];\n    }\n\n    if (node !== null) {\n      rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n      node.setAttribute('data-emotion', key);\n      sheet.hydrate([node]);\n    }\n\n    sheetRef.current = [sheet, rehydrating];\n    return function () {\n      sheet.flush();\n    };\n  }, [cache]);\n  useInsertionEffectWithLayoutFallback(function () {\n    var sheetRefCurrent = sheetRef.current;\n    var sheet = sheetRefCurrent[0],\n        rehydrating = sheetRefCurrent[1];\n\n    if (rehydrating) {\n      sheetRefCurrent[1] = false;\n      return;\n    }\n\n    if (serialized.next !== undefined) {\n      // insert keyframes\n      insertStyles(cache, serialized.next, true);\n    }\n\n    if (sheet.tags.length) {\n      // if this doesn't exist then it will be null so the style element will be appended\n      var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n      sheet.before = element;\n      sheet.flush();\n    }\n\n    cache.insert(\"\", serialized, sheet, false);\n  }, [cache, serialized.name]);\n  return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n  var insertable = css.apply(void 0, arguments);\n  var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n  return {\n    name: name,\n    styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n    anim: 1,\n    toString: function toString() {\n      return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n    }\n  };\n};\n\nvar classnames = function classnames(args) {\n  var len = args.length;\n  var i = 0;\n  var cls = '';\n\n  for (; i < len; i++) {\n    var arg = args[i];\n    if (arg == null) continue;\n    var toAdd = void 0;\n\n    switch (typeof arg) {\n      case 'boolean':\n        break;\n\n      case 'object':\n        {\n          if (Array.isArray(arg)) {\n            toAdd = classnames(arg);\n          } else {\n            if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n              console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n            }\n\n            toAdd = '';\n\n            for (var k in arg) {\n              if (arg[k] && k) {\n                toAdd && (toAdd += ' ');\n                toAdd += k;\n              }\n            }\n          }\n\n          break;\n        }\n\n      default:\n        {\n          toAdd = arg;\n        }\n    }\n\n    if (toAdd) {\n      cls && (cls += ' ');\n      cls += toAdd;\n    }\n  }\n\n  return cls;\n};\n\nfunction merge(registered, css, className) {\n  var registeredStyles = [];\n  var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n  if (registeredStyles.length < 2) {\n    return className;\n  }\n\n  return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n  var cache = _ref.cache,\n      serializedArr = _ref.serializedArr;\n  useInsertionEffectAlwaysWithSyncFallback(function () {\n\n    for (var i = 0; i < serializedArr.length; i++) {\n      insertStyles(cache, serializedArr[i], false);\n    }\n  });\n\n  return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n  var hasRendered = false;\n  var serializedArr = [];\n\n  var css = function css() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('css can only be used during render');\n    }\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    var serialized = serializeStyles(args, cache.registered);\n    serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n    registerStyles(cache, serialized, false);\n    return cache.key + \"-\" + serialized.name;\n  };\n\n  var cx = function cx() {\n    if (hasRendered && process.env.NODE_ENV !== 'production') {\n      throw new Error('cx can only be used during render');\n    }\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    return merge(cache.registered, css, classnames(args));\n  };\n\n  var content = {\n    css: css,\n    cx: cx,\n    theme: React.useContext(ThemeContext)\n  };\n  var ele = props.children(content);\n  hasRendered = true;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n    cache: cache,\n    serializedArr: serializedArr\n  }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n  ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n  var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n  var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n  if (isBrowser && !isTestEnv) {\n    // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n    var globalContext = // $FlowIgnore\n    typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n    : isBrowser ? window : global;\n    var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n    if (globalContext[globalKey]) {\n      console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n    }\n\n    globalContext[globalKey] = true;\n  }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import { createContext } from 'react';\n\n/**\n * __Field id__\n *\n * A field id uses the context API. It provides the id of the field to message components. This links the message with the field of screenreaders.\n */\nexport const FieldId = /*#__PURE__*/createContext(undefined);","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B200, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B200})`, outlineWidth = gridSize() / 4) => {\n  deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n  return `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n  card: () => 100,\n  navigation: () => 200,\n  dialog: () => 300,\n  layer: () => 400,\n  blanket: () => 500,\n  modal: () => 510,\n  flag: () => 600,\n  spotlight: () => 700,\n  tooltip: () => 9999\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n  deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n  return {\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important'\n  };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n  css: {\n    backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n    animationDuration: '1.5s',\n    animationIterationCount: 'infinite',\n    animationTimingFunction: 'linear',\n    animationDirection: 'alternate'\n  },\n  keyframes: {\n    from: {\n      backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n    },\n    to: {\n      backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n    }\n  }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n  if (props && props.theme) {\n    // Theme is the global Atlaskit theme\n    if (CHANNEL in props.theme) {\n      return props.theme[CHANNEL];\n    }\n    // User has provided alternative modes\n    else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n      return props.theme;\n    }\n  }\n  // If format not supported (or no theme provided), return standard theme\n  return {\n    mode: DEFAULT_THEME_MODE\n  };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n  return props => {\n    const theme = getTheme(props);\n    if (props && props[variantProp] && variants) {\n      const modes = variants[props[variantProp]];\n      if (modes && modes[theme.mode]) {\n        const value = modes[theme.mode];\n        if (value) {\n          return value;\n        } // TS believes value can be undefined\n      }\n    }\n    return '';\n  };\n}\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-4693 Internal documentation for deprecation (no external access)}\n */\nexport default function themed(modesOrVariant, variantModes) {\n  if (typeof modesOrVariant === 'string') {\n    return themedVariants(modesOrVariant, variantModes);\n  }\n  const modes = modesOrVariant;\n  return props => {\n    // Get theme from the user's props\n    const theme = getTheme(props);\n    // User isn't required to provide both light and dark values\n    if (theme.mode in modes) {\n      const value = modes[theme.mode]; // TS believes value can be undefined\n      if (value) {\n        return value;\n      }\n    }\n    return '';\n  };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n  light: `var(--ds-surface, ${N0})`,\n  dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n  light: `var(--ds-background-selected, ${B50})`,\n  dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n  light: `var(--ds-background-neutral-hovered, ${N30})`,\n  dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n  light: `var(--ds-surface-overlay, ${N0})`,\n  dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n  light: `var(--ds-text, ${N900})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n  light: `var(--ds-text-selected, ${B400})`,\n  dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n  light: `var(--ds-text, ${N800})`,\n  dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n  light: `var(--ds-text-subtlest, ${N200})`,\n  dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n  light: N20,\n  dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n  light: `var(--ds-link, ${B400})`,\n  dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n  light: `var(--ds-link-pressed, ${B300})`,\n  dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n  light: `var(--ds-link-pressed, ${B500})`,\n  dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused', B200)` instead.\n */\nexport const linkOutline = themed({\n  light: `var(--ds-border-focused, ${B200})`,\n  dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n  light: `var(--ds-background-brand-bold, ${B400})`,\n  dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n  light: B400,\n  dark: B100\n});\nexport const teal = themed({\n  light: T300,\n  dark: T200\n});\nexport const purple = themed({\n  light: P300,\n  dark: P100\n});\nexport const red = themed({\n  light: R300,\n  dark: R300\n});\nexport const yellow = themed({\n  light: Y300,\n  dark: Y300\n});\nexport const green = themed({\n  light: G300,\n  dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { heading, subtleHeading } from './colors';\nimport { fontSize, gridSize } from './constants';\n/**\n * Font token fallbacks are verbose.\n * This object exists purely to make using fallbacks less cumbersome while we still need to use them.\n * Will be removed once fallbacks are no longer needed.\n *\n * This is referenced by the use-tokens-typography ESLint rule.\n */\nexport const fontFallback = {\n  heading: {\n    xxlarge: 'normal 500 35px/40px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    xlarge: 'normal 600 29px/32px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    large: 'normal 500 24px/28px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    medium: 'normal 500 20px/24px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    small: 'normal 600 16px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    xsmall: 'normal 600 14px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    xxsmall: 'normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif'\n  },\n  body: {\n    large: 'normal 400 16px/24px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    medium: 'normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    UNSAFE_small: 'normal 400 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif',\n    small: 'normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif'\n  }\n};\nconst baseHeading = (size, lineHeight) => ({\n  fontSize: `${size / fontSize()}em`,\n  fontStyle: 'inherit',\n  lineHeight: lineHeight / size\n});\nexport const headingSizes = {\n  h900: {\n    size: 35,\n    lineHeight: 40\n  },\n  h800: {\n    size: 29,\n    lineHeight: 32\n  },\n  h700: {\n    size: 24,\n    lineHeight: 28\n  },\n  h600: {\n    size: 20,\n    lineHeight: 24\n  },\n  h500: {\n    size: 16,\n    lineHeight: 20\n  },\n  h400: {\n    size: 14,\n    lineHeight: 16\n  },\n  h300: {\n    size: 12,\n    lineHeight: 16\n  },\n  h200: {\n    size: 12,\n    lineHeight: 16\n  },\n  h100: {\n    size: 11,\n    lineHeight: 16\n  }\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h900 = (props = {}) => ({\n  ...baseHeading(headingSizes.h900.size, headingSizes.h900.lineHeight),\n  color: `var(--ds-text, ${heading(props)})`,\n  fontWeight: \"var(--ds-font-weight-medium, 500)\",\n  letterSpacing: `-0.01em`,\n  marginTop: `${gridSize() * 6.5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h800 = (props = {}) => ({\n  ...baseHeading(headingSizes.h800.size, headingSizes.h800.lineHeight),\n  color: `var(--ds-text, ${heading(props)})`,\n  fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n  letterSpacing: `-0.01em`,\n  marginTop: `${gridSize() * 5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h700 = (props = {}) => ({\n  ...baseHeading(headingSizes.h700.size, headingSizes.h700.lineHeight),\n  color: `var(--ds-text, ${heading(props)})`,\n  fontWeight: \"var(--ds-font-weight-medium, 500)\",\n  letterSpacing: `-0.01em`,\n  marginTop: `${gridSize() * 5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h600 = (props = {}) => ({\n  ...baseHeading(headingSizes.h600.size, headingSizes.h600.lineHeight),\n  color: `var(--ds-text, ${heading(props)})`,\n  fontWeight: \"var(--ds-font-weight-medium, 500)\",\n  letterSpacing: `-0.008em`,\n  marginTop: `${gridSize() * 3.5}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h500 = (props = {}) => ({\n  ...baseHeading(headingSizes.h500.size, headingSizes.h500.lineHeight),\n  color: `var(--ds-text, ${heading(props)})`,\n  fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n  letterSpacing: `-0.006em`,\n  marginTop: `${gridSize() * 3}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h400 = (props = {}) => ({\n  ...baseHeading(headingSizes.h400.size, headingSizes.h400.lineHeight),\n  color: `var(--ds-text, ${heading(props)})`,\n  fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n  letterSpacing: `-0.003em`,\n  marginTop: `${gridSize() * 2}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h300 = (props = {}) => ({\n  ...baseHeading(headingSizes.h300.size, headingSizes.h300.lineHeight),\n  color: `var(--ds-text, ${heading(props)})`,\n  fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n  marginTop: `${gridSize() * 2.5}px`,\n  textTransform: 'uppercase'\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h200 = (props = {}) => ({\n  ...baseHeading(headingSizes.h200.size, headingSizes.h200.lineHeight),\n  color: `var(--ds-text-subtlest, ${subtleHeading(props)})`,\n  fontWeight: \"var(--ds-font-weight-semibold, 600)\",\n  marginTop: `${gridSize() * 2}px`\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated {@link https://atlassian.design/components/heading Use `@atlaskit/heading` instead.}\n */\nexport const h100 = (props = {}) => ({\n  ...baseHeading(headingSizes.h100.size, headingSizes.h100.lineHeight),\n  color: `var(--ds-text-subtlest, ${subtleHeading(props)})`,\n  fontWeight: \"var(--ds-font-weight-bold, 700)\",\n  marginTop: `${gridSize() * 2}px`\n});","/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { N200 } from '@atlaskit/theme/colors';\nimport { fontFamily as getFontFamily } from '@atlaskit/theme/constants';\nimport { h200 } from '@atlaskit/theme/typography';\nconst fontFamily = getFontFamily();\n// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage\nconst fieldsetLabelStyles = css([h200({\n  theme: {\n    mode: 'light'\n  }\n}), {\n  display: 'inline-block',\n  marginTop: 0,\n  marginBottom: \"var(--ds-space-050, 4px)\",\n  color: `var(--ds-text-subtle, ${N200})`,\n  fontFamily: fontFamily\n}]);\n\n/**\n * __Label__\n *\n * A label represents a caption for an item in a user interface.\n *\n * It's recommended that a label has a `4px` spacing above its associated\n * control element.\n */\nexport const Label = ({\n  children,\n  htmlFor,\n  id,\n  testId\n}) => jsx(\"label\", {\n  css: fieldsetLabelStyles,\n  id: id,\n  htmlFor: htmlFor,\n  \"data-testid\": testId\n}, children);\n\n/**\n * __Legend__\n *\n * A Legend represents a caption for a fieldset in a user interface.\n */\nexport const Legend = ({\n  children\n}) => {\n  return jsx(\"legend\", {\n    css: fieldsetLabelStyles\n  }, children);\n};\nexport default Label;","/** @jsx jsx */\nimport { css, jsx } from '@emotion/react';\nimport { R400 } from '@atlaskit/theme/colors';\nconst requiredIndicatorStyles = css({\n  color: `var(--ds-text-danger, ${R400})`,\n  fontFamily: \"var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Ubuntu, system-ui, \\\"Helvetica Neue\\\", sans-serif)\",\n  paddingInlineStart: \"var(--ds-space-025, 2px)\"\n});\nexport default function RequiredAsterisk() {\n  return jsx(\"span\", {\n    css: requiredIndicatorStyles,\n    \"aria-hidden\": \"true\",\n    title: \"required\"\n  }, \"*\");\n}","/** @jsx jsx */\nimport { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { uid } from 'react-uid';\nimport invariant from 'tiny-invariant';\nimport { FieldId } from './field-id-context';\nimport { FormContext, IsDisabledContext } from './form';\nimport { Label } from './label';\nimport RequiredAsterisk from './required-asterisk';\nconst fieldWrapperStyles = css({\n  marginBlockStart: \"var(--ds-space-100, 8px)\"\n});\nfunction isEvent(event) {\n  return Boolean(event && event.target);\n}\nfunction isFunction(x) {\n  return typeof x === 'function';\n}\nfunction usePreviousRef(current) {\n  const ref = useRef(current);\n\n  // will be updated on the next render\n  useEffect(() => {\n    ref.current = current;\n  });\n\n  // return the existing current (pre render)\n  return ref;\n}\nfunction isShallowEqual(previousValue, currentValue) {\n  if (previousValue === currentValue) {\n    return true;\n  }\n\n  // not checking functions\n  if (typeof previousValue === 'function' && typeof currentValue === 'function') {\n    return true;\n  }\n  if (Array.isArray(previousValue) && Array.isArray(currentValue)) {\n    return JSON.stringify(previousValue) === JSON.stringify(currentValue);\n  }\n  if (typeof previousValue === 'object' && typeof currentValue === 'object') {\n    return JSON.stringify(previousValue) === JSON.stringify(currentValue);\n  }\n  return false;\n}\nexport default function Field(props) {\n  var _getCurrentValue;\n  const {\n    registerField,\n    getCurrentValue\n  } = useContext(FormContext);\n  const isDisabled = useContext(IsDisabledContext) || props.isDisabled || false;\n  const defaultValue = isFunction(props.defaultValue) ? props.defaultValue() : props.defaultValue;\n  const latestPropsRef = usePreviousRef(props);\n\n  /**\n   * HACK: defaultValue can potentially be an array or object which cannot be\n   * passed directly into a `useEffect` dependency array, since it will trigger\n   * the hook every time.\n   */\n  const isDefaultValueChanged = !isShallowEqual(latestPropsRef.current.defaultValue, props.defaultValue);\n  const [state, setState] = useState({\n    fieldProps: {\n      onChange: () => {},\n      onBlur: () => {},\n      onFocus: () => {},\n      /* Previously, defaultValue was being set as undefined in Field.defaultProps, which\n       * effectively made it an optional prop to external consumers of Field. However the\n       * prop types defined defaultValue as required, so inside the component it was not\n       * valid for defaultValue to be undefined. We need to suppress the error\n       * after changing defaultValue to explictly be an optional prop.\n       * If default value has changed we are using new default value.\n       * Otherwise we need to check if we already have value for this field\n       * (because we are using changing key prop to re-run field level validation, and that\n       * cause the component re-mounting) to not override the actual value with the default value.\n       */\n      // @ts-ignore\n      value: isDefaultValueChanged ? defaultValue : (_getCurrentValue = getCurrentValue(props.name)) !== null && _getCurrentValue !== void 0 ? _getCurrentValue : defaultValue\n    },\n    error: undefined,\n    valid: false,\n    meta: {\n      dirty: false,\n      dirtySinceLastSubmit: false,\n      touched: false,\n      valid: false,\n      validating: false,\n      submitting: false,\n      submitFailed: false,\n      error: undefined,\n      submitError: undefined\n    }\n  });\n  const latestStateRef = usePreviousRef(state);\n  useEffect(() => {\n    if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production' && !process.env.CI) {\n      invariant(latestPropsRef.current.name, '@atlaskit/form: Field components have a required name prop');\n    }\n    function fieldStateToMeta(value = {}) {\n      return {\n        dirty: value.dirty || false,\n        dirtySinceLastSubmit: value.dirtySinceLastSubmit || false,\n        touched: value.touched || false,\n        valid: value.valid || false,\n        submitting: value.submitting || false,\n        submitFailed: value.submitFailed || false,\n        error: value.error,\n        submitError: value.submitError,\n        validating: !!value.validating\n      };\n    }\n    const unregister = registerField(latestPropsRef.current.name,\n    /**\n     * Similar as for setting initial state value.\n     * Additionally we are checking if the default value is a function,\n     * it is used in checkbox fields, where fields with same name and\n     * defaultIsChecked should create array of values. In this situation we can't\n     * override the default value on re-registering, but also we don't need to change\n     * the key prop to re-run validation.\n     */\n    // @ts-ignore\n    isDefaultValueChanged ||\n    // @ts-ignore\n    isFunction(latestPropsRef.current.defaultValue) ? latestPropsRef.current.defaultValue : latestStateRef.current.fieldProps.value, fieldState => {\n      /**\n       * Do not update dirtySinceLastSubmit until submission has finished.\n       */\n      const modifiedDirtySinceLastSubmit = fieldState.submitting ? latestStateRef.current.meta.dirtySinceLastSubmit : fieldState.dirtySinceLastSubmit;\n\n      /**\n       * Do not update submitFailed until submission has finished.\n       */\n      const modifiedSubmitFailed = fieldState.submitting ? latestStateRef.current.meta.submitFailed : fieldState.submitFailed;\n\n      /**\n       * Do not use submitError if the value has changed.\n       */\n      const modifiedSubmitError = modifiedDirtySinceLastSubmit && latestPropsRef.current.validate ? undefined : fieldState.submitError;\n      const modifiedError = modifiedSubmitError || (fieldState.touched || fieldState.dirty) && fieldState.error;\n\n      /**\n       * If there has been a submit error, then use logic in modifiedError to determine validity,\n       * so we can determine when there is a submit error which we do not want to display\n       * because the value has been changed.\n       */\n      const modifiedValid = modifiedSubmitFailed ? modifiedError === undefined : fieldState.valid;\n      function getTransform(eventOrValue, currentValue) {\n        if (latestPropsRef.current.transform) {\n          return latestPropsRef.current.transform(eventOrValue, currentValue);\n        }\n        if (isEvent(eventOrValue)) {\n          const {\n            currentTarget\n          } = eventOrValue;\n          if (currentTarget.type === 'checkbox') {\n            if (currentTarget.checked) {\n              return currentTarget.value || true;\n            }\n            return currentTarget.value ? undefined : false;\n          } else if (currentTarget) {\n            return currentTarget.value;\n          }\n        } else {\n          return eventOrValue;\n        }\n      }\n      setState({\n        fieldProps: {\n          onChange: e => {\n            fieldState.change(getTransform(e, fieldState.value));\n          },\n          onBlur: fieldState.blur,\n          onFocus: fieldState.focus,\n          value: fieldState.value\n        },\n        error: modifiedError || undefined,\n        /**\n         * The following parameters are optionally typed in final-form to indicate that not all parameters need\n         * to be subscribed to. We cast them as booleans (using || false), since this is what they are semantically.\n         */\n        valid: modifiedValid || false,\n        meta: fieldStateToMeta(fieldState)\n      });\n    }, {\n      dirty: true,\n      dirtySinceLastSubmit: true,\n      touched: true,\n      valid: true,\n      submitting: true,\n      submitFailed: true,\n      value: true,\n      error: true,\n      submitError: true,\n      validating: true\n    }, {\n      getValidator: () => function validate(value, formState, fieldState) {\n        const supplied = latestPropsRef.current.validate;\n        if (supplied && fieldState) {\n          return supplied(value, formState, fieldStateToMeta(fieldState));\n        }\n      }\n    });\n    return unregister;\n  }, [latestPropsRef, latestStateRef, registerField, props.name, isDefaultValueChanged]);\n  const fieldId = useMemo(\n  // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n  () => props.id ? props.id : `${props.name}-${uid({\n    id: props.name\n  })}`, [props.id, props.name]);\n  const getDescribedBy = () => {\n    let value = '';\n    if (state.error) {\n      value += `${fieldId}-error `;\n    }\n    if (state.valid) {\n      value += `${fieldId}-valid `;\n    }\n    return `${value}${fieldId}-helper`;\n  };\n  const extendedFieldProps = {\n    ...state.fieldProps,\n    name: props.name,\n    isDisabled,\n    isInvalid: Boolean(state.error),\n    isRequired: Boolean(props.isRequired),\n    'aria-invalid': state.error ? 'true' : 'false',\n    'aria-describedby': getDescribedBy(),\n    'aria-labelledby': `${fieldId}-label`,\n    id: fieldId\n  };\n  return jsx(\"div\", {\n    css: fieldWrapperStyles,\n    \"data-testid\": props.testId\n  }, props.label && jsx(Label, {\n    htmlFor: fieldId,\n    id: `${fieldId}-label`,\n    testId: props.testId && `${props.testId}--label`\n  }, props.label, props.isRequired && jsx(RequiredAsterisk, null), props.elementAfterLabel), jsx(FieldId.Provider, {\n    value: fieldId\n  }, props.children({\n    fieldProps: extendedFieldProps,\n    error: state.error,\n    valid: state.valid,\n    meta: state.meta\n  })));\n}","import { SitesType as StargateSitesType } from '@atlassiansox/asc-stargate';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\n\n/**\n * userInfo\n */\nexport type LabelsType = { [key: string]: string };\n\nexport type SitesType = StargateSitesType[] | null;\n\nexport type UserDataType = {\n  readonly isLoggedIn: boolean;\n  readonly email: string | null;\n  readonly fullName: string | null;\n  readonly firstName: string | undefined;\n  readonly sites: SitesType;\n  readonly isNewUser?: boolean | null;\n  readonly lastName: string | null;\n  readonly extendedTrialOverridableSites: string[] | null;\n  readonly picture: string | null;\n  readonly accountId: string | null;\n};\n\nexport type MigrationDataType = {\n  readonly migrationSourceUuid: string;\n  readonly migrationUserLimit: number;\n  readonly migrationUserType: string;\n  readonly migrationProductName: string;\n  readonly migrationSites: string[];\n  readonly invalidMigration: boolean;\n  readonly claimedMigration: boolean;\n};\n\nexport type ProductKeysType = {\n  product: string;\n  edition: string;\n  imgSource: string | undefined;\n  serverDownloadContent: string | undefined;\n  productContent: ProductType[] | undefined;\n};\n\n/**\n * Payload Types\n */\n\nexport type ProductPayloadType = {\n  readonly accountName: string;\n  readonly product: ProductKey;\n  readonly edition?: string;\n};\n\nexport type ProductPayloadActivateType = {\n  readonly accountName: string;\n  readonly productKey: ProductKey;\n  readonly edition?: string;\n};\n\n/**\n * Types for root-component props\n */\n\ntype LayoutType =\n  | 'default'\n  | 'standalone'\n  | 'standalone-v2'\n  | 'devops'\n  | 'devops-v2'\n  | 'devops-v2-standalone'\n  | 'first-impressions'\n  | 'first-impressions-v2'\n  | 'simple-signup';\n\nexport type ProductType = {\n  readonly productKey: string;\n  readonly productName: string;\n  readonly productLogoUrl?: string;\n  readonly productLogoWhiteUrl?: string;\n};\n\nexport type ProductDataType = {\n  readonly products: ProductType[];\n  readonly bundleProductKeys: string;\n  readonly iconSrc?: string;\n  readonly iconAlt?: string;\n  readonly calloutRichText?: string;\n};\n\nexport type LocaleType = {\n  readonly locale: string;\n  readonly localeRequiresMarketingCommunicationOptIn: boolean;\n};\n\n/**\n * WacSignupLayoutType\n *\n * @param allowEnableAutogenSiteName - enable/disable autogen site names\n * @param allowSignupWithGoogle - enable/disable Signup with Google\n * @param enableFreeBreachTest - enable/disable Free Breach (Test)\n * @param showSocialSignupForm - enable/disable social signup\n * @param socialContinueUrl - callback/continue URL for when user has completed social signing in\n * @param layout - type of layout to use (eg. 'standalone', 'default')\n * @param productOverride - supports the same values as the `product` query param, but overrides any parameters (or lack of param)\n * @param labels - Localized labels from provided externally (eg. Magnolia)\n * @param productData - Data (provided externally, eg. from Magnolia) on all existing products/bundles\n */\n\nexport type WacSignupLayoutType = {\n  readonly allowEnableAutogenSiteName: boolean;\n  readonly allowSignupWithGoogle: boolean;\n  readonly enableFreeBreachTest: boolean;\n  readonly showSocialSignupForm: boolean;\n  readonly socialContinueUrl: string;\n  readonly loadingImageSrc: string;\n  readonly errorImageSrc: string;\n  readonly productData: { [key: string]: ProductDataType };\n  readonly locale: LocaleType;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly labels: LabelsType;\n  readonly layout?: LayoutType;\n  readonly productOverride?: string;\n  readonly performanceStartTime?: number;\n  readonly siteRenamePageUrl?: string;\n  readonly enableSkipRecaptcha?: boolean;\n};\n\n/**\n * Component Types\n */\n\nexport type SideInfoOptionsType = {\n  readonly labels: LabelsType;\n  readonly productKeys: ProductKeysType[];\n  readonly userInfo?: UserDataType;\n  readonly formExistingSiteShown: boolean;\n  readonly isMigrationSignup?: boolean;\n  readonly migrationData?: MigrationDataType;\n  readonly analyticsTrack: AnalyticsTrackType;\n};\n\nexport type SignupOptionsType = {\n  readonly productKeys: ProductKeysType[];\n  readonly userInfo?: UserDataType;\n  readonly locale: LocaleType;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly enableFreeBreachTest: boolean;\n  readonly socialContinueUrl: string;\n  readonly allowEnableAutogenSiteName: boolean;\n  readonly setFormExistingSiteShown: (val: boolean) => void;\n  readonly isMigrationSignup?: boolean;\n  readonly migrationData?: MigrationDataType;\n  readonly allowSignupWithGoogle?: boolean;\n  readonly enableFieldProgression?: boolean;\n  readonly fadeOnDisable?: boolean;\n  readonly popOverError?: boolean;\n  readonly outlineOnFocus?: boolean;\n  readonly showWarningIcon?: boolean;\n  readonly hideCaptchaEula?: boolean;\n  readonly isSuiteSignup?: boolean;\n  readonly enableResendEmail?: boolean;\n  readonly enableCarouselEndCard?: boolean;\n  readonly siteRenamePageUrl: string;\n  readonly enableSkipRecaptcha?: boolean;\n  readonly hideGreeting?: boolean;\n};\n\nexport type SocialSignonButtonOptionsType = {\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly socialContinueUrl: string;\n  readonly isEmailSignupSelected?: boolean;\n  readonly setIsEmailSignupSelected?: (val: boolean) => void;\n};\n\nexport type SocialSignupOptionsType = {\n  readonly locale: LocaleType;\n  readonly userInfo?: UserDataType;\n  readonly productKeys: ProductKeysType[];\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly loadingImageSrc: string;\n  readonly errorImageSrc: string;\n  readonly showSocialSignupForm: boolean;\n  readonly children?: React.ReactNode;\n  readonly siteRenamePageUrl: string;\n};\n\nexport type HeaderDevopsOptionsType = {\n  readonly labels: LabelsType;\n  readonly productKeys: ProductKeysType[];\n  readonly formExistingSiteShown: boolean;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly userInfo?: UserDataType;\n};\n\nexport type SideInfoDevopsOptionsType = {\n  readonly labels: LabelsType;\n  readonly productKeys: ProductKeysType[];\n  readonly formExistingSiteShown: boolean;\n  readonly analyticsTrack: AnalyticsTrackType;\n};\n\n/**\n * Layout\n */\n\nexport type ContainerLayoutType = SideInfoOptionsType &\n  SignupOptionsType &\n  SocialSignupOptionsType &\n  SocialSignonButtonOptionsType &\n  HeaderDevopsOptionsType &\n  SideInfoDevopsOptionsType;\n\nexport type DevopsImageUrlsType = {\n  readonly sidebarImage: string;\n  readonly backgroundImage: string;\n  readonly envelopeN2N: string;\n  readonly successN2E: string;\n  readonly codeAwsJsw: string;\n};\n\n/**\n * Devops N2N form\n *\n */\nexport type FormDataN2N = {\n  readonly email: string;\n  readonly sitenameNew: string;\n  readonly fullName: string;\n  readonly password: string;\n  readonly marketingConsent?: boolean;\n};\n\nexport type FormDataN2E = {\n  readonly cloudName?: string;\n  readonly productsNew?: ProductPayloadType[];\n  readonly productsExisting?: ProductKey[];\n  readonly marketingConsent?: boolean;\n  readonly bbWorkspaceName?: string;\n};\n\nexport type ValidationStateType =\n  | 'validating'\n  | 'error'\n  | 'success'\n  | undefined;\n\nexport type N2NFieldsType = {\n  readonly email: boolean;\n  readonly password: boolean;\n  readonly fullName: boolean;\n  readonly sitenameNew: boolean;\n};\nexport type N2NDeferredPasswordFieldsType = {\n  readonly email: boolean;\n  readonly fullName: boolean;\n};\nexport type AuthenticationMethod = {\n  readonly type: AuthenticationMethodsType;\n  readonly redirect_to?: string;\n};\nexport enum AuthenticationMethodsType {\n  PASSWORD = 'password',\n  GOOGLE = 'google',\n  SAML = 'saml',\n  MICROSOFT = 'microsoft',\n  APPLE = 'apple',\n  SLACK = 'slack'\n}\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport Spinner from '@atlaskit/spinner';\nimport CheckCircleOutlineIcon from '@atlaskit/icon/glyph/check-circle-outline';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport { ValidationStateType } from '../../types';\n\ntype IconValidationType = {\n  readonly validationState?: ValidationStateType;\n};\n\nexport const IconValidation = React.memo(\n  ({ validationState }: IconValidationType) => {\n    function RenderIcon() {\n      switch (validationState) {\n        case 'validating':\n          return (\n            <SpinnerWrapper>\n              <Spinner size=\"small\" />\n            </SpinnerWrapper>\n          );\n        case 'error':\n          return <WarningIcon label=\"error\" primaryColor=\"#DE350B\" />;\n        case 'success':\n          return (\n            <CheckCircleOutlineIcon label=\"success\" primaryColor=\"#36B37E\" />\n          );\n        default:\n          return null;\n      }\n    }\n\n    return (\n      <IconValidationWrapper>\n        <RenderIcon />\n      </IconValidationWrapper>\n    );\n  }\n);\n\nconst IconValidationWrapper = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 16px;\n  -webkit-box-align: center;\n  align-items: center;\n\n  svg {\n    margin-bottom: 0px;\n  }\n`;\n\nconst spinnerWidth = '20px';\nconst SpinnerWrapper = styled.div`\n  position: relative;\n  display: block;\n\n  div {\n    width: ${spinnerWidth};\n    height: ${spinnerWidth};\n  }\n  span {\n    display: inline-block;\n    padding: 0;\n    margin: 0;\n    min-width: ${spinnerWidth};\n    width: ${spinnerWidth};\n    height: ${spinnerWidth};\n    transform-origin: 50% 50%;\n  }\n  svg {\n    padding: 0;\n    margin: 0;\n    width: ${spinnerWidth};\n    height: ${spinnerWidth};\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { Field } from '@atlaskit/form';\nimport TextField from '@atlaskit/textfield';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport debounce from 'lodash.debounce';\nimport React, { useState } from 'react';\nimport { metalClient } from '../../../../metrics';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport {\n  updateN2NDeferredPasswordFieldProgressEmail,\n  updateN2NDeferredPasswordFieldValidationEmail,\n  useAppDispatch,\n  useAppSelector\n} from '../../../../redux';\nimport { AuthenticationMethod, AuthenticationMethodsType } from '../../types';\nimport { FieldType } from '../model';\nimport { ErrorMessage, FieldWrapper } from '../styled';\nimport { IconValidation } from './icon-validation';\n\nexport function InputEmail() {\n  const { intl, signInAccountUrl } = useDevopsState();\n  const dispatch = useAppDispatch();\n  const validationState = useAppSelector(\n    ({ n2nFieldValidation: { email } }) => email\n  );\n  const stargateClient = useStargateClient();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const [hasFocus, setHasFocus] = useState(false);\n  const [validationMessage, setValidationMessage] = useState<any>();\n  const emailMatch =\n    /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n  const emailExistsAnalytics = () => {\n    createAnalyticsEvent({\n      eventName: 'wac-signup-existing-user-signin',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n  };\n\n  async function checkEmailSso(email: string) {\n    const emailCheck = await stargateClient.checkAuthenticationMethodsAvailable(\n      { email, successRedirect: window.location.href, webPlatform: 'magnolia' }\n    );\n    const isSaml = emailCheck.methods.some((method: AuthenticationMethod) => {\n      return (\n        method.type === AuthenticationMethodsType.SAML ||\n        method.type === AuthenticationMethodsType.GOOGLE\n      );\n    });\n    const containsPassword = emailCheck.methods.some(\n      (method: AuthenticationMethod) => {\n        return method.type === AuthenticationMethodsType.PASSWORD;\n      }\n    );\n\n    // new or existing user sign in via redirect to sso or google\n    if (isSaml && !containsPassword) {\n      const redirectUrls = emailCheck.methods\n        .filter((method: AuthenticationMethod) => {\n          if (\n            (method.type === AuthenticationMethodsType.SAML ||\n              method.type === AuthenticationMethodsType.GOOGLE) &&\n            method.redirect_to !== undefined\n          ) {\n            return method.redirect_to;\n          }\n          return;\n        })\n        .map((i) => i.redirect_to);\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('error'));\n      metalClient.error.submit({\n        name: catalog.error.INPUT,\n        page: 'sign-up-layout-devops',\n        component: 'devops-input-email'\n      });\n      setValidationMessage(\n        <div onClick={emailExistsAnalytics}>\n          <SanitizedFormattedHtmlMessage\n            {...messages.errorSsoInUse}\n            values={{\n              signInAccountUrl: redirectUrls[0]\n            }}\n          />\n        </div>\n      );\n      // existing user, sign in via redirect to identity\n      // @ts-ignore (removal requires updated asc-stargate type)\n    } else if (containsPassword && emailCheck.userExists === true) {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('error'));\n      metalClient.error.submit({\n        name: catalog.error.INPUT,\n        page: 'sign-up-layout-devops',\n        component: 'devops-input-email'\n      });\n      setValidationMessage(\n        <div onClick={emailExistsAnalytics}>\n          <SanitizedFormattedHtmlMessage\n            {...messages.errorEmailInUse}\n            values={{\n              signInAccountUrl\n            }}\n          />\n        </div>\n      );\n      // user doesnt exist, sign up normally\n    } else {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('success'));\n      dispatch(updateN2NDeferredPasswordFieldProgressEmail(true));\n      setValidationMessage(undefined);\n    }\n    return undefined;\n  }\n\n  const checkEmailAsyncDebounced = debounce(\n    async (value: string) => {\n      return checkEmailSso(value);\n    },\n    750,\n    { trailing: true }\n  );\n\n  async function validateEmail(value: string) {\n    if (!hasFocus) {\n      return;\n    }\n    const emailPart = (value || '').split('@');\n    if (value.length === 0) {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail(undefined));\n      setValidationMessage(undefined);\n      return;\n    }\n    if (\n      (emailPart[0] || '').length > 64 ||\n      (emailPart[1] || '').length > 253 ||\n      !emailMatch.test(value)\n    ) {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('error'));\n      setValidationMessage(\n        <SanitizedFormattedHtmlMessage {...messages.errorEmailInvalid} />\n      );\n      return;\n    }\n    dispatch(updateN2NDeferredPasswordFieldValidationEmail('validating'));\n    void checkEmailAsyncDebounced(value);\n  }\n\n  return (\n    <Field\n      name=\"email\"\n      defaultValue=\"\"\n      label={intl.formatMessage(messages.inputLabelEmail)}\n      validate={validateEmail}\n      isRequired\n      isDisabled={false}\n    >\n      {({ fieldProps }: FieldType) => {\n        return (\n          <FieldWrapper\n            validationState={validationState}\n            isDisabled={fieldProps.isDisabled}\n          >\n            <TextField\n              {...fieldProps}\n              autoComplete=\"email\"\n              data-testid=\"devops-input-email\"\n              onFocus={() => setHasFocus(true)}\n              onBlur={() => setHasFocus(false)}\n              elemAfterInput={\n                <IconValidation validationState={validationState} />\n              }\n            />\n\n            {validationMessage && (\n              <ErrorMessage>{validationMessage}</ErrorMessage>\n            )}\n          </FieldWrapper>\n        );\n      }}\n    </Field>\n  );\n}\n","import React, { useState } from 'react';\nimport { Field } from '@atlaskit/form';\nimport TextField from '@atlaskit/textfield';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport { metalClient } from '../../../../metrics';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { ErrorMessage, FieldWrapper } from '../styled';\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateN2NDeferredPasswordFieldProgressFullName,\n  updateN2NDeferredPasswordFieldValidationFullName\n} from '../../../../redux';\n\nexport function InputName() {\n  const { intl } = useDevopsState();\n  const dispatch = useAppDispatch();\n\n  const validationStateFullName = useAppSelector(\n    ({ n2nDeferredPasswordFieldValidation: { fullName } }) => fullName\n  );\n\n  const [hasFocusFullName, setHasFocusFullName] = useState(false);\n  const nonValidNamePattern =\n    /((http(s)?|ftp|callto|mailto|skype|magnet):)|www\\.|:\\/\\/|@|\\$|^\\s+$/i;\n\n  function validateFullName(value: string) {\n    if (!hasFocusFullName) {\n      return undefined;\n    }\n    const isValid = !nonValidNamePattern.exec(value) && value.length <= 255;\n    if (value.length === 0) {\n      dispatch(updateN2NDeferredPasswordFieldValidationFullName(undefined));\n      return undefined;\n    }\n    if (isValid) {\n      dispatch(updateN2NDeferredPasswordFieldValidationFullName('success'));\n      dispatch(updateN2NDeferredPasswordFieldProgressFullName(true));\n      return undefined;\n    } else {\n      dispatch(updateN2NDeferredPasswordFieldValidationFullName('error'));\n      metalClient.error.submit({\n        name: catalog.error.INPUT,\n        page: 'sign-up-layout-devops',\n        component: 'devops-input-fullname'\n      });\n      return 'Invalid Name';\n    }\n  }\n\n  return (\n    <FieldWrapper>\n      <Field\n        name=\"fullName\"\n        defaultValue=\"\"\n        label={intl.formatMessage(messages.inputLabelFullName)}\n        validate={validateFullName}\n        isRequired\n        isDisabled={false}\n      >\n        {({ fieldProps }: any) => {\n          return (\n            <FieldWrapper\n              validationState={validationStateFullName}\n              isDisabled={fieldProps.isDisabled}\n            >\n              <TextField\n                {...fieldProps}\n                data-testid=\"devops-input-fullname\"\n                onFocus={() => setHasFocusFullName(true)}\n                onBlur={() => setHasFocusFullName(false)}\n              />\n            </FieldWrapper>\n          );\n        }}\n      </Field>\n\n      {validationStateFullName === 'error' && (\n        <ErrorMessage>\n          <SanitizedFormattedHtmlMessage {...messages.errorName} />\n        </ErrorMessage>\n      )}\n    </FieldWrapper>\n  );\n}\n","import { Field } from '@atlaskit/form';\nimport TextField from '@atlaskit/textfield';\nimport { B300, B400, N0, N50, N500, N800 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessageProps } from '@atlassiansox/bxpkit-core';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport styled from '@emotion/styled';\nimport debounce from 'lodash.debounce';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { metalClient } from '../../../../metrics';\nimport {\n  updateLoggedInFormDataProducts,\n  updateLoggedInFormInput,\n  updateLoggedInFormValid,\n  useAppDispatch,\n  useAppSelector\n} from '../../../../redux';\nimport { TooltipIcon } from '../../../legacy/view/sign-up-form/Icons/tooltip-icon';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { ValidationStateType } from '../../types';\nimport { buildDevopsProduct, getSiteDomain } from '../../utility';\nimport { FieldType } from '../model';\nimport { fontCharlieText } from '../styled';\nimport { ErrorMessage, FieldWrapper } from '../styled';\nimport { IconValidation } from './icon-validation';\n\nexport function InputSitename() {\n  const { intl, userInfo } = useDevopsState();\n  const dispatch = useAppDispatch();\n  const [isSitenameNew, setIsSitenameNew] = useState(true);\n  const [hasFocus, setHasFocus] = useState(false);\n  const stargateClient = useStargateClient();\n  const validSitename = /^[a-z0-9]+[a-z0-9-]+[a-z0-9]+$/;\n\n  const [inputValue, setInputValue] = useState('');\n  const sites = userInfo?.sites || [];\n  const showSiteNameToggle = sites?.length > 0;\n  const siteDomain = getSiteDomain();\n  const [validationState, setValidationState] = useState<ValidationStateType>();\n  const [validationMessage, setValidationMessage] = useState<\n    undefined | SanitizedFormattedHtmlMessageProps\n  >();\n  const { bbWorkspaceName } = useAppSelector(\n    ({ loggedInFormData }) => loggedInFormData\n  );\n\n  useEffect(() => {\n    if (inputValue === '') {\n      checkSitenameNewAsyncDebounced.cancel();\n      setValidationMessage(undefined);\n      setValidationState(undefined);\n    } else {\n      setHasFocus(true);\n      void validateSitename(inputValue);\n    }\n  }, [inputValue]);\n\n  useEffect(() => {\n    if (\n      userInfo !== undefined &&\n      userInfo.sites !== null &&\n      userInfo.sites.length === 1\n    ) {\n      setIsSitenameNew(false);\n      setHasFocus(true);\n      setInputValue(userInfo.sites[0].displayName);\n    }\n  }, [userInfo]);\n\n  useEffect(() => {\n    if (isSitenameNew) {\n      setInputValue('');\n      setValidationMessage(undefined);\n      setValidationState(undefined);\n      dispatch(updateLoggedInFormValid(false));\n    } else {\n      if (\n        userInfo !== undefined &&\n        userInfo.sites !== null &&\n        userInfo.sites.length === 1\n      ) {\n        setHasFocus(true);\n        setInputValue(userInfo.sites[0].displayName);\n      }\n    }\n  }, [isSitenameNew]);\n\n  const checkSitenameNewAsyncDebounced = useMemo(\n    () =>\n      debounce(\n        async (value: string) => {\n          let breachStatus = false;\n          const existingWorkspace = !!bbWorkspaceName;\n          let siteNameCheck;\n          const shouldNotValidateExisting =\n            value !== (userInfo?.sites || [])[0]?.displayName;\n          if (shouldNotValidateExisting) {\n            siteNameCheck = await stargateClient.checkCloudNameAvailability({\n              cloudName: value,\n              webPlatform: 'magnolia'\n            });\n          }\n\n          if (!isSitenameNew) {\n            const selectedSite = sites[0];\n            const breachCheck = await Promise.all(\n              selectedSite.products.map(async (product) => {\n                const status = await stargateClient.postExpandFreeValidation({\n                  cloudId: selectedSite?.cloudId,\n                  productKeys: [product]\n                });\n                return status.isInBreachOfFree;\n              })\n            );\n            breachStatus = breachCheck.includes(true);\n          }\n\n          if (\n            siteNameCheck?.availability !== 'AVAILABLE' &&\n            isSitenameNew &&\n            shouldNotValidateExisting\n          ) {\n            dispatch(updateLoggedInFormValid(false));\n            setValidationState('error');\n            setValidationMessage(messages.errorSitenameUnavailable);\n            metalClient.error.submit({\n              name: catalog.error.INPUT,\n              page: 'sign-up-layout-devops',\n              component: 'devops-input-sitename'\n            });\n            return 'error';\n          } else {\n            const selectedSite = !shouldNotValidateExisting\n              ? sites[0]\n              : undefined;\n            const { productsNew, productsExisting } = buildDevopsProduct({\n              cloudName: value,\n              breachStatus,\n              existingWorkspace,\n              selectedSite\n            });\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName: value,\n                productsNew,\n                productsExisting\n              })\n            );\n            dispatch(updateLoggedInFormValid(true));\n            setValidationState('success');\n          }\n          return undefined;\n        },\n        750,\n        { trailing: true }\n      ),\n    []\n  );\n\n  async function validateSitename(value: string) {\n    if (!hasFocus) {\n      return undefined;\n    }\n\n    setValidationMessage(undefined);\n    if (value.length === 0) {\n      setValidationState(undefined);\n      dispatch(updateLoggedInFormValid(false));\n      return undefined;\n    }\n    if (!validSitename.test(value) || (value.length > 0 && value.length < 3)) {\n      setValidationState('error');\n      dispatch(updateLoggedInFormValid(false));\n      setValidationMessage(messages.errorSitenameInvalid);\n      return 'error';\n    }\n    setValidationState('validating');\n    return checkSitenameNewAsyncDebounced(value);\n  }\n\n  function SiteNameToggle() {\n    switch (isSitenameNew) {\n      case true:\n        return (\n          <SanitizedFormattedHtmlMessage\n            {...messages.inputToggleSitenameExisting}\n          />\n        );\n      default:\n        return (\n          <SanitizedFormattedHtmlMessage {...messages.inputToggleSitenameNew} />\n        );\n    }\n  }\n  const handleInputChange = (event: { target: HTMLInputElement }) => {\n    setInputValue(event?.target?.value);\n  };\n\n  const toolTipContainer = (\n    <ToolTipContainer>\n      <DomainToolTip data-testid=\"domain-tool-tip\">\n        <TooltipIcon fillColor={N50} />\n      </DomainToolTip>\n      <ToolTipText className=\"domain-name-tooltip-trigger\">\n        {intl.formatMessage(messages.errorSitenameInvalid)}\n      </ToolTipText>\n    </ToolTipContainer>\n  );\n\n  const labelAndToolTip = (\n    <LabelContainer>\n      <div>{intl.formatMessage(messages.inputLabelSitenameNew)}</div>\n      {toolTipContainer}\n    </LabelContainer>\n  );\n\n  return (\n    <StyledField>\n      <Field\n        name=\"sitenameNew\"\n        defaultValue=\"\"\n        label={labelAndToolTip}\n        isRequired\n        isDisabled={!isSitenameNew}\n      >\n        {({ fieldProps }: FieldType) => {\n          return (\n            <FieldWrapper\n              validationState={validationState}\n              isDisabled={fieldProps.isDisabled}\n            >\n              <TextField\n                {...fieldProps}\n                onFocus={() => setHasFocus(true)}\n                onBlur={() => setHasFocus(false)}\n                data-testid=\"devops-input-sitename\"\n                elemAfterInput={\n                  <SiteNameAfter>\n                    <SiteNameAfterLabel>{siteDomain}</SiteNameAfterLabel>\n                    <IconValidation validationState={validationState} />\n                  </SiteNameAfter>\n                }\n                onChange={handleInputChange}\n                value={inputValue}\n              />\n\n              {validationMessage && (\n                <ErrorMessage data-testid=\"error-message\">\n                  <SanitizedFormattedHtmlMessage {...validationMessage} />\n                </ErrorMessage>\n              )}\n            </FieldWrapper>\n          );\n        }}\n      </Field>\n      {showSiteNameToggle && (\n        <SitenameToggleWrapper\n          onClick={() => {\n            // if there is more than 1 site input should switch to drop down\n            if (userInfo && sites?.length > 1) {\n              dispatch(updateLoggedInFormInput(false));\n            } else {\n              setIsSitenameNew(!isSitenameNew);\n            }\n          }}\n        >\n          <SiteNameToggle />\n        </SitenameToggleWrapper>\n      )}\n      <SitenameDescription>\n        <SanitizedFormattedHtmlMessage\n          {...messages.inputDescriptionSitenameNew}\n        />\n      </SitenameDescription>\n    </StyledField>\n  );\n}\nconst StyledField = styled.div`\n  label {\n    width: 100%;\n  }\n`;\nconst LabelContainer = styled.div`\n  display: flex;\n  justify-content: space-between;\n`;\nconst SitenameToggleWrapper = styled.div`\n  font-family: ${fontCharlieText};\n  display: block;\n  font-size: 12px;\n  line-height: 16px;\n  color: ${B300};\n  vertical-align: middle;\n  margin: 0 0 16px 0;\n  font-weight: 500;\n  cursor: pointer;\n`;\n\nconst SitenameDescription = styled.div`\n  color: ${N500};\n  font-weight: 400;\n  font-size: 12px;\n  margin: 3px 0px;\n`;\nconst SiteNameAfterLabel = styled.span`\n  font-size: 14px !important;\n  white-space: nowrap;\n  padding-right: 8px;\n`;\nconst SiteNameAfter = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 16px;\n  align-items: center;\n  justify-content: flex-end;\n  width: auto;\n  color: #7a869a;\n  font-weight: 400;\n  svg {\n    margin-bottom: 0px;\n  }\n  span {\n    display: flex;\n    align-items: center;\n    min-width: 24px;\n  }\n`;\nconst ToolTipContainer = styled.div`\n  position: relative;\n  z-index: 11;\n  display: none;\n  @supports (display: grid) {\n    display: flex;\n    align-items: center;\n  }\n  :hover {\n    .domain-name-tooltip-trigger {\n      display: block;\n    }\n    path {\n      fill: ${B400};\n    }\n  }\n`;\nconst DomainToolTip = styled.div`\n  cursor: pointer;\n  margin: 0 6px;\n  border-radius: 3px;\n  svg {\n    height: 14px;\n    width: 14px;\n  }\n`;\nconst ToolTipText = styled.div`\n  display: none;\n  background: ${N0};\n  border: 1px solid ${B400};\n  border-radius: 2px;\n  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);\n  color: ${N800};\n  font-family: inherit;\n  font-size: 0.875rem;\n  font-weight: 400;\n  line-height: 1.42857143;\n  padding: 12px;\n  z-index: 1;\n  position: absolute;\n  right: 6px;\n  top: 35px;\n  width: 298px;\n  span {\n    display: block !important;\n  }\n`;\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = objectWithoutPropertiesLoose(source, excluded);\n  var key, i;\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n  return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","export default function _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n  return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n  var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n  if (null != _i) {\n    var _s,\n      _e,\n      _x,\n      _r,\n      _arr = [],\n      _n = !0,\n      _d = !1;\n    try {\n      if (_x = (_i = _i.call(arr)).next, 0 === i) {\n        if (Object(_i) !== _i) return;\n        _n = !1;\n      } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n    } catch (err) {\n      _d = !0, _e = err;\n    } finally {\n      try {\n        if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n      } finally {\n        if (_d) throw _e;\n      }\n    }\n    return _arr;\n  }\n}","export default function _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n  return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n    return typeof obj;\n  } : function (obj) {\n    return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n  }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n  var key = toPrimitive(arg, \"string\");\n  return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n  if (_typeof(input) !== \"object\" || input === null) return input;\n  var prim = input[Symbol.toPrimitive];\n  if (prim !== undefined) {\n    var res = prim.call(input, hint || \"default\");\n    if (_typeof(res) !== \"object\") return res;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n  key = toPropertyKey(key);\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}","export default function _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n  }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  Object.defineProperty(Constructor, \"prototype\", {\n    writable: false\n  });\n  return Constructor;\n}","export default function _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n  return self;\n}","export default function _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n  return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  Object.defineProperty(subClass, \"prototype\", {\n    writable: false\n  });\n  if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  } else if (call !== void 0) {\n    throw new TypeError(\"Derived constructors may only return object or undefined\");\n  }\n  return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}","var safeIsNaN = Number.isNaN ||\n    function ponyfill(value) {\n        return typeof value === 'number' && value !== value;\n    };\nfunction isEqual(first, second) {\n    if (first === second) {\n        return true;\n    }\n    if (safeIsNaN(first) && safeIsNaN(second)) {\n        return true;\n    }\n    return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n    if (newInputs.length !== lastInputs.length) {\n        return false;\n    }\n    for (var i = 0; i < newInputs.length; i++) {\n        if (!isEqual(newInputs[i], lastInputs[i])) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n    if (isEqual === void 0) { isEqual = areInputsEqual; }\n    var lastThis;\n    var lastArgs = [];\n    var lastResult;\n    var calledOnce = false;\n    function memoized() {\n        var newArgs = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            newArgs[_i] = arguments[_i];\n        }\n        if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n            return lastResult;\n        }\n        lastResult = resultFn.apply(this, newArgs);\n        calledOnce = true;\n        lastThis = this;\n        lastArgs = newArgs;\n        return lastResult;\n    }\n    return memoized;\n}\n\nexport default memoizeOne;\n","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport { Component, createContext } from 'react';\nimport { jsx, keyframes, ClassNames } from '@emotion/core';\nimport { createPortal } from 'react-dom';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _css from '@emotion/css';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport AutosizeInput from 'react-input-autosize';\n\n// ==============================\n// NO OP\n// ==============================\nvar noop = function noop() {};\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n   @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n   @returns 'react-select__comp react-select__comp--some'\n*/\n\nfunction applyPrefixToName(prefix, name) {\n  if (!name) {\n    return prefix;\n  } else if (name[0] === '-') {\n    return prefix + name;\n  } else {\n    return prefix + '__' + name;\n  }\n}\n\nfunction classNames(prefix, state, className) {\n  var arr = [className];\n\n  if (state && prefix) {\n    for (var key in state) {\n      if (state.hasOwnProperty(key) && state[key]) {\n        arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n      }\n    }\n  }\n\n  return arr.filter(function (i) {\n    return i;\n  }).map(function (i) {\n    return String(i).trim();\n  }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n  if (Array.isArray(value)) return value.filter(Boolean);\n  if (_typeof(value) === 'object' && value !== null) return [value];\n  return [];\n}; // ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n  if (onInputChange) {\n    var newValue = onInputChange(inputValue, actionMeta);\n    if (typeof newValue === 'string') return newValue;\n  }\n\n  return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n  return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\nfunction getScrollTop(el) {\n  if (isDocumentElement(el)) {\n    return window.pageYOffset;\n  }\n\n  return el.scrollTop;\n}\nfunction scrollTo(el, top) {\n  // with a scroll distance, we perform scroll on the element\n  if (isDocumentElement(el)) {\n    window.scrollTo(0, top);\n    return;\n  }\n\n  el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n  var style = getComputedStyle(element);\n  var excludeStaticParent = style.position === 'absolute';\n  var overflowRx = /(auto|scroll)/;\n  var docEl = document.documentElement; // suck it, flow...\n\n  if (style.position === 'fixed') return docEl;\n\n  for (var parent = element; parent = parent.parentElement;) {\n    style = getComputedStyle(parent);\n\n    if (excludeStaticParent && style.position === 'static') {\n      continue;\n    }\n\n    if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n      return parent;\n    }\n  }\n\n  return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n  @param t: time (elapsed)\n  @param b: initial value\n  @param c: amount of change\n  @param d: duration\n*/\n\nfunction easeOutCubic(t, b, c, d) {\n  return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n  var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n  var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n  var start = getScrollTop(element);\n  var change = to - start;\n  var increment = 10;\n  var currentTime = 0;\n\n  function animateScroll() {\n    currentTime += increment;\n    var val = easeOutCubic(currentTime, start, change, duration);\n    scrollTo(element, val);\n\n    if (currentTime < duration) {\n      window.requestAnimationFrame(animateScroll);\n    } else {\n      callback(element);\n    }\n  }\n\n  animateScroll();\n} // Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n  var menuRect = menuEl.getBoundingClientRect();\n  var focusedRect = focusedEl.getBoundingClientRect();\n  var overScroll = focusedEl.offsetHeight / 3;\n\n  if (focusedRect.bottom + overScroll > menuRect.bottom) {\n    scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n  } else if (focusedRect.top - overScroll < menuRect.top) {\n    scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n  }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\nfunction getBoundingClientObj(element) {\n  var rect = element.getBoundingClientRect();\n  return {\n    bottom: rect.bottom,\n    height: rect.height,\n    left: rect.left,\n    right: rect.right,\n    top: rect.top,\n    width: rect.width\n  };\n}\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n  try {\n    document.createEvent('TouchEvent');\n    return true;\n  } catch (e) {\n    return false;\n  }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n  try {\n    return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n  } catch (e) {\n    return false;\n  }\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nfunction getMenuPlacement(_ref) {\n  var maxHeight = _ref.maxHeight,\n      menuEl = _ref.menuEl,\n      minHeight = _ref.minHeight,\n      placement = _ref.placement,\n      shouldScroll = _ref.shouldScroll,\n      isFixedPosition = _ref.isFixedPosition,\n      theme = _ref.theme;\n  var spacing = theme.spacing;\n  var scrollParent = getScrollParent(menuEl);\n  var defaultState = {\n    placement: 'bottom',\n    maxHeight: maxHeight\n  }; // something went wrong, return default state\n\n  if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n  // the menu is rendered\n\n  var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n      scrollHeight = _scrollParent$getBoun.height;\n\n  var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n      menuBottom = _menuEl$getBoundingCl.bottom,\n      menuHeight = _menuEl$getBoundingCl.height,\n      menuTop = _menuEl$getBoundingCl.top;\n\n  var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n      containerTop = _menuEl$offsetParent$.top;\n\n  var viewHeight = window.innerHeight;\n  var scrollTop = getScrollTop(scrollParent);\n  var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n  var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n  var viewSpaceAbove = containerTop - marginTop;\n  var viewSpaceBelow = viewHeight - menuTop;\n  var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n  var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n  var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n  var scrollUp = scrollTop + menuTop - marginTop;\n  var scrollDuration = 160;\n\n  switch (placement) {\n    case 'auto':\n    case 'bottom':\n      // 1: the menu will fit, do nothing\n      if (viewSpaceBelow >= menuHeight) {\n        return {\n          placement: 'bottom',\n          maxHeight: maxHeight\n        };\n      } // 2: the menu will fit, if scrolled\n\n\n      if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n        }\n\n        return {\n          placement: 'bottom',\n          maxHeight: maxHeight\n        };\n      } // 3: the menu will fit, if constrained\n\n\n      if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n        } // we want to provide as much of the menu as possible to the user,\n        // so give them whatever is available below rather than the minHeight.\n\n\n        var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n        return {\n          placement: 'bottom',\n          maxHeight: constrainedHeight\n        };\n      } // 4. Forked beviour when there isn't enough space below\n      // AUTO: flip the menu, render above\n\n\n      if (placement === 'auto' || isFixedPosition) {\n        // may need to be constrained after flipping\n        var _constrainedHeight = maxHeight;\n        var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n        if (spaceAbove >= minHeight) {\n          _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n        }\n\n        return {\n          placement: 'top',\n          maxHeight: _constrainedHeight\n        };\n      } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n      if (placement === 'bottom') {\n        scrollTo(scrollParent, scrollDown);\n        return {\n          placement: 'bottom',\n          maxHeight: maxHeight\n        };\n      }\n\n      break;\n\n    case 'top':\n      // 1: the menu will fit, do nothing\n      if (viewSpaceAbove >= menuHeight) {\n        return {\n          placement: 'top',\n          maxHeight: maxHeight\n        };\n      } // 2: the menu will fit, if scrolled\n\n\n      if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n        }\n\n        return {\n          placement: 'top',\n          maxHeight: maxHeight\n        };\n      } // 3: the menu will fit, if constrained\n\n\n      if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n        var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n        // so give them whatever is available below rather than the minHeight.\n\n        if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n          _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n        }\n\n        if (shouldScroll) {\n          animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n        }\n\n        return {\n          placement: 'top',\n          maxHeight: _constrainedHeight2\n        };\n      } // 4. not enough space, the browser WILL NOT increase scrollable area when\n      // absolutely positioned element rendered above the viewport (only below).\n      // Flip the menu, render below\n\n\n      return {\n        placement: 'bottom',\n        maxHeight: maxHeight\n      };\n\n    default:\n      throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n  } // fulfil contract with flow: implicit return value of undefined\n\n\n  return defaultState;\n} // Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n  var placementToCSSProp = {\n    bottom: 'top',\n    top: 'bottom'\n  };\n  return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n  return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n  var _ref3;\n\n  var placement = _ref2.placement,\n      _ref2$theme = _ref2.theme,\n      borderRadius = _ref2$theme.borderRadius,\n      spacing = _ref2$theme.spacing,\n      colors = _ref2$theme.colors;\n  return _ref3 = {\n    label: 'menu'\n  }, _defineProperty(_ref3, alignToControl(placement), '100%'), _defineProperty(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty(_ref3, \"borderRadius\", borderRadius), _defineProperty(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty(_ref3, \"position\", 'absolute'), _defineProperty(_ref3, \"width\", '100%'), _defineProperty(_ref3, \"zIndex\", 1), _ref3;\n};\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n  getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n  _inherits(MenuPlacer, _Component);\n\n  var _super = _createSuper(MenuPlacer);\n\n  function MenuPlacer() {\n    var _this;\n\n    _classCallCheck(this, MenuPlacer);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n    _this.state = {\n      maxHeight: _this.props.maxMenuHeight,\n      placement: null\n    };\n\n    _this.getPlacement = function (ref) {\n      var _this$props = _this.props,\n          minMenuHeight = _this$props.minMenuHeight,\n          maxMenuHeight = _this$props.maxMenuHeight,\n          menuPlacement = _this$props.menuPlacement,\n          menuPosition = _this$props.menuPosition,\n          menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n          theme = _this$props.theme;\n      if (!ref) return; // DO NOT scroll if position is fixed\n\n      var isFixedPosition = menuPosition === 'fixed';\n      var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n      var state = getMenuPlacement({\n        maxHeight: maxMenuHeight,\n        menuEl: ref,\n        minHeight: minMenuHeight,\n        placement: menuPlacement,\n        shouldScroll: shouldScroll,\n        isFixedPosition: isFixedPosition,\n        theme: theme\n      });\n      var getPortalPlacement = _this.context.getPortalPlacement;\n      if (getPortalPlacement) getPortalPlacement(state);\n\n      _this.setState(state);\n    };\n\n    _this.getUpdatedProps = function () {\n      var menuPlacement = _this.props.menuPlacement;\n      var placement = _this.state.placement || coercePlacement(menuPlacement);\n      return _objectSpread(_objectSpread({}, _this.props), {}, {\n        placement: placement,\n        maxHeight: _this.state.maxHeight\n      });\n    };\n\n    return _this;\n  }\n\n  _createClass(MenuPlacer, [{\n    key: \"render\",\n    value: function render() {\n      var children = this.props.children;\n      return children({\n        ref: this.getPlacement,\n        placerProps: this.getUpdatedProps()\n      });\n    }\n  }]);\n\n  return MenuPlacer;\n}(Component);\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerRef = props.innerRef,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({\n    css: getStyles('menu', props),\n    className: cx({\n      menu: true\n    }, className)\n  }, innerProps, {\n    ref: innerRef\n  }), children);\n};\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref4) {\n  var maxHeight = _ref4.maxHeight,\n      baseUnit = _ref4.theme.spacing.baseUnit;\n  return {\n    maxHeight: maxHeight,\n    overflowY: 'auto',\n    paddingBottom: baseUnit,\n    paddingTop: baseUnit,\n    position: 'relative',\n    // required for offset[Height, Top] > keyboard scroll\n    WebkitOverflowScrolling: 'touch'\n  };\n};\nvar MenuList = function MenuList(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      isMulti = props.isMulti,\n      innerRef = props.innerRef,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({\n    css: getStyles('menuList', props),\n    className: cx({\n      'menu-list': true,\n      'menu-list--is-multi': isMulti\n    }, className),\n    ref: innerRef\n  }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref5) {\n  var _ref5$theme = _ref5.theme,\n      baseUnit = _ref5$theme.spacing.baseUnit,\n      colors = _ref5$theme.colors;\n  return {\n    color: colors.neutral40,\n    padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n    textAlign: 'center'\n  };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({\n    css: getStyles('noOptionsMessage', props),\n    className: cx({\n      'menu-notice': true,\n      'menu-notice--no-options': true\n    }, className)\n  }, innerProps), children);\n};\nNoOptionsMessage.defaultProps = {\n  children: 'No options'\n};\nvar LoadingMessage = function LoadingMessage(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({\n    css: getStyles('loadingMessage', props),\n    className: cx({\n      'menu-notice': true,\n      'menu-notice--loading': true\n    }, className)\n  }, innerProps), children);\n};\nLoadingMessage.defaultProps = {\n  children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n  var rect = _ref6.rect,\n      offset = _ref6.offset,\n      position = _ref6.position;\n  return {\n    left: rect.left,\n    position: position,\n    top: offset,\n    width: rect.width,\n    zIndex: 1\n  };\n};\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n  _inherits(MenuPortal, _Component2);\n\n  var _super2 = _createSuper(MenuPortal);\n\n  function MenuPortal() {\n    var _this2;\n\n    _classCallCheck(this, MenuPortal);\n\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n\n    _this2 = _super2.call.apply(_super2, [this].concat(args));\n    _this2.state = {\n      placement: null\n    };\n\n    _this2.getPortalPlacement = function (_ref7) {\n      var placement = _ref7.placement;\n      var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n      if (placement !== initialPlacement) {\n        _this2.setState({\n          placement: placement\n        });\n      }\n    };\n\n    return _this2;\n  }\n\n  _createClass(MenuPortal, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props2 = this.props,\n          appendTo = _this$props2.appendTo,\n          children = _this$props2.children,\n          controlElement = _this$props2.controlElement,\n          menuPlacement = _this$props2.menuPlacement,\n          position = _this$props2.menuPosition,\n          getStyles = _this$props2.getStyles;\n      var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n      if (!appendTo && !isFixed || !controlElement) {\n        return null;\n      }\n\n      var placement = this.state.placement || coercePlacement(menuPlacement);\n      var rect = getBoundingClientObj(controlElement);\n      var scrollDistance = isFixed ? 0 : window.pageYOffset;\n      var offset = rect[placement] + scrollDistance;\n      var state = {\n        offset: offset,\n        position: position,\n        rect: rect\n      }; // same wrapper element whether fixed or portalled\n\n      var menuWrapper = jsx(\"div\", {\n        css: getStyles('menuPortal', state)\n      }, children);\n      return jsx(PortalPlacementContext.Provider, {\n        value: {\n          getPortalPlacement: this.getPortalPlacement\n        }\n      }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n    }\n  }]);\n\n  return MenuPortal;\n}(Component);\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nfunction equal(a, b) {\n  // fast-deep-equal index.js 2.0.1\n  if (a === b) return true;\n\n  if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {\n    var arrA = isArray(a),\n        arrB = isArray(b),\n        i,\n        length,\n        key;\n\n    if (arrA && arrB) {\n      length = a.length;\n      if (length != b.length) return false;\n\n      for (i = length; i-- !== 0;) {\n        if (!equal(a[i], b[i])) return false;\n      }\n\n      return true;\n    }\n\n    if (arrA != arrB) return false;\n    var dateA = a instanceof Date,\n        dateB = b instanceof Date;\n    if (dateA != dateB) return false;\n    if (dateA && dateB) return a.getTime() == b.getTime();\n    var regexpA = a instanceof RegExp,\n        regexpB = b instanceof RegExp;\n    if (regexpA != regexpB) return false;\n    if (regexpA && regexpB) return a.toString() == b.toString();\n    var keys = keyList(a);\n    length = keys.length;\n\n    if (length !== keyList(b).length) {\n      return false;\n    }\n\n    for (i = length; i-- !== 0;) {\n      if (!hasProp.call(b, keys[i])) return false;\n    } // end fast-deep-equal\n    // Custom handling for React\n\n\n    for (i = length; i-- !== 0;) {\n      key = keys[i];\n\n      if (key === '_owner' && a.$$typeof) {\n        // React-specific: avoid traversing React elements' _owner.\n        //  _owner contains circular references\n        // and is not needed when comparing the actual elements (and not their owners)\n        // .$$typeof and ._store on just reasonable markers of a react element\n        continue;\n      } else {\n        // all other properties should be traversed as usual\n        if (!equal(a[key], b[key])) return false;\n      }\n    } // fast-deep-equal index.js 2.0.1\n\n\n    return true;\n  }\n\n  return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nfunction exportedEqual(a, b) {\n  try {\n    return equal(a, b);\n  } catch (error) {\n    if (error.message && 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('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n      return false;\n    } // some other error. we should definitely know about these\n\n\n    throw error;\n  }\n}\n\nvar containerCSS = function containerCSS(_ref) {\n  var isDisabled = _ref.isDisabled,\n      isRtl = _ref.isRtl;\n  return {\n    label: 'container',\n    direction: isRtl ? 'rtl' : null,\n    pointerEvents: isDisabled ? 'none' : null,\n    // cancel mouse events when disabled\n    position: 'relative'\n  };\n};\nvar SelectContainer = function SelectContainer(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps,\n      isDisabled = props.isDisabled,\n      isRtl = props.isRtl;\n  return jsx(\"div\", _extends({\n    css: getStyles('container', props),\n    className: cx({\n      '--is-disabled': isDisabled,\n      '--is-rtl': isRtl\n    }, className)\n  }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n  var spacing = _ref2.theme.spacing;\n  return {\n    alignItems: 'center',\n    display: 'flex',\n    flex: 1,\n    flexWrap: 'wrap',\n    padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n    WebkitOverflowScrolling: 'touch',\n    position: 'relative',\n    overflow: 'hidden'\n  };\n};\nvar ValueContainer = function ValueContainer(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      isMulti = props.isMulti,\n      getStyles = props.getStyles,\n      hasValue = props.hasValue;\n  return jsx(\"div\", {\n    css: getStyles('valueContainer', props),\n    className: cx({\n      'value-container': true,\n      'value-container--is-multi': isMulti,\n      'value-container--has-value': hasValue\n    }, className)\n  }, children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n  return {\n    alignItems: 'center',\n    alignSelf: 'stretch',\n    display: 'flex',\n    flexShrink: 0\n  };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles;\n  return jsx(\"div\", {\n    css: getStyles('indicatorsContainer', props),\n    className: cx({\n      indicators: true\n    }, className)\n  }, children);\n};\n\nfunction _templateObject() {\n  var data = _taggedTemplateLiteral([\"\\n  0%, 80%, 100% { opacity: 0; }\\n  40% { opacity: 1; }\\n\"]);\n\n  _templateObject = function _templateObject() {\n    return data;\n  };\n\n  return data;\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n  name: \"19bqh2r\",\n  styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\"\n} : {\n  name: \"19bqh2r\",\n  styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\",\n  map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\nvar Svg = function Svg(_ref) {\n  var size = _ref.size,\n      props = _objectWithoutProperties(_ref, [\"size\"]);\n\n  return jsx(\"svg\", _extends({\n    height: size,\n    width: size,\n    viewBox: \"0 0 20 20\",\n    \"aria-hidden\": \"true\",\n    focusable: \"false\",\n    css: _ref2\n  }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n  return jsx(Svg, _extends({\n    size: 20\n  }, props), jsx(\"path\", {\n    d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n  }));\n};\nvar DownChevron = function DownChevron(props) {\n  return jsx(Svg, _extends({\n    size: 20\n  }, props), jsx(\"path\", {\n    d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n  }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref3) {\n  var isFocused = _ref3.isFocused,\n      _ref3$theme = _ref3.theme,\n      baseUnit = _ref3$theme.spacing.baseUnit,\n      colors = _ref3$theme.colors;\n  return {\n    label: 'indicatorContainer',\n    color: isFocused ? colors.neutral60 : colors.neutral20,\n    display: 'flex',\n    padding: baseUnit * 2,\n    transition: 'color 150ms',\n    ':hover': {\n      color: isFocused ? colors.neutral80 : colors.neutral40\n    }\n  };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({}, innerProps, {\n    css: getStyles('dropdownIndicator', props),\n    className: cx({\n      indicator: true,\n      'dropdown-indicator': true\n    }, className)\n  }), children || jsx(DownChevron, null));\n};\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({}, innerProps, {\n    css: getStyles('clearIndicator', props),\n    className: cx({\n      indicator: true,\n      'clear-indicator': true\n    }, className)\n  }), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n  var isDisabled = _ref4.isDisabled,\n      _ref4$theme = _ref4.theme,\n      baseUnit = _ref4$theme.spacing.baseUnit,\n      colors = _ref4$theme.colors;\n  return {\n    label: 'indicatorSeparator',\n    alignSelf: 'stretch',\n    backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n    marginBottom: baseUnit * 2,\n    marginTop: baseUnit * 2,\n    width: 1\n  };\n};\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n  var className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n  return jsx(\"span\", _extends({}, innerProps, {\n    css: getStyles('indicatorSeparator', props),\n    className: cx({\n      'indicator-separator': true\n    }, className)\n  }));\n}; // ==============================\n// Loading\n// ==============================\n\nvar loadingDotAnimations = keyframes(_templateObject());\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n  var isFocused = _ref5.isFocused,\n      size = _ref5.size,\n      _ref5$theme = _ref5.theme,\n      colors = _ref5$theme.colors,\n      baseUnit = _ref5$theme.spacing.baseUnit;\n  return {\n    label: 'loadingIndicator',\n    color: isFocused ? colors.neutral60 : colors.neutral20,\n    display: 'flex',\n    padding: baseUnit * 2,\n    transition: 'color 150ms',\n    alignSelf: 'center',\n    fontSize: size,\n    lineHeight: 1,\n    marginRight: size,\n    textAlign: 'center',\n    verticalAlign: 'middle'\n  };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n  var delay = _ref6.delay,\n      offset = _ref6.offset;\n  return jsx(\"span\", {\n    css: /*#__PURE__*/_css({\n      animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n      backgroundColor: 'currentColor',\n      borderRadius: '1em',\n      display: 'inline-block',\n      marginLeft: offset ? '1em' : null,\n      height: '1em',\n      verticalAlign: 'top',\n      width: '1em'\n    }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\")\n  });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n  var className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps,\n      isRtl = props.isRtl;\n  return jsx(\"div\", _extends({}, innerProps, {\n    css: getStyles('loadingIndicator', props),\n    className: cx({\n      indicator: true,\n      'loading-indicator': true\n    }, className)\n  }), jsx(LoadingDot, {\n    delay: 0,\n    offset: isRtl\n  }), jsx(LoadingDot, {\n    delay: 160,\n    offset: true\n  }), jsx(LoadingDot, {\n    delay: 320,\n    offset: !isRtl\n  }));\n};\nLoadingIndicator.defaultProps = {\n  size: 4\n};\n\nvar css = function css(_ref) {\n  var isDisabled = _ref.isDisabled,\n      isFocused = _ref.isFocused,\n      _ref$theme = _ref.theme,\n      colors = _ref$theme.colors,\n      borderRadius = _ref$theme.borderRadius,\n      spacing = _ref$theme.spacing;\n  return {\n    label: 'control',\n    alignItems: 'center',\n    backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n    borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n    borderRadius: borderRadius,\n    borderStyle: 'solid',\n    borderWidth: 1,\n    boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n    cursor: 'default',\n    display: 'flex',\n    flexWrap: 'wrap',\n    justifyContent: 'space-between',\n    minHeight: spacing.controlHeight,\n    outline: '0 !important',\n    position: 'relative',\n    transition: 'all 100ms',\n    '&:hover': {\n      borderColor: isFocused ? colors.primary : colors.neutral30\n    }\n  };\n};\n\nvar Control = function Control(props) {\n  var children = props.children,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      className = props.className,\n      isDisabled = props.isDisabled,\n      isFocused = props.isFocused,\n      innerRef = props.innerRef,\n      innerProps = props.innerProps,\n      menuIsOpen = props.menuIsOpen;\n  return jsx(\"div\", _extends({\n    ref: innerRef,\n    css: getStyles('control', props),\n    className: cx({\n      control: true,\n      'control--is-disabled': isDisabled,\n      'control--is-focused': isFocused,\n      'control--menu-is-open': menuIsOpen\n    }, className)\n  }, innerProps), children);\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar groupCSS = function groupCSS(_ref) {\n  var spacing = _ref.theme.spacing;\n  return {\n    paddingBottom: spacing.baseUnit * 2,\n    paddingTop: spacing.baseUnit * 2\n  };\n};\n\nvar Group = function Group(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      Heading = props.Heading,\n      headingProps = props.headingProps,\n      label = props.label,\n      theme = props.theme,\n      selectProps = props.selectProps;\n  return jsx(\"div\", {\n    css: getStyles('group', props),\n    className: cx({\n      group: true\n    }, className)\n  }, jsx(Heading, _extends({}, headingProps, {\n    selectProps: selectProps,\n    theme: theme,\n    getStyles: getStyles,\n    cx: cx\n  }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n  var spacing = _ref2.theme.spacing;\n  return {\n    label: 'group',\n    color: '#999',\n    cursor: 'default',\n    display: 'block',\n    fontSize: '75%',\n    fontWeight: '500',\n    marginBottom: '0.25em',\n    paddingLeft: spacing.baseUnit * 3,\n    paddingRight: spacing.baseUnit * 3,\n    textTransform: 'uppercase'\n  };\n};\nvar GroupHeading = function GroupHeading(props) {\n  var className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      theme = props.theme,\n      selectProps = props.selectProps,\n      cleanProps = _objectWithoutProperties(props, [\"className\", \"cx\", \"getStyles\", \"theme\", \"selectProps\"]);\n\n  return jsx(\"div\", _extends({\n    css: getStyles('groupHeading', _objectSpread$1({\n      theme: theme\n    }, cleanProps)),\n    className: cx({\n      'group-heading': true\n    }, className)\n  }, cleanProps));\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar inputCSS = function inputCSS(_ref) {\n  var isDisabled = _ref.isDisabled,\n      _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    margin: spacing.baseUnit / 2,\n    paddingBottom: spacing.baseUnit / 2,\n    paddingTop: spacing.baseUnit / 2,\n    visibility: isDisabled ? 'hidden' : 'visible',\n    color: colors.neutral80\n  };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n  return {\n    label: 'input',\n    background: 0,\n    border: 0,\n    fontSize: 'inherit',\n    opacity: isHidden ? 0 : 1,\n    outline: 0,\n    padding: 0,\n    color: 'inherit'\n  };\n};\n\nvar Input = function Input(_ref2) {\n  var className = _ref2.className,\n      cx = _ref2.cx,\n      getStyles = _ref2.getStyles,\n      innerRef = _ref2.innerRef,\n      isHidden = _ref2.isHidden,\n      isDisabled = _ref2.isDisabled,\n      theme = _ref2.theme,\n      selectProps = _ref2.selectProps,\n      props = _objectWithoutProperties(_ref2, [\"className\", \"cx\", \"getStyles\", \"innerRef\", \"isHidden\", \"isDisabled\", \"theme\", \"selectProps\"]);\n\n  return jsx(\"div\", {\n    css: getStyles('input', _objectSpread$2({\n      theme: theme\n    }, props))\n  }, jsx(AutosizeInput, _extends({\n    className: cx({\n      input: true\n    }, className),\n    inputRef: innerRef,\n    inputStyle: inputStyle(isHidden),\n    disabled: isDisabled\n  }, props)));\n};\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar multiValueCSS = function multiValueCSS(_ref) {\n  var _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      borderRadius = _ref$theme.borderRadius,\n      colors = _ref$theme.colors;\n  return {\n    label: 'multiValue',\n    backgroundColor: colors.neutral10,\n    borderRadius: borderRadius / 2,\n    display: 'flex',\n    margin: spacing.baseUnit / 2,\n    minWidth: 0 // resolves flex/text-overflow bug\n\n  };\n};\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n  var _ref2$theme = _ref2.theme,\n      borderRadius = _ref2$theme.borderRadius,\n      colors = _ref2$theme.colors,\n      cropWithEllipsis = _ref2.cropWithEllipsis;\n  return {\n    borderRadius: borderRadius / 2,\n    color: colors.neutral80,\n    fontSize: '85%',\n    overflow: 'hidden',\n    padding: 3,\n    paddingLeft: 6,\n    textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n    whiteSpace: 'nowrap'\n  };\n};\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n  var _ref3$theme = _ref3.theme,\n      spacing = _ref3$theme.spacing,\n      borderRadius = _ref3$theme.borderRadius,\n      colors = _ref3$theme.colors,\n      isFocused = _ref3.isFocused;\n  return {\n    alignItems: 'center',\n    borderRadius: borderRadius / 2,\n    backgroundColor: isFocused && colors.dangerLight,\n    display: 'flex',\n    paddingLeft: spacing.baseUnit,\n    paddingRight: spacing.baseUnit,\n    ':hover': {\n      backgroundColor: colors.dangerLight,\n      color: colors.danger\n    }\n  };\n};\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n  var children = _ref4.children,\n      innerProps = _ref4.innerProps;\n  return jsx(\"div\", innerProps, children);\n};\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\nfunction MultiValueRemove(_ref5) {\n  var children = _ref5.children,\n      innerProps = _ref5.innerProps;\n  return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n    size: 14\n  }));\n}\n\nvar MultiValue = function MultiValue(props) {\n  var children = props.children,\n      className = props.className,\n      components = props.components,\n      cx = props.cx,\n      data = props.data,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps,\n      isDisabled = props.isDisabled,\n      removeProps = props.removeProps,\n      selectProps = props.selectProps;\n  var Container = components.Container,\n      Label = components.Label,\n      Remove = components.Remove;\n  return jsx(ClassNames, null, function (_ref6) {\n    var css = _ref6.css,\n        emotionCx = _ref6.cx;\n    return jsx(Container, {\n      data: data,\n      innerProps: _objectSpread$3(_objectSpread$3({}, innerProps), {}, {\n        className: emotionCx(css(getStyles('multiValue', props)), cx({\n          'multi-value': true,\n          'multi-value--is-disabled': isDisabled\n        }, className))\n      }),\n      selectProps: selectProps\n    }, jsx(Label, {\n      data: data,\n      innerProps: {\n        className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n          'multi-value__label': true\n        }, className))\n      },\n      selectProps: selectProps\n    }, children), jsx(Remove, {\n      data: data,\n      innerProps: _objectSpread$3({\n        className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n          'multi-value__remove': true\n        }, className))\n      }, removeProps),\n      selectProps: selectProps\n    }));\n  });\n};\n\nMultiValue.defaultProps = {\n  cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n  var isDisabled = _ref.isDisabled,\n      isFocused = _ref.isFocused,\n      isSelected = _ref.isSelected,\n      _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    label: 'option',\n    backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n    color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n    cursor: 'default',\n    display: 'block',\n    fontSize: 'inherit',\n    padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n    width: '100%',\n    userSelect: 'none',\n    WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n    // provide some affordance on touch devices\n    ':active': {\n      backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n    }\n  };\n};\n\nvar Option = function Option(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      isDisabled = props.isDisabled,\n      isFocused = props.isFocused,\n      isSelected = props.isSelected,\n      innerRef = props.innerRef,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({\n    css: getStyles('option', props),\n    className: cx({\n      option: true,\n      'option--is-disabled': isDisabled,\n      'option--is-focused': isFocused,\n      'option--is-selected': isSelected\n    }, className),\n    ref: innerRef\n  }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n  var _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    label: 'placeholder',\n    color: colors.neutral50,\n    marginLeft: spacing.baseUnit / 2,\n    marginRight: spacing.baseUnit / 2,\n    position: 'absolute',\n    top: '50%',\n    transform: 'translateY(-50%)'\n  };\n};\n\nvar Placeholder = function Placeholder(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({\n    css: getStyles('placeholder', props),\n    className: cx({\n      placeholder: true\n    }, className)\n  }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n  var isDisabled = _ref.isDisabled,\n      _ref$theme = _ref.theme,\n      spacing = _ref$theme.spacing,\n      colors = _ref$theme.colors;\n  return {\n    label: 'singleValue',\n    color: isDisabled ? colors.neutral40 : colors.neutral80,\n    marginLeft: spacing.baseUnit / 2,\n    marginRight: spacing.baseUnit / 2,\n    maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n    overflow: 'hidden',\n    position: 'absolute',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap',\n    top: '50%',\n    transform: 'translateY(-50%)'\n  };\n};\n\nvar SingleValue = function SingleValue(props) {\n  var children = props.children,\n      className = props.className,\n      cx = props.cx,\n      getStyles = props.getStyles,\n      isDisabled = props.isDisabled,\n      innerProps = props.innerProps;\n  return jsx(\"div\", _extends({\n    css: getStyles('singleValue', props),\n    className: cx({\n      'single-value': true,\n      'single-value--is-disabled': isDisabled\n    }, className)\n  }, innerProps), children);\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar components = {\n  ClearIndicator: ClearIndicator,\n  Control: Control,\n  DropdownIndicator: DropdownIndicator,\n  DownChevron: DownChevron,\n  CrossIcon: CrossIcon,\n  Group: Group,\n  GroupHeading: GroupHeading,\n  IndicatorsContainer: IndicatorsContainer,\n  IndicatorSeparator: IndicatorSeparator,\n  Input: Input,\n  LoadingIndicator: LoadingIndicator,\n  Menu: Menu,\n  MenuList: MenuList,\n  MenuPortal: MenuPortal,\n  LoadingMessage: LoadingMessage,\n  NoOptionsMessage: NoOptionsMessage,\n  MultiValue: MultiValue,\n  MultiValueContainer: MultiValueContainer,\n  MultiValueLabel: MultiValueLabel,\n  MultiValueRemove: MultiValueRemove,\n  Option: Option,\n  Placeholder: Placeholder,\n  SelectContainer: SelectContainer,\n  SingleValue: SingleValue,\n  ValueContainer: ValueContainer\n};\nvar defaultComponents = function defaultComponents(props) {\n  return _objectSpread$4(_objectSpread$4({}, components), props.components);\n};\n\nexport { isDocumentElement as A, exportedEqual as B, cleanValue as C, scrollIntoView as D, noop as E, components as F, handleInputChange as G, MenuPlacer as M, containerCSS as a, css as b, clearIndicatorCSS as c, dropdownIndicatorCSS as d, groupHeadingCSS as e, indicatorSeparatorCSS as f, groupCSS as g, inputCSS as h, indicatorsContainerCSS as i, loadingMessageCSS as j, menuListCSS as k, loadingIndicatorCSS as l, menuCSS as m, menuPortalCSS as n, multiValueCSS as o, multiValueLabelCSS as p, multiValueRemoveCSS as q, noOptionsMessageCSS as r, optionCSS as s, placeholderCSS as t, css$1 as u, valueContainerCSS as v, isTouchCapable as w, isMobileDevice as x, defaultComponents as y, classNames as z };\n","export default function _taggedTemplateLiteral(strings, raw) {\n  if (!raw) {\n    raw = strings.slice(0);\n  }\n  return Object.freeze(Object.defineProperties(strings, {\n    raw: {\n      value: Object.freeze(raw)\n    }\n  }));\n}","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component, PureComponent } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { jsx } from '@emotion/core';\nimport { findDOMNode } from 'react-dom';\nimport { c as clearIndicatorCSS, a as containerCSS, b as css, d as dropdownIndicatorCSS, g as groupCSS, e as groupHeadingCSS, i as indicatorsContainerCSS, f as indicatorSeparatorCSS, h as inputCSS, l as loadingIndicatorCSS, j as loadingMessageCSS, m as menuCSS, k as menuListCSS, n as menuPortalCSS, o as multiValueCSS, p as multiValueLabelCSS, q as multiValueRemoveCSS, r as noOptionsMessageCSS, s as optionCSS, t as placeholderCSS, u as css$1, v as valueContainerCSS, w as isTouchCapable, x as isMobileDevice, y as defaultComponents, z as classNames, A as isDocumentElement, B as exportedEqual, C as cleanValue, D as scrollIntoView, E as noop, M as MenuPlacer } from './index-75b02bac.browser.esm.js';\nimport _css from '@emotion/css';\n\nvar diacritics = [{\n  base: 'A',\n  letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n  base: 'AA',\n  letters: \"\\uA732\"\n}, {\n  base: 'AE',\n  letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n  base: 'AO',\n  letters: \"\\uA734\"\n}, {\n  base: 'AU',\n  letters: \"\\uA736\"\n}, {\n  base: 'AV',\n  letters: \"\\uA738\\uA73A\"\n}, {\n  base: 'AY',\n  letters: \"\\uA73C\"\n}, {\n  base: 'B',\n  letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n  base: 'C',\n  letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n  base: 'D',\n  letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n  base: 'DZ',\n  letters: \"\\u01F1\\u01C4\"\n}, {\n  base: 'Dz',\n  letters: \"\\u01F2\\u01C5\"\n}, {\n  base: 'E',\n  letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n  base: 'F',\n  letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n  base: 'G',\n  letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n  base: 'H',\n  letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n  base: 'I',\n  letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n  base: 'J',\n  letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n  base: 'K',\n  letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n  base: 'L',\n  letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n  base: 'LJ',\n  letters: \"\\u01C7\"\n}, {\n  base: 'Lj',\n  letters: \"\\u01C8\"\n}, {\n  base: 'M',\n  letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n  base: 'N',\n  letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n  base: 'NJ',\n  letters: \"\\u01CA\"\n}, {\n  base: 'Nj',\n  letters: \"\\u01CB\"\n}, {\n  base: 'O',\n  letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n  base: 'OI',\n  letters: \"\\u01A2\"\n}, {\n  base: 'OO',\n  letters: \"\\uA74E\"\n}, {\n  base: 'OU',\n  letters: \"\\u0222\"\n}, {\n  base: 'P',\n  letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n  base: 'Q',\n  letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n  base: 'R',\n  letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n  base: 'S',\n  letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n  base: 'T',\n  letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n  base: 'TZ',\n  letters: \"\\uA728\"\n}, {\n  base: 'U',\n  letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n  base: 'V',\n  letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n  base: 'VY',\n  letters: \"\\uA760\"\n}, {\n  base: 'W',\n  letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n  base: 'X',\n  letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n  base: 'Y',\n  letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n  base: 'Z',\n  letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n  base: 'a',\n  letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n  base: 'aa',\n  letters: \"\\uA733\"\n}, {\n  base: 'ae',\n  letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n  base: 'ao',\n  letters: \"\\uA735\"\n}, {\n  base: 'au',\n  letters: \"\\uA737\"\n}, {\n  base: 'av',\n  letters: \"\\uA739\\uA73B\"\n}, {\n  base: 'ay',\n  letters: \"\\uA73D\"\n}, {\n  base: 'b',\n  letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n  base: 'c',\n  letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n  base: 'd',\n  letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n  base: 'dz',\n  letters: \"\\u01F3\\u01C6\"\n}, {\n  base: 'e',\n  letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n  base: 'f',\n  letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n  base: 'g',\n  letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n  base: 'h',\n  letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n  base: 'hv',\n  letters: \"\\u0195\"\n}, {\n  base: 'i',\n  letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n  base: 'j',\n  letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n  base: 'k',\n  letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n  base: 'l',\n  letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n  base: 'lj',\n  letters: \"\\u01C9\"\n}, {\n  base: 'm',\n  letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n  base: 'n',\n  letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n  base: 'nj',\n  letters: \"\\u01CC\"\n}, {\n  base: 'o',\n  letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n  base: 'oi',\n  letters: \"\\u01A3\"\n}, {\n  base: 'ou',\n  letters: \"\\u0223\"\n}, {\n  base: 'oo',\n  letters: \"\\uA74F\"\n}, {\n  base: 'p',\n  letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n  base: 'q',\n  letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n  base: 'r',\n  letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n  base: 's',\n  letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n  base: 't',\n  letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n  base: 'tz',\n  letters: \"\\uA729\"\n}, {\n  base: 'u',\n  letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n  base: 'v',\n  letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n  base: 'vy',\n  letters: \"\\uA761\"\n}, {\n  base: 'w',\n  letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n  base: 'x',\n  letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n  base: 'y',\n  letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n  base: 'z',\n  letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n  return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n  var diacritic = diacritics[i];\n\n  for (var j = 0; j < diacritic.letters.length; j++) {\n    diacriticToBase[diacritic.letters[j]] = diacritic.base;\n  }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n  return str.replace(anyDiacritic, function (match) {\n    return diacriticToBase[match];\n  });\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar trimString = function trimString(str) {\n  return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n  return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n  return function (option, rawInput) {\n    var _ignoreCase$ignoreAcc = _objectSpread({\n      ignoreCase: true,\n      ignoreAccents: true,\n      stringify: defaultStringify,\n      trim: true,\n      matchFrom: 'any'\n    }, config),\n        ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n        ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n        stringify = _ignoreCase$ignoreAcc.stringify,\n        trim = _ignoreCase$ignoreAcc.trim,\n        matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n    var input = trim ? trimString(rawInput) : rawInput;\n    var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n    if (ignoreCase) {\n      input = input.toLowerCase();\n      candidate = candidate.toLowerCase();\n    }\n\n    if (ignoreAccents) {\n      input = stripDiacritics(input);\n      candidate = stripDiacritics(candidate);\n    }\n\n    return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n  };\n};\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n  name: \"1laao21-a11yText\",\n  styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\"\n} : {\n  name: \"1laao21-a11yText\",\n  styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\",\n  map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbi8vIEFzc2lzdGl2ZSB0ZXh0IHRvIGRlc2NyaWJlIHZpc3VhbCBlbGVtZW50cy4gSGlkZGVuIGZvciBzaWdodGVkIHVzZXJzLlxuY29uc3QgQTExeVRleHQgPSAocHJvcHM6IEVsZW1lbnRDb25maWc8J3NwYW4nPikgPT4gKFxuICA8c3BhblxuICAgIGNzcz17e1xuICAgICAgbGFiZWw6ICdhMTF5VGV4dCcsXG4gICAgICB6SW5kZXg6IDk5OTksXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBjbGlwOiAncmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpJyxcbiAgICAgIGhlaWdodDogMSxcbiAgICAgIHdpZHRoOiAxLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBBMTF5VGV4dDtcbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n  return jsx(\"span\", _extends({\n    css: _ref\n  }, props));\n};\n\nfunction DummyInput(_ref) {\n  var inProp = _ref.in,\n      out = _ref.out,\n      onExited = _ref.onExited,\n      appear = _ref.appear,\n      enter = _ref.enter,\n      exit = _ref.exit,\n      innerRef = _ref.innerRef,\n      emotion = _ref.emotion,\n      props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n  return jsx(\"input\", _extends({\n    ref: innerRef\n  }, props, {\n    css: /*#__PURE__*/_css({\n      label: 'dummyInput',\n      // get rid of any default styles\n      background: 0,\n      border: 0,\n      fontSize: 'inherit',\n      outline: 0,\n      padding: 0,\n      // important! without `width` browsers won't allow focus\n      width: 1,\n      // remove cursor on desktop\n      color: 'transparent',\n      // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n      left: -100,\n      opacity: 0,\n      position: 'relative',\n      transform: 'scale(0)'\n    }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRHVtbXlJbnB1dCh7XG4gIGluOiBpblByb3AsXG4gIG91dCxcbiAgb25FeGl0ZWQsXG4gIGFwcGVhcixcbiAgZW50ZXIsXG4gIGV4aXQsXG4gIGlubmVyUmVmLFxuICBlbW90aW9uLFxuICAuLi5wcm9wc1xufTogYW55KSB7XG4gIHJldHVybiAoXG4gICAgPGlucHV0XG4gICAgICByZWY9e2lubmVyUmVmfVxuICAgICAgey4uLnByb3BzfVxuICAgICAgY3NzPXt7XG4gICAgICAgIGxhYmVsOiAnZHVtbXlJbnB1dCcsXG4gICAgICAgIC8vIGdldCByaWQgb2YgYW55IGRlZmF1bHQgc3R5bGVzXG4gICAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICAgICAgb3V0bGluZTogMCxcbiAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgLy8gaW1wb3J0YW50ISB3aXRob3V0IGB3aWR0aGAgYnJvd3NlcnMgd29uJ3QgYWxsb3cgZm9jdXNcbiAgICAgICAgd2lkdGg6IDEsXG5cbiAgICAgICAgLy8gcmVtb3ZlIGN1cnNvciBvbiBkZXNrdG9wXG4gICAgICAgIGNvbG9yOiAndHJhbnNwYXJlbnQnLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gbW9iaWxlIHdoaWxzdCBtYWludGFpbmluZyBcInNjcm9sbCBpbnRvIHZpZXdcIiBiZWhhdmlvdXJcbiAgICAgICAgbGVmdDogLTEwMCxcbiAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDApJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKTtcbn1cbiJdfQ== */\")\n  }));\n}\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar NodeResolver = /*#__PURE__*/function (_Component) {\n  _inherits(NodeResolver, _Component);\n\n  var _super = _createSuper(NodeResolver);\n\n  function NodeResolver() {\n    _classCallCheck(this, NodeResolver);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(NodeResolver, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.props.innerRef(findDOMNode(this));\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.props.innerRef(null);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return this.props.children;\n    }\n  }]);\n\n  return NodeResolver;\n}(Component);\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n  boxSizing: 'border-box',\n  // account for possible declaration `width: 100%;` on body\n  overflow: 'hidden',\n  position: 'relative',\n  height: '100%'\n};\n\nfunction preventTouchMove(e) {\n  e.preventDefault();\n}\nfunction allowTouchMove(e) {\n  e.stopPropagation();\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} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\nfunction isTouchDevice() {\n  return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar canUseDOM = !!( window.document && window.document.createElement);\nvar activeScrollLocks = 0;\n\nvar ScrollLock = /*#__PURE__*/function (_Component) {\n  _inherits(ScrollLock, _Component);\n\n  var _super = _createSuper$1(ScrollLock);\n\n  function ScrollLock() {\n    var _this;\n\n    _classCallCheck(this, ScrollLock);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n    _this.originalStyles = {};\n    _this.listenerOptions = {\n      capture: false,\n      passive: false\n    };\n    return _this;\n  }\n\n  _createClass(ScrollLock, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n\n      if (!canUseDOM) return;\n      var _this$props = this.props,\n          accountForScrollbars = _this$props.accountForScrollbars,\n          touchScrollTarget = _this$props.touchScrollTarget;\n      var target = document.body;\n      var targetStyle = target && target.style;\n\n      if (accountForScrollbars) {\n        // store any styles already applied to the body\n        STYLE_KEYS.forEach(function (key) {\n          var val = targetStyle && targetStyle[key];\n          _this2.originalStyles[key] = val;\n        });\n      } // apply the lock styles and padding if this is the first scroll lock\n\n\n      if (accountForScrollbars && activeScrollLocks < 1) {\n        var currentPadding = parseInt(this.originalStyles.paddingRight, 10) || 0;\n        var clientWidth = document.body ? document.body.clientWidth : 0;\n        var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n        Object.keys(LOCK_STYLES).forEach(function (key) {\n          var val = LOCK_STYLES[key];\n\n          if (targetStyle) {\n            targetStyle[key] = val;\n          }\n        });\n\n        if (targetStyle) {\n          targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n        }\n      } // account for touch devices\n\n\n      if (target && isTouchDevice()) {\n        // Mobile Safari ignores { overflow: hidden } declaration on the body.\n        target.addEventListener('touchmove', preventTouchMove, this.listenerOptions); // Allow scroll on provided target\n\n        if (touchScrollTarget) {\n          touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n          touchScrollTarget.addEventListener('touchmove', allowTouchMove, this.listenerOptions);\n        }\n      } // increment active scroll locks\n\n\n      activeScrollLocks += 1;\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      var _this3 = this;\n\n      if (!canUseDOM) return;\n      var _this$props2 = this.props,\n          accountForScrollbars = _this$props2.accountForScrollbars,\n          touchScrollTarget = _this$props2.touchScrollTarget;\n      var target = document.body;\n      var targetStyle = target && target.style; // safely decrement active scroll locks\n\n      activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n      if (accountForScrollbars && activeScrollLocks < 1) {\n        STYLE_KEYS.forEach(function (key) {\n          var val = _this3.originalStyles[key];\n\n          if (targetStyle) {\n            targetStyle[key] = val;\n          }\n        });\n      } // remove touch listeners\n\n\n      if (target && isTouchDevice()) {\n        target.removeEventListener('touchmove', preventTouchMove, this.listenerOptions);\n\n        if (touchScrollTarget) {\n          touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n          touchScrollTarget.removeEventListener('touchmove', allowTouchMove, this.listenerOptions);\n        }\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return null;\n    }\n  }]);\n\n  return ScrollLock;\n}(Component);\n\nScrollLock.defaultProps = {\n  accountForScrollbars: true\n};\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _ref$1 = process.env.NODE_ENV === \"production\" ? {\n  name: \"1dsbpcp\",\n  styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\"\n} : {\n  name: \"1dsbpcp\",\n  styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\",\n  map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbEJsb2NrLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEVSIsImZpbGUiOiJTY3JvbGxCbG9jay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG4vKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IFB1cmVDb21wb25lbnQsIHR5cGUgRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IE5vZGVSZXNvbHZlciBmcm9tICcuL05vZGVSZXNvbHZlcic7XG5pbXBvcnQgU2Nyb2xsTG9jayBmcm9tICcuL1Njcm9sbExvY2svaW5kZXgnO1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogRWxlbWVudDwqPixcbiAgaXNFbmFibGVkOiBib29sZWFuLFxufTtcbnR5cGUgU3RhdGUgPSB7XG4gIHRvdWNoU2Nyb2xsVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwsXG59O1xuXG4vLyBOT1RFOlxuLy8gV2Ugc2hvdWxkbid0IG5lZWQgdGhpcyBhZnRlciB1cGRhdGluZyB0byBSZWFjdCB2MTYuMy4wLCB3aGljaCBpbnRyb2R1Y2VzOlxuLy8gLSBjcmVhdGVSZWYoKSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjcmVhdGVyZWZcbi8vIC0gZm9yd2FyZFJlZigpIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGZvcndhcmRyZWZcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Nyb2xsQmxvY2sgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBzdGF0ZSA9IHsgdG91Y2hTY3JvbGxUYXJnZXQ6IG51bGwgfTtcblxuICAvLyBtdXN0IGJlIGluIHN0YXRlIHRvIHRyaWdnZXIgYSByZS1yZW5kZXIsIG9ubHkgcnVucyBvbmNlIHBlciBpbnN0YW5jZVxuICBnZXRTY3JvbGxUYXJnZXQgPSAocmVmOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgIGlmIChyZWYgPT09IHRoaXMuc3RhdGUudG91Y2hTY3JvbGxUYXJnZXQpIHJldHVybjtcbiAgICB0aGlzLnNldFN0YXRlKHsgdG91Y2hTY3JvbGxUYXJnZXQ6IHJlZiB9KTtcbiAgfTtcblxuICAvLyB0aGlzIHdpbGwgY2xvc2UgdGhlIG1lbnUgd2hlbiBhIHVzZXIgY2xpY2tzIG91dHNpZGVcbiAgYmx1clNlbGVjdElucHV0ID0gKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGlzRW5hYmxlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHRvdWNoU2Nyb2xsVGFyZ2V0IH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgLy8gYmFpbCBlYXJseSBpZiBub3QgZW5hYmxlZFxuICAgIGlmICghaXNFbmFibGVkKSByZXR1cm4gY2hpbGRyZW47XG5cbiAgICAvKlxuICAgICAqIERpdlxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGJsb2NrcyBzY3JvbGxpbmcgb24gbm9uLWJvZHkgZWxlbWVudHMgYmVoaW5kIHRoZSBtZW51XG5cbiAgICAgKiBOb2RlUmVzb2x2ZXJcbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgKiB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQgdG8gXCJ1bmxvY2tcIiBzY3JvbGwgb25cbiAgICAgKiBtb2JpbGUgZGV2aWNlc1xuXG4gICAgICogU2Nyb2xsTG9ja1xuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGFjdHVhbGx5IGRvZXMgdGhlIHNjcm9sbCBsb2NraW5nXG4gICAgICovXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmJsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgICA8Tm9kZVJlc29sdmVyIGlubmVyUmVmPXt0aGlzLmdldFNjcm9sbFRhcmdldH0+e2NoaWxkcmVufTwvTm9kZVJlc29sdmVyPlxuICAgICAgICB7dG91Y2hTY3JvbGxUYXJnZXQgPyAoXG4gICAgICAgICAgPFNjcm9sbExvY2sgdG91Y2hTY3JvbGxUYXJnZXQ9e3RvdWNoU2Nyb2xsVGFyZ2V0fSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\",\n  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\n// NOTE:\n// We shouldn't need this after updating to React v16.3.0, which introduces:\n// - createRef() https://reactjs.org/docs/react-api.html#reactcreateref\n// - forwardRef() https://reactjs.org/docs/react-api.html#reactforwardref\nvar ScrollBlock = /*#__PURE__*/function (_PureComponent) {\n  _inherits(ScrollBlock, _PureComponent);\n\n  var _super = _createSuper$2(ScrollBlock);\n\n  function ScrollBlock() {\n    var _this;\n\n    _classCallCheck(this, ScrollBlock);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n    _this.state = {\n      touchScrollTarget: null\n    };\n\n    _this.getScrollTarget = function (ref) {\n      if (ref === _this.state.touchScrollTarget) return;\n\n      _this.setState({\n        touchScrollTarget: ref\n      });\n    };\n\n    _this.blurSelectInput = function () {\n      if (document.activeElement) {\n        document.activeElement.blur();\n      }\n    };\n\n    return _this;\n  }\n\n  _createClass(ScrollBlock, [{\n    key: \"render\",\n    value: function render() {\n      var _this$props = this.props,\n          children = _this$props.children,\n          isEnabled = _this$props.isEnabled;\n      var touchScrollTarget = this.state.touchScrollTarget; // bail early if not enabled\n\n      if (!isEnabled) return children;\n      /*\n       * Div\n       * ------------------------------\n       * blocks scrolling on non-body elements behind the menu\n        * NodeResolver\n       * ------------------------------\n       * we need a reference to the scrollable element to \"unlock\" scroll on\n       * mobile devices\n        * ScrollLock\n       * ------------------------------\n       * actually does the scroll locking\n       */\n\n      return jsx(\"div\", null, jsx(\"div\", {\n        onClick: this.blurSelectInput,\n        css: _ref$1\n      }), jsx(NodeResolver, {\n        innerRef: this.getScrollTarget\n      }, children), touchScrollTarget ? jsx(ScrollLock, {\n        touchScrollTarget: touchScrollTarget\n      }) : null);\n    }\n  }]);\n\n  return ScrollBlock;\n}(PureComponent);\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ScrollCaptor = /*#__PURE__*/function (_Component) {\n  _inherits(ScrollCaptor, _Component);\n\n  var _super = _createSuper$3(ScrollCaptor);\n\n  function ScrollCaptor() {\n    var _this;\n\n    _classCallCheck(this, ScrollCaptor);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n    _this.isBottom = false;\n    _this.isTop = false;\n    _this.scrollTarget = void 0;\n    _this.touchStart = void 0;\n\n    _this.cancelScroll = function (event) {\n      event.preventDefault();\n      event.stopPropagation();\n    };\n\n    _this.handleEventDelta = function (event, delta) {\n      var _this$props = _this.props,\n          onBottomArrive = _this$props.onBottomArrive,\n          onBottomLeave = _this$props.onBottomLeave,\n          onTopArrive = _this$props.onTopArrive,\n          onTopLeave = _this$props.onTopLeave;\n      var _this$scrollTarget = _this.scrollTarget,\n          scrollTop = _this$scrollTarget.scrollTop,\n          scrollHeight = _this$scrollTarget.scrollHeight,\n          clientHeight = _this$scrollTarget.clientHeight;\n      var target = _this.scrollTarget;\n      var isDeltaPositive = delta > 0;\n      var availableScroll = scrollHeight - clientHeight - scrollTop;\n      var shouldCancelScroll = false; // reset bottom/top flags\n\n      if (availableScroll > delta && _this.isBottom) {\n        if (onBottomLeave) onBottomLeave(event);\n        _this.isBottom = false;\n      }\n\n      if (isDeltaPositive && _this.isTop) {\n        if (onTopLeave) onTopLeave(event);\n        _this.isTop = false;\n      } // bottom limit\n\n\n      if (isDeltaPositive && delta > availableScroll) {\n        if (onBottomArrive && !_this.isBottom) {\n          onBottomArrive(event);\n        }\n\n        target.scrollTop = scrollHeight;\n        shouldCancelScroll = true;\n        _this.isBottom = true; // top limit\n      } else if (!isDeltaPositive && -delta > scrollTop) {\n        if (onTopArrive && !_this.isTop) {\n          onTopArrive(event);\n        }\n\n        target.scrollTop = 0;\n        shouldCancelScroll = true;\n        _this.isTop = true;\n      } // cancel scroll\n\n\n      if (shouldCancelScroll) {\n        _this.cancelScroll(event);\n      }\n    };\n\n    _this.onWheel = function (event) {\n      _this.handleEventDelta(event, event.deltaY);\n    };\n\n    _this.onTouchStart = function (event) {\n      // set touch start so we can calculate touchmove delta\n      _this.touchStart = event.changedTouches[0].clientY;\n    };\n\n    _this.onTouchMove = function (event) {\n      var deltaY = _this.touchStart - event.changedTouches[0].clientY;\n\n      _this.handleEventDelta(event, deltaY);\n    };\n\n    _this.getScrollTarget = function (ref) {\n      _this.scrollTarget = ref;\n    };\n\n    return _this;\n  }\n\n  _createClass(ScrollCaptor, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.startListening(this.scrollTarget);\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.stopListening(this.scrollTarget);\n    }\n  }, {\n    key: \"startListening\",\n    value: function startListening(el) {\n      // bail early if no element is available to attach to\n      if (!el) return; // all the if statements are to appease Flow 😢\n\n      if (typeof el.addEventListener === 'function') {\n        el.addEventListener('wheel', this.onWheel, false);\n      }\n\n      if (typeof el.addEventListener === 'function') {\n        el.addEventListener('touchstart', this.onTouchStart, false);\n      }\n\n      if (typeof el.addEventListener === 'function') {\n        el.addEventListener('touchmove', this.onTouchMove, false);\n      }\n    }\n  }, {\n    key: \"stopListening\",\n    value: function stopListening(el) {\n      if (!el) return; // all the if statements are to appease Flow 😢\n\n      if (typeof el.removeEventListener === 'function') {\n        el.removeEventListener('wheel', this.onWheel, false);\n      }\n\n      if (typeof el.removeEventListener === 'function') {\n        el.removeEventListener('touchstart', this.onTouchStart, false);\n      }\n\n      if (typeof el.removeEventListener === 'function') {\n        el.removeEventListener('touchmove', this.onTouchMove, false);\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return /*#__PURE__*/React.createElement(NodeResolver, {\n        innerRef: this.getScrollTarget\n      }, this.props.children);\n    }\n  }]);\n\n  return ScrollCaptor;\n}(Component);\n\nfunction ScrollCaptorSwitch(_ref) {\n  var _ref$isEnabled = _ref.isEnabled,\n      isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled,\n      props = _objectWithoutProperties(_ref, [\"isEnabled\"]);\n\n  return isEnabled ? /*#__PURE__*/React.createElement(ScrollCaptor, props) : props.children;\n}\n\nvar instructionsAriaMessage = function instructionsAriaMessage(event) {\n  var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var isSearchable = context.isSearchable,\n      isMulti = context.isMulti,\n      label = context.label,\n      isDisabled = context.isDisabled,\n      tabSelectsValue = context.tabSelectsValue;\n\n  switch (event) {\n    case 'menu':\n      return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n    case 'input':\n      return \"\".concat(label ? label : 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n    case 'value':\n      return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n  }\n};\nvar valueEventAriaMessage = function valueEventAriaMessage(event, context) {\n  var value = context.value,\n      isDisabled = context.isDisabled;\n  if (!value) return;\n\n  switch (event) {\n    case 'deselect-option':\n    case 'pop-value':\n    case 'remove-value':\n      return \"option \".concat(value, \", deselected.\");\n\n    case 'select-option':\n      return isDisabled ? \"option \".concat(value, \" is disabled. Select another option.\") : \"option \".concat(value, \", selected.\");\n  }\n};\nvar valueFocusAriaMessage = function valueFocusAriaMessage(_ref) {\n  var focusedValue = _ref.focusedValue,\n      getOptionLabel = _ref.getOptionLabel,\n      selectValue = _ref.selectValue;\n  return \"value \".concat(getOptionLabel(focusedValue), \" focused, \").concat(selectValue.indexOf(focusedValue) + 1, \" of \").concat(selectValue.length, \".\");\n};\nvar optionFocusAriaMessage = function optionFocusAriaMessage(_ref2) {\n  var focusedOption = _ref2.focusedOption,\n      getOptionLabel = _ref2.getOptionLabel,\n      options = _ref2.options;\n  return \"option \".concat(getOptionLabel(focusedOption), \" focused\").concat(focusedOption.isDisabled ? ' disabled' : '', \", \").concat(options.indexOf(focusedOption) + 1, \" of \").concat(options.length, \".\");\n};\nvar resultsAriaMessage = function resultsAriaMessage(_ref3) {\n  var inputValue = _ref3.inputValue,\n      screenReaderMessage = _ref3.screenReaderMessage;\n  return \"\".concat(screenReaderMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n};\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n  return group.label;\n};\nvar getOptionLabel = function getOptionLabel(option) {\n  return option.label;\n};\nvar getOptionValue = function getOptionValue(option) {\n  return option.value;\n};\nvar isOptionDisabled = function isOptionDisabled(option) {\n  return !!option.isDisabled;\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar defaultStyles = {\n  clearIndicator: clearIndicatorCSS,\n  container: containerCSS,\n  control: css,\n  dropdownIndicator: dropdownIndicatorCSS,\n  group: groupCSS,\n  groupHeading: groupHeadingCSS,\n  indicatorsContainer: indicatorsContainerCSS,\n  indicatorSeparator: indicatorSeparatorCSS,\n  input: inputCSS,\n  loadingIndicator: loadingIndicatorCSS,\n  loadingMessage: loadingMessageCSS,\n  menu: menuCSS,\n  menuList: menuListCSS,\n  menuPortal: menuPortalCSS,\n  multiValue: multiValueCSS,\n  multiValueLabel: multiValueLabelCSS,\n  multiValueRemove: multiValueRemoveCSS,\n  noOptionsMessage: noOptionsMessageCSS,\n  option: optionCSS,\n  placeholder: placeholderCSS,\n  singleValue: css$1,\n  valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n  var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n  // initialize with source styles\n  var styles = _objectSpread$1({}, source); // massage in target styles\n\n\n  Object.keys(target).forEach(function (key) {\n    if (source[key]) {\n      styles[key] = function (rsCss, props) {\n        return target[key](source[key](rsCss, props), props);\n      };\n    } else {\n      styles[key] = target[key];\n    }\n  });\n  return styles;\n}\n\nvar colors = {\n  primary: '#2684FF',\n  primary75: '#4C9AFF',\n  primary50: '#B2D4FF',\n  primary25: '#DEEBFF',\n  danger: '#DE350B',\n  dangerLight: '#FFBDAD',\n  neutral0: 'hsl(0, 0%, 100%)',\n  neutral5: 'hsl(0, 0%, 95%)',\n  neutral10: 'hsl(0, 0%, 90%)',\n  neutral20: 'hsl(0, 0%, 80%)',\n  neutral30: 'hsl(0, 0%, 70%)',\n  neutral40: 'hsl(0, 0%, 60%)',\n  neutral50: 'hsl(0, 0%, 50%)',\n  neutral60: 'hsl(0, 0%, 40%)',\n  neutral70: 'hsl(0, 0%, 30%)',\n  neutral80: 'hsl(0, 0%, 20%)',\n  neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n  baseUnit: baseUnit,\n  controlHeight: controlHeight,\n  menuGutter: menuGutter\n};\nvar defaultTheme = {\n  borderRadius: borderRadius,\n  colors: colors,\n  spacing: spacing\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$4(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$4(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$4() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar defaultProps = {\n  backspaceRemovesValue: true,\n  blurInputOnSelect: isTouchCapable(),\n  captureMenuScroll: !isTouchCapable(),\n  closeMenuOnSelect: true,\n  closeMenuOnScroll: false,\n  components: {},\n  controlShouldRenderValue: true,\n  escapeClearsValue: false,\n  filterOption: createFilter(),\n  formatGroupLabel: formatGroupLabel,\n  getOptionLabel: getOptionLabel,\n  getOptionValue: getOptionValue,\n  isDisabled: false,\n  isLoading: false,\n  isMulti: false,\n  isRtl: false,\n  isSearchable: true,\n  isOptionDisabled: isOptionDisabled,\n  loadingMessage: function loadingMessage() {\n    return 'Loading...';\n  },\n  maxMenuHeight: 300,\n  minMenuHeight: 140,\n  menuIsOpen: false,\n  menuPlacement: 'bottom',\n  menuPosition: 'absolute',\n  menuShouldBlockScroll: false,\n  menuShouldScrollIntoView: !isMobileDevice(),\n  noOptionsMessage: function noOptionsMessage() {\n    return 'No options';\n  },\n  openMenuOnFocus: false,\n  openMenuOnClick: true,\n  options: [],\n  pageSize: 5,\n  placeholder: 'Select...',\n  screenReaderStatus: function screenReaderStatus(_ref) {\n    var count = _ref.count;\n    return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n  },\n  styles: {},\n  tabIndex: '0',\n  tabSelectsValue: true\n};\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n  _inherits(Select, _Component);\n\n  var _super = _createSuper$4(Select);\n\n  // Misc. Instance Properties\n  // ------------------------------\n  // TODO\n  // Refs\n  // ------------------------------\n  // Lifecycle\n  // ------------------------------\n  function Select(_props) {\n    var _this;\n\n    _classCallCheck(this, Select);\n\n    _this = _super.call(this, _props);\n    _this.state = {\n      ariaLiveSelection: '',\n      ariaLiveContext: '',\n      focusedOption: null,\n      focusedValue: null,\n      inputIsHidden: false,\n      isFocused: false,\n      menuOptions: {\n        render: [],\n        focusable: []\n      },\n      selectValue: []\n    };\n    _this.blockOptionHover = false;\n    _this.isComposing = false;\n    _this.clearFocusValueOnUpdate = false;\n    _this.commonProps = void 0;\n    _this.components = void 0;\n    _this.hasGroups = false;\n    _this.initialTouchX = 0;\n    _this.initialTouchY = 0;\n    _this.inputIsHiddenAfterUpdate = void 0;\n    _this.instancePrefix = '';\n    _this.openAfterFocus = false;\n    _this.scrollToFocusedOptionOnUpdate = false;\n    _this.userIsDragging = void 0;\n    _this.controlRef = null;\n\n    _this.getControlRef = function (ref) {\n      _this.controlRef = ref;\n    };\n\n    _this.focusedOptionRef = null;\n\n    _this.getFocusedOptionRef = function (ref) {\n      _this.focusedOptionRef = ref;\n    };\n\n    _this.menuListRef = null;\n\n    _this.getMenuListRef = function (ref) {\n      _this.menuListRef = ref;\n    };\n\n    _this.inputRef = null;\n\n    _this.getInputRef = function (ref) {\n      _this.inputRef = ref;\n    };\n\n    _this.cacheComponents = function (components) {\n      _this.components = defaultComponents({\n        components: components\n      });\n    };\n\n    _this.focus = _this.focusInput;\n    _this.blur = _this.blurInput;\n\n    _this.onChange = function (newValue, actionMeta) {\n      var _this$props = _this.props,\n          onChange = _this$props.onChange,\n          name = _this$props.name;\n      onChange(newValue, _objectSpread$2(_objectSpread$2({}, actionMeta), {}, {\n        name: name\n      }));\n    };\n\n    _this.setValue = function (newValue) {\n      var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n      var option = arguments.length > 2 ? arguments[2] : undefined;\n      var _this$props2 = _this.props,\n          closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n          isMulti = _this$props2.isMulti;\n\n      _this.onInputChange('', {\n        action: 'set-value'\n      });\n\n      if (closeMenuOnSelect) {\n        _this.inputIsHiddenAfterUpdate = !isMulti;\n\n        _this.onMenuClose();\n      } // when the select value should change, we should reset focusedValue\n\n\n      _this.clearFocusValueOnUpdate = true;\n\n      _this.onChange(newValue, {\n        action: action,\n        option: option\n      });\n    };\n\n    _this.selectOption = function (newValue) {\n      var _this$props3 = _this.props,\n          blurInputOnSelect = _this$props3.blurInputOnSelect,\n          isMulti = _this$props3.isMulti;\n      var selectValue = _this.state.selectValue;\n\n      if (isMulti) {\n        if (_this.isOptionSelected(newValue, selectValue)) {\n          var candidate = _this.getOptionValue(newValue);\n\n          _this.setValue(selectValue.filter(function (i) {\n            return _this.getOptionValue(i) !== candidate;\n          }), 'deselect-option', newValue);\n\n          _this.announceAriaLiveSelection({\n            event: 'deselect-option',\n            context: {\n              value: _this.getOptionLabel(newValue)\n            }\n          });\n        } else {\n          if (!_this.isOptionDisabled(newValue, selectValue)) {\n            _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n\n            _this.announceAriaLiveSelection({\n              event: 'select-option',\n              context: {\n                value: _this.getOptionLabel(newValue)\n              }\n            });\n          } else {\n            // announce that option is disabled\n            _this.announceAriaLiveSelection({\n              event: 'select-option',\n              context: {\n                value: _this.getOptionLabel(newValue),\n                isDisabled: true\n              }\n            });\n          }\n        }\n      } else {\n        if (!_this.isOptionDisabled(newValue, selectValue)) {\n          _this.setValue(newValue, 'select-option');\n\n          _this.announceAriaLiveSelection({\n            event: 'select-option',\n            context: {\n              value: _this.getOptionLabel(newValue)\n            }\n          });\n        } else {\n          // announce that option is disabled\n          _this.announceAriaLiveSelection({\n            event: 'select-option',\n            context: {\n              value: _this.getOptionLabel(newValue),\n              isDisabled: true\n            }\n          });\n        }\n      }\n\n      if (blurInputOnSelect) {\n        _this.blurInput();\n      }\n    };\n\n    _this.removeValue = function (removedValue) {\n      var selectValue = _this.state.selectValue;\n\n      var candidate = _this.getOptionValue(removedValue);\n\n      var newValue = selectValue.filter(function (i) {\n        return _this.getOptionValue(i) !== candidate;\n      });\n\n      _this.onChange(newValue.length ? newValue : null, {\n        action: 'remove-value',\n        removedValue: removedValue\n      });\n\n      _this.announceAriaLiveSelection({\n        event: 'remove-value',\n        context: {\n          value: removedValue ? _this.getOptionLabel(removedValue) : ''\n        }\n      });\n\n      _this.focusInput();\n    };\n\n    _this.clearValue = function () {\n      _this.onChange(null, {\n        action: 'clear'\n      });\n    };\n\n    _this.popValue = function () {\n      var selectValue = _this.state.selectValue;\n      var lastSelectedValue = selectValue[selectValue.length - 1];\n      var newValue = selectValue.slice(0, selectValue.length - 1);\n\n      _this.announceAriaLiveSelection({\n        event: 'pop-value',\n        context: {\n          value: lastSelectedValue ? _this.getOptionLabel(lastSelectedValue) : ''\n        }\n      });\n\n      _this.onChange(newValue.length ? newValue : null, {\n        action: 'pop-value',\n        removedValue: lastSelectedValue\n      });\n    };\n\n    _this.getValue = function () {\n      return _this.state.selectValue;\n    };\n\n    _this.cx = function () {\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n    };\n\n    _this.getOptionLabel = function (data) {\n      return _this.props.getOptionLabel(data);\n    };\n\n    _this.getOptionValue = function (data) {\n      return _this.props.getOptionValue(data);\n    };\n\n    _this.getStyles = function (key, props) {\n      var base = defaultStyles[key](props);\n      base.boxSizing = 'border-box';\n      var custom = _this.props.styles[key];\n      return custom ? custom(base, props) : base;\n    };\n\n    _this.getElementId = function (element) {\n      return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n    };\n\n    _this.getActiveDescendentId = function () {\n      var menuIsOpen = _this.props.menuIsOpen;\n      var _this$state = _this.state,\n          menuOptions = _this$state.menuOptions,\n          focusedOption = _this$state.focusedOption;\n      if (!focusedOption || !menuIsOpen) return undefined;\n      var index = menuOptions.focusable.indexOf(focusedOption);\n      var option = menuOptions.render[index];\n      return option && option.key;\n    };\n\n    _this.announceAriaLiveSelection = function (_ref2) {\n      var event = _ref2.event,\n          context = _ref2.context;\n\n      _this.setState({\n        ariaLiveSelection: valueEventAriaMessage(event, context)\n      });\n    };\n\n    _this.announceAriaLiveContext = function (_ref3) {\n      var event = _ref3.event,\n          context = _ref3.context;\n\n      _this.setState({\n        ariaLiveContext: instructionsAriaMessage(event, _objectSpread$2(_objectSpread$2({}, context), {}, {\n          label: _this.props['aria-label']\n        }))\n      });\n    };\n\n    _this.onMenuMouseDown = function (event) {\n      if (event.button !== 0) {\n        return;\n      }\n\n      event.stopPropagation();\n      event.preventDefault();\n\n      _this.focusInput();\n    };\n\n    _this.onMenuMouseMove = function (event) {\n      _this.blockOptionHover = false;\n    };\n\n    _this.onControlMouseDown = function (event) {\n      var openMenuOnClick = _this.props.openMenuOnClick;\n\n      if (!_this.state.isFocused) {\n        if (openMenuOnClick) {\n          _this.openAfterFocus = true;\n        }\n\n        _this.focusInput();\n      } else if (!_this.props.menuIsOpen) {\n        if (openMenuOnClick) {\n          _this.openMenu('first');\n        }\n      } else {\n        if ( // $FlowFixMe\n        event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n          _this.onMenuClose();\n        }\n      }\n\n      if ( // $FlowFixMe\n      event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n        event.preventDefault();\n      }\n    };\n\n    _this.onDropdownIndicatorMouseDown = function (event) {\n      // ignore mouse events that weren't triggered by the primary button\n      if (event && event.type === 'mousedown' && event.button !== 0) {\n        return;\n      }\n\n      if (_this.props.isDisabled) return;\n      var _this$props4 = _this.props,\n          isMulti = _this$props4.isMulti,\n          menuIsOpen = _this$props4.menuIsOpen;\n\n      _this.focusInput();\n\n      if (menuIsOpen) {\n        _this.inputIsHiddenAfterUpdate = !isMulti;\n\n        _this.onMenuClose();\n      } else {\n        _this.openMenu('first');\n      }\n\n      event.preventDefault();\n      event.stopPropagation();\n    };\n\n    _this.onClearIndicatorMouseDown = function (event) {\n      // ignore mouse events that weren't triggered by the primary button\n      if (event && event.type === 'mousedown' && event.button !== 0) {\n        return;\n      }\n\n      _this.clearValue();\n\n      event.stopPropagation();\n      _this.openAfterFocus = false;\n\n      if (event.type === 'touchend') {\n        _this.focusInput();\n      } else {\n        setTimeout(function () {\n          return _this.focusInput();\n        });\n      }\n    };\n\n    _this.onScroll = function (event) {\n      if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n        if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n          _this.props.onMenuClose();\n        }\n      } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n        if (_this.props.closeMenuOnScroll(event)) {\n          _this.props.onMenuClose();\n        }\n      }\n    };\n\n    _this.onCompositionStart = function () {\n      _this.isComposing = true;\n    };\n\n    _this.onCompositionEnd = function () {\n      _this.isComposing = false;\n    };\n\n    _this.onTouchStart = function (_ref4) {\n      var touches = _ref4.touches;\n      var touch = touches && touches.item(0);\n\n      if (!touch) {\n        return;\n      }\n\n      _this.initialTouchX = touch.clientX;\n      _this.initialTouchY = touch.clientY;\n      _this.userIsDragging = false;\n    };\n\n    _this.onTouchMove = function (_ref5) {\n      var touches = _ref5.touches;\n      var touch = touches && touches.item(0);\n\n      if (!touch) {\n        return;\n      }\n\n      var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n      var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n      var moveThreshold = 5;\n      _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n    };\n\n    _this.onTouchEnd = function (event) {\n      if (_this.userIsDragging) return; // close the menu if the user taps outside\n      // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n      // on events on child elements, not the document (which we've attached this handler to).\n\n      if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n        _this.blurInput();\n      } // reset move vars\n\n\n      _this.initialTouchX = 0;\n      _this.initialTouchY = 0;\n    };\n\n    _this.onControlTouchEnd = function (event) {\n      if (_this.userIsDragging) return;\n\n      _this.onControlMouseDown(event);\n    };\n\n    _this.onClearIndicatorTouchEnd = function (event) {\n      if (_this.userIsDragging) return;\n\n      _this.onClearIndicatorMouseDown(event);\n    };\n\n    _this.onDropdownIndicatorTouchEnd = function (event) {\n      if (_this.userIsDragging) return;\n\n      _this.onDropdownIndicatorMouseDown(event);\n    };\n\n    _this.handleInputChange = function (event) {\n      var inputValue = event.currentTarget.value;\n      _this.inputIsHiddenAfterUpdate = false;\n\n      _this.onInputChange(inputValue, {\n        action: 'input-change'\n      });\n\n      if (!_this.props.menuIsOpen) {\n        _this.onMenuOpen();\n      }\n    };\n\n    _this.onInputFocus = function (event) {\n      var _this$props5 = _this.props,\n          isSearchable = _this$props5.isSearchable,\n          isMulti = _this$props5.isMulti;\n\n      if (_this.props.onFocus) {\n        _this.props.onFocus(event);\n      }\n\n      _this.inputIsHiddenAfterUpdate = false;\n\n      _this.announceAriaLiveContext({\n        event: 'input',\n        context: {\n          isSearchable: isSearchable,\n          isMulti: isMulti\n        }\n      });\n\n      _this.setState({\n        isFocused: true\n      });\n\n      if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n        _this.openMenu('first');\n      }\n\n      _this.openAfterFocus = false;\n    };\n\n    _this.onInputBlur = function (event) {\n      if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n        _this.inputRef.focus();\n\n        return;\n      }\n\n      if (_this.props.onBlur) {\n        _this.props.onBlur(event);\n      }\n\n      _this.onInputChange('', {\n        action: 'input-blur'\n      });\n\n      _this.onMenuClose();\n\n      _this.setState({\n        focusedValue: null,\n        isFocused: false\n      });\n    };\n\n    _this.onOptionHover = function (focusedOption) {\n      if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n        return;\n      }\n\n      _this.setState({\n        focusedOption: focusedOption\n      });\n    };\n\n    _this.shouldHideSelectedOptions = function () {\n      var _this$props6 = _this.props,\n          hideSelectedOptions = _this$props6.hideSelectedOptions,\n          isMulti = _this$props6.isMulti;\n      if (hideSelectedOptions === undefined) return isMulti;\n      return hideSelectedOptions;\n    };\n\n    _this.onKeyDown = function (event) {\n      var _this$props7 = _this.props,\n          isMulti = _this$props7.isMulti,\n          backspaceRemovesValue = _this$props7.backspaceRemovesValue,\n          escapeClearsValue = _this$props7.escapeClearsValue,\n          inputValue = _this$props7.inputValue,\n          isClearable = _this$props7.isClearable,\n          isDisabled = _this$props7.isDisabled,\n          menuIsOpen = _this$props7.menuIsOpen,\n          onKeyDown = _this$props7.onKeyDown,\n          tabSelectsValue = _this$props7.tabSelectsValue,\n          openMenuOnFocus = _this$props7.openMenuOnFocus;\n      var _this$state2 = _this.state,\n          focusedOption = _this$state2.focusedOption,\n          focusedValue = _this$state2.focusedValue,\n          selectValue = _this$state2.selectValue;\n      if (isDisabled) return;\n\n      if (typeof onKeyDown === 'function') {\n        onKeyDown(event);\n\n        if (event.defaultPrevented) {\n          return;\n        }\n      } // Block option hover events when the user has just pressed a key\n\n\n      _this.blockOptionHover = true;\n\n      switch (event.key) {\n        case 'ArrowLeft':\n          if (!isMulti || inputValue) return;\n\n          _this.focusValue('previous');\n\n          break;\n\n        case 'ArrowRight':\n          if (!isMulti || inputValue) return;\n\n          _this.focusValue('next');\n\n          break;\n\n        case 'Delete':\n        case 'Backspace':\n          if (inputValue) return;\n\n          if (focusedValue) {\n            _this.removeValue(focusedValue);\n          } else {\n            if (!backspaceRemovesValue) return;\n\n            if (isMulti) {\n              _this.popValue();\n            } else if (isClearable) {\n              _this.clearValue();\n            }\n          }\n\n          break;\n\n        case 'Tab':\n          if (_this.isComposing) return;\n\n          if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n          // option is already selected; it breaks the flow of navigation\n          openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n            return;\n          }\n\n          _this.selectOption(focusedOption);\n\n          break;\n\n        case 'Enter':\n          if (event.keyCode === 229) {\n            // ignore the keydown event from an Input Method Editor(IME)\n            // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n            break;\n          }\n\n          if (menuIsOpen) {\n            if (!focusedOption) return;\n            if (_this.isComposing) return;\n\n            _this.selectOption(focusedOption);\n\n            break;\n          }\n\n          return;\n\n        case 'Escape':\n          if (menuIsOpen) {\n            _this.inputIsHiddenAfterUpdate = false;\n\n            _this.onInputChange('', {\n              action: 'menu-close'\n            });\n\n            _this.onMenuClose();\n          } else if (isClearable && escapeClearsValue) {\n            _this.clearValue();\n          }\n\n          break;\n\n        case ' ':\n          // space\n          if (inputValue) {\n            return;\n          }\n\n          if (!menuIsOpen) {\n            _this.openMenu('first');\n\n            break;\n          }\n\n          if (!focusedOption) return;\n\n          _this.selectOption(focusedOption);\n\n          break;\n\n        case 'ArrowUp':\n          if (menuIsOpen) {\n            _this.focusOption('up');\n          } else {\n            _this.openMenu('last');\n          }\n\n          break;\n\n        case 'ArrowDown':\n          if (menuIsOpen) {\n            _this.focusOption('down');\n          } else {\n            _this.openMenu('first');\n          }\n\n          break;\n\n        case 'PageUp':\n          if (!menuIsOpen) return;\n\n          _this.focusOption('pageup');\n\n          break;\n\n        case 'PageDown':\n          if (!menuIsOpen) return;\n\n          _this.focusOption('pagedown');\n\n          break;\n\n        case 'Home':\n          if (!menuIsOpen) return;\n\n          _this.focusOption('first');\n\n          break;\n\n        case 'End':\n          if (!menuIsOpen) return;\n\n          _this.focusOption('last');\n\n          break;\n\n        default:\n          return;\n      }\n\n      event.preventDefault();\n    };\n\n    _this.buildMenuOptions = function (props, selectValue) {\n      var _props$inputValue = props.inputValue,\n          inputValue = _props$inputValue === void 0 ? '' : _props$inputValue,\n          options = props.options;\n\n      var toOption = function toOption(option, id) {\n        var isDisabled = _this.isOptionDisabled(option, selectValue);\n\n        var isSelected = _this.isOptionSelected(option, selectValue);\n\n        var label = _this.getOptionLabel(option);\n\n        var value = _this.getOptionValue(option);\n\n        if (_this.shouldHideSelectedOptions() && isSelected || !_this.filterOption({\n          label: label,\n          value: value,\n          data: option\n        }, inputValue)) {\n          return;\n        }\n\n        var onHover = isDisabled ? undefined : function () {\n          return _this.onOptionHover(option);\n        };\n        var onSelect = isDisabled ? undefined : function () {\n          return _this.selectOption(option);\n        };\n        var optionId = \"\".concat(_this.getElementId('option'), \"-\").concat(id);\n        return {\n          innerProps: {\n            id: optionId,\n            onClick: onSelect,\n            onMouseMove: onHover,\n            onMouseOver: onHover,\n            tabIndex: -1\n          },\n          data: option,\n          isDisabled: isDisabled,\n          isSelected: isSelected,\n          key: optionId,\n          label: label,\n          type: 'option',\n          value: value\n        };\n      };\n\n      return options.reduce(function (acc, item, itemIndex) {\n        if (item.options) {\n          // TODO needs a tidier implementation\n          if (!_this.hasGroups) _this.hasGroups = true;\n          var items = item.options;\n          var children = items.map(function (child, i) {\n            var option = toOption(child, \"\".concat(itemIndex, \"-\").concat(i));\n            if (option) acc.focusable.push(child);\n            return option;\n          }).filter(Boolean);\n\n          if (children.length) {\n            var groupId = \"\".concat(_this.getElementId('group'), \"-\").concat(itemIndex);\n            acc.render.push({\n              type: 'group',\n              key: groupId,\n              data: item,\n              options: children\n            });\n          }\n        } else {\n          var option = toOption(item, \"\".concat(itemIndex));\n\n          if (option) {\n            acc.render.push(option);\n            acc.focusable.push(item);\n          }\n        }\n\n        return acc;\n      }, {\n        render: [],\n        focusable: []\n      });\n    };\n\n    var _value = _props.value;\n    _this.cacheComponents = memoizeOne(_this.cacheComponents, exportedEqual).bind(_assertThisInitialized(_this));\n\n    _this.cacheComponents(_props.components);\n\n    _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n\n    var _selectValue = cleanValue(_value);\n\n    _this.buildMenuOptions = memoizeOne(_this.buildMenuOptions, function (newArgs, lastArgs) {\n      var _ref6 = newArgs,\n          _ref7 = _slicedToArray(_ref6, 2),\n          newProps = _ref7[0],\n          newSelectValue = _ref7[1];\n\n      var _ref8 = lastArgs,\n          _ref9 = _slicedToArray(_ref8, 2),\n          lastProps = _ref9[0],\n          lastSelectValue = _ref9[1];\n\n      return newSelectValue === lastSelectValue && newProps.inputValue === lastProps.inputValue && newProps.options === lastProps.options;\n    }).bind(_assertThisInitialized(_this));\n\n    var _menuOptions = _props.menuIsOpen ? _this.buildMenuOptions(_props, _selectValue) : {\n      render: [],\n      focusable: []\n    };\n\n    _this.state.menuOptions = _menuOptions;\n    _this.state.selectValue = _selectValue;\n    return _this;\n  }\n\n  _createClass(Select, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.startListeningComposition();\n      this.startListeningToTouch();\n\n      if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n        // Listen to all scroll events, and filter them out inside of 'onScroll'\n        document.addEventListener('scroll', this.onScroll, true);\n      }\n\n      if (this.props.autoFocus) {\n        this.focusInput();\n      }\n    }\n  }, {\n    key: \"UNSAFE_componentWillReceiveProps\",\n    value: function UNSAFE_componentWillReceiveProps(nextProps) {\n      var _this$props8 = this.props,\n          options = _this$props8.options,\n          value = _this$props8.value,\n          menuIsOpen = _this$props8.menuIsOpen,\n          inputValue = _this$props8.inputValue; // re-cache custom components\n\n      this.cacheComponents(nextProps.components); // rebuild the menu options\n\n      if (nextProps.value !== value || nextProps.options !== options || nextProps.menuIsOpen !== menuIsOpen || nextProps.inputValue !== inputValue) {\n        var selectValue = cleanValue(nextProps.value);\n        var menuOptions = nextProps.menuIsOpen ? this.buildMenuOptions(nextProps, selectValue) : {\n          render: [],\n          focusable: []\n        };\n        var focusedValue = this.getNextFocusedValue(selectValue);\n        var focusedOption = this.getNextFocusedOption(menuOptions.focusable);\n        this.setState({\n          menuOptions: menuOptions,\n          selectValue: selectValue,\n          focusedOption: focusedOption,\n          focusedValue: focusedValue\n        });\n      } // some updates should toggle the state of the input visibility\n\n\n      if (this.inputIsHiddenAfterUpdate != null) {\n        this.setState({\n          inputIsHidden: this.inputIsHiddenAfterUpdate\n        });\n        delete this.inputIsHiddenAfterUpdate;\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var _this$props9 = this.props,\n          isDisabled = _this$props9.isDisabled,\n          menuIsOpen = _this$props9.menuIsOpen;\n      var isFocused = this.state.isFocused;\n\n      if ( // ensure focus is restored correctly when the control becomes enabled\n      isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n      isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n        this.focusInput();\n      }\n\n      if (isFocused && isDisabled && !prevProps.isDisabled) {\n        // ensure select state gets blurred in case Select is programatically disabled while focused\n        this.setState({\n          isFocused: false\n        }, this.onMenuClose);\n      } // scroll the focused option into view if necessary\n\n\n      if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n        scrollIntoView(this.menuListRef, this.focusedOptionRef);\n        this.scrollToFocusedOptionOnUpdate = false;\n      }\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      this.stopListeningComposition();\n      this.stopListeningToTouch();\n      document.removeEventListener('scroll', this.onScroll, true);\n    }\n  }, {\n    key: \"onMenuOpen\",\n    // ==============================\n    // Consumer Handlers\n    // ==============================\n    value: function onMenuOpen() {\n      this.props.onMenuOpen();\n    }\n  }, {\n    key: \"onMenuClose\",\n    value: function onMenuClose() {\n      var _this$props10 = this.props,\n          isSearchable = _this$props10.isSearchable,\n          isMulti = _this$props10.isMulti;\n      this.announceAriaLiveContext({\n        event: 'input',\n        context: {\n          isSearchable: isSearchable,\n          isMulti: isMulti\n        }\n      });\n      this.onInputChange('', {\n        action: 'menu-close'\n      });\n      this.props.onMenuClose();\n    }\n  }, {\n    key: \"onInputChange\",\n    value: function onInputChange(newValue, actionMeta) {\n      this.props.onInputChange(newValue, actionMeta);\n    } // ==============================\n    // Methods\n    // ==============================\n\n  }, {\n    key: \"focusInput\",\n    value: function focusInput() {\n      if (!this.inputRef) return;\n      this.inputRef.focus();\n    }\n  }, {\n    key: \"blurInput\",\n    value: function blurInput() {\n      if (!this.inputRef) return;\n      this.inputRef.blur();\n    } // aliased for consumers\n\n  }, {\n    key: \"openMenu\",\n    value: function openMenu(focusOption) {\n      var _this2 = this;\n\n      var _this$state3 = this.state,\n          selectValue = _this$state3.selectValue,\n          isFocused = _this$state3.isFocused;\n      var menuOptions = this.buildMenuOptions(this.props, selectValue);\n      var _this$props11 = this.props,\n          isMulti = _this$props11.isMulti,\n          tabSelectsValue = _this$props11.tabSelectsValue;\n      var openAtIndex = focusOption === 'first' ? 0 : menuOptions.focusable.length - 1;\n\n      if (!isMulti) {\n        var selectedIndex = menuOptions.focusable.indexOf(selectValue[0]);\n\n        if (selectedIndex > -1) {\n          openAtIndex = selectedIndex;\n        }\n      } // only scroll if the menu isn't already open\n\n\n      this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n      this.inputIsHiddenAfterUpdate = false;\n      this.setState({\n        menuOptions: menuOptions,\n        focusedValue: null,\n        focusedOption: menuOptions.focusable[openAtIndex]\n      }, function () {\n        _this2.onMenuOpen();\n\n        _this2.announceAriaLiveContext({\n          event: 'menu',\n          context: {\n            tabSelectsValue: tabSelectsValue\n          }\n        });\n      });\n    }\n  }, {\n    key: \"focusValue\",\n    value: function focusValue(direction) {\n      var _this$props12 = this.props,\n          isMulti = _this$props12.isMulti,\n          isSearchable = _this$props12.isSearchable;\n      var _this$state4 = this.state,\n          selectValue = _this$state4.selectValue,\n          focusedValue = _this$state4.focusedValue; // Only multiselects support value focusing\n\n      if (!isMulti) return;\n      this.setState({\n        focusedOption: null\n      });\n      var focusedIndex = selectValue.indexOf(focusedValue);\n\n      if (!focusedValue) {\n        focusedIndex = -1;\n        this.announceAriaLiveContext({\n          event: 'value'\n        });\n      }\n\n      var lastIndex = selectValue.length - 1;\n      var nextFocus = -1;\n      if (!selectValue.length) return;\n\n      switch (direction) {\n        case 'previous':\n          if (focusedIndex === 0) {\n            // don't cycle from the start to the end\n            nextFocus = 0;\n          } else if (focusedIndex === -1) {\n            // if nothing is focused, focus the last value first\n            nextFocus = lastIndex;\n          } else {\n            nextFocus = focusedIndex - 1;\n          }\n\n          break;\n\n        case 'next':\n          if (focusedIndex > -1 && focusedIndex < lastIndex) {\n            nextFocus = focusedIndex + 1;\n          }\n\n          break;\n      }\n\n      if (nextFocus === -1) {\n        this.announceAriaLiveContext({\n          event: 'input',\n          context: {\n            isSearchable: isSearchable,\n            isMulti: isMulti\n          }\n        });\n      }\n\n      this.setState({\n        inputIsHidden: nextFocus !== -1,\n        focusedValue: selectValue[nextFocus]\n      });\n    }\n  }, {\n    key: \"focusOption\",\n    value: function focusOption() {\n      var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n      var _this$props13 = this.props,\n          pageSize = _this$props13.pageSize,\n          tabSelectsValue = _this$props13.tabSelectsValue;\n      var _this$state5 = this.state,\n          focusedOption = _this$state5.focusedOption,\n          menuOptions = _this$state5.menuOptions;\n      var options = menuOptions.focusable;\n      if (!options.length) return;\n      var nextFocus = 0; // handles 'first'\n\n      var focusedIndex = options.indexOf(focusedOption);\n\n      if (!focusedOption) {\n        focusedIndex = -1;\n        this.announceAriaLiveContext({\n          event: 'menu',\n          context: {\n            tabSelectsValue: tabSelectsValue\n          }\n        });\n      }\n\n      if (direction === 'up') {\n        nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n      } else if (direction === 'down') {\n        nextFocus = (focusedIndex + 1) % options.length;\n      } else if (direction === 'pageup') {\n        nextFocus = focusedIndex - pageSize;\n        if (nextFocus < 0) nextFocus = 0;\n      } else if (direction === 'pagedown') {\n        nextFocus = focusedIndex + pageSize;\n        if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n      } else if (direction === 'last') {\n        nextFocus = options.length - 1;\n      }\n\n      this.scrollToFocusedOptionOnUpdate = true;\n      this.setState({\n        focusedOption: options[nextFocus],\n        focusedValue: null\n      });\n      this.announceAriaLiveContext({\n        event: 'menu',\n        context: {\n          isDisabled: isOptionDisabled(options[nextFocus]),\n          tabSelectsValue: tabSelectsValue\n        }\n      });\n    }\n  }, {\n    key: \"getTheme\",\n    // ==============================\n    // Getters\n    // ==============================\n    value: function getTheme() {\n      // Use the default theme if there are no customizations.\n      if (!this.props.theme) {\n        return defaultTheme;\n      } // If the theme prop is a function, assume the function\n      // knows how to merge the passed-in default theme with\n      // its own modifications.\n\n\n      if (typeof this.props.theme === 'function') {\n        return this.props.theme(defaultTheme);\n      } // Otherwise, if a plain theme object was passed in,\n      // overlay it with the default theme.\n\n\n      return _objectSpread$2(_objectSpread$2({}, defaultTheme), this.props.theme);\n    }\n  }, {\n    key: \"getCommonProps\",\n    value: function getCommonProps() {\n      var clearValue = this.clearValue,\n          cx = this.cx,\n          getStyles = this.getStyles,\n          getValue = this.getValue,\n          setValue = this.setValue,\n          selectOption = this.selectOption,\n          props = this.props;\n      var isMulti = props.isMulti,\n          isRtl = props.isRtl,\n          options = props.options;\n      var hasValue = this.hasValue();\n      return {\n        cx: cx,\n        clearValue: clearValue,\n        getStyles: getStyles,\n        getValue: getValue,\n        hasValue: hasValue,\n        isMulti: isMulti,\n        isRtl: isRtl,\n        options: options,\n        selectOption: selectOption,\n        setValue: setValue,\n        selectProps: props,\n        theme: this.getTheme()\n      };\n    }\n  }, {\n    key: \"getNextFocusedValue\",\n    value: function getNextFocusedValue(nextSelectValue) {\n      if (this.clearFocusValueOnUpdate) {\n        this.clearFocusValueOnUpdate = false;\n        return null;\n      }\n\n      var _this$state6 = this.state,\n          focusedValue = _this$state6.focusedValue,\n          lastSelectValue = _this$state6.selectValue;\n      var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n      if (lastFocusedIndex > -1) {\n        var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n        if (nextFocusedIndex > -1) {\n          // the focused value is still in the selectValue, return it\n          return focusedValue;\n        } else if (lastFocusedIndex < nextSelectValue.length) {\n          // the focusedValue is not present in the next selectValue array by\n          // reference, so return the new value at the same index\n          return nextSelectValue[lastFocusedIndex];\n        }\n      }\n\n      return null;\n    }\n  }, {\n    key: \"getNextFocusedOption\",\n    value: function getNextFocusedOption(options) {\n      var lastFocusedOption = this.state.focusedOption;\n      return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n    }\n  }, {\n    key: \"hasValue\",\n    value: function hasValue() {\n      var selectValue = this.state.selectValue;\n      return selectValue.length > 0;\n    }\n  }, {\n    key: \"hasOptions\",\n    value: function hasOptions() {\n      return !!this.state.menuOptions.render.length;\n    }\n  }, {\n    key: \"countOptions\",\n    value: function countOptions() {\n      return this.state.menuOptions.focusable.length;\n    }\n  }, {\n    key: \"isClearable\",\n    value: function isClearable() {\n      var _this$props14 = this.props,\n          isClearable = _this$props14.isClearable,\n          isMulti = _this$props14.isMulti; // single select, by default, IS NOT clearable\n      // multi select, by default, IS clearable\n\n      if (isClearable === undefined) return isMulti;\n      return isClearable;\n    }\n  }, {\n    key: \"isOptionDisabled\",\n    value: function isOptionDisabled(option, selectValue) {\n      return typeof this.props.isOptionDisabled === 'function' ? this.props.isOptionDisabled(option, selectValue) : false;\n    }\n  }, {\n    key: \"isOptionSelected\",\n    value: function isOptionSelected(option, selectValue) {\n      var _this3 = this;\n\n      if (selectValue.indexOf(option) > -1) return true;\n\n      if (typeof this.props.isOptionSelected === 'function') {\n        return this.props.isOptionSelected(option, selectValue);\n      }\n\n      var candidate = this.getOptionValue(option);\n      return selectValue.some(function (i) {\n        return _this3.getOptionValue(i) === candidate;\n      });\n    }\n  }, {\n    key: \"filterOption\",\n    value: function filterOption(option, inputValue) {\n      return this.props.filterOption ? this.props.filterOption(option, inputValue) : true;\n    }\n  }, {\n    key: \"formatOptionLabel\",\n    value: function formatOptionLabel(data, context) {\n      if (typeof this.props.formatOptionLabel === 'function') {\n        var inputValue = this.props.inputValue;\n        var selectValue = this.state.selectValue;\n        return this.props.formatOptionLabel(data, {\n          context: context,\n          inputValue: inputValue,\n          selectValue: selectValue\n        });\n      } else {\n        return this.getOptionLabel(data);\n      }\n    }\n  }, {\n    key: \"formatGroupLabel\",\n    value: function formatGroupLabel(data) {\n      return this.props.formatGroupLabel(data);\n    } // ==============================\n    // Mouse Handlers\n    // ==============================\n\n  }, {\n    key: \"startListeningComposition\",\n    // ==============================\n    // Composition Handlers\n    // ==============================\n    value: function startListeningComposition() {\n      if (document && document.addEventListener) {\n        document.addEventListener('compositionstart', this.onCompositionStart, false);\n        document.addEventListener('compositionend', this.onCompositionEnd, false);\n      }\n    }\n  }, {\n    key: \"stopListeningComposition\",\n    value: function stopListeningComposition() {\n      if (document && document.removeEventListener) {\n        document.removeEventListener('compositionstart', this.onCompositionStart);\n        document.removeEventListener('compositionend', this.onCompositionEnd);\n      }\n    }\n  }, {\n    key: \"startListeningToTouch\",\n    // ==============================\n    // Touch Handlers\n    // ==============================\n    value: function startListeningToTouch() {\n      if (document && document.addEventListener) {\n        document.addEventListener('touchstart', this.onTouchStart, false);\n        document.addEventListener('touchmove', this.onTouchMove, false);\n        document.addEventListener('touchend', this.onTouchEnd, false);\n      }\n    }\n  }, {\n    key: \"stopListeningToTouch\",\n    value: function stopListeningToTouch() {\n      if (document && document.removeEventListener) {\n        document.removeEventListener('touchstart', this.onTouchStart);\n        document.removeEventListener('touchmove', this.onTouchMove);\n        document.removeEventListener('touchend', this.onTouchEnd);\n      }\n    }\n  }, {\n    key: \"constructAriaLiveMessage\",\n    // ==============================\n    // Renderers\n    // ==============================\n    value: function constructAriaLiveMessage() {\n      var _this$state7 = this.state,\n          ariaLiveContext = _this$state7.ariaLiveContext,\n          selectValue = _this$state7.selectValue,\n          focusedValue = _this$state7.focusedValue,\n          focusedOption = _this$state7.focusedOption;\n      var _this$props15 = this.props,\n          options = _this$props15.options,\n          menuIsOpen = _this$props15.menuIsOpen,\n          inputValue = _this$props15.inputValue,\n          screenReaderStatus = _this$props15.screenReaderStatus; // An aria live message representing the currently focused value in the select.\n\n      var focusedValueMsg = focusedValue ? valueFocusAriaMessage({\n        focusedValue: focusedValue,\n        getOptionLabel: this.getOptionLabel,\n        selectValue: selectValue\n      }) : ''; // An aria live message representing the currently focused option in the select.\n\n      var focusedOptionMsg = focusedOption && menuIsOpen ? optionFocusAriaMessage({\n        focusedOption: focusedOption,\n        getOptionLabel: this.getOptionLabel,\n        options: options\n      }) : ''; // An aria live message representing the set of focusable results and current searchterm/inputvalue.\n\n      var resultsMsg = resultsAriaMessage({\n        inputValue: inputValue,\n        screenReaderMessage: screenReaderStatus({\n          count: this.countOptions()\n        })\n      });\n      return \"\".concat(focusedValueMsg, \" \").concat(focusedOptionMsg, \" \").concat(resultsMsg, \" \").concat(ariaLiveContext);\n    }\n  }, {\n    key: \"renderInput\",\n    value: function renderInput() {\n      var _this$props16 = this.props,\n          isDisabled = _this$props16.isDisabled,\n          isSearchable = _this$props16.isSearchable,\n          inputId = _this$props16.inputId,\n          inputValue = _this$props16.inputValue,\n          tabIndex = _this$props16.tabIndex,\n          form = _this$props16.form;\n      var Input = this.components.Input;\n      var inputIsHidden = this.state.inputIsHidden;\n      var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n      var ariaAttributes = {\n        'aria-autocomplete': 'list',\n        'aria-label': this.props['aria-label'],\n        'aria-labelledby': this.props['aria-labelledby']\n      };\n\n      if (!isSearchable) {\n        // use a dummy input to maintain focus/blur functionality\n        return /*#__PURE__*/React.createElement(DummyInput, _extends({\n          id: id,\n          innerRef: this.getInputRef,\n          onBlur: this.onInputBlur,\n          onChange: noop,\n          onFocus: this.onInputFocus,\n          readOnly: true,\n          disabled: isDisabled,\n          tabIndex: tabIndex,\n          form: form,\n          value: \"\"\n        }, ariaAttributes));\n      }\n\n      var _this$commonProps = this.commonProps,\n          cx = _this$commonProps.cx,\n          theme = _this$commonProps.theme,\n          selectProps = _this$commonProps.selectProps;\n      return /*#__PURE__*/React.createElement(Input, _extends({\n        autoCapitalize: \"none\",\n        autoComplete: \"off\",\n        autoCorrect: \"off\",\n        cx: cx,\n        getStyles: this.getStyles,\n        id: id,\n        innerRef: this.getInputRef,\n        isDisabled: isDisabled,\n        isHidden: inputIsHidden,\n        onBlur: this.onInputBlur,\n        onChange: this.handleInputChange,\n        onFocus: this.onInputFocus,\n        selectProps: selectProps,\n        spellCheck: \"false\",\n        tabIndex: tabIndex,\n        form: form,\n        theme: theme,\n        type: \"text\",\n        value: inputValue\n      }, ariaAttributes));\n    }\n  }, {\n    key: \"renderPlaceholderOrValue\",\n    value: function renderPlaceholderOrValue() {\n      var _this4 = this;\n\n      var _this$components = this.components,\n          MultiValue = _this$components.MultiValue,\n          MultiValueContainer = _this$components.MultiValueContainer,\n          MultiValueLabel = _this$components.MultiValueLabel,\n          MultiValueRemove = _this$components.MultiValueRemove,\n          SingleValue = _this$components.SingleValue,\n          Placeholder = _this$components.Placeholder;\n      var commonProps = this.commonProps;\n      var _this$props17 = this.props,\n          controlShouldRenderValue = _this$props17.controlShouldRenderValue,\n          isDisabled = _this$props17.isDisabled,\n          isMulti = _this$props17.isMulti,\n          inputValue = _this$props17.inputValue,\n          placeholder = _this$props17.placeholder;\n      var _this$state8 = this.state,\n          selectValue = _this$state8.selectValue,\n          focusedValue = _this$state8.focusedValue,\n          isFocused = _this$state8.isFocused;\n\n      if (!this.hasValue() || !controlShouldRenderValue) {\n        return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n          key: \"placeholder\",\n          isDisabled: isDisabled,\n          isFocused: isFocused\n        }), placeholder);\n      }\n\n      if (isMulti) {\n        var selectValues = selectValue.map(function (opt, index) {\n          var isOptionFocused = opt === focusedValue;\n          return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n            components: {\n              Container: MultiValueContainer,\n              Label: MultiValueLabel,\n              Remove: MultiValueRemove\n            },\n            isFocused: isOptionFocused,\n            isDisabled: isDisabled,\n            key: \"\".concat(_this4.getOptionValue(opt)).concat(index),\n            index: index,\n            removeProps: {\n              onClick: function onClick() {\n                return _this4.removeValue(opt);\n              },\n              onTouchEnd: function onTouchEnd() {\n                return _this4.removeValue(opt);\n              },\n              onMouseDown: function onMouseDown(e) {\n                e.preventDefault();\n                e.stopPropagation();\n              }\n            },\n            data: opt\n          }), _this4.formatOptionLabel(opt, 'value'));\n        });\n        return selectValues;\n      }\n\n      if (inputValue) {\n        return null;\n      }\n\n      var singleValue = selectValue[0];\n      return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n        data: singleValue,\n        isDisabled: isDisabled\n      }), this.formatOptionLabel(singleValue, 'value'));\n    }\n  }, {\n    key: \"renderClearIndicator\",\n    value: function renderClearIndicator() {\n      var ClearIndicator = this.components.ClearIndicator;\n      var commonProps = this.commonProps;\n      var _this$props18 = this.props,\n          isDisabled = _this$props18.isDisabled,\n          isLoading = _this$props18.isLoading;\n      var isFocused = this.state.isFocused;\n\n      if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n        return null;\n      }\n\n      var innerProps = {\n        onMouseDown: this.onClearIndicatorMouseDown,\n        onTouchEnd: this.onClearIndicatorTouchEnd,\n        'aria-hidden': 'true'\n      };\n      return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n        innerProps: innerProps,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: \"renderLoadingIndicator\",\n    value: function renderLoadingIndicator() {\n      var LoadingIndicator = this.components.LoadingIndicator;\n      var commonProps = this.commonProps;\n      var _this$props19 = this.props,\n          isDisabled = _this$props19.isDisabled,\n          isLoading = _this$props19.isLoading;\n      var isFocused = this.state.isFocused;\n      if (!LoadingIndicator || !isLoading) return null;\n      var innerProps = {\n        'aria-hidden': 'true'\n      };\n      return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n        innerProps: innerProps,\n        isDisabled: isDisabled,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: \"renderIndicatorSeparator\",\n    value: function renderIndicatorSeparator() {\n      var _this$components2 = this.components,\n          DropdownIndicator = _this$components2.DropdownIndicator,\n          IndicatorSeparator = _this$components2.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n      if (!DropdownIndicator || !IndicatorSeparator) return null;\n      var commonProps = this.commonProps;\n      var isDisabled = this.props.isDisabled;\n      var isFocused = this.state.isFocused;\n      return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n        isDisabled: isDisabled,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: \"renderDropdownIndicator\",\n    value: function renderDropdownIndicator() {\n      var DropdownIndicator = this.components.DropdownIndicator;\n      if (!DropdownIndicator) return null;\n      var commonProps = this.commonProps;\n      var isDisabled = this.props.isDisabled;\n      var isFocused = this.state.isFocused;\n      var innerProps = {\n        onMouseDown: this.onDropdownIndicatorMouseDown,\n        onTouchEnd: this.onDropdownIndicatorTouchEnd,\n        'aria-hidden': 'true'\n      };\n      return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n        innerProps: innerProps,\n        isDisabled: isDisabled,\n        isFocused: isFocused\n      }));\n    }\n  }, {\n    key: \"renderMenu\",\n    value: function renderMenu() {\n      var _this5 = this;\n\n      var _this$components3 = this.components,\n          Group = _this$components3.Group,\n          GroupHeading = _this$components3.GroupHeading,\n          Menu = _this$components3.Menu,\n          MenuList = _this$components3.MenuList,\n          MenuPortal = _this$components3.MenuPortal,\n          LoadingMessage = _this$components3.LoadingMessage,\n          NoOptionsMessage = _this$components3.NoOptionsMessage,\n          Option = _this$components3.Option;\n      var commonProps = this.commonProps;\n      var _this$state9 = this.state,\n          focusedOption = _this$state9.focusedOption,\n          menuOptions = _this$state9.menuOptions;\n      var _this$props20 = this.props,\n          captureMenuScroll = _this$props20.captureMenuScroll,\n          inputValue = _this$props20.inputValue,\n          isLoading = _this$props20.isLoading,\n          loadingMessage = _this$props20.loadingMessage,\n          minMenuHeight = _this$props20.minMenuHeight,\n          maxMenuHeight = _this$props20.maxMenuHeight,\n          menuIsOpen = _this$props20.menuIsOpen,\n          menuPlacement = _this$props20.menuPlacement,\n          menuPosition = _this$props20.menuPosition,\n          menuPortalTarget = _this$props20.menuPortalTarget,\n          menuShouldBlockScroll = _this$props20.menuShouldBlockScroll,\n          menuShouldScrollIntoView = _this$props20.menuShouldScrollIntoView,\n          noOptionsMessage = _this$props20.noOptionsMessage,\n          onMenuScrollToTop = _this$props20.onMenuScrollToTop,\n          onMenuScrollToBottom = _this$props20.onMenuScrollToBottom;\n      if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n      var render = function render(props) {\n        // for performance, the menu options in state aren't changed when the\n        // focused option changes so we calculate additional props based on that\n        var isFocused = focusedOption === props.data;\n        props.innerRef = isFocused ? _this5.getFocusedOptionRef : undefined;\n        return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, props, {\n          isFocused: isFocused\n        }), _this5.formatOptionLabel(props.data, 'menu'));\n      };\n\n      var menuUI;\n\n      if (this.hasOptions()) {\n        menuUI = menuOptions.render.map(function (item) {\n          if (item.type === 'group') {\n            var type = item.type,\n                group = _objectWithoutProperties(item, [\"type\"]);\n\n            var headingId = \"\".concat(item.key, \"-heading\");\n            return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, group, {\n              Heading: GroupHeading,\n              headingProps: {\n                id: headingId,\n                data: item.data\n              },\n              label: _this5.formatGroupLabel(item.data)\n            }), item.options.map(function (option) {\n              return render(option);\n            }));\n          } else if (item.type === 'option') {\n            return render(item);\n          }\n        });\n      } else if (isLoading) {\n        var message = loadingMessage({\n          inputValue: inputValue\n        });\n        if (message === null) return null;\n        menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n      } else {\n        var _message = noOptionsMessage({\n          inputValue: inputValue\n        });\n\n        if (_message === null) return null;\n        menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n      }\n\n      var menuPlacementProps = {\n        minMenuHeight: minMenuHeight,\n        maxMenuHeight: maxMenuHeight,\n        menuPlacement: menuPlacement,\n        menuPosition: menuPosition,\n        menuShouldScrollIntoView: menuShouldScrollIntoView\n      };\n      var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref10) {\n        var ref = _ref10.ref,\n            _ref10$placerProps = _ref10.placerProps,\n            placement = _ref10$placerProps.placement,\n            maxHeight = _ref10$placerProps.maxHeight;\n        return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n          innerRef: ref,\n          innerProps: {\n            onMouseDown: _this5.onMenuMouseDown,\n            onMouseMove: _this5.onMenuMouseMove\n          },\n          isLoading: isLoading,\n          placement: placement\n        }), /*#__PURE__*/React.createElement(ScrollCaptorSwitch, {\n          isEnabled: captureMenuScroll,\n          onTopArrive: onMenuScrollToTop,\n          onBottomArrive: onMenuScrollToBottom\n        }, /*#__PURE__*/React.createElement(ScrollBlock, {\n          isEnabled: menuShouldBlockScroll\n        }, /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n          innerRef: _this5.getMenuListRef,\n          isLoading: isLoading,\n          maxHeight: maxHeight\n        }), menuUI))));\n      }); // positioning behaviour is almost identical for portalled and fixed,\n      // so we use the same component. the actual portalling logic is forked\n      // within the component based on `menuPosition`\n\n      return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n        appendTo: menuPortalTarget,\n        controlElement: this.controlRef,\n        menuPlacement: menuPlacement,\n        menuPosition: menuPosition\n      }), menuElement) : menuElement;\n    }\n  }, {\n    key: \"renderFormField\",\n    value: function renderFormField() {\n      var _this6 = this;\n\n      var _this$props21 = this.props,\n          delimiter = _this$props21.delimiter,\n          isDisabled = _this$props21.isDisabled,\n          isMulti = _this$props21.isMulti,\n          name = _this$props21.name;\n      var selectValue = this.state.selectValue;\n      if (!name || isDisabled) return;\n\n      if (isMulti) {\n        if (delimiter) {\n          var value = selectValue.map(function (opt) {\n            return _this6.getOptionValue(opt);\n          }).join(delimiter);\n          return /*#__PURE__*/React.createElement(\"input\", {\n            name: name,\n            type: \"hidden\",\n            value: value\n          });\n        } else {\n          var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n            return /*#__PURE__*/React.createElement(\"input\", {\n              key: \"i-\".concat(i),\n              name: name,\n              type: \"hidden\",\n              value: _this6.getOptionValue(opt)\n            });\n          }) : /*#__PURE__*/React.createElement(\"input\", {\n            name: name,\n            type: \"hidden\"\n          });\n          return /*#__PURE__*/React.createElement(\"div\", null, input);\n        }\n      } else {\n        var _value2 = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n        return /*#__PURE__*/React.createElement(\"input\", {\n          name: name,\n          type: \"hidden\",\n          value: _value2\n        });\n      }\n    }\n  }, {\n    key: \"renderLiveRegion\",\n    value: function renderLiveRegion() {\n      if (!this.state.isFocused) return null;\n      return /*#__PURE__*/React.createElement(A11yText, {\n        \"aria-live\": \"polite\"\n      }, /*#__PURE__*/React.createElement(\"span\", {\n        id: \"aria-selection-event\"\n      }, \"\\xA0\", this.state.ariaLiveSelection), /*#__PURE__*/React.createElement(\"span\", {\n        id: \"aria-context\"\n      }, \"\\xA0\", this.constructAriaLiveMessage()));\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$components4 = this.components,\n          Control = _this$components4.Control,\n          IndicatorsContainer = _this$components4.IndicatorsContainer,\n          SelectContainer = _this$components4.SelectContainer,\n          ValueContainer = _this$components4.ValueContainer;\n      var _this$props22 = this.props,\n          className = _this$props22.className,\n          id = _this$props22.id,\n          isDisabled = _this$props22.isDisabled,\n          menuIsOpen = _this$props22.menuIsOpen;\n      var isFocused = this.state.isFocused;\n      var commonProps = this.commonProps = this.getCommonProps();\n      return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n        className: className,\n        innerProps: {\n          id: id,\n          onKeyDown: this.onKeyDown\n        },\n        isDisabled: isDisabled,\n        isFocused: isFocused\n      }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n        innerRef: this.getControlRef,\n        innerProps: {\n          onMouseDown: this.onControlMouseDown,\n          onTouchEnd: this.onControlTouchEnd\n        },\n        isDisabled: isDisabled,\n        isFocused: isFocused,\n        menuIsOpen: menuIsOpen\n      }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n        isDisabled: isDisabled\n      }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n        isDisabled: isDisabled\n      }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n    }\n  }]);\n\n  return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\n\nexport { Select as S, defaultTheme as a, createFilter as c, defaultProps as d, mergeStyles as m };\n","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar defaultProps = {\n  defaultInputValue: '',\n  defaultMenuIsOpen: false,\n  defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n  var _class, _temp;\n\n  return _temp = _class = /*#__PURE__*/function (_Component) {\n    _inherits(StateManager, _Component);\n\n    var _super = _createSuper(StateManager);\n\n    function StateManager() {\n      var _this;\n\n      _classCallCheck(this, StateManager);\n\n      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n        args[_key] = arguments[_key];\n      }\n\n      _this = _super.call.apply(_super, [this].concat(args));\n      _this.select = void 0;\n      _this.state = {\n        inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n        menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n        value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n      };\n\n      _this.onChange = function (value, actionMeta) {\n        _this.callProp('onChange', value, actionMeta);\n\n        _this.setState({\n          value: value\n        });\n      };\n\n      _this.onInputChange = function (value, actionMeta) {\n        // TODO: for backwards compatibility, we allow the prop to return a new\n        // value, but now inputValue is a controllable prop we probably shouldn't\n        var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n        _this.setState({\n          inputValue: newValue !== undefined ? newValue : value\n        });\n      };\n\n      _this.onMenuOpen = function () {\n        _this.callProp('onMenuOpen');\n\n        _this.setState({\n          menuIsOpen: true\n        });\n      };\n\n      _this.onMenuClose = function () {\n        _this.callProp('onMenuClose');\n\n        _this.setState({\n          menuIsOpen: false\n        });\n      };\n\n      return _this;\n    }\n\n    _createClass(StateManager, [{\n      key: \"focus\",\n      value: function focus() {\n        this.select.focus();\n      }\n    }, {\n      key: \"blur\",\n      value: function blur() {\n        this.select.blur();\n      } // FIXME: untyped flow code, return any\n\n    }, {\n      key: \"getProp\",\n      value: function getProp(key) {\n        return this.props[key] !== undefined ? this.props[key] : this.state[key];\n      } // FIXME: untyped flow code, return any\n\n    }, {\n      key: \"callProp\",\n      value: function callProp(name) {\n        if (typeof this.props[name] === 'function') {\n          var _this$props;\n\n          for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n            args[_key2 - 1] = arguments[_key2];\n          }\n\n          return (_this$props = this.props)[name].apply(_this$props, args);\n        }\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var _this2 = this;\n\n        var _this$props2 = this.props,\n            defaultInputValue = _this$props2.defaultInputValue,\n            defaultMenuIsOpen = _this$props2.defaultMenuIsOpen,\n            defaultValue = _this$props2.defaultValue,\n            props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n        return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n          ref: function ref(_ref) {\n            _this2.select = _ref;\n          },\n          inputValue: this.getProp('inputValue'),\n          menuIsOpen: this.getProp('menuIsOpen'),\n          onChange: this.onChange,\n          onInputChange: this.onInputChange,\n          onMenuClose: this.onMenuClose,\n          onMenuOpen: this.onMenuOpen,\n          value: this.getProp('value')\n        }));\n      }\n    }]);\n\n    return StateManager;\n  }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };\n","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport '@babel/runtime/helpers/slicedToArray';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport '@babel/runtime/helpers/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\nimport 'memoize-one';\nimport '@emotion/core';\nimport 'react-dom';\nimport '@babel/runtime/helpers/typeof';\nimport { G as handleInputChange } from '../../dist/index-75b02bac.browser.esm.js';\nimport { S as Select } from '../../dist/Select-e1cf49ae.browser.esm.js';\nimport '@emotion/css';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport 'react-input-autosize';\nimport { m as manageState } from '../../dist/stateManager-2f2b6f5b.browser.esm.js';\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar defaultProps = {\n  cacheOptions: false,\n  defaultOptions: false,\n  filterOption: null,\n  isLoading: false\n};\nvar makeAsyncSelect = function makeAsyncSelect(SelectComponent) {\n  var _class, _temp;\n\n  return _temp = _class = /*#__PURE__*/function (_Component) {\n    _inherits(Async, _Component);\n\n    var _super = _createSuper(Async);\n\n    function Async(props) {\n      var _this;\n\n      _classCallCheck(this, Async);\n\n      _this = _super.call(this);\n      _this.select = void 0;\n      _this.lastRequest = void 0;\n      _this.mounted = false;\n      _this.optionsCache = {};\n\n      _this.handleInputChange = function (newValue, actionMeta) {\n        var _this$props = _this.props,\n            cacheOptions = _this$props.cacheOptions,\n            onInputChange = _this$props.onInputChange; // TODO\n\n        var inputValue = handleInputChange(newValue, actionMeta, onInputChange);\n\n        if (!inputValue) {\n          delete _this.lastRequest;\n\n          _this.setState({\n            inputValue: '',\n            loadedInputValue: '',\n            loadedOptions: [],\n            isLoading: false,\n            passEmptyOptions: false\n          });\n\n          return;\n        }\n\n        if (cacheOptions && _this.optionsCache[inputValue]) {\n          _this.setState({\n            inputValue: inputValue,\n            loadedInputValue: inputValue,\n            loadedOptions: _this.optionsCache[inputValue],\n            isLoading: false,\n            passEmptyOptions: false\n          });\n        } else {\n          var request = _this.lastRequest = {};\n\n          _this.setState({\n            inputValue: inputValue,\n            isLoading: true,\n            passEmptyOptions: !_this.state.loadedInputValue\n          }, function () {\n            _this.loadOptions(inputValue, function (options) {\n              if (!_this.mounted) return;\n\n              if (options) {\n                _this.optionsCache[inputValue] = options;\n              }\n\n              if (request !== _this.lastRequest) return;\n              delete _this.lastRequest;\n\n              _this.setState({\n                isLoading: false,\n                loadedInputValue: inputValue,\n                loadedOptions: options || [],\n                passEmptyOptions: false\n              });\n            });\n          });\n        }\n\n        return inputValue;\n      };\n\n      _this.state = {\n        defaultOptions: Array.isArray(props.defaultOptions) ? props.defaultOptions : undefined,\n        inputValue: typeof props.inputValue !== 'undefined' ? props.inputValue : '',\n        isLoading: props.defaultOptions === true,\n        loadedOptions: [],\n        passEmptyOptions: false\n      };\n      return _this;\n    }\n\n    _createClass(Async, [{\n      key: \"componentDidMount\",\n      value: function componentDidMount() {\n        var _this2 = this;\n\n        this.mounted = true;\n        var defaultOptions = this.props.defaultOptions;\n        var inputValue = this.state.inputValue;\n\n        if (defaultOptions === true) {\n          this.loadOptions(inputValue, function (options) {\n            if (!_this2.mounted) return;\n            var isLoading = !!_this2.lastRequest;\n\n            _this2.setState({\n              defaultOptions: options || [],\n              isLoading: isLoading\n            });\n          });\n        }\n      }\n    }, {\n      key: \"UNSAFE_componentWillReceiveProps\",\n      value: function UNSAFE_componentWillReceiveProps(nextProps) {\n        // if the cacheOptions prop changes, clear the cache\n        if (nextProps.cacheOptions !== this.props.cacheOptions) {\n          this.optionsCache = {};\n        }\n\n        if (nextProps.defaultOptions !== this.props.defaultOptions) {\n          this.setState({\n            defaultOptions: Array.isArray(nextProps.defaultOptions) ? nextProps.defaultOptions : undefined\n          });\n        }\n      }\n    }, {\n      key: \"componentWillUnmount\",\n      value: function componentWillUnmount() {\n        this.mounted = false;\n      }\n    }, {\n      key: \"focus\",\n      value: function focus() {\n        this.select.focus();\n      }\n    }, {\n      key: \"blur\",\n      value: function blur() {\n        this.select.blur();\n      }\n    }, {\n      key: \"loadOptions\",\n      value: function loadOptions(inputValue, callback) {\n        var loadOptions = this.props.loadOptions;\n        if (!loadOptions) return callback();\n        var loader = loadOptions(inputValue, callback);\n\n        if (loader && typeof loader.then === 'function') {\n          loader.then(callback, function () {\n            return callback();\n          });\n        }\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var _this3 = this;\n\n        var _this$props2 = this.props,\n            loadOptions = _this$props2.loadOptions,\n            isLoadingProp = _this$props2.isLoading,\n            props = _objectWithoutProperties(_this$props2, [\"loadOptions\", \"isLoading\"]);\n\n        var _this$state = this.state,\n            defaultOptions = _this$state.defaultOptions,\n            inputValue = _this$state.inputValue,\n            isLoading = _this$state.isLoading,\n            loadedInputValue = _this$state.loadedInputValue,\n            loadedOptions = _this$state.loadedOptions,\n            passEmptyOptions = _this$state.passEmptyOptions;\n        var options = passEmptyOptions ? [] : inputValue && loadedInputValue ? loadedOptions : defaultOptions || [];\n        return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n          ref: function ref(_ref) {\n            _this3.select = _ref;\n          },\n          options: options,\n          isLoading: isLoading || isLoadingProp,\n          onInputChange: this.handleInputChange\n        }));\n      }\n    }]);\n\n    return Async;\n  }(Component), _class.defaultProps = defaultProps, _temp;\n};\nvar SelectState = manageState(Select);\nvar Async = makeAsyncSelect(SelectState);\n\nexport default Async;\nexport { defaultProps, makeAsyncSelect };\n","import '@babel/runtime/helpers/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport '@babel/runtime/helpers/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport '@babel/runtime/helpers/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\nimport 'memoize-one';\nimport '@emotion/core';\nimport 'react-dom';\nimport '@babel/runtime/helpers/typeof';\nimport { C as cleanValue } from '../../dist/index-75b02bac.browser.esm.js';\nimport { S as Select } from '../../dist/Select-e1cf49ae.browser.esm.js';\nimport '@emotion/css';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport 'react-input-autosize';\nimport { m as manageState } from '../../dist/stateManager-2f2b6f5b.browser.esm.js';\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar compareOption = function compareOption() {\n  var inputValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n  var option = arguments.length > 1 ? arguments[1] : undefined;\n  var candidate = String(inputValue).toLowerCase();\n  var optionValue = String(option.value).toLowerCase();\n  var optionLabel = String(option.label).toLowerCase();\n  return optionValue === candidate || optionLabel === candidate;\n};\n\nvar builtins = {\n  formatCreateLabel: function formatCreateLabel(inputValue) {\n    return \"Create \\\"\".concat(inputValue, \"\\\"\");\n  },\n  isValidNewOption: function isValidNewOption(inputValue, selectValue, selectOptions) {\n    return !(!inputValue || selectValue.some(function (option) {\n      return compareOption(inputValue, option);\n    }) || selectOptions.some(function (option) {\n      return compareOption(inputValue, option);\n    }));\n  },\n  getNewOptionData: function getNewOptionData(inputValue, optionLabel) {\n    return {\n      label: optionLabel,\n      value: inputValue,\n      __isNew__: true\n    };\n  }\n};\nvar defaultProps = _objectSpread({\n  allowCreateWhileLoading: false,\n  createOptionPosition: 'last'\n}, builtins);\nvar makeCreatableSelect = function makeCreatableSelect(SelectComponent) {\n  var _class, _temp;\n\n  return _temp = _class = /*#__PURE__*/function (_Component) {\n    _inherits(Creatable, _Component);\n\n    var _super = _createSuper(Creatable);\n\n    function Creatable(props) {\n      var _this;\n\n      _classCallCheck(this, Creatable);\n\n      _this = _super.call(this, props);\n      _this.select = void 0;\n\n      _this.onChange = function (newValue, actionMeta) {\n        var _this$props = _this.props,\n            getNewOptionData = _this$props.getNewOptionData,\n            inputValue = _this$props.inputValue,\n            isMulti = _this$props.isMulti,\n            onChange = _this$props.onChange,\n            onCreateOption = _this$props.onCreateOption,\n            value = _this$props.value,\n            name = _this$props.name;\n\n        if (actionMeta.action !== 'select-option') {\n          return onChange(newValue, actionMeta);\n        }\n\n        var newOption = _this.state.newOption;\n        var valueArray = Array.isArray(newValue) ? newValue : [newValue];\n\n        if (valueArray[valueArray.length - 1] === newOption) {\n          if (onCreateOption) onCreateOption(inputValue);else {\n            var newOptionData = getNewOptionData(inputValue, inputValue);\n            var newActionMeta = {\n              action: 'create-option',\n              name: name\n            };\n\n            if (isMulti) {\n              onChange([].concat(_toConsumableArray(cleanValue(value)), [newOptionData]), newActionMeta);\n            } else {\n              onChange(newOptionData, newActionMeta);\n            }\n          }\n          return;\n        }\n\n        onChange(newValue, actionMeta);\n      };\n\n      var options = props.options || [];\n      _this.state = {\n        newOption: undefined,\n        options: options\n      };\n      return _this;\n    }\n\n    _createClass(Creatable, [{\n      key: \"UNSAFE_componentWillReceiveProps\",\n      value: function UNSAFE_componentWillReceiveProps(nextProps) {\n        var allowCreateWhileLoading = nextProps.allowCreateWhileLoading,\n            createOptionPosition = nextProps.createOptionPosition,\n            formatCreateLabel = nextProps.formatCreateLabel,\n            getNewOptionData = nextProps.getNewOptionData,\n            inputValue = nextProps.inputValue,\n            isLoading = nextProps.isLoading,\n            isValidNewOption = nextProps.isValidNewOption,\n            value = nextProps.value;\n        var options = nextProps.options || [];\n        var newOption = this.state.newOption;\n\n        if (isValidNewOption(inputValue, cleanValue(value), options)) {\n          newOption = getNewOptionData(inputValue, formatCreateLabel(inputValue));\n        } else {\n          newOption = undefined;\n        }\n\n        this.setState({\n          newOption: newOption,\n          options: (allowCreateWhileLoading || !isLoading) && newOption ? createOptionPosition === 'first' ? [newOption].concat(_toConsumableArray(options)) : [].concat(_toConsumableArray(options), [newOption]) : options\n        });\n      }\n    }, {\n      key: \"focus\",\n      value: function focus() {\n        this.select.focus();\n      }\n    }, {\n      key: \"blur\",\n      value: function blur() {\n        this.select.blur();\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var _this2 = this;\n\n        var options = this.state.options;\n        return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, this.props, {\n          ref: function ref(_ref) {\n            _this2.select = _ref;\n          },\n          options: options,\n          onChange: this.onChange\n        }));\n      }\n    }]);\n\n    return Creatable;\n  }(Component), _class.defaultProps = defaultProps, _temp;\n}; // TODO: do this in package entrypoint\n\nvar SelectCreatable = makeCreatableSelect(Select);\nvar Creatable = manageState(SelectCreatable);\n\nexport default Creatable;\nexport { defaultProps, makeCreatableSelect };\n","import '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/extends';\nimport '@babel/runtime/helpers/slicedToArray';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/defineProperty';\nimport '@babel/runtime/helpers/classCallCheck';\nimport '@babel/runtime/helpers/createClass';\nimport '@babel/runtime/helpers/assertThisInitialized';\nimport '@babel/runtime/helpers/inherits';\nimport '@babel/runtime/helpers/possibleConstructorReturn';\nimport '@babel/runtime/helpers/getPrototypeOf';\nimport 'react';\nimport 'memoize-one';\nimport '@emotion/core';\nimport 'react-dom';\nimport '@babel/runtime/helpers/typeof';\nimport '../../dist/index-75b02bac.browser.esm.js';\nimport { S as Select } from '../../dist/Select-e1cf49ae.browser.esm.js';\nimport '@emotion/css';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport 'react-input-autosize';\nimport { m as manageState } from '../../dist/stateManager-2f2b6f5b.browser.esm.js';\nimport { makeAsyncSelect } from '../../async/dist/react-select.browser.esm.js';\nimport { makeCreatableSelect } from '../../creatable/dist/react-select.browser.esm.js';\n\nvar SelectCreatable = makeCreatableSelect(Select);\nvar SelectCreatableState = manageState(SelectCreatable);\nvar AsyncCreatable = makeAsyncSelect(SelectCreatableState);\n\nexport default AsyncCreatable;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}","export default function _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n  return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  setPrototypeOf(subClass, superClass);\n}","export default {\n  disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n  return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n *   transition: `opacity ${duration}ms ease-in-out`,\n *   opacity: 0,\n * }\n *\n * const transitionStyles = {\n *   entering: { opacity: 1 },\n *   entered:  { opacity: 1 },\n *   exiting:  { opacity: 0 },\n *   exited:  { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n *   <Transition in={inProp} timeout={duration}>\n *     {state => (\n *       <div style={{\n *         ...defaultStyle,\n *         ...transitionStyles[state]\n *       }}>\n *         I'm a fade Transition!\n *       </div>\n *     )}\n *   </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n *  - `'entering'`\n *  - `'entered'`\n *  - `'exiting'`\n *  - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n *   const [inProp, setInProp] = useState(false);\n *   return (\n *     <div>\n *       <Transition in={inProp} timeout={500}>\n *         {state => (\n *           // ...\n *         )}\n *       </Transition>\n *       <button onClick={() => setInProp(true)}>\n *         Click to Enter\n *       </button>\n *     </div>\n *   );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(Transition, _React$Component);\n\n  function Transition(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n    var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n    var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n    var initialStatus;\n    _this.appearStatus = null;\n\n    if (props.in) {\n      if (appear) {\n        initialStatus = EXITED;\n        _this.appearStatus = ENTERING;\n      } else {\n        initialStatus = ENTERED;\n      }\n    } else {\n      if (props.unmountOnExit || props.mountOnEnter) {\n        initialStatus = UNMOUNTED;\n      } else {\n        initialStatus = EXITED;\n      }\n    }\n\n    _this.state = {\n      status: initialStatus\n    };\n    _this.nextCallback = null;\n    return _this;\n  }\n\n  Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n    var nextIn = _ref.in;\n\n    if (nextIn && prevState.status === UNMOUNTED) {\n      return {\n        status: EXITED\n      };\n    }\n\n    return null;\n  } // getSnapshotBeforeUpdate(prevProps) {\n  //   let nextStatus = null\n  //   if (prevProps !== this.props) {\n  //     const { status } = this.state\n  //     if (this.props.in) {\n  //       if (status !== ENTERING && status !== ENTERED) {\n  //         nextStatus = ENTERING\n  //       }\n  //     } else {\n  //       if (status === ENTERING || status === ENTERED) {\n  //         nextStatus = EXITING\n  //       }\n  //     }\n  //   }\n  //   return { nextStatus }\n  // }\n  ;\n\n  var _proto = Transition.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.updateStatus(true, this.appearStatus);\n  };\n\n  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n    var nextStatus = null;\n\n    if (prevProps !== this.props) {\n      var status = this.state.status;\n\n      if (this.props.in) {\n        if (status !== ENTERING && status !== ENTERED) {\n          nextStatus = ENTERING;\n        }\n      } else {\n        if (status === ENTERING || status === ENTERED) {\n          nextStatus = EXITING;\n        }\n      }\n    }\n\n    this.updateStatus(false, nextStatus);\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.cancelNextCallback();\n  };\n\n  _proto.getTimeouts = function getTimeouts() {\n    var timeout = this.props.timeout;\n    var exit, enter, appear;\n    exit = enter = appear = timeout;\n\n    if (timeout != null && typeof timeout !== 'number') {\n      exit = timeout.exit;\n      enter = timeout.enter; // TODO: remove fallback for next major\n\n      appear = timeout.appear !== undefined ? timeout.appear : enter;\n    }\n\n    return {\n      exit: exit,\n      enter: enter,\n      appear: appear\n    };\n  };\n\n  _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n    if (mounting === void 0) {\n      mounting = false;\n    }\n\n    if (nextStatus !== null) {\n      // nextStatus will always be ENTERING or EXITING.\n      this.cancelNextCallback();\n\n      if (nextStatus === ENTERING) {\n        if (this.props.unmountOnExit || this.props.mountOnEnter) {\n          var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n          // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n          // To make the animation happen,  we have to separate each rendering and avoid being processed as batched.\n\n          if (node) forceReflow(node);\n        }\n\n        this.performEnter(mounting);\n      } else {\n        this.performExit();\n      }\n    } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n      this.setState({\n        status: UNMOUNTED\n      });\n    }\n  };\n\n  _proto.performEnter = function performEnter(mounting) {\n    var _this2 = this;\n\n    var enter = this.props.enter;\n    var appearing = this.context ? this.context.isMounting : mounting;\n\n    var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n        maybeNode = _ref2[0],\n        maybeAppearing = _ref2[1];\n\n    var timeouts = this.getTimeouts();\n    var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n    // if we are mounting and running this it means appear _must_ be set\n\n    if (!mounting && !enter || config.disabled) {\n      this.safeSetState({\n        status: ENTERED\n      }, function () {\n        _this2.props.onEntered(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onEnter(maybeNode, maybeAppearing);\n    this.safeSetState({\n      status: ENTERING\n    }, function () {\n      _this2.props.onEntering(maybeNode, maybeAppearing);\n\n      _this2.onTransitionEnd(enterTimeout, function () {\n        _this2.safeSetState({\n          status: ENTERED\n        }, function () {\n          _this2.props.onEntered(maybeNode, maybeAppearing);\n        });\n      });\n    });\n  };\n\n  _proto.performExit = function performExit() {\n    var _this3 = this;\n\n    var exit = this.props.exit;\n    var timeouts = this.getTimeouts();\n    var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n    if (!exit || config.disabled) {\n      this.safeSetState({\n        status: EXITED\n      }, function () {\n        _this3.props.onExited(maybeNode);\n      });\n      return;\n    }\n\n    this.props.onExit(maybeNode);\n    this.safeSetState({\n      status: EXITING\n    }, function () {\n      _this3.props.onExiting(maybeNode);\n\n      _this3.onTransitionEnd(timeouts.exit, function () {\n        _this3.safeSetState({\n          status: EXITED\n        }, function () {\n          _this3.props.onExited(maybeNode);\n        });\n      });\n    });\n  };\n\n  _proto.cancelNextCallback = function cancelNextCallback() {\n    if (this.nextCallback !== null) {\n      this.nextCallback.cancel();\n      this.nextCallback = null;\n    }\n  };\n\n  _proto.safeSetState = function safeSetState(nextState, callback) {\n    // This shouldn't be necessary, but there are weird race conditions with\n    // setState callbacks and unmounting in testing, so always make sure that\n    // we can cancel any pending setState callbacks after we unmount.\n    callback = this.setNextCallback(callback);\n    this.setState(nextState, callback);\n  };\n\n  _proto.setNextCallback = function setNextCallback(callback) {\n    var _this4 = this;\n\n    var active = true;\n\n    this.nextCallback = function (event) {\n      if (active) {\n        active = false;\n        _this4.nextCallback = null;\n        callback(event);\n      }\n    };\n\n    this.nextCallback.cancel = function () {\n      active = false;\n    };\n\n    return this.nextCallback;\n  };\n\n  _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n    this.setNextCallback(handler);\n    var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n    var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n    if (!node || doesNotHaveTimeoutOrListener) {\n      setTimeout(this.nextCallback, 0);\n      return;\n    }\n\n    if (this.props.addEndListener) {\n      var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n          maybeNode = _ref3[0],\n          maybeNextCallback = _ref3[1];\n\n      this.props.addEndListener(maybeNode, maybeNextCallback);\n    }\n\n    if (timeout != null) {\n      setTimeout(this.nextCallback, timeout);\n    }\n  };\n\n  _proto.render = function render() {\n    var status = this.state.status;\n\n    if (status === UNMOUNTED) {\n      return null;\n    }\n\n    var _this$props = this.props,\n        children = _this$props.children,\n        _in = _this$props.in,\n        _mountOnEnter = _this$props.mountOnEnter,\n        _unmountOnExit = _this$props.unmountOnExit,\n        _appear = _this$props.appear,\n        _enter = _this$props.enter,\n        _exit = _this$props.exit,\n        _timeout = _this$props.timeout,\n        _addEndListener = _this$props.addEndListener,\n        _onEnter = _this$props.onEnter,\n        _onEntering = _this$props.onEntering,\n        _onEntered = _this$props.onEntered,\n        _onExit = _this$props.onExit,\n        _onExiting = _this$props.onExiting,\n        _onExited = _this$props.onExited,\n        _nodeRef = _this$props.nodeRef,\n        childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n    return (\n      /*#__PURE__*/\n      // allows for nested Transitions\n      React.createElement(TransitionGroupContext.Provider, {\n        value: null\n      }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n    );\n  };\n\n  return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * A React reference to DOM element that need to transition:\n   * https://stackoverflow.com/a/51127130/4671932\n   *\n   *   - When `nodeRef` prop is used, `node` is not passed to callback functions\n   *      (e.g. `onEnter`) because user already has direct access to the node.\n   *   - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n   *     `nodeRef` need to be provided to `Transition` with changed `key` prop\n   *     (see\n   *     [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n   */\n  nodeRef: PropTypes.shape({\n    current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n      var value = propValue[key];\n      return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n    }\n  }),\n\n  /**\n   * A `function` child can be used instead of a React element. This function is\n   * called with the current transition status (`'entering'`, `'entered'`,\n   * `'exiting'`, `'exited'`), which can be used to apply context\n   * specific props to a component.\n   *\n   * ```jsx\n   * <Transition in={this.state.in} timeout={150}>\n   *   {state => (\n   *     <MyComponent className={`fade fade-${state}`} />\n   *   )}\n   * </Transition>\n   * ```\n   */\n  children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n  /**\n   * Show the component; triggers the enter or exit states\n   */\n  in: PropTypes.bool,\n\n  /**\n   * By default the child component is mounted immediately along with\n   * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n   * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n   */\n  mountOnEnter: PropTypes.bool,\n\n  /**\n   * By default the child component stays mounted after it reaches the `'exited'` state.\n   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n   */\n  unmountOnExit: PropTypes.bool,\n\n  /**\n   * By default the child component does not perform the enter transition when\n   * it first mounts, regardless of the value of `in`. If you want this\n   * behavior, set both `appear` and `in` to `true`.\n   *\n   * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n   * > only adds an additional enter transition. However, in the\n   * > `<CSSTransition>` component that first enter transition does result in\n   * > additional `.appear-*` classes, that way you can choose to style it\n   * > differently.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * Enable or disable enter transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * Enable or disable exit transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * The duration of the transition, in milliseconds.\n   * Required unless `addEndListener` is provided.\n   *\n   * You may specify a single timeout for all transitions:\n   *\n   * ```jsx\n   * timeout={500}\n   * ```\n   *\n   * or individually:\n   *\n   * ```jsx\n   * timeout={{\n   *  appear: 500,\n   *  enter: 300,\n   *  exit: 500,\n   * }}\n   * ```\n   *\n   * - `appear` defaults to the value of `enter`\n   * - `enter` defaults to `0`\n   * - `exit` defaults to `0`\n   *\n   * @type {number | { enter?: number, exit?: number, appear?: number }}\n   */\n  timeout: function timeout(props) {\n    var pt = timeoutsShape;\n    if (!props.addEndListener) pt = pt.isRequired;\n\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    return pt.apply(void 0, [props].concat(args));\n  },\n\n  /**\n   * Add a custom transition end trigger. Called with the transitioning\n   * DOM node and a `done` callback. Allows for more fine grained transition end\n   * logic. Timeouts are still used as a fallback if provided.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * ```jsx\n   * addEndListener={(node, done) => {\n   *   // use the css transitionend event to mark the finish of a transition\n   *   node.addEventListener('transitionend', done, false);\n   * }}\n   * ```\n   */\n  addEndListener: PropTypes.func,\n\n  /**\n   * Callback fired before the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEnter: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entering\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool)\n   */\n  onEntering: PropTypes.func,\n\n  /**\n   * Callback fired after the \"entered\" status is applied. An extra parameter\n   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement, isAppearing: bool) -> void\n   */\n  onEntered: PropTypes.func,\n\n  /**\n   * Callback fired before the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExit: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exiting\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExiting: PropTypes.func,\n\n  /**\n   * Callback fired after the \"exited\" status is applied.\n   *\n   * **Note**: when `nodeRef` prop is passed, `node` is not passed\n   *\n   * @type Function(node: HtmlElement) -> void\n   */\n  onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n  in: false,\n  mountOnEnter: false,\n  unmountOnExit: false,\n  appear: false,\n  enter: true,\n  exit: true,\n  onEnter: noop,\n  onEntering: noop,\n  onEntered: noop,\n  onExit: noop,\n  onExiting: noop,\n  onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n  var mapper = function mapper(child) {\n    return mapFn && isValidElement(child) ? mapFn(child) : child;\n  };\n\n  var result = Object.create(null);\n  if (children) Children.map(children, function (c) {\n    return c;\n  }).forEach(function (child) {\n    // run the map function here instead so that the key is the computed one\n    result[child.key] = mapper(child);\n  });\n  return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n  prev = prev || {};\n  next = next || {};\n\n  function getValueForKey(key) {\n    return key in next ? next[key] : prev[key];\n  } // For each key of `next`, the list of keys to insert before that key in\n  // the combined list\n\n\n  var nextKeysPending = Object.create(null);\n  var pendingKeys = [];\n\n  for (var prevKey in prev) {\n    if (prevKey in next) {\n      if (pendingKeys.length) {\n        nextKeysPending[prevKey] = pendingKeys;\n        pendingKeys = [];\n      }\n    } else {\n      pendingKeys.push(prevKey);\n    }\n  }\n\n  var i;\n  var childMapping = {};\n\n  for (var nextKey in next) {\n    if (nextKeysPending[nextKey]) {\n      for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n        var pendingNextKey = nextKeysPending[nextKey][i];\n        childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n      }\n    }\n\n    childMapping[nextKey] = getValueForKey(nextKey);\n  } // Finally, add the keys which didn't appear before any key in `next`\n\n\n  for (i = 0; i < pendingKeys.length; i++) {\n    childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n  }\n\n  return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n  return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n  return getChildMapping(props.children, function (child) {\n    return cloneElement(child, {\n      onExited: onExited.bind(null, child),\n      in: true,\n      appear: getProp(child, 'appear', props),\n      enter: getProp(child, 'enter', props),\n      exit: getProp(child, 'exit', props)\n    });\n  });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n  var nextChildMapping = getChildMapping(nextProps.children);\n  var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n  Object.keys(children).forEach(function (key) {\n    var child = children[key];\n    if (!isValidElement(child)) return;\n    var hasPrev = (key in prevChildMapping);\n    var hasNext = (key in nextChildMapping);\n    var prevChild = prevChildMapping[key];\n    var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n    if (hasNext && (!hasPrev || isLeaving)) {\n      // console.log('entering', key)\n      children[key] = cloneElement(child, {\n        onExited: onExited.bind(null, child),\n        in: true,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    } else if (!hasNext && hasPrev && !isLeaving) {\n      // item is old (exiting)\n      // console.log('leaving', key)\n      children[key] = cloneElement(child, {\n        in: false\n      });\n    } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n      // item hasn't changed transition states\n      // copy over the last transition props;\n      // console.log('unchanged', key)\n      children[key] = cloneElement(child, {\n        onExited: onExited.bind(null, child),\n        in: prevChild.props.in,\n        exit: getProp(child, 'exit', nextProps),\n        enter: getProp(child, 'enter', nextProps)\n      });\n    }\n  });\n  return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n  return Object.keys(obj).map(function (k) {\n    return obj[k];\n  });\n};\n\nvar defaultProps = {\n  component: 'div',\n  childFactory: function childFactory(child) {\n    return child;\n  }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>`  does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n  _inheritsLoose(TransitionGroup, _React$Component);\n\n  function TransitionGroup(props, context) {\n    var _this;\n\n    _this = _React$Component.call(this, props, context) || this;\n\n    var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n    _this.state = {\n      contextValue: {\n        isMounting: true\n      },\n      handleExited: handleExited,\n      firstRender: true\n    };\n    return _this;\n  }\n\n  var _proto = TransitionGroup.prototype;\n\n  _proto.componentDidMount = function componentDidMount() {\n    this.mounted = true;\n    this.setState({\n      contextValue: {\n        isMounting: false\n      }\n    });\n  };\n\n  _proto.componentWillUnmount = function componentWillUnmount() {\n    this.mounted = false;\n  };\n\n  TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n    var prevChildMapping = _ref.children,\n        handleExited = _ref.handleExited,\n        firstRender = _ref.firstRender;\n    return {\n      children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n      firstRender: false\n    };\n  } // node is `undefined` when user provided `nodeRef` prop\n  ;\n\n  _proto.handleExited = function handleExited(child, node) {\n    var currentChildMapping = getChildMapping(this.props.children);\n    if (child.key in currentChildMapping) return;\n\n    if (child.props.onExited) {\n      child.props.onExited(node);\n    }\n\n    if (this.mounted) {\n      this.setState(function (state) {\n        var children = _extends({}, state.children);\n\n        delete children[child.key];\n        return {\n          children: children\n        };\n      });\n    }\n  };\n\n  _proto.render = function render() {\n    var _this$props = this.props,\n        Component = _this$props.component,\n        childFactory = _this$props.childFactory,\n        props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n    var contextValue = this.state.contextValue;\n    var children = values(this.state.children).map(childFactory);\n    delete props.appear;\n    delete props.enter;\n    delete props.exit;\n\n    if (Component === null) {\n      return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n        value: contextValue\n      }, children);\n    }\n\n    return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n      value: contextValue\n    }, /*#__PURE__*/React.createElement(Component, props, children));\n  };\n\n  return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n  /**\n   * `<TransitionGroup>` renders a `<div>` by default. You can change this\n   * behavior by providing a `component` prop.\n   * If you use React v16+ and would like to avoid a wrapping `<div>` element\n   * you can pass in `component={null}`. This is useful if the wrapping div\n   * borks your css styles.\n   */\n  component: PropTypes.any,\n\n  /**\n   * A set of `<Transition>` components, that are toggled `in` and out as they\n   * leave. the `<TransitionGroup>` will inject specific transition props, so\n   * remember to spread them through if you are wrapping the `<Transition>` as\n   * with our `<Fade>` example.\n   *\n   * While this component is meant for multiple `Transition` or `CSSTransition`\n   * children, sometimes you may want to have a single transition child with\n   * content that you want to be transitioned out and in when you change it\n   * (e.g. routes, images etc.) In that case you can change the `key` prop of\n   * the transition child as you change its content, this will cause\n   * `TransitionGroup` to transition the child out and back in.\n   */\n  children: PropTypes.node,\n\n  /**\n   * A convenience prop that enables or disables appear animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  appear: PropTypes.bool,\n\n  /**\n   * A convenience prop that enables or disables enter animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  enter: PropTypes.bool,\n\n  /**\n   * A convenience prop that enables or disables exit animations\n   * for all children. Note that specifying this will override any defaults set\n   * on individual children Transitions.\n   */\n  exit: PropTypes.bool,\n\n  /**\n   * You may need to apply reactive updates to a child as it is exiting.\n   * This is generally done by using `cloneElement` however in the case of an exiting\n   * child the element has already been removed and not accessible to the consumer.\n   *\n   * If you do need to update a child as it leaves you can provide a `childFactory`\n   * to wrap every child, even the ones that are leaving.\n   *\n   * @type Function(child: ReactElement) -> ReactElement\n   */\n  childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","export default function _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n  return self;\n}","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\nimport memoizeOne from 'memoize-one';\nimport '@emotion/core';\nimport 'react-dom';\nimport '@babel/runtime/helpers/typeof';\nimport { B as exportedEqual, y as defaultComponents } from '../../dist/index-75b02bac.browser.esm.js';\nimport '@emotion/css';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport 'react-input-autosize';\nimport { Transition, TransitionGroup } from 'react-transition-group';\n\n// strip transition props off before spreading onto select component\n// note we need to be explicit about innerRef for flow\nvar AnimatedInput = function AnimatedInput(WrappedComponent) {\n  return function (_ref) {\n    var inProp = _ref.in,\n        onExited = _ref.onExited,\n        appear = _ref.appear,\n        enter = _ref.enter,\n        exit = _ref.exit,\n        props = _objectWithoutProperties(_ref, [\"in\", \"onExited\", \"appear\", \"enter\", \"exit\"]);\n\n    return /*#__PURE__*/React.createElement(WrappedComponent, props);\n  };\n};\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar Fade = function Fade(_ref) {\n  var Tag = _ref.component,\n      _ref$duration = _ref.duration,\n      duration = _ref$duration === void 0 ? 1 : _ref$duration,\n      inProp = _ref.in,\n      onExited = _ref.onExited,\n      props = _objectWithoutProperties(_ref, [\"component\", \"duration\", \"in\", \"onExited\"]);\n\n  var transition = {\n    entering: {\n      opacity: 0\n    },\n    entered: {\n      opacity: 1,\n      transition: \"opacity \".concat(duration, \"ms\")\n    },\n    exiting: {\n      opacity: 0\n    },\n    exited: {\n      opacity: 0\n    }\n  };\n  return /*#__PURE__*/React.createElement(Transition, {\n    mountOnEnter: true,\n    unmountOnExit: true,\n    in: inProp,\n    timeout: duration\n  }, function (state) {\n    var innerProps = {\n      style: _objectSpread({}, transition[state])\n    };\n    return /*#__PURE__*/React.createElement(Tag, _extends({\n      innerProps: innerProps\n    }, props));\n  });\n}; // ==============================\n// Collapse Transition\n// ==============================\n\nvar collapseDuration = 260;\n// wrap each MultiValue with a collapse transition; decreases width until\n// finally removing from DOM\nvar Collapse = /*#__PURE__*/function (_Component) {\n  _inherits(Collapse, _Component);\n\n  var _super = _createSuper(Collapse);\n\n  function Collapse() {\n    var _this;\n\n    _classCallCheck(this, Collapse);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n    _this.duration = collapseDuration;\n    _this.rafID = void 0;\n    _this.state = {\n      width: 'auto'\n    };\n    _this.transition = {\n      exiting: {\n        width: 0,\n        transition: \"width \".concat(_this.duration, \"ms ease-out\")\n      },\n      exited: {\n        width: 0\n      }\n    };\n\n    _this.getWidth = function (ref) {\n      if (ref && isNaN(_this.state.width)) {\n        /*\n          Here we're invoking requestAnimationFrame with a callback invoking our\n          call to getBoundingClientRect and setState in order to resolve an edge case\n          around portalling. Certain portalling solutions briefly remove children from the DOM\n          before appending them to the target node. This is to avoid us trying to call getBoundingClientrect\n          while the Select component is in this state.\n        */\n        // cannot use `offsetWidth` because it is rounded\n        _this.rafID = window.requestAnimationFrame(function () {\n          var _ref$getBoundingClien = ref.getBoundingClientRect(),\n              width = _ref$getBoundingClien.width;\n\n          _this.setState({\n            width: width\n          });\n        });\n      }\n    };\n\n    _this.getStyle = function (width) {\n      return {\n        overflow: 'hidden',\n        whiteSpace: 'nowrap',\n        width: width\n      };\n    };\n\n    _this.getTransition = function (state) {\n      return _this.transition[state];\n    };\n\n    return _this;\n  }\n\n  _createClass(Collapse, [{\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.rafID) {\n        window.cancelAnimationFrame(this.rafID);\n      }\n    } // width must be calculated; cannot transition from `undefined` to `number`\n\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var _this$props = this.props,\n          children = _this$props.children,\n          inProp = _this$props.in;\n      var width = this.state.width;\n      return /*#__PURE__*/React.createElement(Transition, {\n        enter: false,\n        mountOnEnter: true,\n        unmountOnExit: true,\n        in: inProp,\n        timeout: this.duration\n      }, function (state) {\n        var style = _objectSpread(_objectSpread({}, _this2.getStyle(width)), _this2.getTransition(state));\n\n        return /*#__PURE__*/React.createElement(\"div\", {\n          ref: _this2.getWidth,\n          style: style\n        }, children);\n      });\n    }\n  }]);\n\n  return Collapse;\n}(Component);\n\nvar AnimatedMultiValue = function AnimatedMultiValue(WrappedComponent) {\n  return function (_ref) {\n    var inProp = _ref.in,\n        onExited = _ref.onExited,\n        props = _objectWithoutProperties(_ref, [\"in\", \"onExited\"]);\n\n    return /*#__PURE__*/React.createElement(Collapse, {\n      in: inProp,\n      onExited: onExited\n    }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({\n      cropWithEllipsis: inProp\n    }, props)));\n  };\n};\n\nvar AnimatedPlaceholder = function AnimatedPlaceholder(WrappedComponent) {\n  return function (props) {\n    return /*#__PURE__*/React.createElement(Fade, _extends({\n      component: WrappedComponent,\n      duration: props.isMulti ? collapseDuration : 1\n    }, props));\n  };\n};\n\nvar AnimatedSingleValue = function AnimatedSingleValue(WrappedComponent) {\n  return function (props) {\n    return /*#__PURE__*/React.createElement(Fade, _extends({\n      component: WrappedComponent\n    }, props));\n  };\n};\n\n// make ValueContainer a transition group\nvar AnimatedValueContainer = function AnimatedValueContainer(WrappedComponent) {\n  return function (props) {\n    return /*#__PURE__*/React.createElement(TransitionGroup, _extends({\n      component: WrappedComponent\n    }, props));\n  };\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar makeAnimated = function makeAnimated() {\n  var externalComponents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var components = defaultComponents({\n    components: externalComponents\n  });\n\n  var Input = components.Input,\n      MultiValue = components.MultiValue,\n      Placeholder = components.Placeholder,\n      SingleValue = components.SingleValue,\n      ValueContainer = components.ValueContainer,\n      rest = _objectWithoutProperties(components, [\"Input\", \"MultiValue\", \"Placeholder\", \"SingleValue\", \"ValueContainer\"]);\n\n  return _objectSpread$1({\n    Input: AnimatedInput(Input),\n    MultiValue: AnimatedMultiValue(MultiValue),\n    Placeholder: AnimatedPlaceholder(Placeholder),\n    SingleValue: AnimatedSingleValue(SingleValue),\n    ValueContainer: AnimatedValueContainer(ValueContainer)\n  }, rest);\n};\n\nvar AnimatedComponents = makeAnimated();\nvar Input = AnimatedComponents.Input;\nvar MultiValue = AnimatedComponents.MultiValue;\nvar Placeholder = AnimatedComponents.Placeholder;\nvar SingleValue = AnimatedComponents.SingleValue;\nvar ValueContainer = AnimatedComponents.ValueContainer;\nvar index = memoizeOne(makeAnimated, exportedEqual);\n\nexport default index;\nexport { Input, MultiValue, Placeholder, SingleValue, ValueContainer };\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport { jsx as ___EmotionJSX } from \"@emotion/core\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { components } from 'react-select';\nimport Spinner from '@atlaskit/spinner';\nimport SelectClearIcon from '@atlaskit/icon/glyph/select-clear';\nimport DownIcon from '@atlaskit/icon/glyph/hipchat/chevron-down'; // indicators\n\nexport var ClearIndicator = function ClearIndicator(props) {\n  return jsx(components.ClearIndicator, props, jsx(SelectClearIcon, {\n    size: \"small\",\n    primaryColor: \"inherit\"\n  }));\n};\nexport var DropdownIndicator = function DropdownIndicator(props) {\n  return jsx(components.DropdownIndicator, props, jsx(DownIcon, null));\n};\nexport var LoadingIndicator = function LoadingIndicator(props) {\n  return jsx(\"div\", _extends({\n    css: props.getStyles('loadingIndicator', props)\n  }, props.innerProps), jsx(Spinner, {\n    size: \"small\"\n  }));\n};","import { jsx as ___EmotionJSX } from \"@emotion/core\";\nimport React from 'react';\nimport { components } from 'react-select';\nimport SelectClearIcon from '@atlaskit/icon/glyph/select-clear';\nexport { ClearIndicator, DropdownIndicator, LoadingIndicator } from './indicators';\nexport var MultiValueRemove = function MultiValueRemove(props) {\n  return ___EmotionJSX(components.MultiValueRemove, props, ___EmotionJSX(SelectClearIcon, {\n    size: \"small\",\n    primaryColor: \"transparent\",\n    secondaryColor: \"inherit\"\n  }));\n};\nexport var IndicatorSeparator = null;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport { jsx as ___EmotionJSX } from \"@emotion/core\";\nimport React, { Component } from 'react';\nimport { mergeStyles } from 'react-select';\nimport makeAnimated from 'react-select/animated';\nimport memoizeOne from 'memoize-one';\nimport isEqual from 'react-fast-compare';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport * as colors from '@atlaskit/theme/colors';\nimport * as defaultComponents from './components'; // NOTE in the future, `Props` and `defaultProps` should come\n// directly from react-select\n\nfunction baseStyles(validationState, isCompact) {\n  var BORDER_WIDTH = 2;\n  var ICON_PADDING = 2;\n  var paddingExcludingBorder = gridSize() - BORDER_WIDTH;\n  return {\n    control: function control(css, _ref) {\n      var isFocused = _ref.isFocused,\n          isDisabled = _ref.isDisabled;\n      var borderColor = isFocused ? colors.B100 : colors.N20;\n      var backgroundColor = isFocused ? colors.N0 : colors.N20;\n\n      if (isDisabled) {\n        backgroundColor = colors.N20;\n      }\n\n      if (validationState === 'error') borderColor = colors.R400;\n      if (validationState === 'success') borderColor = colors.G400;\n      var borderColorHover = isFocused ? colors.B100 : colors.N30;\n      if (validationState === 'error') borderColorHover = colors.R400;\n      if (validationState === 'success') borderColorHover = colors.G400;\n      var transitionDuration = '200ms';\n      return _objectSpread({}, css, {\n        backgroundColor: backgroundColor,\n        borderColor: borderColor,\n        borderStyle: 'solid',\n        borderRadius: '3px',\n        borderWidth: '2px',\n        boxShadow: 'none',\n        minHeight: isCompact ? gridSize() * 4 : gridSize() * 5,\n        padding: 0,\n        transition: \"background-color \".concat(transitionDuration, \" ease-in-out,\\n        border-color \").concat(transitionDuration, \" ease-in-out\"),\n        msOverflowStyle: '-ms-autohiding-scrollbar',\n        '::-webkit-scrollbar': {\n          height: gridSize(),\n          width: gridSize()\n        },\n        '::-webkit-scrollbar-corner': {\n          display: 'none'\n        },\n        ':hover': {\n          '::-webkit-scrollbar-thumb': {\n            backgroundColor: 'rgba(0,0,0,0.2)'\n          },\n          cursor: 'pointer',\n          backgroundColor: isFocused ? colors.N0 : colors.N30,\n          borderColor: borderColorHover\n        },\n        '::-webkit-scrollbar-thumb:hover': {\n          backgroundColor: 'rgba(0,0,0,0.4)'\n        }\n      });\n    },\n    valueContainer: function valueContainer(css) {\n      return _objectSpread({}, css, {\n        paddingLeft: paddingExcludingBorder,\n        paddingRight: paddingExcludingBorder,\n        paddingBottom: isCompact ? 0 : 2,\n        paddingTop: isCompact ? 0 : 2\n      });\n    },\n    clearIndicator: function clearIndicator(css) {\n      return _objectSpread({}, css, {\n        color: colors.N70,\n        paddingLeft: ICON_PADDING,\n        paddingRight: ICON_PADDING,\n        paddingBottom: isCompact ? 0 : 6,\n        paddingTop: isCompact ? 0 : 6,\n        ':hover': {\n          color: colors.N500\n        }\n      });\n    },\n    loadingIndicator: function loadingIndicator(css) {\n      return _objectSpread({}, css, {\n        paddingBottom: isCompact ? 0 : 6,\n        paddingTop: isCompact ? 0 : 6\n      });\n    },\n    dropdownIndicator: function dropdownIndicator(css, _ref2) {\n      var isDisabled = _ref2.isDisabled;\n      var color = colors.N500;\n\n      if (isDisabled) {\n        color = colors.N70;\n      }\n\n      return _objectSpread({}, css, {\n        color: color,\n        paddingLeft: ICON_PADDING,\n        paddingRight: ICON_PADDING,\n        paddingBottom: isCompact ? 0 : 6,\n        paddingTop: isCompact ? 0 : 6,\n        ':hover': {\n          color: colors.N200\n        }\n      });\n    },\n    indicatorsContainer: function indicatorsContainer(css) {\n      return _objectSpread({}, css, {\n        paddingRight: paddingExcludingBorder - ICON_PADDING\n      });\n    },\n    option: function option(css, _ref3) {\n      var isFocused = _ref3.isFocused,\n          isSelected = _ref3.isSelected;\n      var color = isSelected ? colors.N0 : null;\n      var backgroundColor;\n      if (isSelected) backgroundColor = colors.N500;else if (isFocused) backgroundColor = colors.N30;\n      return _objectSpread({}, css, {\n        paddingTop: '6px',\n        paddingBottom: '6px',\n        backgroundColor: backgroundColor,\n        color: color\n      });\n    },\n    placeholder: function placeholder(css) {\n      return _objectSpread({}, css, {\n        color: colors.N100\n      });\n    },\n    singleValue: function singleValue(css, _ref4) {\n      var isDisabled = _ref4.isDisabled;\n      return _objectSpread({}, css, {\n        color: isDisabled ? colors.N70 : colors.N800,\n        lineHeight: \"\".concat(gridSize() * 2, \"px\") // 16px\n\n      });\n    },\n    menuList: function menuList(css) {\n      return _objectSpread({}, css, {\n        paddingTop: gridSize(),\n        paddingBottom: gridSize()\n      });\n    },\n    multiValue: function multiValue(css) {\n      return _objectSpread({}, css, {\n        borderRadius: '2px',\n        backgroundColor: colors.N40,\n        color: colors.N500,\n        maxWidth: '100%'\n      });\n    },\n    multiValueLabel: function multiValueLabel(css) {\n      return _objectSpread({}, css, {\n        padding: '2px',\n        paddingRight: '2px'\n      });\n    },\n    multiValueRemove: function multiValueRemove(css, _ref5) {\n      var isFocused = _ref5.isFocused;\n      return _objectSpread({}, css, {\n        backgroundColor: isFocused && colors.R75,\n        color: isFocused && colors.R400,\n        paddingLeft: '2px',\n        paddingRight: '2px',\n        borderRadius: '0px 2px 2px 0px',\n        ':hover': {\n          color: colors.R400,\n          backgroundColor: colors.R75\n        }\n      });\n    }\n  };\n}\n\nexport default function createSelect(WrappedComponent) {\n  var _class, _temp;\n\n  return _temp = _class =\n  /*#__PURE__*/\n  function (_Component) {\n    _inherits(AtlaskitSelect, _Component);\n\n    function AtlaskitSelect(props) {\n      var _this;\n\n      _classCallCheck(this, AtlaskitSelect);\n\n      _this = _possibleConstructorReturn(this, _getPrototypeOf(AtlaskitSelect).call(this, props));\n\n      _defineProperty(_assertThisInitialized(_this), \"components\", void 0);\n\n      _defineProperty(_assertThisInitialized(_this), \"select\", void 0);\n\n      _defineProperty(_assertThisInitialized(_this), \"cacheComponents\", function (components, enableAnimation) {\n        if (enableAnimation) {\n          _this.components = makeAnimated(_objectSpread({}, defaultComponents, components));\n        } else {\n          _this.components = _objectSpread({}, defaultComponents, components);\n        }\n      });\n\n      _defineProperty(_assertThisInitialized(_this), \"onSelectRef\", function (ref) {\n        _this.select = ref;\n        var innerRef = _this.props.innerRef;\n\n        if (_typeof(innerRef) === 'object') {\n          innerRef.current = ref;\n        }\n\n        if (typeof innerRef === 'function') {\n          innerRef(ref);\n        }\n      });\n\n      _this.cacheComponents = memoizeOne(_this.cacheComponents, isEqual).bind(_assertThisInitialized(_this));\n\n      _this.cacheComponents(props.components, props.enableAnimation);\n\n      return _this;\n    }\n\n    _createClass(AtlaskitSelect, [{\n      key: \"UNSAFE_componentWillReceiveProps\",\n      value: function UNSAFE_componentWillReceiveProps(nextProps) {\n        this.cacheComponents(nextProps.components, nextProps.enableAnimation);\n      }\n    }, {\n      key: \"focus\",\n      value: function focus() {\n        this.select.focus();\n      }\n    }, {\n      key: \"blur\",\n      value: function blur() {\n        this.select.blur();\n      }\n    }, {\n      key: \"render\",\n      value: function render() {\n        var _this$props = this.props,\n            styles = _this$props.styles,\n            validationState = _this$props.validationState,\n            spacing = _this$props.spacing,\n            isMulti = _this$props.isMulti,\n            props = _objectWithoutProperties(_this$props, [\"styles\", \"validationState\", \"spacing\", \"isMulti\"]); // eslint-disable-line\n\n\n        var isCompact = spacing === 'compact'; // props must be spread first to stop `components` being overridden\n\n        return ___EmotionJSX(WrappedComponent, _extends({\n          ref: this.onSelectRef,\n          isMulti: isMulti\n        }, props, {\n          components: this.components,\n          styles: mergeStyles(baseStyles(validationState, isCompact), styles)\n        }));\n      }\n    }]);\n\n    return AtlaskitSelect;\n  }(Component), _defineProperty(_class, \"defaultProps\", {\n    enableAnimation: true,\n    validationState: 'default',\n    spacing: 'default',\n    onClickPreventDefault: true,\n    tabSelectsValue: false\n  }), _temp;\n}","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n  These theme values are expressed as functions so that if we decide to make\n  them dependent on props in the future, it wouldn't require a significant\n  refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n  &:focus {\n    outline: none;\n    box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n  }\n`;\nexport const noFocusRing = () => `\n  box-shadow: none;\n`;\nexport const layers = {\n    card: () => 100,\n    dialog: () => 300,\n    navigation: () => 200,\n    layer: () => 400,\n    blanket: () => 500,\n    modal: () => 510,\n    flag: () => 600,\n    spotlight: () => 700,\n    tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n    border: '0 !important',\n    clip: 'rect(1px, 1px, 1px, 1px) !important',\n    height: '1px !important',\n    overflow: 'hidden !important',\n    padding: '0 !important',\n    position: 'absolute !important',\n    width: '1px !important',\n    whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n  border: 0 !important;\n  clip: rect(1px, 1px, 1px, 1px) !important;\n  height: 1px !important;\n  overflow: hidden !important;\n  padding: 0 !important;\n  position: absolute !important;\n  width: 1px !important;\n  white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n    css: {\n        backgroundColor: skeletonColor(),\n        animationDuration: '1.5s',\n        animationIterationCount: 'infinite',\n        animationTimingFunction: 'linear',\n        animationDirection: 'alternate',\n    },\n    keyframes: {\n        from: {\n            backgroundColor: skeletonColor(),\n        },\n        to: {\n            backgroundColor: N30A,\n        },\n    },\n});\n//# sourceMappingURL=constants.js.map","import AsyncCreatableSelect from 'react-select/async-creatable';\nimport createSelect from './createSelect';\nexport default createSelect(AsyncCreatableSelect);","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { Field } from '@atlaskit/form';\nimport { AsyncCreatableSelect } from '@atlaskit/select';\nimport { B300, G300 } from '@atlaskit/theme/colors';\nimport {\n  SanitizedFormattedHtmlMessage,\n  SanitizedFormattedHtmlMessageProps,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport styled from '@emotion/styled';\nimport debounce from 'lodash.debounce';\nimport React, { useEffect, useState } from 'react';\nimport { metalClient } from '../../../../metrics';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { buildDevopsProduct, getSiteDomain } from '../../utility';\nimport { FieldType } from '../model';\nimport { ErrorMessage, FieldWrapper, fontCharlieText } from '../styled';\nimport { IconValidation } from './icon-validation';\nimport { ValidationStateType } from '../../types';\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateLoggedInFormValid,\n  updateLoggedInFormDataProducts,\n  updateLoggedInFormDataFreeBreach,\n  updateLoggedInFormInput\n} from '../../../../redux';\n\ntype OptionsType = {\n  readonly value: string;\n  readonly label: string;\n};\n\nfunction createOption(value: string, domain: string) {\n  return {\n    label: value + domain,\n    value\n  };\n}\n\nexport function InputSitenameExisting() {\n  // TODO: there should be some analytics but im not seeing any in the old form\n  // besides on the switch betweeen the dropdown and input for sites\n\n  const { intl, userInfo } = useDevopsState();\n  const dispatch = useAppDispatch();\n  const { bbWorkspaceName, cloudName } = useAppSelector(\n    ({ loggedInFormData }) => loggedInFormData\n  );\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const stargateClient = useStargateClient();\n  const [isMenuOpen, setIsMenuOpen] = useState(false);\n  const [options, setOptions] = useState<OptionsType[]>([]);\n  const [newOption, setNewOption] = useState<OptionsType>();\n  const [inputValue, setInputValue] = useState<OptionsType>();\n  const [validationState, setValidationState] = useState<ValidationStateType>();\n  const [validationMessage, setValidationMessage] = useState<\n    undefined | SanitizedFormattedHtmlMessageProps\n  >();\n  const validSitename = /^[a-z0-9]+[a-z0-9-]+[a-z0-9]+$/;\n  const sites = userInfo?.sites || [];\n  const siteDomain = getSiteDomain();\n  const sitesMap = new Map(sites.map((obj) => [obj.displayName, obj]));\n\n  useEffect(() => {\n    setOptions(\n      // @ts-ignore\n      [...sitesMap.keys()].map((displayName) => {\n        return createOption(displayName, siteDomain);\n      })\n    );\n  }, [userInfo]);\n\n  useEffect(() => {\n    // no selection has been made, or a new site was just added to options\n    if (!cloudName) {\n      setInputValue(options[0]);\n      return;\n    }\n\n    // selection has been made, and may or may not be included in options\n    if (cloudName && options) {\n      const targetOption = options.find((o) => o.value === cloudName);\n      if (targetOption) {\n        // already included in options, existing site\n        setNewOption(undefined);\n        setInputValue(targetOption);\n      } else {\n        // not included in options, new site\n        const createdOption = createOption(cloudName, siteDomain);\n        setNewOption(createdOption);\n        setInputValue(createdOption);\n      }\n    }\n  }, [options, cloudName]);\n\n  // set input value in DevopsState whenever it changes\n  useEffect(() => {\n    if (!inputValue) {\n      dispatch(updateLoggedInFormValid(false));\n      return;\n    }\n\n    const { value: cloudName } = inputValue;\n    const selectedSite = sitesMap.get(cloudName);\n    let breachStatus = false;\n    const existingWorkspace = !!bbWorkspaceName;\n    if (selectedSite && selectedSite.products) {\n      try {\n        void Promise.all(\n          selectedSite.products.map(async (product) => {\n            const status = await stargateClient.postExpandFreeValidation({\n              cloudId: selectedSite?.cloudId,\n              productKeys: [product]\n            });\n            return status.isInBreachOfFree;\n          })\n        )\n          .then((res) => {\n            breachStatus = res.includes(true);\n            dispatch(updateLoggedInFormDataFreeBreach(breachStatus));\n            const { productsNew, productsExisting } = buildDevopsProduct({\n              cloudName,\n              selectedSite,\n              breachStatus,\n              existingWorkspace\n            });\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName,\n                productsNew,\n                productsExisting\n              })\n            );\n            dispatch(updateLoggedInFormValid(true));\n          })\n          .catch((err) => {\n            // in the event that Promise all fails, fail gracefully and continue\n            createAnalyticsEvent({\n              eventName: 'bxp.formCloudSignup.freeBreachStatusRequestFailure',\n              eventComponent: 'form',\n              event: 'request',\n              data: {\n                error: err\n              }\n            }).fire();\n            metalClient.error.submit({\n              name: catalog.error.REQUEST,\n              page: 'sign-up-layout-devops'\n            });\n            const { productsNew, productsExisting } = buildDevopsProduct({\n              cloudName,\n              selectedSite,\n              breachStatus,\n              existingWorkspace\n            });\n\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName,\n                productsNew,\n                productsExisting\n              })\n            );\n            dispatch(updateLoggedInFormValid(true));\n          });\n      } catch (err) {\n        // in the event that the try fails, fail gracefully and continue\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.freeBreachStatusRequestFailure',\n          eventComponent: 'form',\n          event: 'request',\n          data: {\n            error: err\n          }\n        }).fire();\n        metalClient.error.submit({\n          name: catalog.error.REQUEST,\n          page: 'sign-up-layout-devops'\n        });\n        const { productsNew, productsExisting } = buildDevopsProduct({\n          cloudName,\n          selectedSite,\n          breachStatus,\n          existingWorkspace\n        });\n\n        dispatch(\n          updateLoggedInFormDataProducts({\n            cloudName,\n            productsNew,\n            productsExisting\n          })\n        );\n        dispatch(updateLoggedInFormValid(true));\n      }\n    } else {\n      const { productsNew, productsExisting } = buildDevopsProduct({\n        cloudName,\n        selectedSite,\n        breachStatus,\n        existingWorkspace\n      });\n\n      dispatch(\n        updateLoggedInFormDataProducts({\n          cloudName,\n          productsNew,\n          productsExisting\n        })\n      );\n      dispatch(updateLoggedInFormValid(true));\n    }\n  }, [inputValue]);\n\n  // user selects 'Create ...'\n  function handleCreateOption(value: string) {\n    const option = createOption(value, siteDomain);\n    setNewOption(option);\n    setInputValue(option);\n  }\n\n  // user types into input\n  async function loadOptions(\n    value: string,\n    callback: (options: OptionsType[]) => void\n  ) {\n    setInputValue(undefined);\n    const validState = await validateSitename(value);\n    if (validState === 'error') {\n      setIsMenuOpen(false);\n    } else {\n      setIsMenuOpen(true);\n    }\n    setValidationState(validState);\n    // filter out options that do not match what's currently typed,\n    // otherwise the 'Create ...' prompt lands at the bottom of the list\n    callback(\n      options.filter((option) =>\n        option.label.toLowerCase().includes(value.toLowerCase())\n      )\n    );\n  }\n\n  // user selects from the dropdown\n  function handleChange(value: OptionsType) {\n    setInputValue(value);\n  }\n\n  function handleBlur() {\n    setValidationMessage(undefined);\n    setValidationState(undefined);\n  }\n\n  function handleMenuOpen() {\n    if (validationState !== 'error') {\n      setIsMenuOpen(true);\n    }\n  }\n\n  function handleMenuClose() {\n    setIsMenuOpen(false);\n  }\n\n  function validateSitename(value: string): Promise<ValidationStateType> {\n    return new Promise(async (resolve) => {\n      setValidationMessage(undefined);\n      if (value.length === 0) {\n        resolve(undefined);\n      }\n      if (\n        !validSitename.test(value) ||\n        (value.length > 0 && value.length < 3)\n      ) {\n        setValidationMessage(messages.errorSitenameInvalid);\n        resolve('error');\n      }\n      if (options.map((p) => p.value).includes(value)) {\n        resolve('success');\n      }\n\n      setValidationState('validating');\n      const siteNameCheck = await stargateClient.checkCloudNameAvailability({\n        cloudName: value,\n        webPlatform: 'magnolia'\n      });\n\n      if (siteNameCheck?.availability !== 'AVAILABLE') {\n        setValidationMessage(messages.errorSitenameUnavailable);\n        resolve('error');\n      } else {\n        resolve('success');\n      }\n\n      resolve(undefined);\n    });\n  }\n  const handleInputChange = (value: string) => {\n    if (value === '') {\n      setValidationMessage(undefined);\n      setValidationState(undefined);\n    }\n  };\n\n  return (\n    <>\n      <Field\n        name=\"sitenameExisting\"\n        label={intl.formatMessage(messages.inputLabelSitenameExisting)}\n        isRequired\n      >\n        {({ fieldProps }: FieldType) => (\n          <FieldWrapper>\n            {validationMessage && (\n              <ErrorMessage className=\"location-bottom\">\n                <SanitizedFormattedHtmlMessage {...validationMessage} />\n              </ErrorMessage>\n            )}\n            <div data-testid=\"sitenameExisting\">\n              <StyledAsyncCreatableSelect\n                {...fieldProps}\n                loadOptions={debounce(loadOptions, 1000)}\n                defaultOptions={newOption ? [newOption, ...options] : options}\n                allowCreateWhileLoading={false}\n                isClearable={false}\n                validationState={validationState}\n                placeholder={''}\n                onCreateOption={handleCreateOption}\n                onChange={handleChange}\n                onBlur={handleBlur}\n                onMenuOpen={handleMenuOpen}\n                onMenuClose={handleMenuClose}\n                menuIsOpen={isMenuOpen}\n                value={inputValue}\n                onInputChange={handleInputChange}\n                elemAfterInput={\n                  <IconValidation validationState={validationState} />\n                }\n              />\n            </div>\n          </FieldWrapper>\n        )}\n      </Field>\n\n      <SitenameToggleWrapper\n        onClick={() => {\n          dispatch(updateLoggedInFormValid(false));\n          dispatch(updateLoggedInFormInput(true));\n        }}\n      >\n        <SanitizedFormattedHtmlMessage {...messages.inputToggleSitenameNew} />\n      </SitenameToggleWrapper>\n    </>\n  );\n}\n\n// for possible future use:\n// const SitenameDescription = styled.div`\n//   color: ${N500};\n//   font-weight: 400;\n//   font-size: 12px;\n//   margin: 3px 0px;\n// `;\n\nconst StyledAsyncCreatableSelect = styled(AsyncCreatableSelect)`\n  font-size: 14px;\n  > div {\n    ${(props) => {\n      if (props.validationState === 'success') {\n        return ` border-color:${G300} !important`; // green\n      }\n      return '';\n    }};\n  }\n  svg {\n    margin-bottom: 0px;\n  }\n`;\nconst SitenameToggleWrapper = styled.div`\n  font-family: ${fontCharlieText};\n  display: block;\n  font-size: 12px;\n  line-height: 16px;\n  color: ${B300};\n  vertical-align: middle;\n  margin: 2px 0 16px 0;\n  font-weight: 500;\n  cursor: pointer;\n`;\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useCallback } from 'react';\nimport Field from './field';\n/**\n * __Checkbox field__\n *\n * A checkbox field is a form field that lets users select an item. Users can check or uncheck the checkbox.\n *\n * - [Examples] https://atlaskit.atlassian.com/packages/design-system/form/docs/fields#checkboxfield-reference\n * - [Code] https://atlaskit.atlassian.com/packages/design-system/form/docs/fields#checkboxfield-reference\n * - [Usage] https://atlaskit.atlassian.com/packages/design-system/form/docs/fields#checkboxfield-reference\n */\nconst CheckboxField = props => {\n  const {\n    children,\n    defaultIsChecked = false,\n    value,\n    ...rest\n  } = props;\n\n  // Maintains a memoised list of the default values\n  const defaultValue = useCallback((currentValue = []) => defaultIsChecked && value !== undefined ? [...currentValue, value] : currentValue, [value, defaultIsChecked]);\n  return value !== undefined ? /*#__PURE__*/React.createElement(Field, _extends({}, rest, {\n    defaultValue: defaultValue,\n    transform: (event, currentValue) => event.currentTarget.checked && currentValue ? [...currentValue, value] : currentValue.filter(v => v !== value)\n  }), ({\n    fieldProps: {\n      value: fieldValue,\n      ...otherFieldProps\n    },\n    ...others\n  }) => children({\n    fieldProps: {\n      ...otherFieldProps,\n      isChecked: !!fieldValue.find(v => v === value),\n      value\n    },\n    ...others\n  })) : /*#__PURE__*/React.createElement(Field, _extends({}, rest, {\n    defaultValue: defaultIsChecked,\n    transform: event => event.currentTarget.checked\n  }), ({\n    fieldProps: {\n      value: fieldValue,\n      ...otherFieldProps\n    },\n    ...others\n  }) => children({\n    fieldProps: {\n      ...otherFieldProps,\n      isChecked: fieldValue,\n      value\n    },\n    ...others\n  }));\n};\nCheckboxField.defaultProps = {\n  defaultIsChecked: false\n};\nexport default CheckboxField;","import { Checkbox } from '@atlaskit/checkbox';\nimport { CheckboxField } from '@atlaskit/form';\nimport styled from '@emotion/styled';\nimport React, { useState, useEffect } from 'react';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { FieldType } from '../model';\nimport { FieldWrapper } from '../styled';\nimport {\n  useAppDispatch,\n  updateLoggedInFormDataConsent\n} from '../../../../redux';\n\ntype MarketingConsentCheckBoxType = {\n  readonly controlled?: boolean;\n};\n\nexport function MarketingConsentCheckBox({\n  controlled\n}: MarketingConsentCheckBoxType) {\n  const [isChecked, setIsChecked] = useState(false);\n  const { intl } = useDevopsState();\n  const dispatch = useAppDispatch();\n\n  useEffect(() => {\n    if (!controlled) {\n      return;\n    }\n\n    dispatch(\n      updateLoggedInFormDataConsent({\n        marketingConsent: isChecked\n      })\n    );\n  }, [isChecked]);\n\n  return (\n    <StyledFieldWrapper>\n      {controlled && (\n        <CheckboxField name=\"marketingConsent\">\n          {({ fieldProps }: FieldType) => (\n            <Checkbox\n              {...fieldProps}\n              isChecked={isChecked}\n              onChange={() => setIsChecked(!isChecked)}\n              label={intl.formatMessage(messages.marketingConsent)}\n            />\n          )}\n        </CheckboxField>\n      )}\n      {!controlled && (\n        <CheckboxField name=\"marketingConsent\">\n          {({ fieldProps }: FieldType) => (\n            <Checkbox\n              {...fieldProps}\n              label={intl.formatMessage(messages.marketingConsent)}\n            />\n          )}\n        </CheckboxField>\n      )}\n    </StyledFieldWrapper>\n  );\n}\nconst StyledFieldWrapper = styled(FieldWrapper)`\n  margin: 24px 0 0 0;\n\n  label span {\n    display: block !important;\n    border: none !important;\n    padding: 0 !important;\n    border-radius: 3px;\n    margin: 0;\n    line-height: 20px;\n    font-size: 100%;\n    vertical-align: baseline;\n    font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n      Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n    font-style: normal;\n    font-size: 13px;\n    letter-spacing: 0.3px;\n  }\n`;\n","import { LoadingButton } from '@atlaskit/button';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { fontCharlieText } from '../styled';\n\ntype ButtonSubmitType = {\n  isLoading: boolean;\n  isDisabled: boolean;\n};\n\nexport function ButtonSubmit({ isLoading, isDisabled }: ButtonSubmitType) {\n  const { userInfo } = useDevopsState();\n\n  function SubmitButtonMessage() {\n    switch (userInfo?.isLoggedIn) {\n      case true:\n        return (\n          <SanitizedFormattedHtmlMessage {...messages.submitButtonLoggedIn} />\n        );\n      default:\n        return (\n          <SanitizedFormattedHtmlMessage {...messages.submitButtonLoggedOut} />\n        );\n    }\n  }\n\n  return (\n    <StyledButton\n      type=\"submit\"\n      appearance=\"primary\"\n      testId=\"devops-button-submit\"\n      isLoading={isLoading}\n      isDisabled={isDisabled || isLoading}\n      shouldFitContainer\n    >\n      <SubmitButtonMessage />\n    </StyledButton>\n  );\n}\n\nconst StyledButton = styled(LoadingButton)`\n  font-family: ${fontCharlieText};\n  font-weight: 500;\n  padding: 0 8px;\n  margin-top: 30px;\n  width: 100%;\n  text-align: center;\n\n  span {\n    margin: auto;\n  }\n\n  svg {\n    margin-bottom: 0px;\n  }\n`;\n","import {\n  BitbucketIcon,\n  ConfluenceIcon,\n  JiraIcon,\n  OpsGenieIcon\n} from '@atlaskit/logo';\nimport Lozenge from '@atlaskit/lozenge';\nimport { B400, N0, N200 } from '@atlaskit/theme/colors';\nimport {\n  ProductKey,\n  SanitizedFormattedHtmlMessage\n} from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { messages } from '../../messages';\n\ntype ProductListOptions = {\n  readonly products: ProductKey[];\n  readonly isNew: boolean;\n};\n\ntype SingleProductKeyType = {\n  readonly productKey: ProductKey;\n};\n\nfunction RenderLogo({ productKey }: SingleProductKeyType) {\n  const logoStyle = {\n    iconColor: N0,\n    iconGradientStart: N0,\n    iconGradientStop: N0,\n    size: 'large'\n  };\n\n  switch (productKey) {\n    case ProductKey.JIRA_SOFTWARE:\n      return <JiraIcon {...logoStyle} />;\n    case ProductKey.CONFLUENCE:\n      return <ConfluenceIcon {...logoStyle} />;\n    case ProductKey.BITBUCKET:\n      return <BitbucketIcon {...logoStyle} />;\n    case ProductKey.OPSGENIE:\n    case ProductKey.JIRA_SERVICE_DESK:\n    case ProductKey.JIRA_SERVICE_MANAGEMENT:\n      return <OpsGenieIcon {...logoStyle} />;\n    default:\n      return <></>;\n  }\n}\n\nfunction RenderProductText({ productKey }: SingleProductKeyType) {\n  switch (productKey) {\n    case ProductKey.JIRA_SOFTWARE:\n      return (\n        <>\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListJiraSoftwareName}\n          />\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListJiraSoftwareDescription}\n          />\n        </>\n      );\n    case ProductKey.CONFLUENCE:\n      return (\n        <>\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListConfluenceName}\n          />\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListConfluenceDescription}\n          />\n        </>\n      );\n    case ProductKey.BITBUCKET:\n      return (\n        <>\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListBitbucketName}\n          />\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListBitbucketDescription}\n          />\n        </>\n      );\n    case ProductKey.OPSGENIE:\n    case ProductKey.JIRA_SERVICE_DESK:\n    case ProductKey.JIRA_SERVICE_MANAGEMENT:\n      return (\n        <>\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListOpsgenieName}\n          />\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListOpsgenieDescription}\n          />\n        </>\n      );\n    default:\n      return <></>;\n  }\n}\n\nexport function ProductList({ products, isNew }: ProductListOptions) {\n  return (\n    <>\n      {products.map((p: ProductKey) => {\n        return (\n          <ProductItem key={p}>\n            <LogoTextWrapper>\n              <LogoContainer>\n                <RenderLogo productKey={p} />\n              </LogoContainer>\n              <ProductText>\n                <RenderProductText productKey={p} />\n              </ProductText>\n            </LogoTextWrapper>\n            {isNew && (\n              <LozengeWrapper>\n                <Lozenge appearance={'success'} testId={`new-${p}`}>\n                  NEW\n                </Lozenge>\n              </LozengeWrapper>\n            )}\n          </ProductItem>\n        );\n      })}\n    </>\n  );\n}\n\nconst ProductItem = styled.div`\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n  justify-content: space-between;\n  position: relative;\n  box-shadow: 0px 1px 1px rgba(9, 30, 66, 0.25),\n    0px 0px 1px rgba(9, 30, 66, 0.31);\n  border-radius: 8px;\n  height: 65px;\n  max-height: 65px;\n  margin-bottom: 10px;\n`;\n\nconst ProductText = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  height: 100%;\n  font-size: 16px;\n  margin: 0px 0px 0px 12px;\n  line-height: 18px;\n\n  span {\n    display: block;\n  }\n\n  span:last-child {\n    font-size: 12px;\n    color: ${N200};\n  }\n`;\nconst LogoTextWrapper = styled.div`\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n  justify-content: flex-start;\n  align-items: flex-start;\n  align-content: flex-start;\n`;\nconst LogoContainer = styled.div`\n  background: ${B400};\n  height: 65px;\n  width: 62px;\n  min-width: 62px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border-radius: 8px 0 0 8px;\n`;\nconst LozengeWrapper = styled.div`\n  position: absolute;\n  right: 14px;\n  top: 4px;\n`;\n","import { Field } from '@atlaskit/form';\nimport { AsyncCreatableSelect } from '@atlaskit/select';\nimport { G300 } from '@atlaskit/theme/colors';\nimport {\n  SanitizedFormattedHtmlMessage,\n  SanitizedFormattedHtmlMessageProps\n} from '@atlassiansox/bxpkit-core';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport styled from '@emotion/styled';\nimport debounce from 'lodash.debounce';\nimport React, { useEffect, useState } from 'react';\nimport { metalClient } from '../../../../metrics';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { buildDevopsProduct } from '../../utility';\nimport { FieldType } from '../model';\nimport { ErrorMessage, FieldWrapper } from '../styled';\nimport { IconValidation } from './icon-validation';\nimport { ValidationStateType } from '../../types';\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateLoggedInFormValid,\n  updateLoggedInFormDataProducts\n} from '../../../../redux';\n// import { useAnalyticsEvents } from '@atlaskit/analytics-next';\n\ntype OptionsType = {\n  readonly value: string;\n  readonly label: string;\n};\n\nfunction createOption(value: string) {\n  return {\n    label: value,\n    value\n  };\n}\n\nexport function InputWorkspaceExisting() {\n  // TODO: there should be some analytics but im not seeing any in the old form\n  // besides on the switch betweeen the dropdown and input for sites\n\n  const { intl, bbworkspaces } = useDevopsState();\n  const dispatch = useAppDispatch();\n  const bbWorkspaceName = useAppSelector(\n    ({ loggedInFormData: { bbWorkspaceName } }) => bbWorkspaceName\n  );\n  const stargate = useStargateClient();\n  const [isMenuOpen, setIsMenuOpen] = useState(false);\n  const [options, setOptions] = useState<OptionsType[]>([]);\n  const [newOption, setNewOption] = useState<OptionsType>();\n  const [inputValue, setInputValue] = useState<OptionsType>();\n  const [validationState, setValidationState] = useState<ValidationStateType>();\n  const [validationMessage, setValidationMessage] = useState<\n    undefined | SanitizedFormattedHtmlMessageProps\n  >();\n\n  const validSitename = /^[a-z0-9]+[a-z0-9-]+[a-z0-9]+$/;\n\n  const workspaceMap = new Map(\n    bbworkspaces?.map((obj) => [obj?.workspace?.name, obj])\n  );\n\n  useEffect(() => {\n    setOptions(\n      [...workspaceMap.keys()].map((workspaceName) => {\n        return createOption(workspaceName);\n      })\n    );\n  }, [bbworkspaces]);\n\n  useEffect(() => {\n    // no selection has been made, or a new site was just added to options\n    if (!bbWorkspaceName) {\n      setInputValue(options[0]);\n      return;\n    }\n\n    // selection has been made, and may or may not be included in options\n    if (bbWorkspaceName && options) {\n      const targetOption = options.find((o) => o.value === bbWorkspaceName);\n      if (targetOption) {\n        // already included in options, existing site\n        setNewOption(undefined);\n        setInputValue(targetOption);\n      } else {\n        // not included in options, new site\n        const createdOption = createOption(bbWorkspaceName);\n        setNewOption(createdOption);\n        setInputValue(createdOption);\n      }\n    }\n  }, [options, bbWorkspaceName]);\n\n  async function updateWorkspacesInDevopsState() {\n    if (!inputValue) {\n      dispatch(updateLoggedInFormValid(false));\n      return;\n    }\n\n    const { value: bbWorkspaceName } = inputValue;\n\n    const selectedWorkspace = workspaceMap.get(bbWorkspaceName);\n\n    const breachStatus = false;\n    // a workspace is selected from the dropdown, and it was an existing workspace\n    // validate to check if the workspaces name can be used as a site name as well\n    if (selectedWorkspace) {\n      await stargate\n        .checkCloudNameAvailability({\n          cloudName: bbWorkspaceName\n        })\n        .then((res) => {\n          if (res?.availability === 'AVAILABLE') {\n            const { productsNew, productsExisting } = buildDevopsProduct({\n              cloudName: bbWorkspaceName,\n              breachStatus,\n              existingWorkspace: true\n            });\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName: bbWorkspaceName,\n                bbWorkspaceName,\n                productsNew,\n                productsExisting\n              })\n            );\n          } else {\n            const { productsNew, productsExisting } = buildDevopsProduct({\n              cloudName: bbWorkspaceName,\n              breachStatus,\n              existingWorkspace: true\n            });\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName: undefined,\n                bbWorkspaceName,\n                productsNew,\n                productsExisting\n              })\n            );\n          }\n          return res;\n        })\n        .catch(() => {\n          metalClient.error.submit({\n            name: catalog.error.REQUEST,\n            page: 'sign-up-layout-devops'\n          });\n        });\n\n      dispatch(updateLoggedInFormValid(true));\n    } else if (validationState !== 'error') {\n      // user typed a new workspace and it can be used as a site as well\n      const { productsNew, productsExisting } = buildDevopsProduct({\n        cloudName: bbWorkspaceName,\n        breachStatus\n      });\n      dispatch(\n        updateLoggedInFormDataProducts({\n          cloudName: bbWorkspaceName,\n          bbWorkspaceName,\n          productsNew,\n          productsExisting\n        })\n      );\n      dispatch(updateLoggedInFormValid(true));\n    }\n  }\n  // set input value in DevopsState whenever it changes\n  // @ts-ignore\n  useEffect(() => {\n    void updateWorkspacesInDevopsState();\n  }, [inputValue]);\n\n  // user selects 'Create ...'\n  function handleCreateOption(value: string) {\n    const option = createOption(value);\n    setNewOption(option);\n    setInputValue(option);\n  }\n\n  // user types into input\n  async function loadOptions(\n    value: string,\n    callback: (options: OptionsType[]) => void\n  ) {\n    setInputValue(undefined);\n    const validState = await validateSitename(value);\n    if (validState === 'error') {\n      metalClient.error.submit({\n        name: catalog.error.INPUT,\n        page: 'sign-up-layout-devops',\n        component: 'devops-input-workspace-existing'\n      });\n      setIsMenuOpen(false);\n    } else {\n      setIsMenuOpen(true);\n    }\n    setValidationState(validState);\n    // filter out options that do not match what's currently typed,\n    // otherwise the 'Create ...' prompt lands at the bottom of the list\n    callback(\n      options.filter((option) =>\n        option.label.toLowerCase().includes(value.toLowerCase())\n      )\n    );\n  }\n\n  // user selects from the dropdown\n  function handleChange(value: OptionsType) {\n    setInputValue(value);\n  }\n\n  function handleBlur() {\n    setValidationMessage(undefined);\n    setValidationState(undefined);\n  }\n\n  function handleMenuOpen() {\n    if (validationState !== 'error') {\n      setIsMenuOpen(true);\n    }\n  }\n\n  function handleMenuClose() {\n    setIsMenuOpen(false);\n  }\n\n  function validateSitename(value: string): Promise<ValidationStateType> {\n    return new Promise(async (resolve) => {\n      setValidationMessage(undefined);\n      if (value.length === 0) {\n        resolve(undefined);\n      }\n      if (\n        !validSitename.test(value) ||\n        (value.length > 0 && value.length < 3)\n      ) {\n        setValidationMessage(messages.errorSitenameInvalid);\n        resolve('error');\n      }\n      if (options.map((p) => p.value).includes(value)) {\n        resolve('success');\n      }\n\n      setValidationState('validating');\n      const siteNameCheck = await stargate.checkCloudNameAvailability({\n        cloudName: value\n      });\n\n      if (siteNameCheck?.availability !== 'AVAILABLE') {\n        setValidationMessage(messages.errorSitenameUnavailable);\n        resolve('error');\n      } else {\n        resolve('success');\n      }\n\n      resolve(undefined);\n    });\n  }\n  const handleInputChange = (value: string) => {\n    if (value === '') {\n      setValidationMessage(undefined);\n      setValidationState(undefined);\n    }\n  };\n\n  return (\n    <>\n      <Field\n        name=\"sitenameExisting\"\n        label={intl.formatMessage(messages.inputLabelWorkspaceExisting)}\n        isRequired\n      >\n        {({ fieldProps }: FieldType) => {\n          return (\n            <FieldWrapper>\n              {validationMessage && (\n                <ErrorMessage className=\"location-bottom\">\n                  <SanitizedFormattedHtmlMessage {...validationMessage} />\n                </ErrorMessage>\n              )}\n              <div data-testid=\"workspaceExisting\">\n                <StyledAsyncCreatableSelect\n                  {...fieldProps}\n                  loadOptions={debounce(loadOptions, 1000)}\n                  defaultOptions={newOption ? [newOption, ...options] : options}\n                  allowCreateWhileLoading={false}\n                  isClearable={false}\n                  validationState={validationState}\n                  placeholder={''}\n                  onCreateOption={handleCreateOption}\n                  onChange={handleChange}\n                  onBlur={handleBlur}\n                  onMenuOpen={handleMenuOpen}\n                  onMenuClose={handleMenuClose}\n                  menuIsOpen={isMenuOpen}\n                  value={inputValue}\n                  onInputChange={handleInputChange}\n                  elemAfterInput={\n                    <IconValidation validationState={validationState} />\n                  }\n                />\n              </div>\n            </FieldWrapper>\n          );\n        }}\n      </Field>\n    </>\n  );\n}\n\n// for possible future use:\n// const SitenameDescription = styled.div`\n//   color: ${N500};\n//   font-weight: 400;\n//   font-size: 12px;\n//   margin: 3px 0px;\n// `;\n\nconst StyledAsyncCreatableSelect = styled(AsyncCreatableSelect)`\n  font-size: 14px;\n  > div {\n    ${(props) => {\n      if (props.validationState === 'success') {\n        return ` border-color:${G300} !important`; // green\n      }\n      return '';\n    }};\n  }\n  svg {\n    margin-bottom: 0px;\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { N500 } from '@atlaskit/theme/colors';\nimport { Environment } from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../messages';\nimport { fontCharlieText } from '../styled';\n\nexport function ButtonGoogleSignIn() {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const loginGoogleOrigin = new OriginTracing({ product: 'wac-signup-google' });\n\n  const cobranding = `application=wac`;\n  const currentUrl = new URL(window.location.href);\n  currentUrl.searchParams.append('social-signup-login', 'true');\n  const continueUrl = `&continue=${encodeURIComponent(currentUrl.href)}`;\n  const accountPrompt = `&prompt=select_account`;\n  const atlOrigin = `&atlOrigin=${encodeURIComponent(\n    loginGoogleOrigin.encode()\n  )}`;\n  const urlGoogleSignupContinue = `${Environment.getIdentityBaseUrl()}/login/initiate/google?${cobranding}${atlOrigin}${continueUrl}${accountPrompt}`;\n\n  const googleButtonClick = () => {\n    createAnalyticsEvent({\n      eventName: 'wac-signup-google',\n      eventComponent: 'button',\n      event: 'clicked',\n      devops: 'true'\n    }).fire();\n  };\n\n  return (\n    <SocialButton\n      href={urlGoogleSignupContinue}\n      onClick={googleButtonClick}\n      id={'devops-google-sign-in-button'}\n      className={'social-signup-button google'}\n    >\n      <SocialButtonIcon src=\"https://aid-frontend.prod.atl-paas.net/atlassian-id/front-end/5.0.51/static/media/google-logo.c21ca9d1.svg\" />{' '}\n      <FormattedMessage {...messages.socialSignUpButtonContinueWithGoogle} />\n    </SocialButton>\n  );\n}\n\nconst SocialButton = styled.a`\n  text-decoration: none;\n  height: 39px;\n  width: 100%;\n  border-radius: 3px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  :hover {\n    color: ${N500};\n    text-decoration: none;\n  }\n  cursor: pointer;\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n  background-color: #fff;\n\n  margin: 0px 0px 20px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: ${fontCharlieText};\n  font-style: normal;\n`;\nconst SocialButtonIcon = styled.img`\n  height: 18px;\n  width: 18px;\n  margin-right: 8px;\n  margin-bottom: 0;\n`;\n","import React, { useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport { N600, N900 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport {\n  updateLoggedInFormInput,\n  useAppDispatch,\n  useAppSelector\n} from '../../../../redux';\nimport { fontCharlieDisplay } from '../styled';\nimport { useDevopsState } from '../../hook';\nimport {\n  InputSitename,\n  InputSitenameExisting,\n  MarketingConsentCheckBox\n} from '../component';\nimport { messages } from '../../messages';\n\nexport function SlideSitenameExisting() {\n  const { locale, userInfo, featureFlags, devopsImageUrls } = useDevopsState();\n  const dispatch = useAppDispatch();\n  const showMarketingConsent = locale.localeRequiresMarketingCommunicationOptIn;\n  useEffect(() => {\n    if (\n      userInfo !== undefined &&\n      userInfo.sites !== null &&\n      userInfo.sites.length > 1\n    ) {\n      dispatch(updateLoggedInFormInput(false));\n    }\n  }, [userInfo]);\n\n  const { isNewSiteInput } = useAppSelector(\n    ({ formInputSelection }) => formInputSelection\n  );\n\n  const generalSlideSitenameExisting = (\n    <>\n      <Header>\n        <SanitizedFormattedHtmlMessage {...messages.slideExistingSiteHeader} />\n      </Header>\n      <Description>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideExistingSiteSubHeader}\n        />\n      </Description>\n      {isNewSiteInput && <InputSitename />}\n      {!isNewSiteInput && <InputSitenameExisting />}\n      {showMarketingConsent && <MarketingConsentCheckBox controlled={true} />}\n    </>\n  );\n  const codeawsSlideSitenameExisting = (\n    <>\n      <HeaderCodeAws>\n        <SanitizedFormattedHtmlMessage {...messages.slideExistingSiteHeader} />\n      </HeaderCodeAws>\n      <CodeAwsDescription>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideExistingSiteSubHeader}\n        />\n      </CodeAwsDescription>\n      <DevopsCodeAwsImgWrapper>\n        <img alt=\"\" src={devopsImageUrls.codeAwsJsw} />\n      </DevopsCodeAwsImgWrapper>\n      {isNewSiteInput && <InputSitename />}\n      {!isNewSiteInput && <InputSitenameExisting />}\n      {showMarketingConsent && <MarketingConsentCheckBox controlled={true} />}\n    </>\n  );\n\n  return featureFlags.enableUseCodeAWSContent\n    ? codeawsSlideSitenameExisting\n    : generalSlideSitenameExisting;\n}\n\nconst Header = styled.h1`\n  font-family: ${fontCharlieDisplay};\n  font-style: normal;\n  font-weight: 500;\n  -webkit-font-smoothing: antialiased;\n  font-size: 32px;\n  line-height: 30px;\n  color: ${N600};\n  letter-spacing: 0.3px;\n  max-width: 300px;\n  margin: 0 auto 30px auto;\n  text-align: center;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 24px;\n    line-height: 20px;\n    text-align: center;\n  }\n`;\n\nconst HeaderCodeAws = styled.h1`\n  font-family: ${fontCharlieDisplay};\n  font-style: normal;\n  font-weight: 500;\n  -webkit-font-smoothing: antialiased;\n  font-size: 40px;\n  line-height: 30px;\n  color: ${N600};\n  letter-spacing: 0.3px;\n  max-width: 300px;\n  margin: 0 auto 30px auto;\n  text-align: center;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 24px;\n    line-height: 20px;\n    text-align: center;\n  }\n`;\n\nconst Description = styled.div`\n  display: flex;\n  align-items: center;\n  align-content: center;\n  justify-content: center;\n  font-size: 20px;\n  font-weight: 300;\n  color: ${N900};\n  line-height: 28px;\n  letter-spacing: -0.7px;\n  text-align: center;\n  margin-bottom: 42px;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 18px;\n    line-height: 26px;\n    text-align: center;\n  }\n`;\n\nconst CodeAwsDescription = styled.div`\n  display: flex;\n  align-items: center;\n  align-content: center;\n  justify-content: center;\n  font-size: 22px;\n  font-weight: 300;\n  color: ${N900};\n  line-height: 28px;\n  letter-spacing: -0.7px;\n  text-align: center;\n  margin-bottom: 10px;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 18px;\n    line-height: 26px;\n    text-align: center;\n  }\n`;\n\nconst DevopsCodeAwsImgWrapper = styled.div`\n  display: flex;\n  justify-content: center;\n  height: 130px;\n  width: auto;\n\n  @media only screen and (max-width: 769px) {\n    margin-top: 16px;\n    padding-bottom: 20px;\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button/dist/cjs/components/Button';\nimport { N600, N900 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { useAppSelector } from '../../../../redux';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { fontCharlieDisplay } from '../styled';\n\nexport function SlideFinalConfirmation() {\n  const { intl, devopsImageUrls } = useDevopsState();\n  const goToProductUrl = useAppSelector(\n    ({ sharedFormData: { goToProductUrl } }) => goToProductUrl\n  );\n  const { featureFlags } = useAppSelector((store) => store);\n  const { enableUseCodeAWSContent } = featureFlags;\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  const buttonId = 'go-to-jira-42074419682455333';\n\n  const buttonClick = () => {\n    createAnalyticsEvent({\n      event: 'event',\n      eventName: 'goToProductButtonClicked',\n      eventComponent: 'button',\n      eventType: 'UI'\n    }).fire();\n    window.location.assign(goToProductUrl);\n  };\n\n  const codeAWSConfirmation = (\n    <div>\n      <CodeAwsSlideHeader>\n        <SanitizedFormattedHtmlMessage {...messages.slideConfirmationHeader} />\n      </CodeAwsSlideHeader>\n      <CodeAwsSubText>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideConfirmationSubHeaderText}\n        />\n      </CodeAwsSubText>\n      <CodeAwsImageWrapper>\n        <img\n          src={devopsImageUrls?.successN2E}\n          alt={'image of logos with aws'}\n        />\n      </CodeAwsImageWrapper>\n\n      <DevOpsCarouselEndButton>\n        <Button\n          appearance=\"primary\"\n          id={buttonId}\n          onClick={buttonClick}\n          testId=\"button-final-confirmation\"\n        >\n          {intl.formatMessage(messages.slideConfirmationGetStarted, {\n            product: 'Jira'\n          })}\n        </Button>\n      </DevOpsCarouselEndButton>\n      <CodeAwsFooterText>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideConfirmationFooterText}\n        />\n      </CodeAwsFooterText>\n    </div>\n  );\n  const standardDevopsConfirmation = (\n    <div>\n      <SlideHeader>\n        <SanitizedFormattedHtmlMessage {...messages.slideConfirmationHeader} />\n      </SlideHeader>\n      <SubText>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideConfirmationSubHeaderText}\n        />\n      </SubText>\n      <DevopsImageWrapper>\n        <img\n          src={devopsImageUrls?.successN2E}\n          alt={'success on a plate image'}\n        />\n      </DevopsImageWrapper>\n      <SubText>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideConfirmationFooterText}\n        />\n      </SubText>\n      <DevOpsCarouselEndButton>\n        <Button\n          appearance=\"primary\"\n          id={buttonId}\n          onClick={buttonClick}\n          testId=\"button-final-confirmation\"\n        >\n          {intl.formatMessage(messages.slideConfirmationGetStarted, {\n            product: 'Jira'\n          })}\n        </Button>\n      </DevOpsCarouselEndButton>\n    </div>\n  );\n  return enableUseCodeAWSContent\n    ? codeAWSConfirmation\n    : standardDevopsConfirmation;\n}\nconst SlideHeader = styled.div`\n  font-family: ${fontCharlieDisplay};\n  font-size: 32px;\n  line-height: 40px;\n  text-align: center;\n  color: ${N600};\n`;\nconst SubText = styled.div`\n  font-family: ${fontCharlieDisplay};\n  font-size: 20px;\n  line-height: 28px;\n  text-align: center;\n  letter-spacing: 0.3px;\n  color: ${N900};\n  max-width: 358px;\n  margin: 16px auto;\n`;\nconst DevOpsCarouselEndButton = styled.div`\n  text-align: center;\n  margin: 32px auto 12px;\n`;\nconst DevopsImageWrapper = styled.div`\n  width: 136px;\n  height: 156px;\n  display: flex;\n  justify-content: center;\n  margin: 0 auto 24px;\n\n  svg {\n    max-height: 100%;\n    max-width: 100%;\n  }\n`;\nconst CodeAwsImageWrapper = styled.div`\n  display: flex;\n  justify-content: center;\n  margin: 0 auto 24px;\n\n  svg {\n    max-height: 100%;\n    max-width: 100%;\n  }\n`;\n\nconst CodeAwsSlideHeader = styled.div`\n  font-family: ${fontCharlieDisplay};\n  font-weight: 400;\n  font-size: 36px;\n  line-height: 44px;\n  text-align: center;\n  color: ${N600};\n`;\nconst CodeAwsSubText = styled.div`\n  font-family: ${fontCharlieDisplay};\n  font-weight: 400;\n  font-size: 16px;\n  line-height: 24px;\n  text-align: center;\n  letter-spacing: 0.3px;\n  color: ${N900};\n  margin: 16px auto;\n`;\n\nconst CodeAwsFooterText = styled.div`\n  font-family: ${fontCharlieDisplay};\n  font-weight: 400;\n  font-size: 12px;\n  line-height: 18px;\n  text-align: center;\n  letter-spacing: 0.3px;\n  color: ${N900};\n  max-width: 370px;\n  margin: 16px auto;\n`;\n","import { N600, N900 } from '@atlaskit/theme/colors';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { messages } from '../../messages';\nimport { ProductList } from '../component';\nimport { fontCharlieDisplay, fontCharlieText } from '../styled';\nimport { useAppSelector } from '../../../../redux';\n\nexport function SlideProductConfirmation() {\n  const baseProductKeys = [\n    ProductKey.JIRA_SOFTWARE,\n    ProductKey.CONFLUENCE,\n    ProductKey.BITBUCKET,\n    ProductKey.OPSGENIE\n  ];\n  const {\n    productsExisting: productsExistingArr,\n    productsNew: productsNewPayload\n  } = useAppSelector(({ loggedInFormData }) => loggedInFormData);\n\n  const productsNew = productsNewPayload?.map((p) => p.product);\n  const productsExisting = productsExistingArr?.filter((p) =>\n    baseProductKeys.includes(p)\n  );\n\n  return (\n    <>\n      <Header>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideProductConfirmationHeader}\n        />\n      </Header>\n\n      <Description>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideProductConfirmationSubHeader}\n        />\n      </Description>\n\n      {productsExisting && productsExisting.length > 0 && (\n        <>\n          <ProductList products={productsExisting} isNew={false} />\n        </>\n      )}\n\n      {productsNew && productsNew.length > 0 && (\n        <>\n          <ProductList products={productsNew} isNew={true} />\n        </>\n      )}\n    </>\n  );\n}\n\nconst Header = styled.h1`\n  font-family: ${fontCharlieDisplay};\n  font-style: normal;\n  font-weight: 500;\n  -webkit-font-smoothing: antialiased;\n  font-size: 26px;\n  line-height: 30px;\n  color: ${N600};\n  letter-spacing: 0.3px;\n  max-width: 300px;\n  margin: 0 auto 16px auto;\n  text-align: center;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 24px;\n    line-height: 20px;\n    text-align: center;\n  }\n`;\n\nconst Description = styled.div`\n  display: flex;\n  font-family: ${fontCharlieDisplay};\n  align-items: center;\n  align-content: center;\n  justify-content: center;\n  text-align: center;\n  font-size: 20px;\n  font-weight: 300;\n  line-height: 28px;\n  letter-spacing: 0.2px;\n  margin-bottom: 20px;\n  color: ${N900};\n  \n  @media only screen and (max-width: 769px) {\n    font-family: ${fontCharlieText}\n    font-size: 18px;\n    line-height: 26px;\n    text-align: center;\n  }\n`;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { N600, N900 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport { fontCharlieDisplay } from '../styled';\nimport { useDevopsState } from '../../hook';\nimport { InputWorkspaceExisting, MarketingConsentCheckBox } from '../component';\nimport { messages } from '../../messages';\n\nexport function SlideWorkspaceExisting() {\n  const { locale } = useDevopsState();\n  const showMarketinConsent = locale.localeRequiresMarketingCommunicationOptIn;\n\n  return (\n    <>\n      <Header>\n        <SanitizedFormattedHtmlMessage {...messages.slideExistingSiteHeader} />\n      </Header>\n      <Description>\n        <SanitizedFormattedHtmlMessage\n          {...messages.slideExistingWorkspaceSubHeader}\n        />\n      </Description>\n      <InputWorkspaceExisting />\n      {showMarketinConsent && <MarketingConsentCheckBox controlled={true} />}\n    </>\n  );\n}\n\nconst Header = styled.h1`\n  font-family: ${fontCharlieDisplay};\n  font-style: normal;\n  font-weight: 500;\n  -webkit-font-smoothing: antialiased;\n  font-size: 32px;\n  line-height: 30px;\n  color: ${N600};\n  letter-spacing: 0.3px;\n  max-width: 300px;\n  margin: 0 auto 30px auto;\n  text-align: center;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 24px;\n    line-height: 20px;\n    text-align: center;\n  }\n`;\n\nconst Description = styled.div`\n  display: flex;\n  align-items: center;\n  align-content: center;\n  justify-content: center;\n  font-size: 20px;\n  font-weight: 300;\n  color: ${N900};\n  line-height: 28px;\n  letter-spacing: -0.7px;\n  text-align: center;\n  margin-bottom: 42px;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 18px;\n    line-height: 26px;\n    text-align: center;\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Form from '@atlaskit/form';\nimport { N200 } from '@atlaskit/theme/colors';\nimport { SitesType } from '@atlassiansox/asc-stargate';\nimport { isNotUndefined } from '@atlassiansox/bxp-shared-utils';\nimport {\n  Environment,\n  OfferingCatalog,\n  ProductKey,\n  SanitizedFormattedHtmlMessage,\n  useCofsClient,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React, { useEffect, useState } from 'react';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport { Route, Routes, useLocation } from 'react-router-dom';\nimport { useSignUpFormConfig } from '../../../../hook';\nimport { useSignUpFormGlobalConfiguration } from '../../../../hook/use-sign-up-form-global-configuration';\nimport {\n  updateLoggedInFormDataSubmitStatus,\n  useAppDispatch,\n  useAppSelector\n} from '../../../../redux';\nimport {\n  getRedirectUrlFromShadowItError,\n  isResponseError\n} from '../../../../utility';\nimport { DevopsCarousel } from '../../component';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { ProductPayloadActivateType, ProductPayloadType } from '../../types';\nimport {\n  buildN2EPayload,\n  buildSolutionStatsEvent,\n  getSignupContext,\n  pollForSuccess\n} from '../../utility';\nimport {\n  SlideFinalConfirmation,\n  SlideSitenameExisting,\n  SlideWorkspaceExisting\n} from '../slide';\nimport { fontCharlieDisplay, fontCharlieText } from '../styled';\n\ntype FormProps = {\n  readonly formProps: {\n    readonly onSubmit: (e: React.FormEvent) => void;\n    readonly ref: React.RefObject<HTMLFormElement>;\n    readonly onKeyDown: (e: React.KeyboardEvent) => void;\n  };\n  readonly submitting: boolean;\n};\n\nfunction shouldSkipRecaptcha(email: string) {\n  const botTestPattern =\n    /(bottest@usersinbuckets.com|bottest@atl-paid-dev.com|bottest@bxpwpi.com)$/;\n  return botTestPattern.test(email);\n}\n\nexport function DevopsFormLoggedIn({\n  gRecaptchaResponse\n}: {\n  gRecaptchaResponse: string;\n}) {\n  const [showNoCard, setShowNoCard] = useState(true);\n  const devopsState = useDevopsState();\n  const location = useLocation();\n  const { locale, userInfo, bbworkspaces, enableSkipRecaptcha } = devopsState;\n  const dispatch = useAppDispatch();\n  const formData = useAppSelector(({ loggedInFormData }) => loggedInFormData);\n  const cofsClient = useCofsClient();\n  const stargateClient = useStargateClient();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const { firstName, lastName, email, sites, isNewUser } = userInfo || {};\n  const { confirmationPageUrl } = useSignUpFormGlobalConfiguration();\n  const { useCcpPlatform, platform } = useSignUpFormConfig();\n  const { executeRecaptcha } = useGoogleReCaptcha();\n\n  const offeringCatalog = new OfferingCatalog(Environment.getEnvironment());\n\n  const includeWorkspacesRoute =\n    (userInfo?.sites || []).filter((site: SitesType) => site?.adminAccess)\n      .length === 0 && bbworkspaces?.length !== 0;\n\n  async function onSubmit() {\n    dispatch(updateLoggedInFormDataSubmitStatus('submitting'));\n    // TODO analytics for cloud provision/activate products submit\n    if (!firstName || !lastName || !email) {\n      console.error('Incomplete user info');\n      // TODO: analytics, error message\n      return;\n    }\n    createAnalyticsEvent({\n      eventName: 'bxp.formCloudSignup.formSubmit',\n      eventComponent: 'button',\n      event: 'clicked',\n      data: {\n        type: 'N2E'\n      }\n    }).fire();\n    const cloudId =\n      sites?.find((site: SitesType) => site.displayName === formData.cloudName)\n        ?.cloudId || '';\n    const cloudName = formData?.cloudName || '';\n    const signupContext = getSignupContext({ cloudName, createAnalyticsEvent });\n\n    const payload = await buildN2EPayload({\n      formData,\n      locale,\n      firstName,\n      lastName,\n      email,\n      sites,\n      bbworkspaces,\n      createAnalyticsEvent\n    }).catch((err) => {\n      dispatch(updateLoggedInFormDataSubmitStatus('failure'));\n      throw new Error(err);\n    });\n    const targetWorkspaceId =\n      payload?.advancedSettings?.additionalProvisioningData?.workspaceUuid;\n    const aaid = userInfo?.accountId;\n    const solutionStatsEvent = buildSolutionStatsEvent({\n      userInfo,\n      createAnalyticsEvent,\n      selectedSite:\n        sites?.find(\n          (site: SitesType) => site.displayName === formData.cloudName\n        ) || undefined,\n      provisionedProducts: (formData.productsNew || []).map((p) => p.product),\n      targetWorkspaceId,\n      aaid\n    });\n\n    const fireSolutionStatsEvent = (cloudId: string) => {\n      if (solutionStatsEvent?.payload?.data?.isNewSiteProvisioned) {\n        solutionStatsEvent.update({\n          data: Object.assign({}, solutionStatsEvent?.payload?.data, {\n            provisionedCloudId: cloudId,\n            targetCloudId: cloudId\n          })\n        });\n      }\n      solutionStatsEvent && solutionStatsEvent.fire();\n    };\n\n    try {\n      if (formData.cloudName) {\n        // Check for Shadow IT authorization.\n        await stargateClient.getActivationAuthorization({\n          webPlatform: 'magnolia',\n          productKeys: payload.products\n            .filter(isNotUndefined)\n            // @ts-ignore\n            .map((item: ProductPayloadType | ProductPayloadActivateType) => {\n              // Existing site payload has `productKey`, new site payload has `product`.\n              if ('productKey' in item) {\n                return item.productKey;\n              }\n              return item.product;\n            }),\n          productEdition: payload.products.filter(\n            (product) => !!product && !!product.edition\n          )[0].edition as string,\n          cloudId,\n          siteName: formData.cloudName\n        });\n\n        createAnalyticsEvent({\n          event: 'authorized',\n          eventName: 'devopsSignupShadowItAuthorized',\n          eventType: 'track',\n          eventComponent: 'devopsSignupShadowIt',\n          eventColumn: 'devopsSignupShadowIt'\n        }).fire();\n      }\n    } catch (error) {\n      // Unauthorized due to Shadow IT.\n      if (isResponseError(error) && error.response.status === 403) {\n        createAnalyticsEvent({\n          event: 'unauthorized',\n          eventName: 'devopsSignupShadowItUnauthorized',\n          eventType: 'track',\n          eventComponent: 'devopsSignupShadowIt',\n          eventColumn: 'devopsSignupShadowIt'\n        }).fire();\n\n        const redirectUrl = getRedirectUrlFromShadowItError(error);\n\n        // Silently fail errors, unless explicitly unauthorized w/ redirectUrl.\n        if (!!redirectUrl) {\n          createAnalyticsEvent({\n            event: 'redirect',\n            eventName: 'devopsSignupShadowItRedirect',\n            eventType: 'track',\n            eventComponent: 'devopsSignupShadowIt',\n            eventColumn: 'devopsSignupShadowIt'\n          }).fire();\n          // Unauthorized redirect to adminhub's Shadow IT request flow.\n          window.location.assign(redirectUrl);\n          return;\n        }\n      }\n      // Silently fail unexpected errors for Shadow IT.\n    }\n\n    if (payload.products.length) {\n      // turn all products into productKeys as existing site payload has `productKey`, new site payload has `product`.\n      const productKeys = payload.products.map((item) => {\n        if ('productKey' in item) {\n          return {\n            // @ts-ignore\n            product: item.productKey,\n            edition: item.edition\n          };\n        } else {\n          return {\n            product: item.product,\n            edition: item.edition\n          };\n        }\n      });\n\n      const ccpProducts = productKeys\n        .map(({ product, edition }) => {\n          return offeringCatalog.mapProductKeyAndEditionToCcpProduct({\n            productKey: product as ProductKey,\n            edition: edition as string\n          });\n        })\n        .filter((p) => p !== undefined);\n\n      const skipRecaptcha =\n        email && enableSkipRecaptcha && shouldSkipRecaptcha(email);\n\n      if (!executeRecaptcha) {\n        console.log('Execute recaptcha not yet available');\n        return;\n      }\n\n      const token = skipRecaptcha\n        ? 'reCaptcha'\n        : await executeRecaptcha('userSignup');\n\n      if (token !== null) {\n        gRecaptchaResponse = token;\n        // for existing sites use newly extracted cofsActivateProductsExisting endpoint, devops is only for cofs right now\n        if (payload.activateProducts) {\n          return stargateClient\n            .cofsActivateProductExisting({\n              cloudId: payload?.cloudId || '',\n              // @ts-ignore\n              products: payload.products,\n              advancedSettings: payload.advancedSettings,\n              signupContext: payload.signupContext,\n              gRecaptchaResponse\n            })\n            .then(async (res) => {\n              const progressUri = res.progressUri as string;\n\n              await pollForSuccess({\n                progressUri,\n                confirmationPageUrl,\n                pollProgress: () => cofsClient.pollProgress({ progressUri }),\n                devopsState,\n                dispatch,\n                loggedInFormData: formData,\n                onInitialRequestSuccess: fireSolutionStatsEvent,\n                createAnalyticsEvent\n              })\n                .then((result) => {\n                  if (result === 'COMPLETE_SUCCESS') {\n                    dispatch(updateLoggedInFormDataSubmitStatus('success'));\n                    return;\n                  }\n                  dispatch(updateLoggedInFormDataSubmitStatus('failure'));\n                })\n                .catch((reason) => {\n                  createAnalyticsEvent({\n                    eventName: 'bxp.formCloudSignup.progressUri',\n                    eventComponent: 'button',\n                    event: 'clicked',\n                    data: {\n                      err: reason\n                    }\n                  }).fire();\n                  dispatch(updateLoggedInFormDataSubmitStatus('failure'));\n                });\n            })\n            .catch((err) => {\n              dispatch(updateLoggedInFormDataSubmitStatus('failure'));\n              throw new Error(err);\n            });\n        }\n        return stargateClient\n          .activateProduct({\n            email,\n            displayName: firstName,\n            ccpProducts,\n            siteName: formData.cloudName,\n            timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n            useCcpPlatform,\n            consent: payload.consent,\n            platform,\n            advancedSettings: payload.advancedSettings,\n            isNewUser,\n            signupContext,\n            gRecaptchaResponse: gRecaptchaResponse || ''\n          })\n          .then(async (res) => {\n            // **NOTE**  With rollout integration, the response may be a COFS response, provisionRequestId may not exist, see below\n            const requestId = res.metadata?.provisionRequestId;\n            const products = payload.products\n              ?.map(({ product }) => product)\n              .join(',');\n\n            if (res.service === 'ccp') {\n              // Route user to CCP Confirmation page\n              let redirectUrl = `${confirmationPageUrl}?platform=ccp&provisioningRequestId=${requestId}&ondemandurl=${formData.cloudName}&products=${products}`;\n\n              if (res.cloudId) {\n                redirectUrl += `&cloudId=${res.cloudId}`;\n              }\n\n              window.location.assign(redirectUrl);\n            } else {\n              const progressUri = res.progressUri as string;\n\n              await pollForSuccess({\n                progressUri,\n                confirmationPageUrl,\n                pollProgress: () => cofsClient.pollProgress({ progressUri }),\n                devopsState,\n                dispatch,\n                loggedInFormData: formData,\n                onInitialRequestSuccess: fireSolutionStatsEvent,\n                createAnalyticsEvent\n              })\n                .then((result) => {\n                  if (result === 'COMPLETE_SUCCESS') {\n                    dispatch(updateLoggedInFormDataSubmitStatus('success'));\n                    return;\n                  }\n                  dispatch(updateLoggedInFormDataSubmitStatus('failure'));\n                })\n                .catch((reason) => {\n                  createAnalyticsEvent({\n                    eventName: 'bxp.formCloudSignup.progressUri',\n                    eventComponent: 'button',\n                    event: 'clicked',\n                    data: {\n                      err: reason\n                    }\n                  }).fire();\n                  dispatch(updateLoggedInFormDataSubmitStatus('failure'));\n                });\n            }\n          });\n      } else {\n        throw new Error('Invalid Recaptcha Token');\n      }\n    }\n  }\n\n  useEffect(() => {\n    if (formData.submitStatus === 'shouldSubmit') {\n      void onSubmit();\n    }\n  }, [formData.submitStatus]);\n\n  useEffect(() => {\n    setShowNoCard(!(location?.pathname === '/confirmation') ?? true);\n  }, [location]);\n\n  const routes = [\n    // Routes does not support undefined children, omit from array if not rendering\n    ...[\n      includeWorkspacesRoute && (\n        <Route path=\"/workspace-picker\" element={<SlideWorkspaceExisting />} />\n      )\n    ],\n    <Route path=\"/site-picker\" element={<SlideSitenameExisting />} />,\n    <Route path=\"/confirmation\" element={<SlideFinalConfirmation />} />\n  ];\n\n  return (\n    <Form>\n      {({ formProps }: FormProps) => (\n        <StyledForm {...formProps}>\n          <DevopsCarousel>\n            <Routes children={routes} />\n          </DevopsCarousel>\n          {showNoCard && (\n            <NoCard>\n              <SanitizedFormattedHtmlMessage {...messages.noCard} />\n            </NoCard>\n          )}\n        </StyledForm>\n      )}\n    </Form>\n  );\n}\n\nconst StyledForm = styled.form`\n  font-family: ${fontCharlieText};\n\n  label {\n    color: ${N200};\n    font-weight: 500;\n    margin-bottom: 8px;\n\n    span {\n      display: none;\n    }\n  }\n`;\n\nconst NoCard = styled.div`\n  font-family: ${fontCharlieDisplay};\n  font-weight: 500;\n  font-size: 0.875rem;\n  letter-spacing: 1px;\n  line-height: 1.25;\n  font-style: normal;\n  margin-top: 46px;\n  margin-bottom: 0;\n  text-align: center;\n  text-transform: uppercase;\n`;\n","import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';\nimport { ProductKey, Url } from '@atlassiansox/bxpkit-core';\nimport { merge } from 'lodash';\nimport { WorkspacesType } from '../../../model/workspaces';\nimport {\n  FormDataN2E,\n  LocaleType,\n  ProductPayloadActivateType,\n  SitesType\n} from '../types';\nimport { buildSignupUrlAction, getSignupContext } from './';\nimport { getConsents } from './legal-consents';\n\ntype BuildN2EPayloadType = {\n  readonly locale: LocaleType;\n  readonly formData: FormDataN2E;\n  readonly firstName: string;\n  readonly lastName: string;\n  readonly email: string;\n  readonly sites?: SitesType;\n  readonly bbworkspaces?: WorkspacesType[];\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\ntype ProductsArrayType = {\n  readonly product?: string;\n  readonly productKey?: string;\n  readonly accountName: string;\n  readonly edition?: string;\n};\n\ntype BuildN2EPayloadReturnType = {\n  readonly consent: {\n    readonly site: string;\n    readonly locale: string;\n    readonly formUrl: string;\n    readonly consents: {\n      readonly key: string;\n      readonly displayedText: string | undefined;\n      readonly granted: boolean;\n    }[];\n  };\n  readonly timezone: string;\n  readonly email: string;\n  readonly firstName: string;\n  readonly lastName: string;\n  readonly cloudName: string;\n  readonly cloudId?: string;\n  readonly products: ProductsArrayType[];\n  readonly signupContext?: string;\n  readonly activateProducts: boolean;\n  readonly adminUsername: string;\n  readonly advancedSettings: {\n    readonly additionalProvisioningData: {\n      readonly workspaceUuid?: string;\n    };\n  };\n};\n\nexport async function buildN2EPayload({\n  formData,\n  locale,\n  firstName,\n  lastName,\n  email,\n  sites,\n  bbworkspaces,\n  createAnalyticsEvent\n}: BuildN2EPayloadType): Promise<BuildN2EPayloadReturnType> {\n  const { productsExisting, bbWorkspaceName } = formData;\n  const cloudId =\n    sites?.find((site) => site.displayName === formData.cloudName)?.cloudId ||\n    undefined;\n  const productsAndEditions =\n    // @ts-ignore\n    sites?.find((site) => site.displayName === formData.cloudName)\n      ?.productsAndEditions || undefined;\n  const cloudName = formData?.cloudName || '';\n  const products = formData?.productsNew || [];\n  const signupContext = getSignupContext({ cloudName, createAnalyticsEvent });\n  const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n  const queryParameters = Url.getUrlParams() || {};\n  const signupDevopsSource = queryParameters.hasOwnProperty('signupSource')\n    ? queryParameters.signupSource\n    : undefined;\n  const consentChecked = formData?.marketingConsent ?? true;\n  const consent = getConsents(locale, consentChecked);\n  // will need to change with new endpoint\n  const existingWorkspace = bbworkspaces?.find(\n    (workspace) => workspace.workspace.name === bbWorkspaceName\n  );\n  // activations require a 'productKey' instead of 'product' keys\n  const activateProducts: ProductPayloadActivateType[] = products.map(\n    (product) => {\n      const retObj = {\n        productKey: product.product,\n        accountName: product.accountName\n      };\n      if (product.product !== 'opsgenie') {\n        Object.assign(retObj, { edition: product.edition });\n      }\n      return retObj;\n    }\n  );\n\n  // Always include JSW in N2E existing site cases\n  // so that Cloud Provisioner can link BB+JSW\n  const jswInActivatePayload = !!activateProducts.find(\n    (product) => product.productKey === ProductKey.JIRA_SOFTWARE\n  );\n\n  if (!jswInActivatePayload && cloudId && productsAndEditions) {\n    // @ts-ignore\n    const { productEdition } = productsAndEditions.find(\n      (obj) => obj.productKey === ProductKey.JIRA_SOFTWARE\n    );\n\n    activateProducts.push({\n      productKey: ProductKey.JIRA_SOFTWARE,\n      accountName: cloudName,\n      edition: productEdition\n    });\n  }\n  const workspaceUuid = undefined;\n  const payload = {\n    consent,\n    timezone,\n    email,\n    firstName,\n    lastName,\n    cloudName,\n    products,\n    signupContext,\n    activateProducts: false,\n    adminUsername: 'admin',\n    advancedSettings: {\n      suppressEmail: true,\n      additionalProvisioningData: {\n        dataRegion: 'main',\n        signupDevops: true,\n        workspaceUuid\n      }\n    }\n  };\n\n  if (signupDevopsSource) {\n    Object.assign(payload.advancedSettings.additionalProvisioningData, {\n      signupDevopsSource\n    });\n  }\n\n  if (\n    productsExisting &&\n    productsExisting.length > 0 &&\n    !productsExisting.includes(ProductKey.BITBUCKET)\n  ) {\n    Object.assign(payload, {\n      activateProducts: true,\n      cloudId,\n      products: activateProducts\n    });\n  }\n  // existing workspaces should never be activate products flow, the other 3 should be new products\n  if (existingWorkspace) {\n    Object.assign(payload.advancedSettings.additionalProvisioningData, {\n      workspaceUuid: existingWorkspace.workspace.uuid\n    });\n    const bbProduct = {\n      product: ProductKey.BITBUCKET,\n      accountName: cloudName\n    };\n    Object.assign(payload, { products: [...payload.products, bbProduct] });\n  }\n\n  merge(\n    payload,\n    buildSignupUrlAction(activateProducts.map((p) => p.productKey))\n  );\n  return Promise.resolve(payload);\n}\n","/**\n * Return signupAction & signupUrl, to be added to advancedSettings\n */\n\nexport function buildSignupUrlAction(products: string[]) {\n  return {\n    advancedSettings: {\n      additionalProvisioningData: {\n        signupAction: products.map((product) => `created-${product}`).join('-'),\n        signupUrl: window?.location?.href || ''\n      }\n    }\n  };\n}\n","import {\n  CreateUIAnalyticsEvent,\n  UIAnalyticsEvent\n} from '@atlaskit/analytics-next';\nimport { ProductKey, Storage } from '@atlassiansox/bxpkit-core';\nimport { SitesType } from '@atlassiansox/asc-stargate';\nimport { uniq } from 'lodash';\nimport { UserDataType } from '../types';\n\ntype BuildSolutionStatsEventType = {\n  readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n  readonly userInfo?: UserDataType;\n  readonly selectedSite?: SitesType;\n  readonly provisionedProducts?: string[];\n  readonly targetWorkspaceId?: string;\n  readonly aaid?: string | null;\n};\n\n/**\n * This function returns an analytics-next event for\n * tracking which products were provisioned vs existing,\n * as well as the primary cloudId & any existing instance IDs\n * in the cloud provisioning (or activateProducts) request.\n *\n * @param provisionedProducts - all products being provisioned in the request.\n * @param userInfo - userInfo from use-user-info hook\n * @param selectedSite - site that is selected (eg. applies to N2E existing sitepicker)\n * @param createAnalyticsEvent - analytics-next function, to be passed in from UI\n */\n\nexport function buildSolutionStatsEvent({\n  provisionedProducts,\n  userInfo,\n  selectedSite,\n  createAnalyticsEvent,\n  targetWorkspaceId,\n  aaid\n}: BuildSolutionStatsEventType): UIAnalyticsEvent | undefined {\n  const { sites } = userInfo || {};\n  let existingProducts: string[] = [];\n  let existingInstanceIds: string[] = [];\n\n  if (sites) {\n    sites.map((site) => {\n      existingInstanceIds.push(site.cloudId);\n      existingProducts = existingProducts.concat(site.products);\n    });\n  }\n\n  const isN2NAtlassian = existingProducts.length === 0;\n  const signupUrl = window?.location?.href || '';\n  const targetCloudId = selectedSite?.cloudId || null;\n  // TODO: could change pending workspace integration\n  // const isNewBitbucketWorkspace = true;\n\n  if (!provisionedProducts) {\n    provisionedProducts = [\n      ProductKey.JIRA_SOFTWARE,\n      ProductKey.CONFLUENCE,\n      ProductKey.BITBUCKET,\n      ProductKey.OPSGENIE\n    ];\n  }\n\n  // either existing sitepicker is not rendered, or a site\n  // was selected without JSW included\n  const isNewSiteProvisioned = !selectedSite;\n\n  // N2N / N2E, not the classic definition - this definition\n  // is whether or not JSW was provisioned\n  const onboardingEmailCohort =\n    isNewSiteProvisioned ||\n    (selectedSite?.products &&\n      !selectedSite?.products.includes(ProductKey.JIRA_SOFTWARE))\n      ? 'N2N'\n      : 'N2E';\n\n  existingProducts = uniq(existingProducts);\n  existingInstanceIds = uniq(existingInstanceIds);\n\n  return createAnalyticsEvent({\n    eventName: 'bxp.formCloudSignup.solutionStats',\n    event: 'clicked',\n    eventComponent: 'button',\n    data: {\n      anonymousId: Storage.getCookie('ajs_anonymous_id'),\n      isN2NAtlassian,\n      onboardingEmailCohort,\n      signupUrl,\n      existingProducts,\n      provisionedProducts,\n      existingInstanceIds,\n      isNewSiteProvisioned,\n      targetCloudId,\n      targetWorkspaceId,\n      aaid,\n      provisionedCloudId: null\n    }\n  });\n}\n","import { N600, N800, P400 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedHTMLMessage, FormattedMessage } from 'react-intl';\n// import { useResendEmailData } from '../../../../hook';\n// import { Environment } from '@atlassiansox/bxpkit-core';\n// import { getCheckEmailAnalyticsService } from '../../../../service/check-email-page';\n\n// import { ResendEmailButton } from '../../../legacy/view/check-email-page/components';\nimport { useAppSelector } from '../../../../redux';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport { fontCharlieDisplay, fontCharlieText } from '../styled';\n\nexport function ResendEmailDevopsPage() {\n  const hideHeader = true;\n  const { /*productKeys,*/ devopsImageUrls } = useDevopsState();\n\n  const email = useAppSelector(\n    ({ sharedFormData: { resendEmailAddress } }) => resendEmailAddress\n  );\n  // const isStaging = Environment.getEnvironment() === 'staging';\n  // const wacEnvUrl = Environment.getWacIntegrationUrl();\n  // const productKeysMap = productKeys.map((p) => (p.product ? p.product : ''));\n  // const baseUrl = isStaging\n  //   ? `${wacEnvUrl}/apis/stg/hamlet`\n  //   : `${wacEnvUrl}/hamlet`;\n\n  // const checkEmailAnalyticsService = getCheckEmailAnalyticsService({\n  //   baseUrl,\n  //   googleAnalyticsId: 'UA-6032469-23',\n  //   productKeys: productKeysMap\n  // });\n  // const [{ email = '' }, {}] = useResendEmailData();\n  const DevopsResendPage = (\n    <Devopsgroup>\n      <DevopsImageWrapper>\n        <img src={devopsImageUrls?.envelopeN2N} />\n      </DevopsImageWrapper>\n      <DevopsText>\n        <FormattedHTMLMessage\n          {...messages.devopsEmailSent}\n          values={{ email }}\n        />\n      </DevopsText>\n      <LineDivide></LineDivide>\n      <DevopsText className=\"break\">\n        <FormattedHTMLMessage {...messages.devopsNoResendNoEmail} />\n      </DevopsText>\n      {/* <DevopsButtonGroup>\n        <ResendEmailButton\n          baseUrl={baseUrl}\n          checkEmailAnalyticsService={checkEmailAnalyticsService}\n        />\n      </DevopsButtonGroup> */}\n    </Devopsgroup>\n  );\n\n  return (\n    <Wrapper>\n      <DevopsHeader>\n        {!hideHeader && <FormattedMessage {...messages.devopsHeader} />}\n        <FormattedMessage {...messages.devopsSubHeader} />\n      </DevopsHeader>\n\n      {DevopsResendPage}\n    </Wrapper>\n  );\n}\nexport const Wrapper = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding-top: 0px;\n  align-items: center;\n  font-family: ${fontCharlieText};\n  font-weight: 400;\n  font-size: 16px;\n  line-height: 24px;\n  color: #091e42;\n  letter-spacing: 0.05em;\n\n  a {\n    text-decoration: none !important;\n  }\n\n  a:hover {\n    text-decoration: underline !important;\n  }\n\n  svg {\n    margin-bottom: 0 !important;\n  }\n`;\nexport const LineDivide = styled.div`\n  max-width: 390px;\n  border: 1px solid ${P400};\n  margin: 17px 0px 17px 0px;\n  width: 100%;\n`;\nexport const DevopsText = styled.p`\n  font-family: ${fontCharlieDisplay};\n  margin-top: 0px;\n  font-size: 20px;\n  color: ${N800};\n  line-height: 28px;\n  letter-spacing: 0.3px;\n  max-width: 390px;\n  text-align: center;\n  div {\n    font-weight: 600;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    overflow: hidden;\n    max-width: inherit;\n\n    @media only screen and (max-width: 769px) {\n      display: block;\n    }\n  }\n\n  &.break {\n    font-size: 14px !important;\n    line-height: 18px;\n    text-align: center;\n    @media only screen and (max-width: 769px) {\n      padding-bottom: 10px;\n    }\n  }\n`;\n\nexport const DevopsImageWrapper = styled.div`\n  width: 225px;\n  padding-bottom: 25px;\n  display: flex;\n  justify-content: center;\n  margin-top: 26px;\n\n  @media only screen and (max-width: 769px) {\n    margin-top: 16px;\n    padding-bottom: 20px;\n  }\n`;\nexport const DevopsHeader = styled.span`\n  font-size: 32px;\n  line-height: 40px;\n  font-family: ${fontCharlieDisplay};\n  color: ${N600};\n  font-weight: 400;\n  text-align: center;\n  display: flex;\n  flex-direction: column;\n  padding-bottom: 20px;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 24px;\n    line-height: 28px;\n    padding-bottom: 16px;\n  }\n\n  span:first-child {\n    padding-bottom: 14px;\n  }\n\n  @media only screen and (max-width: 424px) {\n    max-width: 266px;\n  }\n`;\nexport const Devopsgroup = styled.div`\n  display: flex;\n  flex-direction: column;\n  padding-bottom: 0px;\n  align-items: center;\n  text-align: center;\n  max-width: 422px;\n\n  @media only screen and (max-width: 769px) {\n    max-width: 300px;\n  }\n`;\n// export const DevopsButtonGroup = styled.div`\n//   margin-top: 20px;\n//   margin-bottom: 20px;\n//   button {\n//     border-radius: 3px;\n//     padding: 6px 12px;\n//   }\n//   span {\n//     font-size: 14px;\n//     line-height: 20px;\n//     font-family: ${fontCharlieText};\n//   }\n// `;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Form from '@atlaskit/form';\nimport { B300, N200, N500, N600 } from '@atlaskit/theme/colors';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\n\nimport styled from '@emotion/styled';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { Route, Routes, useNavigate } from 'react-router-dom';\nimport { useDevopsState } from '../../hook';\nimport { messages } from '../../messages';\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateSharedFormDataResendEmailAddress\n} from '../../../../redux';\nimport {\n  ButtonGoogleSignIn,\n  ButtonSubmit,\n  InputEmail,\n  InputName\n} from '../component';\n\nimport { MarketingConsentCheckBox } from '../component';\nimport { ResendEmailDevopsPage } from '../slide/slide-n2n-resend-email';\n\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\n\nimport {\n  fontCharlieDisplay,\n  fontCharlieText,\n  SubmitErrorMessage\n} from '../styled';\nimport { FormattedMessage } from 'react-intl';\n\ntype FormProps = {\n  readonly formProps: {\n    readonly onSubmit: (e: React.FormEvent) => void;\n    readonly ref: React.RefObject<HTMLFormElement>;\n    readonly onKeyDown: (e: React.KeyboardEvent) => void;\n  };\n  readonly submitting: boolean;\n  readonly change: any;\n  readonly getValues: any;\n  readonly getState: any;\n};\n\nfunction shouldSkipRecaptcha(email: string) {\n  const botTestPattern =\n    /(bottest@usersinbuckets.com|bottest@atl-paid-dev.com|bottest@bxpwpi.com)$/;\n  return botTestPattern.test(email);\n}\n\nexport function DevopsFormLoggedOutDeferredPassword({\n  setGRecaptchaResponse\n}: {\n  setGRecaptchaResponse: React.Dispatch<React.SetStateAction<string>>;\n}) {\n  const { executeRecaptcha } = useGoogleReCaptcha();\n  const dispatch = useAppDispatch();\n  const devopsState = useDevopsState();\n  const { enableSkipRecaptcha, locale, intl } = devopsState;\n  const [isSubmitting, setIsSubmitting] = useState(false);\n  const [showInputs, setShowInputs] = useState(false);\n  const stargateClient = useStargateClient();\n  const showMarketinConsent = locale.localeRequiresMarketingCommunicationOptIn;\n  const recaptchaRef = useRef<any | null>();\n  const navigate = useNavigate();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  const { email: emailValidation, fullName: fullNameValidation } =\n    useAppSelector(\n      ({ n2nDeferredPasswordFieldValidation }) =>\n        n2nDeferredPasswordFieldValidation\n    );\n\n  const submitErrorMessage = useAppSelector(\n    ({ sharedFormData: { submitErrorMessage } }) => submitErrorMessage\n  );\n\n  useEffect(() => {\n    navigate('/sign-up-form');\n    recaptchaRef?.current?.reset();\n  }, []);\n\n  const useEmailButton = () => {\n    setShowInputs(true);\n  };\n\n  const onSubmitWithReCAPTCHA = useCallback(\n    async (data: any) => {\n      setIsSubmitting(true);\n      if (!executeRecaptcha) {\n        console.log('Execute recaptcha not yet available');\n        return;\n      }\n      const { email, fullName } = data;\n      dispatch(updateSharedFormDataResendEmailAddress(email));\n      const skipRecaptcha =\n        data.email && enableSkipRecaptcha && shouldSkipRecaptcha(data.email);\n\n      const token = skipRecaptcha\n        ? 'reCaptcha'\n        : await executeRecaptcha('userSignup');\n\n      if (token != null) {\n        const gRecaptchaResponse = token;\n        setGRecaptchaResponse(gRecaptchaResponse);\n\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.submitWithCaptcha',\n          eventComponent: 'button',\n          event: 'clicked'\n        }).fire();\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.formSubmit',\n          eventComponent: 'button',\n          event: 'clicked',\n          data: {\n            type: 'N2N'\n          }\n        }).fire();\n\n        await stargateClient\n          .userSignup({\n            email: email as string,\n            locale: intl?.locale || 'en',\n            redirectTo: window.location.href,\n            displayName: fullName,\n            gRecaptchaResponse\n          })\n          .then(({ otpRedirect }) => {\n            window.location.assign(otpRedirect || '');\n          })\n          .catch((error) => {\n            createAnalyticsEvent({\n              eventName: 'reactSignUpFormSubmitFailed',\n              eventComponent: 'button',\n              event: 'clicked',\n              data: {\n                event: 'submitFailed',\n                uuid: 'reactSignUpForm'\n              }\n            }).fire();\n            console.log(error);\n            setIsSubmitting(false);\n          });\n\n        createAnalyticsEvent({\n          eventName: 'reactSignUpFormSubmitSucceeded',\n          eventComponent: 'button',\n          event: 'clicked',\n          data: {\n            event: 'submitSucceeded',\n            uuid: 'reactSignUpForm'\n          }\n        }).fire();\n\n        navigate('/resend-email');\n      } else {\n        setIsSubmitting(false);\n        throw new Error('Invalid Recaptcha Token');\n      }\n      return token;\n    },\n    [executeRecaptcha]\n  );\n\n  return (\n    <>\n      <Routes>\n        <Route\n          path=\"/sign-up-form\"\n          element={\n            <>\n              <Header>\n                <SanitizedFormattedHtmlMessage\n                  {...messages.welcomeMessageLoggedOut}\n                />\n              </Header>\n              <Form onSubmit={onSubmitWithReCAPTCHA} isDisabled={isSubmitting}>\n                {({ formProps }: FormProps) => (\n                  <StyledForm {...formProps}>\n                    <>\n                      <ButtonGoogleSignIn />\n                      <Divider>\n                        <LeftLine />\n                        <FormattedMessage {...messages.socialSignUpOr} />\n                        <RightLine />\n                      </Divider>\n                      <SocialButton\n                        onClick={useEmailButton}\n                        showInput={showInputs}\n                      >\n                        <FormattedMessage\n                          {...messages.socialSignUpButtonSignUpWithEmail}\n                        />\n                      </SocialButton>\n                    </>\n\n                    <InputsContainer showInput={showInputs}>\n                      <InputEmail />\n                      <InputName />\n                      {showMarketinConsent && <MarketingConsentCheckBox />}\n                      <ButtonSubmit\n                        isLoading={isSubmitting}\n                        isDisabled={\n                          !(\n                            emailValidation === 'success' &&\n                            fullNameValidation === 'success'\n                          )\n                        }\n                      />\n                    </InputsContainer>\n                  </StyledForm>\n                )}\n              </Form>\n              {submitErrorMessage && (\n                <SubmitErrorMessage>\n                  <SanitizedFormattedHtmlMessage {...submitErrorMessage} />\n                </SubmitErrorMessage>\n              )}\n              {/* TODO: EULA onclick analytics */}\n              <Eula\n                onClick={() => {\n                  createAnalyticsEvent({\n                    eventName: 'bxp.formCloudSignup.eulaClicked',\n                    eventComponent: 'button',\n                    event: 'clicked'\n                  }).fire();\n                }}\n                showInput={showInputs}\n              >\n                <SanitizedFormattedHtmlMessage {...messages.devopsEula} />\n              </Eula>\n              <NoCard>\n                <SanitizedFormattedHtmlMessage {...messages.noCard} />\n              </NoCard>\n            </>\n          }\n        />\n        <Route path=\"/resend-email\" element={<ResendEmailDevopsPage />} />\n      </Routes>\n    </>\n  );\n}\ntype ShowInputsProps = {\n  readonly showInput: boolean;\n};\nconst SocialButton = styled.div<ShowInputsProps>`\n  display: ${(props) => (props.showInput ? 'none' : 'flex')};\n  height: 39px;\n  width: 100%;\n  border-radius: 3px;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  cursor: pointer;\n  font-weight: 500;\n  box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n\n  margin: 0px 0px 20px 0px;\n  padding: 0;\n  border: 0;\n  font-size: 100%;\n  vertical-align: baseline;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  font-style: normal;\n  background-color: #e8e9ee;\n`;\nconst Divider = styled.div`\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  margin-bottom: 20px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: #42526e;\n  font-size: 14px;\n  font-weight: 500;\n  text-transform: uppercase;\n`;\nconst LeftLine = styled.div`\n  border-bottom: 1px solid #d8d8d8;\n  width: 31px;\n  margin-right: 8px;\n`;\nconst RightLine = styled.div`\n  border-bottom: 1px solid #d8d8d8;\n  width: 31px;\n  margin-left: 8px;\n`;\n\nconst InputsContainer = styled.div<ShowInputsProps>`\n  display: ${(props) => (props.showInput ? 'block' : 'none')};\n`;\n\nconst Header = styled.h1`\n  font-family: ${fontCharlieDisplay};\n  font-style: normal;\n  font-weight: 500;\n  -webkit-font-smoothing: antialiased;\n  font-size: 32px;\n  line-height: 30px;\n  color: ${N600};\n  letter-spacing: 0.3px;\n  max-width: 300px;\n  margin: 0 auto 30px auto;\n  text-align: center;\n\n  @media only screen and (max-width: 769px) {\n    font-size: 24px;\n    line-height: 20px;\n    text-align: center;\n  }\n`;\n\nconst Eula = styled.div<ShowInputsProps>`\n  font-family: ${fontCharlieText};\n  font-size: 12px;\n  line-height: 16px;\n  color: ${N200};\n  vertical-align: middle;\n  padding: 5px 0;\n  font-weight: 400;\n  display: ${(props) => (props.showInput ? 'block' : 'none')};\n\n  a {\n    color: ${B300};\n    text-decoration: none;\n    cursor: pointer;\n  }\n\n  p {\n    font-size: 12px;\n    line-height: 16px;\n    margin-bottom: 24px;\n    margin-top: 12px;\n  }\n`;\n\nconst NoCard = styled.div`\n  font-family: ${fontCharlieDisplay};\n  font-weight: 500;\n  font-size: 0.875rem;\n  letter-spacing: 1px;\n  line-height: 1.25;\n  font-style: normal;\n  margin-top: 15px;\n  margin-bottom: 0;\n  text-align: center;\n  text-transform: uppercase;\n`;\n\nconst StyledForm = styled.form`\n  font-family: ${fontCharlieText};\n\n  label {\n    color: ${N200};\n    font-weight: 500;\n\n    span {\n      display: none;\n    }\n  }\n`;\n","import React, { useEffect, useState } from 'react';\nimport Spinner from '@atlaskit/spinner';\nimport styled from '@emotion/styled';\nimport { HashRouter } from 'react-router-dom';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { useDevopsState } from '../';\nimport {\n  DevopsFormLoggedIn,\n  DevopsFormLoggedOutDeferredPassword\n} from './view';\n\ndeclare global {\n  interface Window {\n    grecaptcha: {\n      execute: (wigitId?: any) => any;\n      render: (val?: any, data?: any) => any;\n      reset: (wigitId?: any) => any;\n    };\n  }\n}\n\nexport function DevopsFormView() {\n  const { userInfo, productKeys } = useDevopsState();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const [gRecaptchaResponse, setGRecaptchaResponse] = useState<string>('');\n\n  useEffect(() => {\n    const cartedProducts = productKeys.map((k) => k.product);\n    createAnalyticsEvent({\n      eventName: 'bxp.formCloudSignup.viewedCheckoutStep',\n      eventComponent: 'form',\n      event: 'viewed',\n      data: {\n        cartedProducts,\n        intendedProduct: cartedProducts[0]\n      }\n    }).fire();\n    createAnalyticsEvent({\n      eventName: 'bxp.formCloudSignup.addedProduct',\n      eventComponent: 'form',\n      event: 'viewed',\n      data: {\n        cartedProducts\n      }\n    }).fire();\n  }, []);\n\n  switch (userInfo?.isLoggedIn) {\n    case true:\n      return (\n        <HashRouter basename=\"/\">\n          <DevopsFormLoggedIn gRecaptchaResponse={gRecaptchaResponse} />\n        </HashRouter>\n      );\n    case false:\n      return (\n        <HashRouter basename=\"/\">\n          <DevopsFormLoggedOutDeferredPassword\n            setGRecaptchaResponse={setGRecaptchaResponse}\n          />\n        </HashRouter>\n      );\n    default:\n      return (\n        <SpinnerWrapper>\n          <Spinner size=\"large\" />\n        </SpinnerWrapper>\n      );\n  }\n}\n\nconst SpinnerWrapper = styled.div`\n  width: 100%;\n  height: 100%;\n  min-height: 300px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { N0, N200 } from '@atlaskit/theme/colors';\nimport {\n  ProductKey,\n  SanitizedFormattedHtmlMessage\n} from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\nimport { useUserInfo } from '../../hook';\nimport { getBitbucketWorkspaces } from '../../hook/use-bitbucket-workspaces';\nimport {\n  markDevopsLoadingStart,\n  submitDevopsTimeToInteractive\n} from '../../metrics';\nimport { DevopsHeader, SideInfoDevops } from './component';\nimport { DevopsFormView } from './devops-form-view';\nimport { DevopsContextProps, DevopsProvider } from './hook/use-devops-state';\nimport { messages } from './messages';\nimport { DevopsImageUrlsType } from './types';\n\nfunction DevopsScreen(props: DevopsContextProps) {\n  const { devopsImageUrls } = props;\n  const userInfo = useUserInfo();\n  if (userInfo) {\n    // filter out sites with no adminAccess, and sites that include all 4 Devops products\n    // opsgenie is shadow provisioned with Jira Service Managment, so check for both or errors will occur\n    const sites = (userInfo?.sites || [])\n      .filter((site) => site?.adminAccess)\n      .filter((site) => {\n        return !(\n          site.products.includes(ProductKey.JIRA_SOFTWARE) &&\n          site.products.includes(ProductKey.CONFLUENCE) &&\n          site.products.includes(ProductKey.BITBUCKET) &&\n          (site.products.includes(ProductKey.JIRA_SERVICE_MANAGEMENT) ||\n            site.products.includes(ProductKey.OPSGENIE))\n        );\n      });\n    Object.assign(userInfo, { sites });\n  }\n\n  const bbworkspaces = getBitbucketWorkspaces(!!userInfo?.hasBitbucket) || [];\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const recaptchaEulaAnalytics = () => {\n    createAnalyticsEvent({\n      eventName: 'bxp.formCloudSignup.reCaptchaPrivacyPolicyClicked',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n  };\n\n  markDevopsLoadingStart();\n  submitDevopsTimeToInteractive();\n\n  return (\n    <DevopsProvider {...props} userInfo={userInfo} bbworkspaces={bbworkspaces}>\n      <PageRoot devopsImageUrls={devopsImageUrls}>\n        <DevopsHeader />\n        <PageBody>\n          <FormWrapper>\n            <Column className=\"wrapper-side-info\">\n              <SideInfoDevops />\n            </Column>\n            <Column>\n              <SignupWrapper>\n                <DevopsFormView />\n              </SignupWrapper>\n              <RecaptchaLegal onClick={recaptchaEulaAnalytics}>\n                <SanitizedFormattedHtmlMessage {...messages.devopsRecaptcha} />\n              </RecaptchaLegal>\n            </Column>\n          </FormWrapper>\n        </PageBody>\n      </PageRoot>\n    </DevopsProvider>\n  );\n}\n\nexport const PageRoot = styled.div<{\n  readonly devopsImageUrls?: DevopsImageUrlsType;\n}>`\n  position: relative;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  background-size: cover;\n  background-repeat: no-repeat;\n  background-position: center;\n  background-image: url(${({ devopsImageUrls }) =>\n    devopsImageUrls?.backgroundImage});\n  @media only screen and (max-width: 800px) {\n    background-image: none;\n  }\n`;\n\nexport const PageBody = styled.div`\n  position: relative;\n  max-width: 1200px;\n  margin: auto;\n\n  .logo-atl {\n    display: block;\n    margin: 26px auto 26px;\n  }\n`;\n\nconst FormWrapper = styled.div`\n  z-index: 9;\n  margin: auto;\n  display: flex;\n  flex-direction: row;\n  flex-flow: nowrap;\n  padding: 0px 48px 48px 48px;\n\n  @media only screen and (max-width: 800px) {\n    box-sizing: border-box;\n    flex-flow: row wrap;\n    padding: 24px;\n    margin-top: 12px;\n  }\n`;\n\nconst Column = styled.div`\n  width: 50%;\n\n  @media only screen and (max-width: 800px) {\n    width: 100%;\n  }\n\n  &.wrapper-side-info {\n    padding: 0 48px 0 0;\n\n    @media only screen and (max-width: 800px) {\n      display: none;\n    }\n  }\n`;\n\nconst SignupWrapper = styled.div`\n  padding: 48px 60px;\n  margin-top: 30px;\n  background-color: ${N0};\n  box-shadow: rgba(98, 183, 203, 0.26) 0px 8px 16px,\n    rgba(98, 183, 203, 0.31) 0px 0px 1px;\n  border-radius: 3px;\n\n  form {\n    max-width: none;\n  }\n\n  @media only screen and (max-width: 1200px) {\n    padding: 48px;\n  }\n\n  @media only screen and (max-width: 800px) {\n    padding: 0px;\n    margin-top: 0px;\n    box-shadow: none;\n  }\n`;\n\nconst RecaptchaLegal = styled.div`\n  display: block;\n  max-width: 296px;\n  padding: 25px 0;\n  margin: auto;\n  text-align: center;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  font-size: 12px;\n  line-height: 18px;\n  color: ${N200};\n\n  @media only screen and (max-width: 800px) {\n    padding: 50px 0 60px 0;\n  }\n`;\n\nDevopsScreen.messages = messages;\nexport default injectIntl(DevopsScreen);\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { N0, N200 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\nimport { useUserInfo } from '../../hook';\nimport { getBitbucketWorkspaces } from '../../hook/use-bitbucket-workspaces';\nimport {\n  markDevopsLoadingStart,\n  submitDevopsTimeToInteractive\n} from '../../metrics';\nimport { DevopsFormView } from '../devops-screen/devops-form-view';\nimport {\n  DevopsContextProps,\n  DevopsProvider\n} from '../devops-screen/hook/use-devops-state';\nimport { messages } from '../devops-screen/messages';\nimport { DevopsImageUrlsType } from '../devops-screen/types';\n\nfunction DevopsScreenStandalone(props: DevopsContextProps) {\n  const userInfo = useUserInfo();\n  const bbworkspaces = getBitbucketWorkspaces(!!userInfo?.hasBitbucket) || [];\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const recaptchaEulaAnalytics = () => {\n    createAnalyticsEvent({\n      eventName: 'bxp.formCloudSignup.reCaptchaPrivacyPolicyClicked',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n  };\n\n  markDevopsLoadingStart();\n  submitDevopsTimeToInteractive();\n\n  return (\n    <DevopsProvider {...props} userInfo={userInfo} bbworkspaces={bbworkspaces}>\n      <PageRoot>\n        <PageBody>\n          <FormWrapper>\n            <Column>\n              <SignupWrapper className=\"signup-wrapper\">\n                <DevopsFormView />\n              </SignupWrapper>\n              <RecaptchaLegal\n                className=\"recaptcha-legal\"\n                onClick={recaptchaEulaAnalytics}\n              >\n                <SanitizedFormattedHtmlMessage {...messages.devopsRecaptcha} />\n              </RecaptchaLegal>\n            </Column>\n          </FormWrapper>\n        </PageBody>\n      </PageRoot>\n    </DevopsProvider>\n  );\n}\n\nexport const PageRoot = styled.div<{\n  readonly devopsImageUrls?: DevopsImageUrlsType;\n}>`\n  position: relative;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  background-size: cover;\n  background-repeat: no-repeat;\n  background-position: center;\n  background-image: url(${({ devopsImageUrls }) =>\n    devopsImageUrls?.backgroundImage});\n  @media only screen and (max-width: 800px) {\n    background-image: none;\n  }\n`;\n\nexport const PageBody = styled.div`\n  position: relative;\n  max-width: 1200px;\n  margin: auto;\n\n  .logo-atl {\n    display: block;\n    margin: 26px auto 26px;\n  }\n`;\n\nconst FormWrapper = styled.div`\n  z-index: 9;\n  margin: auto;\n  display: flex;\n  flex-direction: row;\n  flex-flow: nowrap;\n  padding: 0px 48px 48px 48px;\n\n  @media only screen and (max-width: 800px) {\n    box-sizing: border-box;\n    flex-flow: row wrap;\n    padding: 24px;\n    margin-top: 12px;\n  }\n`;\n\nconst Column = styled.div`\n  width: 100%;\n\n  @media only screen and (max-width: 800px) {\n    width: 100%;\n  }\n\n  &.wrapper-side-info {\n    padding: 0 48px 0 0;\n\n    @media only screen and (max-width: 800px) {\n      display: none;\n    }\n  }\n`;\n\nconst SignupWrapper = styled.div`\n  padding: 48px 60px;\n  margin-top: 30px;\n  background-color: ${N0};\n  box-shadow: rgba(98, 183, 203, 0.26) 0px 8px 16px,\n    rgba(98, 183, 203, 0.31) 0px 0px 1px;\n  border-radius: 3px;\n\n  form {\n    max-width: none;\n  }\n\n  @media only screen and (max-width: 1200px) {\n    padding: 48px;\n  }\n\n  @media only screen and (max-width: 800px) {\n    padding: 0px;\n    margin-top: 0px;\n    box-shadow: none;\n  }\n`;\n\nconst RecaptchaLegal = styled.div`\n  display: block;\n  max-width: 296px;\n  padding: 25px 0;\n  margin: auto;\n  text-align: center;\n  font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n    Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n  font-size: 12px;\n  line-height: 18px;\n  color: ${N200};\n\n  @media only screen and (max-width: 800px) {\n    padding: 50px 0 60px 0;\n  }\n`;\n\nDevopsScreenStandalone.messages = messages;\nexport default injectIntl(DevopsScreenStandalone);\n","import { defineMessagesSimple } from '@atlassiansox/bxpkit-core';\n\nconst ID_PREFIX = 'WacSignupForm.SimpleSignup';\nexport const messages = defineMessagesSimple(ID_PREFIX, {\n  noCreditCardRequiredFooter: `Always free, no credit card needed.`,\n  simpleSignupEula: `By clicking \"Sign up\", you agree to the Atlassian <a href='https://www.atlassian.com/legal/cloud-terms-of-service'>Cloud Terms of Service</a> and <a href='https://www.atlassian.com/legal/privacy-policy'>Privacy Policy</a>.`,\n  simpleSignupRecaptcha:\n    'This site is protected by reCAPTCHA and the Google <a href=\"https://policies.google.com/privacy\">Privacy Policy</a> and <a href=\"https://policies.google.com/terms\">Terms of Service</a> apply.',\n  simpleSignupLoggedOutFormHeader: \"Let's get started\",\n  simpleSignupLoggedOutFormSubHeader:\n    'Your Free cloud plan supports up to 10 users and 2 GB of file storage.',\n  siteNameFormHeader: 'Name your site',\n  siteNameFormSubHeader:\n    'Your site name will be in the URL to access your site, so pick a name that your team will recognize.',\n  inputLabelWorkEmail: 'Work email',\n  inputPlaceholderWorkEmail: 'Eg: you@company.com',\n  inputLabelWorkEmailError: 'Invalid email address',\n  inputLabelRequired: 'Enter your email',\n  submitButtonLabel: 'Sign up',\n  socialSignUpButtonSignupWithGoogle: 'Sign up with Google',\n  socialSignUpButtonSignupWithMicrosoft: 'Sign up with Microsoft',\n  socialSignUpButtonSignupWithApple: 'Sign up with Apple',\n  socialSignUpButtonSignupWithSlack: 'Sign up with Slack',\n  socialSignUpButtonSignUpWithEmail: 'Sign up with email',\n  socialSignUpDividerLabel: 'OR',\n  simpleSignupLoggedOutFormSubmitError:\n    'Something went wrong, please try again.',\n  simpleSignupSamlRequired:\n    'You must use single sign-on to access your account and continue signing up for your product. <a href=\"{loginUrl}\">Login to continue</a>',\n  simpleSignupSsoCheckError:\n    'There was an unexpected error validating your email. Please check your network settings.',\n  marketingConsent: `Yes! I would like to receive promotional emails including product news, events and more from Atlassian and its affiliates.`,\n  errorEmailInvalid: 'Please enter a valid email address',\n  errorEmailInUse: `Oops, an Atlassian account with this email already exists. If you are the owner of this account, please <a href='{signInAccountUrl}'>login to continue</a>.`,\n  errorSsoInUse: `You must use single sign-on to access your account and continue signing up for your product. <a href='{signInAccountUrl}'>Login to continue.</a>`,\n  errorSitenameInvalid:\n    'Your suite name must be 3 or more lowercase letters and/or numbers. Hyphens are ok if they’re in the middle.',\n  errorSitenameUnavailable: 'This suite is already taken.',\n  inputLabelSitenameExisting:\n    'Select a site (or type a name to create a new one)',\n  inputToggleSitenameNew: 'Start a new site',\n  inputToggleSitenameExisting: 'Use an existing site',\n  inputLabelSitenameNew: 'Site name',\n  inputDescriptionSitenameNew: `<p>By clicking \"Finish\", you agree to the Atlassian <a href=\"https://www.atlassian.com/legal/cloud-terms-of-service\">Cloud Terms of Service</a> and <a href=\"https://www.atlassian.com/legal/privacy-policy\">Privacy Policy.</a></p>`,\n  provisioningTakesTime:\n    'Please wait a moment, this can take up to a minute...',\n  errorTimeoutN2E:\n    '<span>It\\'s taking longer than expected to get you started. Please <a href=\"/company/contact\" track-link-ga=\"error-contact-us\">contact us</a>.</span>',\n  errorTimeoutN2N:\n    '<span>It\\'s taking longer than expected to get you started. Please check your inbox to see if the order has completed successfully, or <a href=\"/company/contact\">contact us</a>.</span>',\n  productListJiraSoftwareName: 'Jira Software',\n  productListJiraSoftwareDescription: 'Mission control for your entire team',\n  navProductName: 'Jira Software',\n  navSubHeader: 'The #1 software development tool used by agile teams'\n});\n","import OriginTracing from '@atlassiansox/origin-tracing';\nimport { Environment, Url } from '@atlassiansox/bxpkit-core';\n\ntype SwitchAccountUrlType = {\n  readonly signInAccountOrigin: OriginTracing;\n  readonly switchAccountOrigin: OriginTracing;\n  readonly signInAccountUrl: string;\n  readonly switchAccountUrl: string;\n};\n\nexport const accountOperationUrl = (): SwitchAccountUrlType => {\n  const queryParameters = Url.getUrlParams() || {};\n\n  const signInAccountOrigin = new OriginTracing({\n    product: 'wac-signup-login'\n  });\n  const switchAccountOrigin = new OriginTracing({\n    product: 'wac-signup-switch'\n  });\n\n  const signInAccountUrl = Environment.getIdSigninUrl(\n    signInAccountOrigin.encode(),\n    undefined,\n    queryParameters['continue']\n  );\n  const switchAccountUrl = Environment.getIdSwitchUserUrl(\n    switchAccountOrigin.encode()\n  );\n\n  return {\n    signInAccountOrigin,\n    switchAccountOrigin,\n    signInAccountUrl,\n    switchAccountUrl\n  };\n};\n","import React, { createContext, PropsWithChildren, useContext } from 'react';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport { Product } from '@atlassiansox/bxpkit-core';\nimport { InjectedIntl } from 'react-intl';\nimport { useSignUpFormConfig } from '../../../hook';\nimport {\n  FeatureFlags,\n  LocaleType,\n  ProductDataType,\n  UserDataType\n} from '../../../model';\n\nimport {\n  BundleData,\n  FREE_EDITION_LABEL_KEY,\n  getBundleData,\n  getFeaturesList,\n  getPageHeaderLabels,\n  PageHeaderLabels\n} from '../../../utility';\nimport { SimpleSignupImageUrlsType } from '../types';\nimport { accountOperationUrl } from '../utility';\n\nexport type SimpleSignupContextProps = {\n  readonly labels: {\n    [key: string]: string;\n  };\n  readonly productData: { [key: string]: ProductDataType };\n  readonly intl: InjectedIntl;\n  readonly enableSkipRecaptcha?: boolean;\n  readonly locale: LocaleType;\n  readonly simpleSignupImageUrls: SimpleSignupImageUrlsType;\n  readonly userInfo?: UserDataType;\n  readonly featureFlags: FeatureFlags;\n};\n\nexport type SimpleSignupState = {\n  readonly bundleData: BundleData;\n  readonly pageHeaderLabels: PageHeaderLabels;\n  readonly featuresList: string;\n  readonly userInfo?: UserDataType;\n  readonly signInAccountUrl: string;\n  readonly switchAccountUrl: string;\n  readonly switchAccountOrigin: OriginTracing;\n  readonly productKeys: Product[];\n  readonly intl: InjectedIntl;\n  readonly enableSkipRecaptcha: boolean;\n  readonly locale: LocaleType;\n  readonly simpleSignupImageUrls: SimpleSignupImageUrlsType;\n  readonly featureFlags: FeatureFlags;\n};\n\nexport const SimpleSignupContext = createContext<SimpleSignupContextProps>({\n  // @ts-ignore\n  intl: {},\n  labels: {},\n  productData: {},\n  simpleSignupImageUrls: {\n    atlassianLogoImage: '',\n    jswMobileNavImage: ''\n  },\n  featureFlags: {}\n});\n\nexport function SimpleSignupProvider({\n  children,\n  ...props\n}: PropsWithChildren<SimpleSignupContextProps>) {\n  return (\n    <SimpleSignupContext.Provider value={props}>\n      {children}\n    </SimpleSignupContext.Provider>\n  );\n}\n\nexport function useSimpleSignupState(): SimpleSignupState {\n  const {\n    labels,\n    locale,\n    productData,\n    userInfo,\n    simpleSignupImageUrls,\n    intl,\n    featureFlags,\n    enableSkipRecaptcha = false\n  } = useContext(SimpleSignupContext);\n\n  const { bundle: bundleName, product, edition } = useSignUpFormConfig();\n\n  const bundleData = getBundleData({\n    activeBundlesMap: productData,\n    bundleName,\n    productKeys: product,\n    edition\n  });\n  const pageHeaderLabels = getPageHeaderLabels({\n    labels,\n    bundleData\n  });\n  const featuresList = getFeaturesList({\n    labels,\n    bundleData,\n    featuresListEditionLabelKey: FREE_EDITION_LABEL_KEY.toLowerCase()\n  });\n  const { switchAccountUrl, switchAccountOrigin, signInAccountUrl } =\n    accountOperationUrl();\n\n  const productKeys = bundleData.products.map((product) => {\n    return {\n      edition: bundleData.edition,\n      imgSource: product.productLogoUrl,\n      product: product.productKey,\n      serverDownloadContent: null\n    };\n  });\n\n  return {\n    intl,\n    pageHeaderLabels,\n    bundleData,\n    featuresList,\n    userInfo,\n    signInAccountUrl,\n    switchAccountUrl,\n    switchAccountOrigin,\n    productKeys,\n    enableSkipRecaptcha,\n    locale,\n    simpleSignupImageUrls,\n    featureFlags\n  };\n}\n","import React from 'react';\nimport { LoadingButton } from '@atlaskit/button';\nimport { FormattedMessage } from 'react-intl';\nimport styled from '@emotion/styled';\nimport { useSimpleSignupState } from '../../hook';\nimport { messages } from '../../messages';\n\ntype ButtonSubmitType = {\n  isLoading: boolean;\n  isDisabled: boolean;\n};\n\nexport function ButtonSubmit({ isLoading, isDisabled }: ButtonSubmitType) {\n  const { userInfo: { isLoggedIn } = { isLoggedIn: false } } =\n    useSimpleSignupState();\n\n  return (\n    <StyledButton\n      type=\"submit\"\n      appearance=\"primary\"\n      testId=\"simple-signup-button-submit\"\n      isLoading={isLoading}\n      isDisabled={isDisabled || isLoading}\n      shouldFitContainer\n    >\n      {isLoggedIn ? (\n        // TODO: If this is needed, update message\n        <FormattedMessage {...messages.submitButtonLabel} />\n      ) : (\n        <FormattedMessage {...messages.submitButtonLabel} />\n      )}\n    </StyledButton>\n  );\n}\n\nconst StyledButton = styled(LoadingButton)`\n  height: 45px !important; // override Atlaskit styles\n\n  span {\n    align-self: center;\n  }\n`;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { AtlassianLogo } from '@atlaskit/logo';\n\nimport { TABLET_BREAKPOINT } from '../styled';\n\nexport const FormFooter = () => {\n  return (\n    <SignupWithEmailFormFooterContainer>\n      <AtlassianLogo appearance=\"brand\" />\n    </SignupWithEmailFormFooterContainer>\n  );\n};\n\nconst SignupWithEmailFormFooterContainer = styled.div`\n  margin-top: 50px;\n\n  [role='img'] {\n    height: 20px;\n  }\n\n  @media (min-width: ${TABLET_BREAKPOINT}) {\n    margin-top: 148px;\n\n    [role='img'] {\n      height: 23px;\n    }\n  }\n`;\n","import { SitesType as StargateSitesType } from '@atlassiansox/asc-stargate';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\n\n/**\n * userInfo\n */\nexport type LabelsType = { [key: string]: string };\nexport type SitesType = StargateSitesType[] | null;\n\nexport type UserDataType = {\n  readonly isLoggedIn: boolean;\n  readonly email: string | null;\n  readonly fullName: string | null;\n  readonly firstName: string | undefined;\n  readonly sites: SitesType;\n  readonly isNewUser?: boolean | null;\n  readonly lastName: string | null;\n  readonly extendedTrialOverridableSites: string[] | null;\n  readonly picture: string | null;\n  readonly accountId: string | null;\n};\n\nexport type MigrationDataType = {\n  readonly migrationSourceUuid: string;\n  readonly migrationUserLimit: number;\n  readonly migrationUserType: string;\n  readonly migrationProductName: string;\n  readonly migrationSites: string[];\n  readonly invalidMigration: boolean;\n  readonly claimedMigration: boolean;\n};\n\nexport type ProductKeysType = {\n  product: string;\n  edition: string;\n  imgSource: string | undefined;\n  serverDownloadContent: string | undefined;\n  productContent: ProductType[] | undefined;\n};\n\n/**\n * Payload Types\n */\n\nexport type ProductPayloadType = {\n  readonly accountName: string;\n  readonly product: ProductKey;\n  readonly edition?: string;\n};\n\nexport type ProductPayloadActivateType = {\n  readonly accountName: string;\n  readonly productKey: ProductKey;\n  readonly edition?: string;\n};\n\n/**\n * Types for root-component props\n */\n\ntype LayoutType =\n  | 'default'\n  | 'standalone'\n  | 'standalone-v2'\n  | 'devops'\n  | 'devops-v2'\n  | 'devops-v2-standalone'\n  | 'first-impressions'\n  | 'first-impressions-v2'\n  | 'simple-signup';\n\nexport type ProductType = {\n  readonly productKey: string;\n  readonly productName: string;\n  readonly productLogoUrl?: string;\n  readonly productLogoWhiteUrl?: string;\n};\n\nexport type ProductDataType = {\n  readonly products: ProductType[];\n  readonly bundleProductKeys: string;\n  readonly iconSrc?: string;\n  readonly iconAlt?: string;\n  readonly calloutRichText?: string;\n};\n\nexport type LocaleType = {\n  readonly locale: string;\n  readonly localeRequiresMarketingCommunicationOptIn: boolean;\n};\n\n/**\n * WacSignupLayoutType\n *\n * @param allowEnableAutogenSiteName - enable/disable autogen site names\n * @param allowSignupWithGoogle - enable/disable Signup with Google\n * @param enableFreeBreachTest - enable/disable Free Breach (Test)\n * @param showSocialSignupForm - enable/disable social signup\n * @param socialContinueUrl - callback/continue URL for when user has completed social signing in\n * @param layout - type of layout to use (eg. 'standalone', 'default')\n * @param productOverride - supports the same values as the `product` query param, but overrides any parameters (or lack of param)\n * @param labels - Localized labels from provided externally (eg. Magnolia)\n * @param productData - Data (provided externally, eg. from Magnolia) on all existing products/bundles\n */\n\nexport type WacSignupLayoutType = {\n  readonly allowEnableAutogenSiteName: boolean;\n  readonly allowSignupWithGoogle: boolean;\n  readonly enableFreeBreachTest: boolean;\n  readonly showSocialSignupForm: boolean;\n  readonly socialContinueUrl: string;\n  readonly loadingImageSrc: string;\n  readonly errorImageSrc: string;\n  readonly productData: { [key: string]: ProductDataType };\n  readonly locale: LocaleType;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly labels: LabelsType;\n  readonly layout?: LayoutType;\n  readonly productOverride?: string;\n  readonly performanceStartTime?: number;\n  readonly siteRenamePageUrl?: string;\n  readonly enableSkipRecaptcha?: boolean;\n};\n\n/**\n * Component Types\n */\n\nexport type SideInfoOptionsType = {\n  readonly labels: LabelsType;\n  readonly productKeys: ProductKeysType[];\n  readonly userInfo?: UserDataType;\n  readonly formExistingSiteShown: boolean;\n  readonly isMigrationSignup?: boolean;\n  readonly migrationData?: MigrationDataType;\n  readonly analyticsTrack: AnalyticsTrackType;\n};\n\nexport type SignupOptionsType = {\n  readonly productKeys: ProductKeysType[];\n  readonly userInfo?: UserDataType;\n  readonly locale: LocaleType;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly enableFreeBreachTest: boolean;\n  readonly socialContinueUrl: string;\n  readonly allowEnableAutogenSiteName: boolean;\n  readonly setFormExistingSiteShown: (val: boolean) => void;\n  readonly isMigrationSignup?: boolean;\n  readonly migrationData?: MigrationDataType;\n  readonly allowSignupWithGoogle?: boolean;\n  readonly enableFieldProgression?: boolean;\n  readonly fadeOnDisable?: boolean;\n  readonly popOverError?: boolean;\n  readonly outlineOnFocus?: boolean;\n  readonly showWarningIcon?: boolean;\n  readonly hideCaptchaEula?: boolean;\n  readonly isSuiteSignup?: boolean;\n  readonly enableResendEmail?: boolean;\n  readonly enableCarouselEndCard?: boolean;\n  readonly siteRenamePageUrl: string;\n  readonly enableSkipRecaptcha?: boolean;\n  readonly hideGreeting?: boolean;\n};\n\nexport type SocialSignonButtonOptionsType = {\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly socialContinueUrl: string;\n  readonly isEmailSignupSelected?: boolean;\n  readonly setIsEmailSignupSelected?: (val: boolean) => void;\n};\n\nexport type SocialSignupOptionsType = {\n  readonly locale: LocaleType;\n  readonly userInfo?: UserDataType;\n  readonly productKeys: ProductKeysType[];\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly loadingImageSrc: string;\n  readonly errorImageSrc: string;\n  readonly showSocialSignupForm: boolean;\n  readonly children?: React.ReactNode;\n  readonly siteRenamePageUrl: string;\n};\n\nexport type HeaderSimpleSignupOptionsType = {\n  readonly labels: LabelsType;\n  readonly productKeys: ProductKeysType[];\n  readonly formExistingSiteShown: boolean;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly userInfo?: UserDataType;\n};\n\n/**\n * Layout\n */\n\nexport type ContainerLayoutType = SideInfoOptionsType &\n  SignupOptionsType &\n  SocialSignupOptionsType &\n  SocialSignonButtonOptionsType &\n  HeaderSimpleSignupOptionsType;\n\nexport type SimpleSignupImageUrlsType = {\n  readonly atlassianLogoImage: string;\n  readonly jswMobileNavImage: string;\n};\n\n/**\n * SimpleSignup N2N form\n *\n */\nexport type FormDataN2N = {\n  readonly email: string;\n  readonly sitenameNew: string;\n  readonly fullName: string;\n  readonly password: string;\n  readonly marketingConsent?: boolean;\n};\n\nexport type FormDataN2E = {\n  readonly cloudName?: string;\n  readonly productsNew?: ProductPayloadType[];\n  readonly productsExisting?: ProductKey[];\n  readonly marketingConsent?: boolean;\n  readonly bbWorkspaceName?: string;\n};\n\nexport type ValidationStateType =\n  | 'validating'\n  | 'error'\n  | 'success'\n  | undefined;\n\nexport type N2NFieldsType = {\n  readonly email: boolean;\n  readonly password: boolean;\n  readonly fullName: boolean;\n  readonly sitenameNew: boolean;\n};\nexport type N2NDeferredPasswordFieldsType = {\n  readonly email: boolean;\n  readonly fullName: boolean;\n};\nexport type AuthenticationMethod = {\n  readonly type: AuthenticationMethodsType;\n  readonly redirect_to?: string;\n};\nexport enum AuthenticationMethodsType {\n  PASSWORD = 'password',\n  GOOGLE = 'google',\n  SAML = 'saml',\n  MICROSOFT = 'microsoft',\n  APPLE = 'apple',\n  SLACK = 'slack'\n}\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport Spinner from '@atlaskit/spinner';\nimport CheckCircleOutlineIcon from '@atlaskit/icon/glyph/check-circle-outline';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport { ValidationStateType } from '../../types';\n\ntype IconValidationType = {\n  readonly validationState?: ValidationStateType;\n};\n\nexport const IconValidation = React.memo(\n  ({ validationState }: IconValidationType) => {\n    function RenderIcon() {\n      switch (validationState) {\n        case 'validating':\n          return (\n            <SpinnerWrapper>\n              <Spinner size=\"small\" />\n            </SpinnerWrapper>\n          );\n        case 'error':\n          return <WarningIcon label=\"error\" primaryColor=\"#DE350B\" />;\n        case 'success':\n          return (\n            <CheckCircleOutlineIcon label=\"success\" primaryColor=\"#36B37E\" />\n          );\n        default:\n          return null;\n      }\n    }\n\n    return (\n      <IconValidationWrapper>\n        <RenderIcon />\n      </IconValidationWrapper>\n    );\n  }\n);\n\nconst IconValidationWrapper = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 16px;\n  -webkit-box-align: center;\n  align-items: center;\n\n  svg {\n    margin-bottom: 0px;\n  }\n`;\n\nconst spinnerWidth = '20px';\nconst SpinnerWrapper = styled.div`\n  position: relative;\n  display: block;\n\n  div {\n    width: ${spinnerWidth};\n    height: ${spinnerWidth};\n  }\n  span {\n    display: inline-block;\n    padding: 0;\n    margin: 0;\n    min-width: ${spinnerWidth};\n    width: ${spinnerWidth};\n    height: ${spinnerWidth};\n    transform-origin: 50% 50%;\n  }\n  svg {\n    padding: 0;\n    margin: 0;\n    width: ${spinnerWidth};\n    height: ${spinnerWidth};\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { Field } from '@atlaskit/form';\nimport TextField from '@atlaskit/textfield';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport debounce from 'lodash.debounce';\nimport React, { useState } from 'react';\nimport { metalClient } from '../../../../metrics';\nimport { useSimpleSignupState } from '../../hook';\nimport { messages } from '../../messages';\nimport {\n  updateN2NDeferredPasswordFieldProgressEmail,\n  updateN2NDeferredPasswordFieldValidationEmail,\n  useAppDispatch,\n  useAppSelector\n} from '../../../../redux';\nimport { AuthenticationMethod, AuthenticationMethodsType } from '../../types';\nimport { FieldType } from '../model';\nimport { ErrorMessage, FieldWrapper } from '../styled';\nimport { IconValidation } from './icon-validation';\n\nexport function InputEmail() {\n  const { intl, signInAccountUrl } = useSimpleSignupState();\n  const dispatch = useAppDispatch();\n  const validationState = useAppSelector(\n    ({ n2nFieldValidation: { email } }) => email\n  );\n  const stargateClient = useStargateClient();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const [hasFocus, setHasFocus] = useState(false);\n  const [validationMessage, setValidationMessage] = useState<any>();\n  const emailMatch =\n    /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n  const emailExistsAnalytics = () => {\n    createAnalyticsEvent({\n      eventName: 'wac-signup-existing-user-signin',\n      eventComponent: 'button',\n      event: 'clicked'\n    }).fire();\n  };\n\n  async function checkEmailSso(email: string) {\n    const emailCheck = await stargateClient.checkAuthenticationMethodsAvailable(\n      { email, successRedirect: window.location.href, webPlatform: 'magnolia' }\n    );\n    const isSaml = emailCheck.methods.some((method: AuthenticationMethod) => {\n      return (\n        method.type === AuthenticationMethodsType.SAML ||\n        method.type === AuthenticationMethodsType.GOOGLE\n      );\n    });\n    const containsPassword = emailCheck.methods.some(\n      (method: AuthenticationMethod) => {\n        return method.type === AuthenticationMethodsType.PASSWORD;\n      }\n    );\n\n    // new or existing user sign in via redirect to sso or google\n    if (isSaml && !containsPassword) {\n      const redirectUrls = emailCheck.methods\n        .filter((method: AuthenticationMethod) => {\n          if (\n            (method.type === AuthenticationMethodsType.SAML ||\n              method.type === AuthenticationMethodsType.GOOGLE) &&\n            method.redirect_to !== undefined\n          ) {\n            return method.redirect_to;\n          }\n          return;\n        })\n        .map((i) => i.redirect_to);\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('error'));\n      metalClient.error.submit({\n        name: catalog.error.INPUT,\n        page: 'sign-up-layout-simple-signup',\n        component: 'simple-signup-input-email'\n      });\n      setValidationMessage(\n        <div onClick={emailExistsAnalytics}>\n          <SanitizedFormattedHtmlMessage\n            {...messages.errorSsoInUse}\n            values={{\n              signInAccountUrl: redirectUrls[0]\n            }}\n          />\n        </div>\n      );\n      // existing user, sign in via redirect to identity\n      // @ts-ignore (removal requires updated asc-stargate type)\n    } else if (containsPassword && emailCheck.userExists === true) {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('error'));\n      metalClient.error.submit({\n        name: catalog.error.INPUT,\n        page: 'sign-up-layout-simple-signup',\n        component: 'simple-signup-input-email'\n      });\n      setValidationMessage(\n        <div onClick={emailExistsAnalytics}>\n          <SanitizedFormattedHtmlMessage\n            {...messages.errorEmailInUse}\n            values={{\n              signInAccountUrl\n            }}\n          />\n        </div>\n      );\n      // user doesnt exist, sign up normally\n    } else {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('success'));\n      dispatch(updateN2NDeferredPasswordFieldProgressEmail(true));\n      setValidationMessage(undefined);\n    }\n    return undefined;\n  }\n\n  const checkEmailAsyncDebounced = debounce(\n    async (value: string) => {\n      return checkEmailSso(value);\n    },\n    750,\n    { trailing: true }\n  );\n\n  async function validateEmail(value: string | undefined) {\n    if (!hasFocus) {\n      return;\n    }\n    const emailPart = (value || '').split('@');\n    if (!value || value.length === 0) {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail(undefined));\n      setValidationMessage(undefined);\n      return;\n    }\n    if (\n      (emailPart[0] || '').length > 64 ||\n      (emailPart[1] || '').length > 253 ||\n      !emailMatch.test(value)\n    ) {\n      dispatch(updateN2NDeferredPasswordFieldValidationEmail('error'));\n      setValidationMessage(\n        <SanitizedFormattedHtmlMessage {...messages.errorEmailInvalid} />\n      );\n      return;\n    }\n    dispatch(updateN2NDeferredPasswordFieldValidationEmail('validating'));\n    void checkEmailAsyncDebounced(value);\n  }\n\n  return (\n    <Field\n      name=\"email\"\n      defaultValue=\"\"\n      label={intl.formatMessage(messages.inputLabelWorkEmail)}\n      validate={validateEmail}\n      isRequired\n      isDisabled={false}\n    >\n      {({ fieldProps }: FieldType) => {\n        return (\n          <FieldWrapper\n            id=\"field-wrapper\"\n            validationState={validationState}\n            isDisabled={fieldProps.isDisabled}\n          >\n            <TextField\n              className=\"text-field-desktop\"\n              autoComplete=\"email\"\n              isCompact={true}\n              {...fieldProps}\n              placeholder={intl.formatMessage(\n                messages.inputPlaceholderWorkEmail\n              )}\n              data-testid=\"simple-signup-input-email\"\n              onFocus={() => setHasFocus(true)}\n              onBlur={() => setHasFocus(false)}\n              elemAfterInput={\n                <IconValidation validationState={validationState} />\n              }\n            />\n            {validationMessage && (\n              <ErrorMessage>{validationMessage}</ErrorMessage>\n            )}\n          </FieldWrapper>\n        );\n      }}\n    </Field>\n  );\n}\n","import { Checkbox } from '@atlaskit/checkbox';\nimport { CheckboxField } from '@atlaskit/form';\nimport styled from '@emotion/styled';\nimport React, { useState, useEffect } from 'react';\nimport {\n  useAppDispatch,\n  updateLoggedInFormDataConsent\n} from '../../../../redux';\nimport { useSimpleSignupState } from '../../hook';\nimport { FieldType } from '../model';\nimport { FieldWrapper } from '../styled';\nimport { messages } from '../../messages';\n\ntype MarketingConsentCheckBoxType = {\n  readonly controlled?: boolean;\n};\n\nexport function MarketingConsentCheckBox({\n  controlled\n}: MarketingConsentCheckBoxType) {\n  const [isChecked, setIsChecked] = useState(false);\n  const { intl } = useSimpleSignupState();\n  const dispatch = useAppDispatch();\n\n  useEffect(() => {\n    if (!controlled) {\n      return;\n    }\n\n    dispatch(\n      updateLoggedInFormDataConsent({\n        marketingConsent: isChecked\n      })\n    );\n  }, [isChecked]);\n\n  return (\n    <StyledFieldWrapper>\n      {controlled && (\n        <CheckboxField name=\"marketingConsent\">\n          {({ fieldProps }: FieldType) => (\n            <Checkbox\n              {...fieldProps}\n              isChecked={isChecked}\n              onChange={() => setIsChecked(!isChecked)}\n              label={intl.formatMessage(messages.marketingConsent)}\n            />\n          )}\n        </CheckboxField>\n      )}\n      {!controlled && (\n        <CheckboxField name=\"marketingConsent\">\n          {({ fieldProps }: FieldType) => (\n            <Checkbox\n              {...fieldProps}\n              label={intl.formatMessage(messages.marketingConsent)}\n            />\n          )}\n        </CheckboxField>\n      )}\n    </StyledFieldWrapper>\n  );\n}\nconst StyledFieldWrapper = styled(FieldWrapper)`\n  margin: 24px 0 0 0;\n\n  label span {\n    display: block !important;\n    border: none !important;\n    padding: 0 !important;\n    border-radius: 3px;\n    margin: 0;\n    line-height: 20px;\n    font-size: 100%;\n    vertical-align: baseline;\n    font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n      Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n    font-style: normal;\n    font-size: 13px;\n    letter-spacing: 0.3px;\n  }\n`;\n","import { Field } from '@atlaskit/form';\nimport TextField from '@atlaskit/textfield';\nimport { B300, B400, N0, N50, N500, N800 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessageProps } from '@atlassiansox/bxpkit-core';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport styled from '@emotion/styled';\nimport debounce from 'lodash.debounce';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { metalClient } from '../../../../metrics';\nimport {\n  updateLoggedInFormDataProducts,\n  updateLoggedInFormInput,\n  updateLoggedInFormValid,\n  useAppDispatch,\n  useAppSelector\n} from '../../../../redux';\nimport { TooltipIcon } from '../../../legacy/view/sign-up-form/Icons/tooltip-icon';\nimport { useSimpleSignupState } from '../../hook';\nimport { messages } from '../../messages';\nimport { ValidationStateType } from '../../types';\nimport { buildSimpleSignupProduct, getSiteDomain } from '../../utility';\nimport { FieldType } from '../model';\nimport { ErrorMessage, FieldWrapper, fontCharlieText } from '../styled';\nimport { IconValidation } from './icon-validation';\n\nexport function InputSitename() {\n  const { intl, userInfo } = useSimpleSignupState();\n  const dispatch = useAppDispatch();\n  const [isSitenameNew, setIsSitenameNew] = useState(true);\n  const [hasFocus, setHasFocus] = useState(false);\n  const stargateClient = useStargateClient();\n  const validSitename = /^[a-z0-9]+[a-z0-9-]+[a-z0-9]+$/;\n\n  const [inputValue, setInputValue] = useState('');\n  const sites = userInfo?.sites || [];\n  const showSiteNameToggle = sites?.length > 0;\n  const siteDomain = getSiteDomain();\n  const [validationState, setValidationState] = useState<ValidationStateType>();\n  const [validationMessage, setValidationMessage] = useState<\n    undefined | SanitizedFormattedHtmlMessageProps\n  >();\n  const { bbWorkspaceName } = useAppSelector(\n    ({ loggedInFormData }) => loggedInFormData\n  );\n\n  useEffect(() => {\n    if (inputValue === '') {\n      checkSitenameNewAsyncDebounced.cancel();\n      setValidationMessage(undefined);\n      setValidationState(undefined);\n    } else {\n      setHasFocus(true);\n      void validateSitename(inputValue);\n    }\n  }, [inputValue]);\n\n  useEffect(() => {\n    if (\n      userInfo !== undefined &&\n      userInfo.sites !== null &&\n      userInfo.sites.length === 1\n    ) {\n      setIsSitenameNew(false);\n      setHasFocus(true);\n      setInputValue(userInfo.sites[0].displayName);\n    }\n  }, [userInfo]);\n\n  useEffect(() => {\n    if (isSitenameNew) {\n      setInputValue('');\n      setValidationMessage(undefined);\n      setValidationState(undefined);\n      dispatch(updateLoggedInFormValid(false));\n    } else {\n      if (\n        userInfo !== undefined &&\n        userInfo.sites !== null &&\n        userInfo.sites.length === 1\n      ) {\n        setHasFocus(true);\n        setInputValue(userInfo.sites[0].displayName);\n      }\n    }\n  }, [isSitenameNew]);\n\n  const checkSitenameNewAsyncDebounced = useMemo(\n    () =>\n      debounce(\n        async (value: string) => {\n          let breachStatus = false;\n          const existingWorkspace = !!bbWorkspaceName;\n          let siteNameCheck;\n          const shouldNotValidateExisting =\n            value !== (userInfo?.sites || [])[0]?.displayName;\n          if (shouldNotValidateExisting) {\n            siteNameCheck = await stargateClient.checkCloudNameAvailability({\n              cloudName: value,\n              webPlatform: 'magnolia'\n            });\n          }\n\n          if (!isSitenameNew) {\n            const selectedSite = sites[0];\n            const breachCheck = await Promise.all(\n              selectedSite.products.map(async (product) => {\n                const status = await stargateClient.postExpandFreeValidation({\n                  cloudId: selectedSite?.cloudId,\n                  productKeys: [product]\n                });\n                return status.isInBreachOfFree;\n              })\n            );\n            breachStatus = breachCheck.includes(true);\n          }\n\n          if (\n            siteNameCheck?.availability !== 'AVAILABLE' &&\n            isSitenameNew &&\n            shouldNotValidateExisting\n          ) {\n            dispatch(updateLoggedInFormValid(false));\n            setValidationState('error');\n            setValidationMessage(messages.errorSitenameUnavailable);\n            metalClient.error.submit({\n              name: catalog.error.INPUT,\n              page: 'sign-up-layout-simple-signup',\n              component: 'simple-signup-input-sitename'\n            });\n            return 'error';\n          } else {\n            const selectedSite = !shouldNotValidateExisting\n              ? sites[0]\n              : undefined;\n            const { productsNew, productsExisting } = buildSimpleSignupProduct({\n              cloudName: value,\n              breachStatus,\n              existingWorkspace,\n              selectedSite\n            });\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName: value,\n                productsNew,\n                productsExisting\n              })\n            );\n            dispatch(updateLoggedInFormValid(true));\n            setValidationState('success');\n          }\n          return undefined;\n        },\n        750,\n        { trailing: true }\n      ),\n    []\n  );\n\n  async function validateSitename(value: string) {\n    if (!hasFocus) {\n      return undefined;\n    }\n\n    setValidationMessage(undefined);\n    if (value.length === 0) {\n      setValidationState(undefined);\n      dispatch(updateLoggedInFormValid(false));\n      return undefined;\n    }\n    if (!validSitename.test(value) || (value.length > 0 && value.length < 3)) {\n      setValidationState('error');\n      dispatch(updateLoggedInFormValid(false));\n      setValidationMessage(messages.errorSitenameInvalid);\n      return 'error';\n    }\n    setValidationState('validating');\n    return checkSitenameNewAsyncDebounced(value);\n  }\n\n  function SiteNameToggle() {\n    if (isSitenameNew) {\n      return (\n        <SanitizedFormattedHtmlMessage\n          {...messages.inputToggleSitenameExisting}\n        />\n      );\n    }\n\n    return (\n      <SanitizedFormattedHtmlMessage {...messages.inputToggleSitenameNew} />\n    );\n  }\n  const handleInputChange = (event: { target: HTMLInputElement }) => {\n    setInputValue(event?.target?.value);\n  };\n\n  const toolTipContainer = (\n    <ToolTipContainer>\n      <DomainToolTip data-testid=\"domain-tool-tip\">\n        <TooltipIcon fillColor={N50} />\n      </DomainToolTip>\n      <ToolTipText className=\"domain-name-tooltip-trigger\">\n        {intl.formatMessage(messages.errorSitenameInvalid)}\n      </ToolTipText>\n    </ToolTipContainer>\n  );\n\n  const labelAndToolTip = (\n    <LabelContainer>\n      <div>{intl.formatMessage(messages.inputLabelSitenameNew)}</div>\n      {toolTipContainer}\n    </LabelContainer>\n  );\n\n  return (\n    <StyledField>\n      <Field\n        name=\"sitenameNew\"\n        defaultValue=\"\"\n        label={labelAndToolTip}\n        isRequired\n        isDisabled={!isSitenameNew}\n      >\n        {({ fieldProps }: FieldType) => {\n          return (\n            <FieldWrapper\n              validationState={validationState}\n              isDisabled={fieldProps.isDisabled}\n            >\n              <TextField\n                {...fieldProps}\n                onFocus={() => setHasFocus(true)}\n                onBlur={() => setHasFocus(false)}\n                data-testid=\"simple-signup-input-sitename\"\n                elemAfterInput={\n                  <SiteNameAfter>\n                    <SiteNameAfterLabel>{siteDomain}</SiteNameAfterLabel>\n                    <IconValidation validationState={validationState} />\n                  </SiteNameAfter>\n                }\n                onChange={handleInputChange}\n                value={inputValue}\n              />\n\n              {validationMessage && (\n                <ErrorMessage data-testid=\"error-message\">\n                  <SanitizedFormattedHtmlMessage {...validationMessage} />\n                </ErrorMessage>\n              )}\n            </FieldWrapper>\n          );\n        }}\n      </Field>\n      {showSiteNameToggle && (\n        <SitenameToggleWrapper\n          onClick={() => {\n            // if there is more than 1 site input should switch to drop down\n            if (userInfo && sites?.length > 1) {\n              dispatch(updateLoggedInFormInput(false));\n            } else {\n              setIsSitenameNew(!isSitenameNew);\n            }\n          }}\n        >\n          <SiteNameToggle />\n        </SitenameToggleWrapper>\n      )}\n      <SitenameDescription>\n        <SanitizedFormattedHtmlMessage\n          {...messages.inputDescriptionSitenameNew}\n        />\n      </SitenameDescription>\n    </StyledField>\n  );\n}\nconst StyledField = styled.div`\n  label {\n    width: 100%;\n  }\n`;\nconst LabelContainer = styled.div`\n  display: flex;\n  justify-content: space-between;\n`;\nconst SitenameToggleWrapper = styled.div`\n  font-family: ${fontCharlieText};\n  display: block;\n  font-size: 12px;\n  line-height: 16px;\n  color: ${B300};\n  vertical-align: middle;\n  margin: 0 0 16px 0;\n  font-weight: 500;\n  cursor: pointer;\n`;\n\nconst SitenameDescription = styled.div`\n  color: ${N500};\n  font-weight: 400;\n  font-size: 12px;\n  margin: 3px 0px;\n`;\nconst SiteNameAfterLabel = styled.span`\n  font-size: 14px !important;\n  white-space: nowrap;\n  padding-right: 8px;\n`;\nconst SiteNameAfter = styled.div`\n  padding-right: 8px;\n  display: flex;\n  font-size: 16px;\n  align-items: center;\n  justify-content: flex-end;\n  width: auto;\n  color: #7a869a;\n  font-weight: 400;\n  svg {\n    margin-bottom: 0px;\n  }\n  span {\n    display: flex;\n    align-items: center;\n    min-width: 24px;\n  }\n`;\nconst ToolTipContainer = styled.div`\n  position: relative;\n  z-index: 11;\n  display: none;\n  @supports (display: grid) {\n    display: flex;\n    align-items: center;\n  }\n  :hover {\n    .domain-name-tooltip-trigger {\n      display: block;\n    }\n    path {\n      fill: ${B400};\n    }\n  }\n`;\nconst DomainToolTip = styled.div`\n  cursor: pointer;\n  margin: 0 6px;\n  border-radius: 3px;\n  svg {\n    height: 14px;\n    width: 14px;\n  }\n`;\nconst ToolTipText = styled.div`\n  display: none;\n  background: ${N0};\n  border: 1px solid ${B400};\n  border-radius: 2px;\n  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);\n  color: ${N800};\n  font-family: inherit;\n  font-size: 0.875rem;\n  font-weight: 400;\n  line-height: 1.42857143;\n  padding: 12px;\n  z-index: 1;\n  position: absolute;\n  right: 6px;\n  top: 35px;\n  width: 298px;\n  span {\n    display: block !important;\n  }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { Field } from '@atlaskit/form';\nimport { AsyncCreatableSelect } from '@atlaskit/select';\nimport { B300, G300 } from '@atlaskit/theme/colors';\nimport {\n  SanitizedFormattedHtmlMessage,\n  SanitizedFormattedHtmlMessageProps,\n  useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { catalog } from '@atlassiansox/metal-client';\nimport styled from '@emotion/styled';\nimport debounce from 'lodash.debounce';\nimport React, { useEffect, useState } from 'react';\nimport { metalClient } from '../../../../metrics';\nimport { useSimpleSignupState } from '../../hook';\nimport { messages } from '../../messages';\nimport { buildSimpleSignupProduct, getSiteDomain } from '../../utility';\nimport { FieldType } from '../model';\nimport { ErrorMessage, FieldWrapper, fontCharlieText } from '../styled';\nimport { IconValidation } from './icon-validation';\nimport { ValidationStateType } from '../../types';\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateLoggedInFormValid,\n  updateLoggedInFormDataProducts,\n  updateLoggedInFormDataFreeBreach,\n  updateLoggedInFormInput\n} from '../../../../redux';\n\ntype OptionsType = {\n  readonly value: string;\n  readonly label: string;\n};\n\nfunction createOption(value: string, domain: string) {\n  return {\n    label: value + domain,\n    value\n  };\n}\n\nexport function InputSitenameExisting() {\n  // TODO: there should be some analytics but im not seeing any in the old form\n  // besides on the switch betweeen the dropdown and input for sites\n\n  const { intl, userInfo } = useSimpleSignupState();\n  const dispatch = useAppDispatch();\n  const { bbWorkspaceName, cloudName } = useAppSelector(\n    ({ loggedInFormData }) => loggedInFormData\n  );\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const stargateClient = useStargateClient();\n  const [isMenuOpen, setIsMenuOpen] = useState(false);\n  const [options, setOptions] = useState<OptionsType[]>([]);\n  const [newOption, setNewOption] = useState<OptionsType>();\n  const [inputValue, setInputValue] = useState<OptionsType>();\n  const [validationState, setValidationState] = useState<ValidationStateType>();\n  const [validationMessage, setValidationMessage] = useState<\n    undefined | SanitizedFormattedHtmlMessageProps\n  >();\n  const validSitename = /^[a-z0-9]+[a-z0-9-]+[a-z0-9]+$/;\n  const sites = userInfo?.sites || [];\n  const siteDomain = getSiteDomain();\n  const sitesMap = new Map(sites.map((obj) => [obj.displayName, obj]));\n\n  useEffect(() => {\n    setOptions(\n      // @ts-ignore\n      [...sitesMap.keys()].map((displayName) => {\n        return createOption(displayName, siteDomain);\n      })\n    );\n  }, [userInfo]);\n\n  useEffect(() => {\n    // no selection has been made, or a new site was just added to options\n    if (!cloudName) {\n      setInputValue(options[0]);\n      return;\n    }\n\n    // selection has been made, and may or may not be included in options\n    if (cloudName && options) {\n      const targetOption = options.find((o) => o.value === cloudName);\n      if (targetOption) {\n        // already included in options, existing site\n        setNewOption(undefined);\n        setInputValue(targetOption);\n      } else {\n        // not included in options, new site\n        const createdOption = createOption(cloudName, siteDomain);\n        setNewOption(createdOption);\n        setInputValue(createdOption);\n      }\n    }\n  }, [options, cloudName]);\n\n  // set input value in SimpleSignupState whenever it changes\n  useEffect(() => {\n    if (!inputValue) {\n      dispatch(updateLoggedInFormValid(false));\n      return;\n    }\n\n    const { value: cloudName } = inputValue;\n    const selectedSite = sitesMap.get(cloudName);\n    let breachStatus = false;\n    const existingWorkspace = !!bbWorkspaceName;\n    if (selectedSite && selectedSite.products) {\n      try {\n        void Promise.all(\n          selectedSite.products.map(async (product) => {\n            const status = await stargateClient.postExpandFreeValidation({\n              cloudId: selectedSite?.cloudId,\n              productKeys: [product]\n            });\n            return status.isInBreachOfFree;\n          })\n        )\n          .then((res) => {\n            breachStatus = res.includes(true);\n            dispatch(updateLoggedInFormDataFreeBreach(breachStatus));\n            const { productsNew, productsExisting } = buildSimpleSignupProduct({\n              cloudName,\n              selectedSite,\n              breachStatus,\n              existingWorkspace\n            });\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName,\n                productsNew,\n                productsExisting\n              })\n            );\n            dispatch(updateLoggedInFormValid(true));\n          })\n          .catch((err) => {\n            // in the event that Promise all fails, fail gracefully and continue\n            createAnalyticsEvent({\n              eventName: 'bxp.formCloudSignup.freeBreachStatusRequestFailure',\n              eventComponent: 'form',\n              event: 'request',\n              data: {\n                error: err\n              }\n            }).fire();\n            metalClient.error.submit({\n              name: catalog.error.REQUEST,\n              page: 'sign-up-layout-simple-signup'\n            });\n            const { productsNew, productsExisting } = buildSimpleSignupProduct({\n              cloudName,\n              selectedSite,\n              breachStatus,\n              existingWorkspace\n            });\n\n            dispatch(\n              updateLoggedInFormDataProducts({\n                cloudName,\n                productsNew,\n                productsExisting\n              })\n            );\n            dispatch(updateLoggedInFormValid(true));\n          });\n      } catch (err) {\n        // in the event that the try fails, fail gracefully and continue\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.freeBreachStatusRequestFailure',\n          eventComponent: 'form',\n          event: 'request',\n          data: {\n            error: err\n          }\n        }).fire();\n        metalClient.error.submit({\n          name: catalog.error.REQUEST,\n          page: 'sign-up-layout-simple-signup'\n        });\n        const { productsNew, productsExisting } = buildSimpleSignupProduct({\n          cloudName,\n          selectedSite,\n          breachStatus,\n          existingWorkspace\n        });\n\n        dispatch(\n          updateLoggedInFormDataProducts({\n            cloudName,\n            productsNew,\n            productsExisting\n          })\n        );\n        dispatch(updateLoggedInFormValid(true));\n      }\n    } else {\n      const { productsNew, productsExisting } = buildSimpleSignupProduct({\n        cloudName,\n        selectedSite,\n        breachStatus,\n        existingWorkspace\n      });\n\n      dispatch(\n        updateLoggedInFormDataProducts({\n          cloudName,\n          productsNew,\n          productsExisting\n        })\n      );\n      dispatch(updateLoggedInFormValid(true));\n    }\n  }, [inputValue]);\n\n  // user selects 'Create ...'\n  function handleCreateOption(value: string) {\n    const option = createOption(value, siteDomain);\n    setNewOption(option);\n    setInputValue(option);\n  }\n\n  // user types into input\n  async function loadOptions(\n    value: string,\n    callback: (options: OptionsType[]) => void\n  ) {\n    setInputValue(undefined);\n    const validState = await validateSitename(value);\n    if (validState === 'error') {\n      setIsMenuOpen(false);\n    } else {\n      setIsMenuOpen(true);\n    }\n    setValidationState(validState);\n    // filter out options that do not match what's currently typed,\n    // otherwise the 'Create ...' prompt lands at the bottom of the list\n    callback(\n      options.filter((option) =>\n        option.label.toLowerCase().includes(value.toLowerCase())\n      )\n    );\n  }\n\n  // user selects from the dropdown\n  function handleChange(value: OptionsType) {\n    setInputValue(value);\n  }\n\n  function handleBlur() {\n    setValidationMessage(undefined);\n    setValidationState(undefined);\n  }\n\n  function handleMenuOpen() {\n    if (validationState !== 'error') {\n      setIsMenuOpen(true);\n    }\n  }\n\n  function handleMenuClose() {\n    setIsMenuOpen(false);\n  }\n\n  function validateSitename(value: string): Promise<ValidationStateType> {\n    return new Promise(async (resolve) => {\n      setValidationMessage(undefined);\n      if (value.length === 0) {\n        resolve(undefined);\n      }\n      if (\n        !validSitename.test(value) ||\n        (value.length > 0 && value.length < 3)\n      ) {\n        setValidationMessage(messages.errorSitenameInvalid);\n        resolve('error');\n      }\n      if (options.map((p) => p.value).includes(value)) {\n        resolve('success');\n      }\n\n      setValidationState('validating');\n      const siteNameCheck = await stargateClient.checkCloudNameAvailability({\n        cloudName: value,\n        webPlatform: 'magnolia'\n      });\n\n      if (siteNameCheck?.availability !== 'AVAILABLE') {\n        setValidationMessage(messages.errorSitenameUnavailable);\n        resolve('error');\n      } else {\n        resolve('success');\n      }\n\n      resolve(undefined);\n    });\n  }\n  const handleInputChange = (value: string) => {\n    if (value === '') {\n      setValidationMessage(undefined);\n      setValidationState(undefined);\n    }\n  };\n\n  return (\n    <>\n      <Field\n        name=\"sitenameExisting\"\n        label={intl.formatMessage(messages.inputLabelSitenameExisting)}\n        isRequired\n      >\n        {({ fieldProps }: FieldType) => (\n          <FieldWrapper>\n            {validationMessage && (\n              <ErrorMessage className=\"location-bottom\">\n                <SanitizedFormattedHtmlMessage {...validationMessage} />\n              </ErrorMessage>\n            )}\n            <div data-testid=\"sitenameExisting\">\n              <StyledAsyncCreatableSelect\n                {...fieldProps}\n                loadOptions={debounce(loadOptions, 1000)}\n                defaultOptions={newOption ? [newOption, ...options] : options}\n                allowCreateWhileLoading={false}\n                isClearable={false}\n                validationState={validationState}\n                placeholder={''}\n                onCreateOption={handleCreateOption}\n                onChange={handleChange}\n                onBlur={handleBlur}\n                onMenuOpen={handleMenuOpen}\n                onMenuClose={handleMenuClose}\n                menuIsOpen={isMenuOpen}\n                value={inputValue}\n                onInputChange={handleInputChange}\n                elemAfterInput={\n                  <IconValidation validationState={validationState} />\n                }\n              />\n            </div>\n          </FieldWrapper>\n        )}\n      </Field>\n\n      <SitenameToggleWrapper\n        onClick={() => {\n          dispatch(updateLoggedInFormValid(false));\n          dispatch(updateLoggedInFormInput(true));\n        }}\n      >\n        <SanitizedFormattedHtmlMessage {...messages.inputToggleSitenameNew} />\n      </SitenameToggleWrapper>\n    </>\n  );\n}\n\nconst StyledAsyncCreatableSelect = styled(AsyncCreatableSelect)`\n  font-size: 14px;\n  > div {\n    ${(props) => {\n      if (props.validationState === 'success') {\n        return ` border-color:${G300} !important`; // green\n      }\n      return '';\n    }};\n  }\n  svg {\n    margin-bottom: 0px;\n  }\n`;\nconst SitenameToggleWrapper = styled.div`\n  font-family: ${fontCharlieText};\n  display: block;\n  font-size: 12px;\n  line-height: 16px;\n  color: ${B300};\n  vertical-align: middle;\n  margin: 2px 0 16px 0;\n  font-weight: 500;\n  cursor: pointer;\n`;\n","import React from 'react';\nimport Spinner from '@atlaskit/spinner';\nimport styled from '@emotion/styled';\n\nexport const LoadingState = () => (\n  <SpinnerWrapper>\n    <Spinner size=\"large\" />\n  </SpinnerWrapper>\n);\n\nconst SpinnerWrapper = styled.div`\n  width: 100%;\n  height: 100%;\n  min-height: 300px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n`;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { N700 } from '@atlaskit/theme/colors';\nimport { fontCharlieDisplay, ParagraphOversized } from '../styled';\nimport { TABLET_BREAKPOINT } from '../styled';\n\nexport const PageHeader = ({\n  title,\n  subheadings\n}: {\n  title: JSX.Element;\n  subheadings?: JSX.Element[];\n}) => (\n  <FormHeaderContainer>\n    <FormHeaderHeading>{title}</FormHeaderHeading>\n    {subheadings?.length &&\n      subheadings.map((subheading, i) => (\n        <ParagraphOversized key={i}>{subheading}</ParagraphOversized>\n      ))}\n  </FormHeaderContainer>\n);\n\nconst FormHeaderContainer = styled.header`\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  text-align: center;\n  margin-bottom: 40px;\n  max-width: 600px;\n`;\n\nconst FormHeaderHeading = styled.h1`\n  color: ${N700};\n  font-family: ${fontCharlieDisplay};\n  font-weight: 500;\n  font-size: 36px;\n  line-height: 1.22222222;\n  margin-top: 0;\n  margin-bottom: 16px;\n\n  @media (min-width: ${TABLET_BREAKPOINT}) {\n    font-size: 48px;\n    line-height: 1.16666667;\n    margin-bottom: 24px;\n  }\n`;\n","import { JiraIcon } from '@atlaskit/logo';\nimport Lozenge from '@atlaskit/lozenge';\nimport { B400, N0, N200 } from '@atlaskit/theme/colors';\nimport {\n  ProductKey,\n  SanitizedFormattedHtmlMessage\n} from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { messages } from '../../messages';\n\ntype ProductListOptions = {\n  readonly products: ProductKey[];\n  readonly isNew: boolean;\n};\n\ntype SingleProductKeyType = {\n  readonly productKey: ProductKey;\n};\n\nfunction RenderLogo({ productKey }: SingleProductKeyType) {\n  const logoStyle = {\n    iconColor: N0,\n    iconGradientStart: N0,\n    iconGradientStop: N0,\n    size: 'large'\n  };\n\n  switch (productKey) {\n    case ProductKey.JIRA_SOFTWARE:\n      return <JiraIcon {...logoStyle} />;\n    default:\n      return <></>;\n  }\n}\n\nfunction RenderProductText({ productKey }: SingleProductKeyType) {\n  switch (productKey) {\n    case ProductKey.JIRA_SOFTWARE:\n      return (\n        <>\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListJiraSoftwareName}\n          />\n          <SanitizedFormattedHtmlMessage\n            {...messages.productListJiraSoftwareDescription}\n          />\n        </>\n      );\n    default:\n      return <></>;\n  }\n}\n\nexport function ProductList({ products, isNew }: ProductListOptions) {\n  return (\n    <>\n      {products.map((p: ProductKey) => {\n        return (\n          <ProductItem key={p}>\n            <LogoTextWrapper>\n              <LogoContainer>\n                <RenderLogo productKey={p} />\n              </LogoContainer>\n              <ProductText>\n                <RenderProductText productKey={p} />\n              </ProductText>\n            </LogoTextWrapper>\n            {isNew && (\n              <LozengeWrapper>\n                <Lozenge appearance={'success'} testId={`new-${p}`}>\n                  NEW\n                </Lozenge>\n              </LozengeWrapper>\n            )}\n          </ProductItem>\n        );\n      })}\n    </>\n  );\n}\n\nconst ProductItem = styled.div`\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n  justify-content: space-between;\n  position: relative;\n  box-shadow: 0px 1px 1px rgba(9, 30, 66, 0.25),\n    0px 0px 1px rgba(9, 30, 66, 0.31);\n  border-radius: 8px;\n  height: 65px;\n  max-height: 65px;\n  margin-bottom: 10px;\n`;\n\nconst ProductText = styled.div`\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  height: 100%;\n  font-size: 16px;\n  margin: 0px 0px 0px 12px;\n  line-height: 18px;\n\n  span {\n    display: block;\n  }\n\n  span:last-child {\n    font-size: 12px;\n    color: ${N200};\n  }\n`;\nconst LogoTextWrapper = styled.div`\n  display: flex;\n  flex-direction: row;\n  flex-wrap: nowrap;\n  justify-content: flex-start;\n  align-items: flex-start;\n  align-content: flex-start;\n`;\nconst LogoContainer = styled.div`\n  background: ${B400};\n  height: 65px;\n  width: 62px;\n  min-width: 62px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  border-radius: 8px 0 0 8px;\n`;\nconst LozengeWrapper = styled.div`\n  position: absolute;\n  right: 14px;\n  top: 4px;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from '@emotion/styled';\nimport { N500 } from '@atlaskit/theme/colors';\nimport { messages } from '../../messages';\nimport { fontCharlieText } from '../styled';\n\nexport const SocialSignUpDivider = () => {\n  return (\n    <SocialSignUpDividerLabel>\n      <FormattedMessage {...messages.socialSignUpDividerLabel} />\n    </SocialSignUpDividerLabel>\n  );\n};\n\nconst SocialSignUpDividerLabel = styled.div`\n  font-family: ${fontCharlieText};\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  color: ${N500};\n  font-size: 14px;\n  font-weight: 500;\n  text-transform: uppercase;\n  margin-bottom: 24px;\n  margin-top: 24px;\n`;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { JiraSoftwareLogo } from '@atlaskit/logo';\nimport { TABLET_BREAKPOINT, SPACING_UNIT } from '../styled';\n\nexport function SimpleSignupNav() {\n  return (\n    <NavContainer>\n      <JiraSoftwareLogo appearance=\"brand\" />\n    </NavContainer>\n  );\n}\n\nconst NavContainer = styled.div`\n  margin-top: ${SPACING_UNIT * 4}px;\n  margin-bottom: ${SPACING_UNIT * 6}px;\n\n  [role='img'] {\n    height: 28px;\n  }\n\n  @media (min-width: ${TABLET_BREAKPOINT}) {\n    margin-top: ${SPACING_UNIT * 5}px;\n    margin-bottom: ${SPACING_UNIT * 12}px;\n\n    [role='img'] {\n      height: 34px;\n    }\n  }\n`;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from '@emotion/styled';\nimport Form from '@atlaskit/form';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { B300, N200, B400, N800 } from '@atlaskit/theme/colors';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport {\n  SanitizedFormattedHtmlMessage,\n  useStargateClient,\n  Storage\n} from '@atlassiansox/bxpkit-core';\n\nimport {\n  useAppDispatch,\n  useAppSelector,\n  updateSharedFormDataResendEmailAddress\n} from '../../../../redux';\nimport {\n  useSignUpFormGlobalConfiguration,\n  useSignUpFormUIState\n} from '../../../../hook';\n\nimport { messages } from '../../messages';\nimport { fontCharlieText, FormContainer, SubmitErrorMessage } from '../styled';\nimport { useSimpleSignupState } from '../../hook';\nimport {\n  PageHeader,\n  SocialSignUpDivider,\n  InputEmail,\n  ButtonSubmit,\n  MarketingConsentCheckBox,\n  SocialSignUpButton\n} from '../component';\nimport { Base64 } from 'js-base64';\n\ntype FormProps = {\n  readonly formProps: {\n    readonly onSubmit: (e: React.FormEvent) => void;\n    readonly ref: React.RefObject<HTMLFormElement>;\n    readonly onKeyDown: (e: React.KeyboardEvent) => void;\n  };\n  readonly submitting: boolean;\n  readonly change: any;\n  readonly getValues: any;\n  readonly getState: any;\n};\n\nfunction shouldSkipRecaptcha(email: string) {\n  const botTestPattern =\n    /(bottest@usersinbuckets.com|bottest@atl-paid-dev.com|bottest@bxpwpi.com)$/;\n  return botTestPattern.test(email);\n}\n\nexport function SimpleSignupFormLoggedOut() {\n  const dispatch = useAppDispatch();\n  const { checkEmailPageUrl: checkEmailPagePathname } =\n    useSignUpFormGlobalConfiguration();\n  const recaptchaRef = useRef<any | null>();\n  const stargateClient = useStargateClient();\n  const { executeRecaptcha } = useGoogleReCaptcha();\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const [isSubmitting, setIsSubmitting] = useState(false);\n  const { enableSkipRecaptcha, locale, intl } = useSimpleSignupState();\n  const { signupState } = useSignUpFormUIState();\n  const { consent } = signupState;\n  consent.locale = locale.locale;\n\n  // Feature flag placeholder\n  const enableAllSocialSignupOptions = false;\n\n  const showMarketingConsent = locale.localeRequiresMarketingCommunicationOptIn;\n\n  const { email: emailValidation } = useAppSelector(\n    ({ n2nDeferredPasswordFieldValidation }) =>\n      n2nDeferredPasswordFieldValidation\n  );\n  const submitErrorMessage = useAppSelector(\n    ({ sharedFormData: { submitErrorMessage } }) => submitErrorMessage\n  );\n\n  const redirectTo = window.location.href;\n\n  useEffect(() => {\n    recaptchaRef?.current?.reset();\n  }, []);\n\n  const onSubmitWithReCAPTCHA = useCallback(\n    async (data: any) => {\n      if (!(emailValidation === 'success')) {\n        return;\n      }\n      setIsSubmitting(true);\n      if (!executeRecaptcha) {\n        console.log('Execute recaptcha not yet available');\n        return;\n      }\n      const { email } = data;\n      dispatch(updateSharedFormDataResendEmailAddress(email));\n      const skipRecaptcha =\n        data.email && enableSkipRecaptcha && shouldSkipRecaptcha(data.email);\n\n      const token = skipRecaptcha\n        ? 'reCaptcha'\n        : await executeRecaptcha('userSignup');\n\n      if (token != null) {\n        const gRecaptchaResponse = token;\n\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.submitWithCaptcha',\n          eventComponent: 'button',\n          event: 'clicked'\n        }).fire();\n\n        createAnalyticsEvent({\n          eventName: 'bxp.formCloudSignup.formSubmit',\n          eventComponent: 'button',\n          event: 'clicked',\n          data: {\n            type: 'N2N'\n          }\n        }).fire();\n\n        Storage.setLocalStorage('consentConfig', JSON.stringify(consent));\n        await stargateClient\n          .userSignup({\n            email: email as string,\n            locale: intl?.locale || 'en',\n            redirectTo,\n            displayName: '',\n            gRecaptchaResponse\n          })\n          .then(() => {\n            sessionStorage.setItem(\n              'r.e.d',\n              Base64.encode(JSON.stringify({ email, redirectTo }))\n            );\n          })\n          .catch((error) => {\n            createAnalyticsEvent({\n              eventName: 'reactSignUpFormSubmitFailed',\n              eventComponent: 'button',\n              event: 'clicked',\n              data: {\n                event: 'submitFailed',\n                uuid: 'reactSignUpForm'\n              }\n            }).fire();\n\n            console.error(error);\n            setIsSubmitting(false);\n          });\n\n        createAnalyticsEvent({\n          eventName: 'reactSignUpFormSubmitSucceeded',\n          eventComponent: 'button',\n          event: 'clicked',\n          data: {\n            event: 'submitSucceeded',\n            uuid: 'reactSignUpForm'\n          }\n        }).fire();\n        window.location.assign(checkEmailPagePathname);\n      } else {\n        setIsSubmitting(false);\n        throw new Error('Invalid Recaptcha Token');\n      }\n      return token;\n    },\n    [executeRecaptcha, emailValidation]\n  );\n\n  return (\n    <>\n      <PageHeader\n        title={\n          <FormattedMessage {...messages.simpleSignupLoggedOutFormHeader} />\n        }\n        subheadings={[\n          <FormattedMessage {...messages.simpleSignupLoggedOutFormSubHeader} />,\n          <FormattedMessage {...messages.noCreditCardRequiredFooter} />\n        ]}\n      />\n      <FormContainer>\n        <Form onSubmit={onSubmitWithReCAPTCHA} isDisabled={isSubmitting}>\n          {({ formProps }: FormProps) => (\n            <StyledForm {...formProps}>\n              <InputEmail />\n              {submitErrorMessage && (\n                <SubmitErrorMessage>\n                  <SanitizedFormattedHtmlMessage {...submitErrorMessage} />\n                </SubmitErrorMessage>\n              )}\n              {showMarketingConsent && <MarketingConsentCheckBox />}\n              <Eula>\n                <SanitizedFormattedHtmlMessage {...messages.simpleSignupEula} />\n              </Eula>\n              <ButtonSubmit isLoading={isSubmitting} isDisabled={false} />\n              <SocialSignUpDivider />\n              <SocialSignUpButton\n                buttonText={\n                  <FormattedMessage\n                    {...messages.socialSignUpButtonSignupWithGoogle}\n                  />\n                }\n                provider=\"google\"\n                redirectUrl={redirectTo}\n              />\n              {enableAllSocialSignupOptions && (\n                <>\n                  <SocialSignUpButton\n                    buttonText={\n                      <FormattedMessage\n                        {...messages.socialSignUpButtonSignupWithMicrosoft}\n                      />\n                    }\n                    provider=\"microsoft\"\n                    redirectUrl={redirectTo}\n                  />\n                  <SocialSignUpButton\n                    buttonText={\n                      <FormattedMessage\n                        {...messages.socialSignUpButtonSignupWithApple}\n                      />\n                    }\n                    provider=\"apple\"\n                    redirectUrl={redirectTo}\n                  />\n                  <SocialSignUpButton\n                    buttonText={\n                      <FormattedMessage\n                        {...messages.socialSignUpButtonSignupWithSlack}\n                      />\n                    }\n                    provider=\"slack\"\n                    redirectUrl={redirectTo}\n                  />\n                </>\n              )}\n            </StyledForm>\n          )}\n        </Form>\n      </FormContainer>\n    </>\n  );\n}\n\nconst Eula = styled.div`\n  font-family: ${fontCharlieText};\n  font-size: 12px;\n  line-height: 1.5;\n  color: ${N800};\n  font-weight: 400;\n  margin: 24px 0;\n\n  a {\n    color: ${B400};\n    cursor: pointer;\n    text-decoration: none;\n\n    &:hover {\n      color: ${B300};\n      text-decoration: underline;\n    }\n  }\n`;\n\nconst StyledForm = styled.form`\n  width: 360px;\n  font-family: ${fontCharlieText};\n\n  label {\n    color: ${N200};\n    font-weight: 500;\n\n    span {\n      display: none;\n    }\n  }\n`;\n","import React from 'react';\nimport styled from '@emotion/styled';\nimport { injectIntl } from 'react-intl';\n\nimport { messages } from './messages';\nimport {\n  SimpleSignupContextProps,\n  SimpleSignupProvider\n} from './hook/use-simple-signup-state';\nimport { useUserInfo } from '../../hook';\nimport { SimpleSignupFormLoggedOut } from './simple-signup-form-view/view';\nimport {\n  SimpleSignupNav,\n  FormFooter\n} from './simple-signup-form-view/component';\nimport {\n  fontCharlieText,\n  TABLET_BREAKPOINT\n} from './simple-signup-form-view/styled';\nfunction SimpleSignupScreen(props: SimpleSignupContextProps) {\n  const userInfo = useUserInfo();\n\n  return (\n    <SimpleSignupProvider {...props} userInfo={userInfo}>\n      <PageRoot>\n        <SimpleSignupNav />\n        <PageBody>\n          <SimpleSignupFormLoggedOut />\n        </PageBody>\n        <FormFooter />\n      </PageRoot>\n    </SimpleSignupProvider>\n  );\n}\n\nexport const PageRoot = styled.div`\n  font-family: ${fontCharlieText};\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  padding: 16px;\n\n  @media (min-width: ${TABLET_BREAKPOINT}) {\n    padding: 0;\n  }\n`;\n\nexport const PageBody = styled.div`\n  width: 100%;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n\n  @media only screen and (min-width: ${TABLET_BREAKPOINT}) {\n    flex: 1;\n    max-width: 1440px;\n  }\n`;\n\nSimpleSignupScreen.messages = messages;\nexport default injectIntl(SimpleSignupScreen);\n","import jwt_decode from 'jwt-decode';\nimport { AnalyticsContext, useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport {\n  FeatureGateEnvironment,\n  FeatureGatesInitializationProvider\n} from '@atlassiansox/bxp-web-statsig-client';\nimport { Environment, Storage, Url } from '@atlassiansox/bxpkit-core';\nimport React, { PropsWithChildren, useEffect } from 'react';\nimport { Provider } from 'react-redux';\nimport { ErrorLocale } from './layouts/error-locale';\nimport {\n  store as GlobalStore,\n  updateFeatureFlags,\n  updateProductKeys,\n  useAppDispatch\n} from './redux';\n\nimport { markSignUpLoadingStart } from './metrics';\n\nimport { SignUpLayoutContainer as LegacySignUpLayoutContainer } from './layouts/legacy/view/sign-up-layout-container';\n\nimport { FirstImpressionsScreen } from './layouts/first-impressions-screen';\n\nimport {\n  ExperimentScreensSwitch,\n  showExperimentScreens\n} from './layouts/experiment-screens/experiment-screens-switch';\n\nimport { DevopsScreen } from './layouts/devops-screen';\n\nimport {\n  getProductKeys,\n  getTintinMvpEnabledOverrideValue\n} from './layouts/legacy/view/utility';\n\nimport { ProductKeysType } from '@atlassiansox/bxpkit-core';\n\nimport {\n  SignUpConfigContextProvider,\n  useSignUpFormConfig,\n  useUserInfo\n} from './hook';\n\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';\nimport { IntlProvider } from 'react-intl';\nimport { SignUpGlobalConfigurationContextProvider } from './hook/use-sign-up-form-global-configuration';\nimport { DevopsScreenStandalone } from './layouts/devops-screen-standalone';\nimport { SimpleSignupScreen } from './layouts/simple-signup-screen';\nimport {\n  AnalyticsTrackType,\n  DevopsImageUrlsType,\n  FeatureFlags,\n  FirstImpressionsImageUrlsType,\n  GlobalConfiguration,\n  LabelsType,\n  LocaleType,\n  ProductBundleItems,\n  ProductDataType,\n  SimpleSignupImageUrlsType\n} from './model';\nimport { reactIntlErrorHandler } from './utility';\n\nconst blockedLocale = ['RU', 'BY'];\nexport type LayoutType =\n  | 'default'\n  | 'standalone'\n  | 'standalone-v2'\n  | 'devops'\n  | 'devops-v2'\n  | 'devops-v2-standalone'\n  | 'first-impressions'\n  | 'first-impressions-v2'\n  | 'simple-signup';\n\nexport type ExperimentScreensFlags = {\n  readonly enableSlackPromoConfluence: boolean;\n};\n\nexport type SignUpLayoutContainerInitialProps = {\n  readonly allowEnableAutogenSiteName: boolean;\n  readonly allowSignupWithGoogle: boolean;\n  readonly allowSignupWithAllSocialOptions: boolean;\n  readonly enableFreeBreachTest: boolean;\n  readonly showSocialSignupForm: boolean;\n  readonly socialContinueUrl: string;\n  readonly loadingImageSrc: string;\n  readonly errorImageSrc: string;\n  readonly productData: { [key: string]: ProductDataType };\n  readonly locale: LocaleType;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly labels: LabelsType;\n  readonly layout?: LayoutType;\n  readonly productOverride?: string;\n  readonly bundleOverride?: string;\n  readonly editionOverride?: string;\n  readonly performanceStartTime?: number;\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrlsType;\n  readonly devopsImageUrls: DevopsImageUrlsType;\n  readonly siteRenamePageUrl?: string;\n  readonly simpleSignupImageUrls: SimpleSignupImageUrlsType;\n  readonly enableSkipRecaptcha?: boolean;\n  readonly featureFlags: FeatureFlags;\n  readonly globalConfiguration?: GlobalConfiguration;\n  readonly bundleMap?: ProductBundleItems;\n  readonly experimentScreensFlags?: ExperimentScreensFlags;\n  readonly customSignupContext?: string;\n};\n\nexport type SignUpLayoutContainerGeneratedProps = {\n  readonly productKeys: ProductKeysType[];\n  readonly templateId: string;\n  readonly isMigrationSignup: boolean;\n  readonly queryParameters: { [key: string]: string };\n  readonly intlReactOnError: (error: string) => void;\n};\n\nexport type SignUpLayoutContainerProps = SignUpLayoutContainerInitialProps &\n  SignUpLayoutContainerGeneratedProps;\n\nfunction SignUpLayoutContainerSwitch(props: SignUpLayoutContainerProps) {\n  const userInfo = useUserInfo();\n  if (blockedLocale.includes(props.locale.locale)) {\n    return <ErrorLocale locale={props.locale.locale} />;\n  }\n  if (showExperimentScreens(props, userInfo)) {\n    return <ExperimentScreensSwitch {...props} />;\n  }\n  switch (props.layout) {\n    case 'first-impressions-v2':\n      return <FirstImpressionsScreen {...props} />;\n    case 'simple-signup':\n      return <SimpleSignupScreen {...props} />;\n    case 'devops-v2':\n      return <DevopsScreen {...props} />;\n    case 'devops-v2-standalone':\n      return <DevopsScreenStandalone {...props} />;\n    default:\n      return <LegacySignUpLayoutContainer {...props} />;\n  }\n}\n\nfunction SignUpAnalyticsContext({\n  children,\n  ...props\n}: PropsWithChildren<SignUpLayoutContainerInitialProps>) {\n  const { bundle, product, edition } = useSignUpFormConfig();\n\n  const defaultAnalyticsData = {\n    schemaVersion: 1,\n    event: 'event', // event verb, in past tense (eg, \"clicked\")\n    eventType: 'UI',\n    eventComponent: 'signUp', // name of component being interacted with, in camelCase\n    eventContainer: 'signUp', // container, in camelCase; eg, component that contains this component within a page\n    eventColumn: 'signUpForm', // should be bundleInformation or signUpForm\n    eventName: 'signUpEvent',\n    label: '', // the text present on the component being clicked (exact text, not camelCase)\n    parentLabel: '', // optional, if this is a nested click (exact text, not camelCase)\n    uuid: 'signUp', // required for Magnolia events, unique id for a given component if available\n    layout: props.layout,\n    featureFlags: props.featureFlags,\n    bundle,\n    product,\n    edition\n  };\n  return (\n    <AnalyticsContext data={defaultAnalyticsData}>{children}</AnalyticsContext>\n  );\n}\n\ntype SignUpFormLoadedEventContainerProps = {\n  readonly children: React.ReactNode;\n};\n\nfunction SignUpFormLoadedEventContainer({\n  children\n}: SignUpFormLoadedEventContainerProps) {\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n  const userInfo = useUserInfo();\n  useEffect(() => {\n    if (userInfo) {\n      createAnalyticsEvent({\n        event: 'loaded',\n        eventName: 'signUpLoaded',\n        eventType: 'UI',\n        eventComponent: 'signUp',\n        eventColumn: 'signUp',\n        isSiteNamePage: userInfo?.isLoggedIn\n      }).fire();\n    }\n  }, [userInfo]);\n  return <>{children}</>;\n}\n\nexport function SignUpLayoutContainer(\n  props: SignUpLayoutContainerInitialProps\n) {\n  markSignUpLoadingStart();\n\n  return (\n    <Provider store={GlobalStore}>\n      <SignUpGlobalConfigurationContextProvider\n        confirmationPageUrl={props.globalConfiguration?.confirmationPageUrl}\n        checkEmailPageUrl={props.globalConfiguration?.checkEmailPageUrl}\n        newUserSignupRedirectUrl={\n          props.globalConfiguration?.newUserSignupRedirectUrl\n        }\n      >\n        <SignUpReduxStoreHydrate {...props} />\n      </SignUpGlobalConfigurationContextProvider>\n    </Provider>\n  );\n}\n\nfunction SignUpReduxStoreHydrate(props: SignUpLayoutContainerInitialProps) {\n  const dispatch = useAppDispatch();\n\n  const queryParameters = Url.getUrlParams() || {};\n  let productKeys = getProductKeys({\n    productData: props.productData,\n    productOverride: props.productOverride,\n    bundleOverride: props.bundleOverride,\n    editionOverride: props.editionOverride,\n    queryParameters\n  });\n\n  const templateId = queryParameters.hasOwnProperty('templateId')\n    ? queryParameters.templateId\n    : null;\n\n  const isMigrationSignup = queryParameters.hasOwnProperty(\n    'migrationSourceUuid'\n  );\n\n  const { createAnalyticsEvent } = useAnalyticsEvents();\n\n  const intlReactOnError = (error: any) => {\n    if (typeof error === 'string') {\n      reactIntlErrorHandler(error, createAnalyticsEvent);\n    }\n  };\n\n  useEffect(() => {\n    let featureFlagsCombined = Object.assign({}, { ...props.featureFlags });\n    dispatch(updateFeatureFlags(featureFlagsCombined));\n\n    // update Redux propductKeys slice\n    dispatch(updateProductKeys(productKeys));\n  }, []);\n  // productKeys update\n  useEffect(() => {\n    productKeys = getProductKeys({\n      productData: props.productData,\n      queryParameters,\n      productOverride: props.productOverride,\n      bundleOverride: props.bundleOverride\n    });\n    // update Redux propductKeys slice on new bundle selection\n    dispatch(updateProductKeys(productKeys));\n  }, [props.productOverride, props.bundleOverride]);\n\n  const enableTintinMvp = getTintinMvpEnabledOverrideValue({\n    productKeys,\n    isMigrationSignup,\n    enableTintinMvp: props.featureFlags.enableTintinMvp\n  });\n\n  return (\n    <SignupLayoutConfigContainer\n      productKeys={productKeys}\n      templateId={templateId}\n      isMigrationSignup={isMigrationSignup}\n      queryParameters={queryParameters}\n      intlReactOnError={intlReactOnError}\n      {...props}\n      featureFlags={{\n        ...props.featureFlags,\n        enableTintinMvp\n      }}\n    />\n  );\n}\n\nfunction SignupLayoutConfigContainer(props: SignUpLayoutContainerProps) {\n  const environment = Environment.getEnvironment();\n  let decoded: { [key: string]: any };\n  let sessionToken;\n  const analyticsAnonymousId = (\n    Storage.getCookie('ajs_anonymous_id') ?? ''\n  ).replace(/\\\"/g, '');\n  let featureGateEnvironment: FeatureGateEnvironment | undefined;\n  switch (environment) {\n    case 'dev':\n      featureGateEnvironment = FeatureGateEnvironment.Development;\n      sessionToken = Storage.getCookie('cloud.session.token.stg');\n      decoded = sessionToken ? jwt_decode(sessionToken) : {};\n      break;\n    case 'staging':\n      featureGateEnvironment = FeatureGateEnvironment.Staging;\n      sessionToken = Storage.getCookie('cloud.session.token.stg');\n      decoded = sessionToken ? jwt_decode(sessionToken) : {};\n      break;\n    case 'production':\n      featureGateEnvironment = FeatureGateEnvironment.Production;\n      sessionToken = Storage.getCookie('cloud.session.token');\n      decoded = sessionToken ? jwt_decode(sessionToken) : {};\n      break;\n  }\n  const atlassianAccountId = decoded?.sub || undefined;\n  const atlassianOrgId = decoded?.orgId || undefined;\n  // for statsig provider experiments look up and feature gate look up use useExperiment or useFeatureGate\n  const identifiers = {\n    analyticsAnonymousId,\n    atlassianOrgId,\n    atlassianAccountId\n  };\n  return (\n    <IntlProvider onError={props.intlReactOnError}>\n      <FeatureGatesInitializationProvider\n        environment={\n          featureGateEnvironment ?? FeatureGateEnvironment.Development\n        }\n        identifiers={identifiers}\n      >\n        <SignUpConfigContextProvider {...props}>\n          <SignUpAnalyticsContext {...props}>\n            <GoogleReCaptchaProvider\n              useEnterprise={true}\n              reCaptchaKey={Environment.reCaptchaKey}\n            >\n              <SignUpFormLoadedEventContainer>\n                <SignUpLayoutContainerSwitch {...props} />\n              </SignUpFormLoadedEventContainer>\n            </GoogleReCaptchaProvider>\n          </SignUpAnalyticsContext>\n        </SignUpConfigContextProvider>\n      </FeatureGatesInitializationProvider>\n    </IntlProvider>\n  );\n}\n","import { getIsBundleDevops, Product } from '@atlassiansox/bxpkit-core';\n\nimport { includesProduct } from './sign-up-layout-container';\n\nexport interface GetTintinMvpEnabledOverrideValueParams {\n  productKeys: Array<{ product?: string | null }>;\n  isMigrationSignup: boolean;\n  enableTintinMvp: boolean | undefined;\n}\n\nexport function getTintinMvpEnabledOverrideValue(\n  params: GetTintinMvpEnabledOverrideValueParams\n) {\n  const hasBitbucket = includesProduct({\n    products: params.productKeys,\n    productName: 'com.atlassian.bitbucket'\n  });\n\n  const isBundleDevops = getIsBundleDevops(params.productKeys as Product[]);\n\n  if (hasBitbucket || params.isMigrationSignup || isBundleDevops) {\n    return params.enableTintinMvp;\n  }\n\n  return true;\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"OriginTracing\",[],t):\"object\"==typeof exports?exports.OriginTracing=t():e.OriginTracing=t()}(window,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,\"__esModule\",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=10)}([function(e,t,r){(function(e){!function(e){\"use strict\";var t=e.URLSearchParams&&e.URLSearchParams.prototype.get?e.URLSearchParams:null,r=t&&\"a=1\"===new t({a:1}).toString(),n=t&&\"+\"===new t(\"s=%2B\").get(\"s\"),o=\"__URLSearchParams__\",i=!t||function(){var e=new t;return e.append(\"s\",\" &\"),\"s=+%26\"===e.toString()}(),u=l.prototype,a=!(!e.Symbol||!e.Symbol.iterator);if(!(t&&r&&n&&i)){u.append=function(e,t){v(this[o],e,t)},u.delete=function(e){delete this[o][e]},u.get=function(e){var t=this[o];return e in t?t[e][0]:null},u.getAll=function(e){var t=this[o];return e in t?t[e].slice(0):[]},u.has=function(e){return e in this[o]},u.set=function(e,t){this[o][e]=[\"\"+t]},u.toString=function(){var e,t,r,n,i=this[o],u=[];for(t in i)for(r=s(t),e=0,n=i[t];e<n.length;e++)u.push(r+\"=\"+s(n[e]));return u.join(\"&\")};var c=!!n&&t&&!r&&e.Proxy;Object.defineProperty(e,\"URLSearchParams\",{value:c?new Proxy(t,{construct:function(e,t){return new e(new l(t[0]).toString())}}):l});var f=e.URLSearchParams.prototype;f.polyfill=!0,f.forEach=f.forEach||function(e,t){var r=y(this.toString());Object.getOwnPropertyNames(r).forEach(function(n){r[n].forEach(function(r){e.call(t,r,n,this)},this)},this)},f.sort=f.sort||function(){var e,t,r,n=y(this.toString()),o=[];for(e in n)o.push(e);for(o.sort(),t=0;t<o.length;t++)this.delete(o[t]);for(t=0;t<o.length;t++){var i=o[t],u=n[i];for(r=0;r<u.length;r++)this.append(i,u[r])}},f.keys=f.keys||function(){var e=[];return this.forEach(function(t,r){e.push(r)}),p(e)},f.values=f.values||function(){var e=[];return this.forEach(function(t){e.push(t)}),p(e)},f.entries=f.entries||function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),p(e)},a&&(f[e.Symbol.iterator]=f[e.Symbol.iterator]||f.entries)}function l(e){((e=e||\"\")instanceof URLSearchParams||e instanceof l)&&(e=e.toString()),this[o]=y(e)}function s(e){var t={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(e).replace(/[!'\\(\\)~]|%20|%00/g,function(e){return t[e]})}function d(e){return e.replace(/[ +]/g,\"%20\").replace(/(%[a-f0-9]{2})+/gi,function(e){return decodeURIComponent(e)})}function p(t){var r={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return a&&(r[e.Symbol.iterator]=function(){return r}),r}function y(e){var t={};if(\"object\"==typeof e)if(h(e))for(var r=0;r<e.length;r++){var n=e[r];if(!h(n)||2!==n.length)throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");v(t,n[0],n[1])}else for(var o in e)e.hasOwnProperty(o)&&v(t,o,e[o]);else{0===e.indexOf(\"?\")&&(e=e.slice(1));for(var i=e.split(\"&\"),u=0;u<i.length;u++){var a=i[u],c=a.indexOf(\"=\");-1<c?v(t,d(a.slice(0,c)),d(a.slice(c+1))):a&&v(t,d(a),\"\")}}return t}function v(e,t,r){var n=\"string\"==typeof r?r:null!==r&&void 0!==r&&\"function\"==typeof r.toString?r.toString():JSON.stringify(r);t in e?e[t].push(n):e[t]=[n]}function h(e){return!!e&&\"[object Array]\"===Object.prototype.toString.call(e)}}(void 0!==e?e:\"undefined\"!=typeof window?window:this)}).call(this,r(5))},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.parse=function(e){var t={};return new URLSearchParams(e).forEach(function(e,r){t[r]=e}),t},t.stringify=function(e){return new URLSearchParams(e).toString()},r(0)},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.atob=window.atob,t.btoa=window.btoa},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.base64ToBase64Url=function(e){if(null==e)return\"\";return String(e).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=/g,\"\")},t.base64UrlToBase64=function(e){if(null==e)return\"\";var t=String(e).replace(/-/g,\"+\").replace(/_/g,\"/\"),r=(4-e.length%4)%4,n=\"===\".slice(0,r);return t+n}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.encode=function(e){var t=JSON.stringify(u(e)),r=(0,o.btoa)(t);return(0,n.base64ToBase64Url)(r)},t.decode=function(e){var t=(0,n.base64UrlToBase64)(e),r=(0,o.atob)(t);return a(JSON.parse(r))},t.toJSONObject=u,t.fromJSONObject=a;var n=r(3),o=r(2),i={confluence:\"c\",jira:\"j\",stride:\"s\",bitbucket:\"b\",trello:\"t\"};function u(e){var t=e.id,r=e.product;return{i:t,p:r in i?i[r]:r}}function a(e){var t={};return e.i&&(t.id=e.i),e.p&&(t.product=function(e){for(var t=Object.keys(i),r=0;r<t.length;r++){var n=t[r],o=i[n];if(e===o)return n}return e}(e.p)),t}},function(e,t){var r;r=function(){return this}();try{r=r||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(r=window)}e.exports=r},function(e,t){for(var r=[],n=0;n<256;++n)r[n]=(n+256).toString(16).substr(1);e.exports=function(e,t){var n=t||0,o=r;return[o[e[n++]],o[e[n++]],o[e[n++]],o[e[n++]],\"-\",o[e[n++]],o[e[n++]],\"-\",o[e[n++]],o[e[n++]],\"-\",o[e[n++]],o[e[n++]],\"-\",o[e[n++]],o[e[n++]],o[e[n++]],o[e[n++]],o[e[n++]],o[e[n++]]].join(\"\")}},function(e,t){var r=\"undefined\"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||\"undefined\"!=typeof msCrypto&&\"function\"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(r){var n=new Uint8Array(16);e.exports=function(){return r(n),n}}else{var o=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),o[t]=e>>>((3&t)<<3)&255;return o}}},function(e,t,r){var n=r(7),o=r(6);e.exports=function(e,t,r){var i=t&&r||0;\"string\"==typeof e&&(t=\"binary\"===e?new Array(16):null,e=null);var u=(e=e||{}).random||(e.rng||n)();if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,t)for(var a=0;a<16;++a)t[i+a]=u[a];return t||o(u)}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=function(e){return e&&e.__esModule?e:{default:e}}(r(8));r(0);var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(4));function u(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var l=function(){function e(t){var r=t.id,n=void 0===r?e.generateId():r,o=t.product,i=t.dangerouslySkipValidation,u=void 0!==i&&i;f(this,e),this.id=n,this.product=o,u||this.validate()}return n(e,[{key:\"encode\",value:function(){return i.encode({id:this.id,product:this.product})}},{key:\"addToUrl\",value:function(e){var t=this;return p(e,function(e){var r=new URLSearchParams(e);return r.set(\"atlOrigin\",t.encode()),r.toString()})}},{key:\"isEmpty\",value:function(){return!1}},{key:\"isMalformed\",value:function(){return!this.isEmpty()&&!this.isValid()}},{key:\"isValid\",value:function(){return!0}},{key:\"toAnalyticsAttributes\",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.transformValue,n=void 0===r?function(e){return e}:r,o=t.hasGeneratedId;return c(e={},void 0!==o&&o?\"originIdGenerated\":\"originId\",n(this.id)),c(e,\"originProduct\",n(this.product)),e}},{key:\"validate\",value:function(){if(!e.isValidId(this.id))throw new TypeError(\"Invalid Origin id\");if(!e.isValidProduct(this.product))throw new TypeError(\"Missing/invalid Origin product\")}}],[{key:\"isValidId\",value:function(e){return\"string\"==typeof e&&/^[-a-zA-Z0-9]{1,36}$/.test(e)}},{key:\"isValidProduct\",value:function(e){return\"string\"==typeof e&&/^[-a-zA-Z0-9]{1,20}$/.test(e)}},{key:\"generateId\",value:function(){return(0,o.default)().replace(/-/g,\"\")}},{key:\"createEmpty\",value:function(){return new s}},{key:\"createMalformed\",value:function(){return new d}},{key:\"fromUrl\",value:function(t){var r=new URLSearchParams;return p(t,function(e){r=new URLSearchParams(e)}),e.fromEncoded(r.get(\"atlOrigin\"))}},{key:\"fromEncoded\",value:function(t){if(!t)return e.createEmpty();try{return e.decode(t)}catch(t){return e.createMalformed()}}},{key:\"removeFromUrl\",value:function(e){return p(e,function(e){var t=new URLSearchParams(e);return t.delete(\"atlOrigin\"),t.toString()})}},{key:\"decode\",value:function(t){return new e(i.decode(t))}}]),e}();t.default=l;var s=function(e){function t(){return f(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,{id:null,product:null,dangerouslySkipValidation:!0}))}return a(t,l),n(t,[{key:\"isValid\",value:function(){return!1}},{key:\"isEmpty\",value:function(){return!0}},{key:\"toAnalyticsAttributes\",value:function(){return{}}}]),t}(),d=function(e){function t(){return f(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,{id:null,product:null,dangerouslySkipValidation:!0}))}return a(t,l),n(t,[{key:\"isValid\",value:function(){return!1}},{key:\"isEmpty\",value:function(){return!1}},{key:\"toAnalyticsAttributes\",value:function(){return{originMalformed:!0}}}]),t}();function p(e,t){return String(e).replace(/(^[^?]*)(?:\\?)?([^#]*?)(#.*|$)$/,function(e,r,n,o){var i=t(n);return i&&(i=\"?\"+i),\"\"+r+i+o})}},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.querystring=t.default=void 0;var n=r(9);Object.defineProperty(t,\"default\",{enumerable:!0,get:function(){return function(e){return e&&e.__esModule?e:{default:e}}(n).default}});var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(r(1));t.querystring=o}])});","import {\n  SignUpLayoutContainer,\n  WacSignUpModel,\n} from \"@atlassiansox/bxpkit-wac-sign-up\";\nimport { AnalyticsListener } from \"@atlaskit/analytics-next\";\nimport React, { useEffect, useState } from \"react\";\nimport { IntlProvider } from \"react-intl\";\nimport { trackEvent } from \"../../common/analytics\";\nimport { ConsentHubClient } from \"../../common/ConsentHubV2\";\nimport { SegmentType } from \"@atlassiansox/bxpkit-core\";\n\nconst getLocale = async () => {\n  const consentHub = new ConsentHubClient();\n  return await consentHub.requestConfig();\n};\n\n// Combined Analytics Tracking\nconst analyticsTrack = {\n  segment: trackEvent,\n  newRelic: {\n    action: () => {},\n    attribute: () => {},\n    trackAjax: () => {},\n  },\n};\n\nexport type AnalyticsPayload = {\n  readonly schemaVersion: number;\n  readonly event: string;\n  readonly eventType: string;\n  readonly eventComponent: string;\n  readonly eventContainer: string;\n  readonly eventColumn: string;\n  readonly eventName: string;\n  readonly label: string;\n  readonly parentLabel: string;\n  readonly uuid: string;\n  readonly layout: string;\n  readonly bundle: string;\n  readonly product: string;\n  readonly edition: string;\n};\n\nexport type SendAnalyticsOptions = {\n  readonly payload: AnalyticsPayload;\n  readonly context: AnalyticsPayload[];\n};\n\nfunction sendAnalytics({ payload, context }: SendAnalyticsOptions) {\n  const analyticsDataList = [...context, payload];\n  const analyticsEvent = analyticsDataList.reduce(\n    (mergedAnalyticsEvent, currentAnalyicsEvent) => {\n      return { ...mergedAnalyticsEvent, ...currentAnalyicsEvent };\n    },\n    {}\n  ) as AnalyticsPayload;\n  trackEvent(analyticsEvent.eventName, analyticsEvent);\n}\n\ntype LayoutType =\n  | \"default\"\n  | \"standalone\"\n  | \"standalone-v2\"\n  | \"devops\"\n  | \"devops-v2\"\n  | \"first-impressions\"\n  | \"first-impressions-v2\";\n\nexport type FirstImpressionsAppImageUrlsType = {\n  readonly heroImage: string;\n  readonly socialProofImage?: string;\n};\n\nexport type FirstImpressionsImageUrlsType = {\n  readonly backgroundImage: string;\n  readonly jiraSoftware: FirstImpressionsAppImageUrlsType;\n  readonly jiraServiceDesk: FirstImpressionsAppImageUrlsType;\n  readonly confluence: FirstImpressionsAppImageUrlsType;\n  readonly jiraCore: FirstImpressionsAppImageUrlsType;\n  readonly teamCentral: FirstImpressionsAppImageUrlsType;\n  readonly jiraProductDiscovery: FirstImpressionsAppImageUrlsType;\n  readonly compass: FirstImpressionsAppImageUrlsType;\n  readonly bitbucket: FirstImpressionsAppImageUrlsType;\n};\n\nexport type LabelsType = { [key: string]: string };\n\nexport type Product = {\n  readonly productKey: string;\n  readonly productName: string;\n  readonly productLogoUrl?: string;\n  readonly productLogoWhiteUrl?: string;\n};\n\ntype LocaleType = {\n  readonly locale: string;\n  readonly localeRequiresMarketingCommunicationOptIn: boolean;\n};\n\ntype AnalyticsTrackType = {\n  readonly segment: SegmentType;\n};\n\nexport type ProductType = {\n  readonly productKey: string;\n  readonly productName: string;\n  readonly productLogoUrl?: string;\n  readonly productLogoWhiteUrl?: string;\n  readonly atlasKitLogoName?: string;\n};\n\nexport type BundleContent = {\n  readonly heroImage: string;\n  readonly headline: string;\n  readonly socialProofImage?: string;\n  readonly featureList: string;\n};\n\nexport type ProductDataType = {\n  readonly products: ProductType[];\n  readonly bundleProductKeys: string;\n  readonly iconSrc?: string;\n  readonly iconAlt?: string;\n  readonly calloutRichText?: string;\n  readonly bundleContent?: {\n    readonly default: BundleContent;\n  };\n};\n\nexport type DevopsImageUrlsType = {\n  readonly sidebarImage: string;\n  readonly backgroundImage: string;\n  readonly envelopeN2N: string;\n  readonly successN2E: string;\n};\n\nexport type SimpleSignupImageUrlsType = {\n  readonly atlassianLogoImage: string;\n  readonly jswMobileNavImage: string;\n};\n\nexport type FeatureFlags = {\n  readonly enableTintinMvp?: boolean;\n  readonly enableDevopsGoogleSignup?: boolean;\n  readonly provisionSecondPartyApps?: boolean;\n  readonly enableDeferredFullName?: boolean;\n  readonly enableDeferredSiteName?: boolean;\n  readonly enableDefaultExpandedEmail?: boolean;\n  readonly enableUseCodeAWSContent?: boolean;\n  readonly enableCutSignUpStepsInHalf?: boolean;\n  readonly enableCutOnboardingStepsInHalf?: boolean;\n  readonly enableReverseTrial: string;\n};\n\nexport type GlobalConfiguration = {\n  readonly confirmationPageUrl: string;\n  readonly checkEmailPageUrl: string;\n  readonly socialContinueUrl: string;\n  readonly siteRenamePageUrl?: string;\n};\n\nexport type SignUpLayoutContainerProps = {\n  readonly allowEnableAutogenSiteName: boolean;\n  readonly allowSignupWithGoogle: boolean;\n  readonly allowSignupWithAllSocialOptions: boolean;\n  readonly enableFreeBreachTest: boolean;\n  readonly showSocialSignupForm: boolean;\n  readonly socialContinueUrl: string;\n  readonly loadingImageSrc: string;\n  readonly errorImageSrc: string;\n  readonly productData: { [key: string]: ProductDataType };\n  readonly locale: LocaleType;\n  readonly analyticsTrack: AnalyticsTrackType;\n  readonly labels: LabelsType;\n  readonly layout?: LayoutType;\n  readonly productOverride?: string;\n  readonly customSignupContext?: string;\n  readonly bundleOverride?: string;\n  readonly editionOverride?: string;\n  readonly performanceStartTime?: number;\n  readonly firstImpressionsImageUrls: FirstImpressionsImageUrlsType;\n  readonly devopsImageUrls: DevopsImageUrlsType;\n  readonly simpleSignupImageUrls: SimpleSignupImageUrlsType;\n  readonly siteRenamePageUrl?: string;\n  readonly enableSkipRecaptcha?: boolean;\n  readonly featureFlags: FeatureFlags;\n  readonly globalConfiguration?: GlobalConfiguration;\n};\n\n/**\n * @param props - same as the props received by this container\n */\nexport default function WacSignUpLayoutContainer(\n  props: SignUpLayoutContainerProps\n) {\n  const [locale, setLocale] = useState({\n    locale: \"UNKNOWN\",\n    localeRequiresMarketingCommunicationOptIn: true,\n  });\n  const [fetchingLocale, setFetchingLocale] = useState(true);\n\n  useEffect(() => {\n    async function getLocaleData() {\n      const localeData = await getLocale();\n      if (localeData) {\n        setLocale(localeData);\n      }\n    }\n    getLocaleData()\n      .then(() => setFetchingLocale(false))\n      .catch(() => setFetchingLocale(false));\n  }, []);\n\n  return fetchingLocale ? (\n    <div></div>\n  ) : (\n    <AnalyticsListener onEvent={sendAnalytics}>\n      <IntlProvider\n        locale={document.documentElement.lang}\n        messages={props.labels}\n      >\n        <SignUpLayoutContainer\n          {...props}\n          locale={locale}\n          analyticsTrack={analyticsTrack}\n          performanceStartTime={performance.now()}\n        />\n      </IntlProvider>\n    </AnalyticsListener>\n  );\n}\n","\n/**\n * Topological sorting function\n *\n * @param {Array} edges\n * @returns {Array}\n */\n\nmodule.exports = function(edges) {\n  return toposort(uniqueNodes(edges), edges)\n}\n\nmodule.exports.array = toposort\n\nfunction toposort(nodes, edges) {\n  var cursor = nodes.length\n    , sorted = new Array(cursor)\n    , visited = {}\n    , i = cursor\n    // Better data structures make algorithm much faster.\n    , outgoingEdges = makeOutgoingEdges(edges)\n    , nodesHash = makeNodesHash(nodes)\n\n  // check for unknown nodes\n  edges.forEach(function(edge) {\n    if (!nodesHash.has(edge[0]) || !nodesHash.has(edge[1])) {\n      throw new Error('Unknown node. There is an unknown node in the supplied edges.')\n    }\n  })\n\n  while (i--) {\n    if (!visited[i]) visit(nodes[i], i, new Set())\n  }\n\n  return sorted\n\n  function visit(node, i, predecessors) {\n    if(predecessors.has(node)) {\n      var nodeRep\n      try {\n        nodeRep = \", node was:\" + JSON.stringify(node)\n      } catch(e) {\n        nodeRep = \"\"\n      }\n      throw new Error('Cyclic dependency' + nodeRep)\n    }\n\n    if (!nodesHash.has(node)) {\n      throw new Error('Found unknown node. Make sure to provided all involved nodes. Unknown node: '+JSON.stringify(node))\n    }\n\n    if (visited[i]) return;\n    visited[i] = true\n\n    var outgoing = outgoingEdges.get(node) || new Set()\n    outgoing = Array.from(outgoing)\n\n    if (i = outgoing.length) {\n      predecessors.add(node)\n      do {\n        var child = outgoing[--i]\n        visit(child, nodesHash.get(child), predecessors)\n      } while (i)\n      predecessors.delete(node)\n    }\n\n    sorted[--cursor] = node\n  }\n}\n\nfunction uniqueNodes(arr){\n  var res = new Set()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    var edge = arr[i]\n    res.add(edge[0])\n    res.add(edge[1])\n  }\n  return Array.from(res)\n}\n\nfunction makeOutgoingEdges(arr){\n  var edges = new Map()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    var edge = arr[i]\n    if (!edges.has(edge[0])) edges.set(edge[0], new Set())\n    if (!edges.has(edge[1])) edges.set(edge[1], new Set())\n    edges.get(edge[0]).add(edge[1])\n  }\n  return edges\n}\n\nfunction makeNodesHash(arr){\n  var res = new Map()\n  for (var i = 0, len = arr.length; i < len; i++) {\n    res.set(arr[i], i)\n  }\n  return res\n}\n","(function(){var h=\"undefined\"!=typeof window&&window===this?this:\"undefined\"!=typeof global&&null!=global?global:this,k=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};function l(){l=function(){};h.Symbol||(h.Symbol=m)}var n=0;function m(a){return\"jscomp_symbol_\"+(a||\"\")+n++}\nfunction p(){l();var a=h.Symbol.iterator;a||(a=h.Symbol.iterator=h.Symbol(\"iterator\"));\"function\"!=typeof Array.prototype[a]&&k(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return q(this)}});p=function(){}}function q(a){var b=0;return r(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function r(a){p();a={next:a};a[h.Symbol.iterator]=function(){return this};return a}function t(a){p();var b=a[Symbol.iterator];return b?b.call(a):q(a)}\nfunction u(a){if(!(a instanceof Array)){a=t(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var v=0;function w(a,b){var c=XMLHttpRequest.prototype.send,d=v++;XMLHttpRequest.prototype.send=function(f){for(var e=[],g=0;g<arguments.length;++g)e[g-0]=arguments[g];var E=this;a(d);this.addEventListener(\"readystatechange\",function(){4===E.readyState&&b(d)});return c.apply(this,e)}}\nfunction x(a,b){var c=fetch;fetch=function(d){for(var f=[],e=0;e<arguments.length;++e)f[e-0]=arguments[e];return new Promise(function(d,e){var g=v++;a(g);c.apply(null,[].concat(u(f))).then(function(a){b(g);d(a)},function(a){b(a);e(a)})})}}var y=\"img script iframe link audio video source\".split(\" \");function z(a,b){a=t(a);for(var c=a.next();!c.done;c=a.next())if(c=c.value,b.includes(c.nodeName.toLowerCase())||z(c.children,b))return!0;return!1}\nfunction A(a){var b=new MutationObserver(function(c){c=t(c);for(var b=c.next();!b.done;b=c.next())b=b.value,\"childList\"==b.type&&z(b.addedNodes,y)?a(b):\"attributes\"==b.type&&y.includes(b.target.tagName.toLowerCase())&&a(b)});b.observe(document,{attributes:!0,childList:!0,subtree:!0,attributeFilter:[\"href\",\"src\"]});return b}\nfunction B(a,b){if(2<a.length)return performance.now();var c=[];b=t(b);for(var d=b.next();!d.done;d=b.next())d=d.value,c.push({timestamp:d.start,type:\"requestStart\"}),c.push({timestamp:d.end,type:\"requestEnd\"});b=t(a);for(d=b.next();!d.done;d=b.next())c.push({timestamp:d.value,type:\"requestStart\"});c.sort(function(a,b){return a.timestamp-b.timestamp});a=a.length;for(b=c.length-1;0<=b;b--)switch(d=c[b],d.type){case \"requestStart\":a--;break;case \"requestEnd\":a++;if(2<a)return d.timestamp;break;default:throw Error(\"Internal Error: This should never happen\");\n}return 0}function C(a){a=a?a:{};this.w=!!a.useMutationObserver;this.u=a.minValue||null;a=window.__tti&&window.__tti.e;var b=window.__tti&&window.__tti.o;this.a=a?a.map(function(a){return{start:a.startTime,end:a.startTime+a.duration}}):[];b&&b.disconnect();this.b=[];this.f=new Map;this.j=null;this.v=-Infinity;this.i=!1;this.h=this.c=this.s=null;w(this.m.bind(this),this.l.bind(this));x(this.m.bind(this),this.l.bind(this));D(this);this.w&&(this.h=A(this.B.bind(this)))}\nC.prototype.getFirstConsistentlyInteractive=function(){var a=this;return new Promise(function(b){a.s=b;\"complete\"==document.readyState?F(a):window.addEventListener(\"load\",function(){F(a)})})};function F(a){a.i=!0;var b=0<a.a.length?a.a[a.a.length-1].end:0,c=B(a.g,a.b);G(a,Math.max(c+5E3,b))}\nfunction G(a,b){!a.i||a.v>b||(clearTimeout(a.j),a.j=setTimeout(function(){var b=performance.timing.navigationStart,d=B(a.g,a.b),b=(window.a&&window.a.A?1E3*window.a.A().C-b:0)||performance.timing.domContentLoadedEventEnd-b;if(a.u)var f=a.u;else performance.timing.domContentLoadedEventEnd?(f=performance.timing,f=f.domContentLoadedEventEnd-f.navigationStart):f=null;var e=performance.now();null===f&&G(a,Math.max(d+5E3,e+1E3));var g=a.a;5E3>e-d?d=null:(d=g.length?g[g.length-1].end:b,d=5E3>e-d?null:Math.max(d,\nf));d&&(a.s(d),clearTimeout(a.j),a.i=!1,a.c&&a.c.disconnect(),a.h&&a.h.disconnect());G(a,performance.now()+1E3)},b-performance.now()),a.v=b)}\nfunction D(a){a.c=new PerformanceObserver(function(b){b=t(b.getEntries());for(var c=b.next();!c.done;c=b.next())if(c=c.value,\"resource\"===c.entryType&&(a.b.push({start:c.fetchStart,end:c.responseEnd}),G(a,B(a.g,a.b)+5E3)),\"longtask\"===c.entryType){var d=c.startTime+c.duration;a.a.push({start:c.startTime,end:d});G(a,d+5E3)}});a.c.observe({entryTypes:[\"longtask\",\"resource\"]})}C.prototype.m=function(a){this.f.set(a,performance.now())};C.prototype.l=function(a){this.f.delete(a)};\nC.prototype.B=function(){G(this,performance.now()+5E3)};h.Object.defineProperties(C.prototype,{g:{configurable:!0,enumerable:!0,get:function(){return[].concat(u(this.f.values()))}}});var H={getFirstConsistentlyInteractive:function(a){a=a?a:{};return\"PerformanceLongTaskTiming\"in window?(new C(a)).getFirstConsistentlyInteractive():Promise.resolve(null)}};\n\"undefined\"!=typeof module&&module.exports?module.exports=H:\"function\"===typeof define&&define.amd?define(\"ttiPolyfill\",[],function(){return H}):window.ttiPolyfill=H;})();\n//# sourceMappingURL=tti-polyfill.js.map","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n  var printWarning = function printWarning(format, args) {\n    var len = arguments.length;\n    args = new Array(len > 1 ? len - 1 : 0);\n    for (var key = 1; key < len; key++) {\n      args[key - 1] = arguments[key];\n    }\n    var argIndex = 0;\n    var message = 'Warning: ' +\n      format.replace(/%s/g, function() {\n        return args[argIndex++];\n      });\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  }\n\n  warning = function(condition, format, args) {\n    var len = arguments.length;\n    args = new Array(len > 2 ? len - 2 : 0);\n    for (var key = 2; key < len; key++) {\n      args[key - 2] = arguments[key];\n    }\n    if (format === undefined) {\n      throw new Error(\n          '`warning(condition, format, ...args)` requires a warning ' +\n          'message argument'\n      );\n    }\n    if (!condition) {\n      printWarning.apply(null, [format].concat(args));\n    }\n  };\n}\n\nmodule.exports = warning;\n","var global =\n  (typeof globalThis !== 'undefined' && globalThis) ||\n  (typeof self !== 'undefined' && self) ||\n  (typeof global !== 'undefined' && global)\n\nvar support = {\n  searchParams: 'URLSearchParams' in global,\n  iterable: 'Symbol' in global && 'iterator' in Symbol,\n  blob:\n    'FileReader' in global &&\n    'Blob' in global &&\n    (function() {\n      try {\n        new Blob()\n        return true\n      } catch (e) {\n        return false\n      }\n    })(),\n  formData: 'FormData' in global,\n  arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n  return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n  var viewClasses = [\n    '[object Int8Array]',\n    '[object Uint8Array]',\n    '[object Uint8ClampedArray]',\n    '[object Int16Array]',\n    '[object Uint16Array]',\n    '[object Int32Array]',\n    '[object Uint32Array]',\n    '[object Float32Array]',\n    '[object Float64Array]'\n  ]\n\n  var isArrayBufferView =\n    ArrayBuffer.isView ||\n    function(obj) {\n      return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n    }\n}\n\nfunction normalizeName(name) {\n  if (typeof name !== 'string') {\n    name = String(name)\n  }\n  if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n    throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n  }\n  return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n  if (typeof value !== 'string') {\n    value = String(value)\n  }\n  return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n  var iterator = {\n    next: function() {\n      var value = items.shift()\n      return {done: value === undefined, value: value}\n    }\n  }\n\n  if (support.iterable) {\n    iterator[Symbol.iterator] = function() {\n      return iterator\n    }\n  }\n\n  return iterator\n}\n\nexport function Headers(headers) {\n  this.map = {}\n\n  if (headers instanceof Headers) {\n    headers.forEach(function(value, name) {\n      this.append(name, value)\n    }, this)\n  } else if (Array.isArray(headers)) {\n    headers.forEach(function(header) {\n      this.append(header[0], header[1])\n    }, this)\n  } else if (headers) {\n    Object.getOwnPropertyNames(headers).forEach(function(name) {\n      this.append(name, headers[name])\n    }, this)\n  }\n}\n\nHeaders.prototype.append = function(name, value) {\n  name = normalizeName(name)\n  value = normalizeValue(value)\n  var oldValue = this.map[name]\n  this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n  delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n  name = normalizeName(name)\n  return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n  return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n  this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n  for (var name in this.map) {\n    if (this.map.hasOwnProperty(name)) {\n      callback.call(thisArg, this.map[name], name, this)\n    }\n  }\n}\n\nHeaders.prototype.keys = function() {\n  var items = []\n  this.forEach(function(value, name) {\n    items.push(name)\n  })\n  return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n  var items = []\n  this.forEach(function(value) {\n    items.push(value)\n  })\n  return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n  var items = []\n  this.forEach(function(value, name) {\n    items.push([name, value])\n  })\n  return iteratorFor(items)\n}\n\nif (support.iterable) {\n  Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n  if (body.bodyUsed) {\n    return Promise.reject(new TypeError('Already read'))\n  }\n  body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n  return new Promise(function(resolve, reject) {\n    reader.onload = function() {\n      resolve(reader.result)\n    }\n    reader.onerror = function() {\n      reject(reader.error)\n    }\n  })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n  var reader = new FileReader()\n  var promise = fileReaderReady(reader)\n  reader.readAsArrayBuffer(blob)\n  return promise\n}\n\nfunction readBlobAsText(blob) {\n  var reader = new FileReader()\n  var promise = fileReaderReady(reader)\n  reader.readAsText(blob)\n  return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n  var view = new Uint8Array(buf)\n  var chars = new Array(view.length)\n\n  for (var i = 0; i < view.length; i++) {\n    chars[i] = String.fromCharCode(view[i])\n  }\n  return chars.join('')\n}\n\nfunction bufferClone(buf) {\n  if (buf.slice) {\n    return buf.slice(0)\n  } else {\n    var view = new Uint8Array(buf.byteLength)\n    view.set(new Uint8Array(buf))\n    return view.buffer\n  }\n}\n\nfunction Body() {\n  this.bodyUsed = false\n\n  this._initBody = function(body) {\n    /*\n      fetch-mock wraps the Response object in an ES6 Proxy to\n      provide useful test harness features such as flush. However, on\n      ES5 browsers without fetch or Proxy support pollyfills must be used;\n      the proxy-pollyfill is unable to proxy an attribute unless it exists\n      on the object before the Proxy is created. This change ensures\n      Response.bodyUsed exists on the instance, while maintaining the\n      semantic of setting Request.bodyUsed in the constructor before\n      _initBody is called.\n    */\n    this.bodyUsed = this.bodyUsed\n    this._bodyInit = body\n    if (!body) {\n      this._bodyText = ''\n    } else if (typeof body === 'string') {\n      this._bodyText = body\n    } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n      this._bodyBlob = body\n    } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n      this._bodyFormData = body\n    } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n      this._bodyText = body.toString()\n    } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n      this._bodyArrayBuffer = bufferClone(body.buffer)\n      // IE 10-11 can't handle a DataView body.\n      this._bodyInit = new Blob([this._bodyArrayBuffer])\n    } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n      this._bodyArrayBuffer = bufferClone(body)\n    } else {\n      this._bodyText = body = Object.prototype.toString.call(body)\n    }\n\n    if (!this.headers.get('content-type')) {\n      if (typeof body === 'string') {\n        this.headers.set('content-type', 'text/plain;charset=UTF-8')\n      } else if (this._bodyBlob && this._bodyBlob.type) {\n        this.headers.set('content-type', this._bodyBlob.type)\n      } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n        this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n      }\n    }\n  }\n\n  if (support.blob) {\n    this.blob = function() {\n      var rejected = consumed(this)\n      if (rejected) {\n        return rejected\n      }\n\n      if (this._bodyBlob) {\n        return Promise.resolve(this._bodyBlob)\n      } else if (this._bodyArrayBuffer) {\n        return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n      } else if (this._bodyFormData) {\n        throw new Error('could not read FormData body as blob')\n      } else {\n        return Promise.resolve(new Blob([this._bodyText]))\n      }\n    }\n\n    this.arrayBuffer = function() {\n      if (this._bodyArrayBuffer) {\n        var isConsumed = consumed(this)\n        if (isConsumed) {\n          return isConsumed\n        }\n        if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n          return Promise.resolve(\n            this._bodyArrayBuffer.buffer.slice(\n              this._bodyArrayBuffer.byteOffset,\n              this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n            )\n          )\n        } else {\n          return Promise.resolve(this._bodyArrayBuffer)\n        }\n      } else {\n        return this.blob().then(readBlobAsArrayBuffer)\n      }\n    }\n  }\n\n  this.text = function() {\n    var rejected = consumed(this)\n    if (rejected) {\n      return rejected\n    }\n\n    if (this._bodyBlob) {\n      return readBlobAsText(this._bodyBlob)\n    } else if (this._bodyArrayBuffer) {\n      return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n    } else if (this._bodyFormData) {\n      throw new Error('could not read FormData body as text')\n    } else {\n      return Promise.resolve(this._bodyText)\n    }\n  }\n\n  if (support.formData) {\n    this.formData = function() {\n      return this.text().then(decode)\n    }\n  }\n\n  this.json = function() {\n    return this.text().then(JSON.parse)\n  }\n\n  return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n  var upcased = method.toUpperCase()\n  return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n  if (!(this instanceof Request)) {\n    throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n  }\n\n  options = options || {}\n  var body = options.body\n\n  if (input instanceof Request) {\n    if (input.bodyUsed) {\n      throw new TypeError('Already read')\n    }\n    this.url = input.url\n    this.credentials = input.credentials\n    if (!options.headers) {\n      this.headers = new Headers(input.headers)\n    }\n    this.method = input.method\n    this.mode = input.mode\n    this.signal = input.signal\n    if (!body && input._bodyInit != null) {\n      body = input._bodyInit\n      input.bodyUsed = true\n    }\n  } else {\n    this.url = String(input)\n  }\n\n  this.credentials = options.credentials || this.credentials || 'same-origin'\n  if (options.headers || !this.headers) {\n    this.headers = new Headers(options.headers)\n  }\n  this.method = normalizeMethod(options.method || this.method || 'GET')\n  this.mode = options.mode || this.mode || null\n  this.signal = options.signal || this.signal\n  this.referrer = null\n\n  if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n    throw new TypeError('Body not allowed for GET or HEAD requests')\n  }\n  this._initBody(body)\n\n  if (this.method === 'GET' || this.method === 'HEAD') {\n    if (options.cache === 'no-store' || options.cache === 'no-cache') {\n      // Search for a '_' parameter in the query string\n      var reParamSearch = /([?&])_=[^&]*/\n      if (reParamSearch.test(this.url)) {\n        // If it already exists then set the value with the current time\n        this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n      } else {\n        // Otherwise add a new '_' parameter to the end with the current time\n        var reQueryString = /\\?/\n        this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n      }\n    }\n  }\n}\n\nRequest.prototype.clone = function() {\n  return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n  var form = new FormData()\n  body\n    .trim()\n    .split('&')\n    .forEach(function(bytes) {\n      if (bytes) {\n        var split = bytes.split('=')\n        var name = split.shift().replace(/\\+/g, ' ')\n        var value = split.join('=').replace(/\\+/g, ' ')\n        form.append(decodeURIComponent(name), decodeURIComponent(value))\n      }\n    })\n  return form\n}\n\nfunction parseHeaders(rawHeaders) {\n  var headers = new Headers()\n  // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n  // https://tools.ietf.org/html/rfc7230#section-3.2\n  var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n  // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n  // https://github.com/github/fetch/issues/748\n  // https://github.com/zloirock/core-js/issues/751\n  preProcessedHeaders\n    .split('\\r')\n    .map(function(header) {\n      return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n    })\n    .forEach(function(line) {\n      var parts = line.split(':')\n      var key = parts.shift().trim()\n      if (key) {\n        var value = parts.join(':').trim()\n        headers.append(key, value)\n      }\n    })\n  return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n  if (!(this instanceof Response)) {\n    throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n  }\n  if (!options) {\n    options = {}\n  }\n\n  this.type = 'default'\n  this.status = options.status === undefined ? 200 : options.status\n  this.ok = this.status >= 200 && this.status < 300\n  this.statusText = options.statusText === undefined ? '' : '' + options.statusText\n  this.headers = new Headers(options.headers)\n  this.url = options.url || ''\n  this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n  return new Response(this._bodyInit, {\n    status: this.status,\n    statusText: this.statusText,\n    headers: new Headers(this.headers),\n    url: this.url\n  })\n}\n\nResponse.error = function() {\n  var response = new Response(null, {status: 0, statusText: ''})\n  response.type = 'error'\n  return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n  if (redirectStatuses.indexOf(status) === -1) {\n    throw new RangeError('Invalid status code')\n  }\n\n  return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n  new DOMException()\n} catch (err) {\n  DOMException = function(message, name) {\n    this.message = message\n    this.name = name\n    var error = Error(message)\n    this.stack = error.stack\n  }\n  DOMException.prototype = Object.create(Error.prototype)\n  DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n  return new Promise(function(resolve, reject) {\n    var request = new Request(input, init)\n\n    if (request.signal && request.signal.aborted) {\n      return reject(new DOMException('Aborted', 'AbortError'))\n    }\n\n    var xhr = new XMLHttpRequest()\n\n    function abortXhr() {\n      xhr.abort()\n    }\n\n    xhr.onload = function() {\n      var options = {\n        status: xhr.status,\n        statusText: xhr.statusText,\n        headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n      }\n      options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n      var body = 'response' in xhr ? xhr.response : xhr.responseText\n      setTimeout(function() {\n        resolve(new Response(body, options))\n      }, 0)\n    }\n\n    xhr.onerror = function() {\n      setTimeout(function() {\n        reject(new TypeError('Network request failed'))\n      }, 0)\n    }\n\n    xhr.ontimeout = function() {\n      setTimeout(function() {\n        reject(new TypeError('Network request failed'))\n      }, 0)\n    }\n\n    xhr.onabort = function() {\n      setTimeout(function() {\n        reject(new DOMException('Aborted', 'AbortError'))\n      }, 0)\n    }\n\n    function fixUrl(url) {\n      try {\n        return url === '' && global.location.href ? global.location.href : url\n      } catch (e) {\n        return url\n      }\n    }\n\n    xhr.open(request.method, fixUrl(request.url), true)\n\n    if (request.credentials === 'include') {\n      xhr.withCredentials = true\n    } else if (request.credentials === 'omit') {\n      xhr.withCredentials = false\n    }\n\n    if ('responseType' in xhr) {\n      if (support.blob) {\n        xhr.responseType = 'blob'\n      } else if (\n        support.arrayBuffer &&\n        request.headers.get('Content-Type') &&\n        request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n      ) {\n        xhr.responseType = 'arraybuffer'\n      }\n    }\n\n    if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n      Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n        xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n      })\n    } else {\n      request.headers.forEach(function(value, name) {\n        xhr.setRequestHeader(name, value)\n      })\n    }\n\n    if (request.signal) {\n      request.signal.addEventListener('abort', abortXhr)\n\n      xhr.onreadystatechange = function() {\n        // DONE (success or failure)\n        if (xhr.readyState === 4) {\n          request.signal.removeEventListener('abort', abortXhr)\n        }\n      }\n    }\n\n    xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n  })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n  global.fetch = fetch\n  global.Headers = Headers\n  global.Request = Request\n  global.Response = Response\n}\n","function _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n  return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n  }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  Object.defineProperty(Constructor, \"prototype\", {\n    writable: false\n  });\n  return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n  key = toPropertyKey(key);\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n  module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  Object.defineProperty(subClass, \"prototype\", {\n    writable: false\n  });\n  if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : {\n    \"default\": obj\n  };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n  if (\"function\" != typeof WeakMap) return null;\n  var r = new WeakMap(),\n    t = new WeakMap();\n  return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n    return e ? t : r;\n  })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n  if (!r && e && e.__esModule) return e;\n  if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n    \"default\": e\n  };\n  var t = _getRequireWildcardCache(r);\n  if (t && t.has(e)) return t.get(e);\n  var n = {\n      __proto__: null\n    },\n    a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n  for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) {\n    var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n    i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n  }\n  return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  } else if (call !== void 0) {\n    throw new TypeError(\"Derived constructors may only return object or undefined\");\n  }\n  return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n  module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n  return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n  if (_typeof(input) !== \"object\" || input === null) return input;\n  var prim = input[Symbol.toPrimitive];\n  if (prim !== undefined) {\n    var res = prim.call(input, hint || \"default\");\n    if (_typeof(res) !== \"object\") return res;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n  var key = toPrimitive(arg, \"string\");\n  return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst errors_1 = require(\"./errors\");\nconst index_1 = require(\"../index\");\nconst version_1 = require(\"../version\");\nconst DEFAULT_REQUEST_TIMEOUT_MS = 2000;\nconst PROD_BASE_URL = 'https://api.atlassian.com/flags';\nconst STAGING_BASE_URL = 'https://api.stg.atlassian.com/flags';\nconst DEV_BASE_URL = 'https://api.dev.atlassian.com/flags';\nconst GATEWAY_BASE_URL = '/gateway/api/flags';\nclass Fetcher {\n    static async fetchClientSdk(fetcherOptions) {\n        try {\n            return await this.fetchRequest('/api/v1/frontend/clientSdkKey', 'GET', fetcherOptions);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                throw error;\n            }\n            throw Error('Failed to retrieve client sdk key');\n        }\n    }\n    static async fetchExperimentValues(fetcherOptions, identifiers, customAttributes) {\n        const requestBody = {\n            identifiers,\n            customAttributes\n        };\n        try {\n            return await this.fetchRequest('/api/v1/frontend/experimentValues', 'POST', fetcherOptions, requestBody);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                throw error;\n            }\n            throw Error('Failed to retrieve experiment values');\n        }\n    }\n    static async handleResponseError(response) {\n        if (!response.ok) {\n            // Use text() instead of json() as the error body might not be json data\n            const body = await response.text();\n            throw new errors_1.ResponseError(`Non 2xx response status received, status: ${response.status}, body: ${JSON.stringify(body)}`);\n        }\n        if (response.status === 204) {\n            throw new errors_1.ResponseError('Unexpected 204 response');\n        }\n    }\n    static async extractResponseBody(response) {\n        const value = await response.text();\n        return JSON.parse(value);\n    }\n    static getBaseUrl(serviceEnv, useGatewayUrl = false) {\n        if (useGatewayUrl) {\n            return GATEWAY_BASE_URL;\n        }\n        switch (serviceEnv) {\n            case index_1.FeatureGateEnvironment.Development:\n                return DEV_BASE_URL;\n            case index_1.FeatureGateEnvironment.Staging:\n                return STAGING_BASE_URL;\n            default:\n                return PROD_BASE_URL;\n        }\n    }\n    static async fetchRequest(path, method, fetcherOptions, body) {\n        const baseUrl = Fetcher.getBaseUrl(fetcherOptions.environment, fetcherOptions.useGatewayURL);\n        const fetchTimeout = fetcherOptions.fetchTimeoutMs || DEFAULT_REQUEST_TIMEOUT_MS;\n        let abortSignal;\n        if (AbortSignal.timeout) {\n            abortSignal = AbortSignal.timeout(fetchTimeout);\n        }\n        else if (AbortController) {\n            const abortController = new AbortController();\n            abortSignal = abortController.signal;\n            setTimeout(() => abortController.abort(), fetchTimeout);\n        }\n        const response = await fetch(`${baseUrl}${path}`, Object.assign({ method, headers: {\n                'Content-Type': 'application/json',\n                'X-Client-Name': 'feature-gate-js-client',\n                'X-Client-Version': version_1.CLIENT_VERSION,\n                'X-API-KEY': fetcherOptions.apiKey\n            }, signal: abortSignal }, (body && { body: JSON.stringify(body) })));\n        await this.handleResponseError(response);\n        return await this.extractResponseBody(response);\n    }\n}\nexports.default = Fetcher;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseError = void 0;\nclass ResponseError extends Error {\n    constructor(message) {\n        super(message);\n    }\n}\nexports.ResponseError = ResponseError;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = void 0;\nvar Fetcher_1 = require(\"./Fetcher\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return __importDefault(Fetcher_1).default; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\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 });\nexports.FeatureGateEnvironment = exports.FilterTags = exports.FeatureGateProducts = void 0;\nconst statsig_js_lite_1 = __importStar(require(\"statsig-js-lite\"));\nconst fetcher_1 = __importDefault(require(\"./fetcher\"));\n/**\n * The union of Products will be used to filter appropriate feature gates and experiments\n */\nvar FeatureGateProducts;\n(function (FeatureGateProducts) {\n    FeatureGateProducts[\"Jira\"] = \"jira\";\n    FeatureGateProducts[\"Confluence\"] = \"confluence\";\n    FeatureGateProducts[\"AdminHub\"] = \"adminhub\";\n    FeatureGateProducts[\"Platform\"] = \"platform\";\n})(FeatureGateProducts || (exports.FeatureGateProducts = FeatureGateProducts = {}));\n/**\n * The intersection of Filter Tags will be used to filter appropriate feature gates and experiments\n */\nvar FilterTags;\n(function (FilterTags) {\n    FilterTags[\"Frontend\"] = \"frontend\";\n    FilterTags[\"Backend\"] = \"backend\";\n})(FilterTags || (exports.FilterTags = FilterTags = {}));\nvar FeatureGateEnvironment;\n(function (FeatureGateEnvironment) {\n    FeatureGateEnvironment[\"Development\"] = \"development\";\n    FeatureGateEnvironment[\"Staging\"] = \"staging\";\n    FeatureGateEnvironment[\"Production\"] = \"production\";\n})(FeatureGateEnvironment || (exports.FeatureGateEnvironment = FeatureGateEnvironment = {}));\nconst DEFAULT_CLIENT_KEY = 'client-default-key';\nclass FeatureGates {\n    static async initialize(clientOptions, identifiers, customAttributes) {\n        if (FeatureGates.initPromise) {\n            console.warn('Feature Gates client already initialized');\n            return FeatureGates.initPromise;\n        }\n        FeatureGates.initOptions = clientOptions;\n        FeatureGates.initPromise = FeatureGates.init(clientOptions, identifiers, customAttributes);\n        return FeatureGates.initPromise;\n    }\n    static async initializeFromValues(clientOptions, identifiers, customAttributes, initializeValues = {}) {\n        if (FeatureGates.initPromise) {\n            console.warn('Feature Gates client already initialized');\n            return FeatureGates.initPromise;\n        }\n        FeatureGates.initOptions = clientOptions;\n        FeatureGates.initPromise = FeatureGates.initFromValues(clientOptions, identifiers, customAttributes, initializeValues);\n        return FeatureGates.initPromise;\n    }\n    /**\n     * This method updates the user using a network call to fetch the new set of values.\n     * @param fetchOptions {FetcherOptions}\n     * @param identifiers {Identifiers}\n     * @param customAttributes {CustomAttributes}\n     */\n    static async updateUser(fetchOptions, identifiers, customAttributes) {\n        const initializeValuesProducer = () => fetcher_1.default.fetchExperimentValues(fetchOptions, identifiers, customAttributes).then((response) => response.experimentValues);\n        await FeatureGates.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n    }\n    /**\n     * This method updates the user given a new set of bootstrap values obtained from one of the server-side SDKs.\n     *\n     * @param identifiers {Identifiers}\n     * @param customAttributes {CustomAttributes}\n     * @param initializeValues {Record<string,unknown>}\n     */\n    static async updateUserWithValues(identifiers, customAttributes, initializeValues = {}) {\n        const initializeValuesProducer = () => Promise.resolve(initializeValues);\n        await FeatureGates.updateUserUsingInitializeValuesProducer(initializeValuesProducer, identifiers, customAttributes);\n    }\n    static initializeCalled() {\n        return FeatureGates.initPromise != null;\n    }\n    static checkGate(gateName) {\n        return statsig_js_lite_1.default.checkGate(gateName);\n    }\n    static getExperiment(experimentName) {\n        try {\n            return statsig_js_lite_1.default.getExperiment(experimentName);\n        }\n        catch (error) {\n            // Log the first occurrence of the error\n            if (!FeatureGates.hasGetExperimentErrorOccurred) {\n                console.warn({\n                    msg: 'An error has occurred getting the experiment. Only the first occurrence of this error is logged.',\n                    experimentName,\n                    error\n                });\n                FeatureGates.hasGetExperimentErrorOccurred = true;\n            }\n            // Return a default value\n            return new statsig_js_lite_1.DynamicConfig(experimentName, {}, '', {\n                time: Date.now(),\n                reason: statsig_js_lite_1.EvaluationReason.Error\n            });\n        }\n    }\n    static getExperimentCohort(experimentName, defaultValue, fireExperimentExposure = true) {\n        const configKey = 'cohort';\n        try {\n            if (fireExperimentExposure) {\n                return statsig_js_lite_1.default.getExperiment(experimentName).get(configKey, defaultValue);\n            }\n            return statsig_js_lite_1.default.getExperimentWithExposureLoggingDisabled(experimentName).get(configKey, defaultValue);\n        }\n        catch (error) {\n            // Log the first occurrence of the error\n            if (!FeatureGates.hasGetExperimentCohortErrorOccurred) {\n                console.warn({\n                    msg: 'An error has occurred getting the experiment cohort. Only the first occurrence of this error is logged.',\n                    experimentName,\n                    defaultValue,\n                    fireExperimentExposure,\n                    error\n                });\n                FeatureGates.hasGetExperimentCohortErrorOccurred = true;\n            }\n            // Return a default value\n            return new statsig_js_lite_1.DynamicConfig(experimentName, {}, '', {\n                time: Date.now(),\n                reason: statsig_js_lite_1.EvaluationReason.Error\n            }).get('cohort', defaultValue);\n        }\n    }\n    static getExperimentWithExposureLoggingDisabled(experimentName) {\n        return statsig_js_lite_1.default.getExperimentWithExposureLoggingDisabled(experimentName);\n    }\n    static manuallyLogExperimentExposure(experimentName) {\n        statsig_js_lite_1.default.manuallyLogExperimentExposure(experimentName);\n    }\n    static shutdownStatsig() {\n        statsig_js_lite_1.default.shutdown();\n    }\n    /**\n     * This method initializes the client using a network call to fetch the bootstrap values for the given user.\n     *\n     * @param clientOptions\n     * @param identifiers\n     * @param customAttributes\n     * @private\n     */\n    static async init(clientOptions, identifiers, customAttributes) {\n        const fromValuesClientOptions = Object.assign(Object.assign({}, clientOptions), { disableCurrentPageLogging: true });\n        let experimentValues;\n        try {\n            // If client sdk key fetch fails, an error would be thrown and handled instead of waiting for the experiment\n            // values request to be settled, and it will fall back to use default values.\n            const clientSdkKeyPromise = fetcher_1.default.fetchClientSdk(clientOptions).then((value) => (fromValuesClientOptions.sdkKey = value.clientSdkKey));\n            const experimentValuesPromise = fetcher_1.default.fetchExperimentValues(clientOptions, identifiers, customAttributes);\n            // Only wait for the experiment values request to finish and try to initialise the client with experiment\n            // values if both requests are successful. Else an error would be thrown and handled by the catch\n            const [, experimentValuesResult] = await Promise.all([\n                clientSdkKeyPromise,\n                experimentValuesPromise\n            ]);\n            experimentValues = experimentValuesResult.experimentValues;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.error(`Error occurred when trying to fetch the Feature Gates client values, error: ${error === null || error === void 0 ? void 0 : error.message}`);\n            }\n            console.warn(`Initialising Statsig client without values`);\n            await FeatureGates.initFromValues(fromValuesClientOptions, identifiers, customAttributes);\n            throw error;\n        }\n        await this.initFromValues(fromValuesClientOptions, identifiers, customAttributes, experimentValues);\n    }\n    /**\n     * This method initializes the client using a set of boostrap values obtained from one of the server-side SDKs.\n     *\n     * @param clientOptions\n     * @param identifiers\n     * @param customAttributes\n     * @param initializeValues\n     * @private\n     */\n    static async initFromValues(clientOptions, identifiers, customAttributes, initializeValues = {}) {\n        const user = this.toStatsigUser(identifiers, customAttributes);\n        FeatureGates.currentIdentifiers = identifiers;\n        FeatureGates.currentAttributes = customAttributes;\n        if (!clientOptions.sdkKey) {\n            clientOptions.sdkKey = DEFAULT_CLIENT_KEY;\n        }\n        const { sdkKey } = clientOptions;\n        const statsigOptions = this.toStatsigOptions(clientOptions, initializeValues);\n        try {\n            await statsig_js_lite_1.default.initialize(sdkKey, user, statsigOptions);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.error(`Error occurred when trying to initialise the Statsig client, error: ${error === null || error === void 0 ? void 0 : error.message}`);\n            }\n            console.warn(`Initialising Statsig client with default sdk key and without values`);\n            await statsig_js_lite_1.default.initialize(DEFAULT_CLIENT_KEY, user, Object.assign(Object.assign({}, statsigOptions), { initializeValues: {} }));\n            throw error;\n        }\n    }\n    /**\n     * This method creates an instance of StatsigUser from the given set of identifiers and attributes.\n     *\n     * @param identifiers\n     * @param customAttributes\n     * @private\n     */\n    static toStatsigUser(identifiers, customAttributes) {\n        const user = {\n            customIDs: identifiers,\n            custom: customAttributes\n        };\n        if (identifiers.atlassianAccountId) {\n            user.userID = identifiers.atlassianAccountId;\n        }\n        return user;\n    }\n    /**\n     * This method updates the user for this client with the bootstrap values returned from a given Promise.\n     *\n     * @param identifiers\n     * @param customAttributes\n     * @param initializeValuesPromise\n     * @private\n     */\n    static async updateUserUsingInitializeValuesProducer(getInitializeValues, identifiers, customAttributes) {\n        if (!FeatureGates.initPromise) {\n            throw new Error('The FeatureGates client must be initialized before you can update the user.');\n        }\n        // If the user isn't changing at all, then exit immediately\n        if (FeatureGates.isCurrentUser(identifiers, customAttributes)) {\n            return FeatureGates.initPromise;\n        }\n        // Wait for the current initialize/update to finish\n        const originalInitPromise = FeatureGates.initPromise;\n        try {\n            await FeatureGates.initPromise;\n        }\n        catch (err) {\n            // Proceed with the user update even if the init failed, since this update\n            // may put the client back into a valid state.\n        }\n        const initializeValuesPromise = getInitializeValues();\n        const updateUserPromise = FeatureGates.updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes);\n        // We replace the init promise here since we are essentially re-initializing the client at this point.\n        // Any subsequent calls to await FeatureGates.initialize() or FeatureGates.updateUser() will now also await this user update.\n        FeatureGates.initPromise = updateUserPromise.catch(() => {\n            // If the update failed then it changed nothing, so revert back to the original promise.\n            FeatureGates.initPromise = originalInitPromise;\n        });\n        return updateUserPromise;\n    }\n    /**\n     * This method updates the user on the nested Statsig client\n     *\n     * @param identifiers\n     * @param customAttributes\n     * @param initializeValuesPromise\n     * @private\n     */\n    static async updateStatsigClientUser(initializeValuesPromise, identifiers, customAttributes) {\n        var _a, _b;\n        let initializeValues, user;\n        try {\n            initializeValues = await initializeValuesPromise;\n            user = FeatureGates.toStatsigUser(identifiers, customAttributes);\n        }\n        catch (err) {\n            // Make sure the updateUserCompletionCallback is called for any errors in our custom code.\n            // This is not necessary for the updateUserWithValues call, because the Statsig client will already invoke the callback itself.\n            const errMsg = err instanceof Error ? err.message : JSON.stringify(err);\n            (_b = (_a = FeatureGates.initOptions).updateUserCompletionCallback) === null || _b === void 0 ? void 0 : _b.call(_a, false, errMsg);\n            throw err;\n        }\n        const success = statsig_js_lite_1.default.updateUserWithValues(user, initializeValues);\n        if (success) {\n            FeatureGates.currentIdentifiers = identifiers;\n            FeatureGates.currentAttributes = customAttributes;\n        }\n        else {\n            throw new Error('Failed to update user. An unexpected error occured.');\n        }\n    }\n    /**\n     * This method transforms the options given by the user into the format accepted by the Statsig client.\n     *\n     * @param options\n     * @private\n     */\n    static toStatsigOptions(options, initializeValues) {\n        const { \n        // De-structured to remove from restClientOptions\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        sdkKey, \n        // De-structured to remove from restClientOptions\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        products, \n        // De-structured to remove from restClientOptions\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        updateUserCompletionCallback } = options, restClientOptions = __rest(options, [\"sdkKey\", \"products\", \"updateUserCompletionCallback\"]);\n        return Object.assign(Object.assign(Object.assign({}, restClientOptions), { initializeValues, environment: {\n                tier: options.environment\n            }, disableCurrentPageLogging: true }), (options.updateUserCompletionCallback && {\n            updateUserCompletionCallback: FeatureGates.toStatsigUpdateUserCompletionCallback(options.updateUserCompletionCallback)\n        }));\n    }\n    /**\n     * This method transforms an UpdateUserCompletionCallback in our own format into the format accepted by the Statsig client.\n     *\n     * @param callback\n     * @private\n     */\n    static toStatsigUpdateUserCompletionCallback(callback) {\n        /**\n         * The duration passed to the callback indicates how long the update took, but it is deceptive since it only times the\n         * Statsig code and doesn't account for all of the extra custom work we do to obtain the bootstrap values.\n         * As a result, we just suppress this parameter in our own callback rather than trying to keep it accurate.\n         */\n        return (_duration, success, message) => {\n            callback(success, message);\n        };\n    }\n    static isCurrentUser(identifiers, customAttributes) {\n        return (FeatureGates.shallowEquals(FeatureGates.currentIdentifiers, identifiers) &&\n            FeatureGates.shallowEquals(FeatureGates.currentAttributes, customAttributes));\n    }\n    static shallowEquals(objectA, objectB) {\n        if (!objectA && !objectB) {\n            return true;\n        }\n        if (!objectA || !objectB) {\n            return false;\n        }\n        const aEntries = Object.entries(objectA);\n        const bEntries = Object.entries(objectB);\n        if (aEntries.length !== bEntries.length) {\n            return false;\n        }\n        const ascendingKeyOrder = ([key1], [key2]) => key1.localeCompare(key2);\n        aEntries.sort(ascendingKeyOrder);\n        bEntries.sort(ascendingKeyOrder);\n        for (let i = 0; i < aEntries.length; i++) {\n            const [, aValue] = aEntries[i];\n            const [, bValue] = bEntries[i];\n            if (aValue !== bValue) {\n                return false;\n            }\n        }\n        return true;\n    }\n}\nFeatureGates.initPromise = null;\nFeatureGates.hasGetExperimentErrorOccurred = false;\nFeatureGates.hasGetExperimentCohortErrorOccurred = false;\nexports.default = FeatureGates;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CLIENT_VERSION = void 0;\nexports.CLIENT_VERSION = \"3.4.1\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGatesInitialization = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitialization = ({ children, enabled = true, identifiers, customAttributes, options, initializingComponent, onReady }) => {\n    const [isInitialized, setInitialized] = (0, react_1.useState)(false);\n    // Use a ref for the options, so that we can use them within the following useEffect\n    // without adding options as a dependency.\n    // This avoids the user updating every time an option is changed.\n    const optionsRef = (0, react_1.useRef)(options);\n    (0, react_1.useEffect)(() => {\n        optionsRef.current = options;\n    }, [options]);\n    (0, react_1.useEffect)(() => {\n        if (enabled) {\n            setInitialized(false);\n            const initPromise = feature_gate_js_client_1.default.initializeCalled()\n                ? feature_gate_js_client_1.default.updateUser(optionsRef.current, identifiers, customAttributes)\n                : feature_gate_js_client_1.default.initialize(optionsRef.current, identifiers, customAttributes);\n            void initPromise\n                .catch((err) => (0, utils_1.toError)(err))\n                .then((err) => {\n                setInitialized(true);\n                onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n            });\n        }\n        else {\n            setInitialized(true);\n            onReady === null || onReady === void 0 ? void 0 : onReady();\n        }\n    }, [enabled, identifiers, customAttributes]);\n    return (0, utils_1.pickChildToRender)(enabled, isInitialized, children, initializingComponent);\n};\nexports.FeatureGatesInitialization = FeatureGatesInitialization;\nexports.default = exports.FeatureGatesInitialization;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGatesInitializationWithDefaults = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitializationWithDefaults = ({ children, enabled = true, identifiers, customAttributes, options, onReady }) => {\n    const [isInitialized, setInitialized] = (0, react_1.useState)(false);\n    // Use a ref for the options, so that we can use them within the following useEffect\n    // without adding options as a dependency.\n    // This avoids the user updating every time an option is changed.\n    const optionsRef = (0, react_1.useRef)(options);\n    (0, react_1.useEffect)(() => {\n        optionsRef.current = options;\n    }, [options]);\n    (0, react_1.useEffect)(() => {\n        if (enabled) {\n            setInitialized(false);\n            const initPromise = feature_gate_js_client_1.default.initializeCalled()\n                ? feature_gate_js_client_1.default.updateUserWithValues(identifiers, customAttributes)\n                : feature_gate_js_client_1.default.initializeFromValues(Object.assign({ sdkKey: 'client-default-key' }, (optionsRef.current || {})), identifiers, customAttributes);\n            void initPromise\n                .catch((err) => (0, utils_1.toError)(err))\n                .then((err) => {\n                setInitialized(true);\n                onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n            });\n        }\n        else {\n            setInitialized(true);\n            onReady === null || onReady === void 0 ? void 0 : onReady();\n        }\n    }, [enabled, identifiers, customAttributes]);\n    return (0, utils_1.pickChildToRender)(enabled, isInitialized, children);\n};\nexports.FeatureGatesInitializationWithDefaults = FeatureGatesInitializationWithDefaults;\nexports.default = exports.FeatureGatesInitializationWithDefaults;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureGatesInitializationWithValues = void 0;\nconst react_1 = require(\"react\");\nconst feature_gate_js_client_1 = __importDefault(require(\"@atlassian/feature-gate-js-client\"));\nconst utils_1 = require(\"./utils\");\n/**\n * This component initializes the @atlassian/feature-flag-js-client by fetching the gate and experiment\n * evaluations for the given user, and blocks rendering of the children until the rendering is complete.\n */\nconst FeatureGatesInitializationWithValues = ({ children, enabled = true, identifiers, customAttributes, options, initializeValues, onReady }) => {\n    const [isInitialized, setInitialized] = (0, react_1.useState)(false);\n    // Use a ref for the options, so that we can use them within the following useEffect\n    // without adding options as a dependency.\n    // This avoids the user updating every time an option is changed.\n    const optionsRef = (0, react_1.useRef)(options);\n    (0, react_1.useEffect)(() => {\n        optionsRef.current = options;\n    }, [options]);\n    (0, react_1.useEffect)(() => {\n        if (enabled) {\n            setInitialized(false);\n            const initPromise = feature_gate_js_client_1.default.initializeCalled()\n                ? feature_gate_js_client_1.default.updateUserWithValues(identifiers, customAttributes, initializeValues)\n                : feature_gate_js_client_1.default.initializeFromValues(optionsRef.current, identifiers, customAttributes, initializeValues);\n            void initPromise\n                .catch((err) => (0, utils_1.toError)(err))\n                .then((err) => {\n                setInitialized(true);\n                onReady === null || onReady === void 0 ? void 0 : onReady(err || undefined);\n            });\n        }\n        else {\n            setInitialized(true);\n            onReady === null || onReady === void 0 ? void 0 : onReady();\n        }\n    }, [enabled, identifiers, customAttributes, initializeValues]);\n    return (0, utils_1.pickChildToRender)(enabled, isInitialized, children);\n};\nexports.FeatureGatesInitializationWithValues = FeatureGatesInitializationWithValues;\nexports.default = exports.FeatureGatesInitializationWithValues;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./FeatureGatesInitialization\"), exports);\n__exportStar(require(\"./FeatureGatesInitializationWithDefaults\"), exports);\n__exportStar(require(\"./FeatureGatesInitializationWithValues\"), exports);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toError = exports.pickChildToRender = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nfunction pickChildToRender(enabled, isInitialized, children, initializingComponent) {\n    if (!enabled || isInitialized) {\n        return react_1.default.createElement(react_1.default.Fragment, null, children);\n    }\n    if (initializingComponent != null) {\n        return react_1.default.createElement(react_1.default.Fragment, null, initializingComponent);\n    }\n    return null;\n}\nexports.pickChildToRender = pickChildToRender;\nfunction toError(err) {\n    if (err instanceof Error) {\n        return err;\n    }\n    return new Error(err === null || err === void 0 ? void 0 : err.toString());\n}\nexports.toError = toError;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","export default function _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n  return self;\n}","export default function _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n  }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  Object.defineProperty(Constructor, \"prototype\", {\n    writable: false\n  });\n  return Constructor;\n}","export default function _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  Object.defineProperty(subClass, \"prototype\", {\n    writable: false\n  });\n  if (superClass) setPrototypeOf(subClass, superClass);\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? Object(arguments[i]) : {};\n    var ownKeys = Object.keys(source);\n    if (typeof Object.getOwnPropertySymbols === 'function') {\n      ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n      }));\n    }\n    ownKeys.forEach(function (key) {\n      defineProperty(target, key, source[key]);\n    });\n  }\n  return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n  var target = objectWithoutPropertiesLoose(source, excluded);\n  var key, i;\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n  return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  } else if (call !== void 0) {\n    throw new TypeError(\"Derived constructors may only return object or undefined\");\n  }\n  return assertThisInitialized(self);\n}","export default function _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n  return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n  return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\n *  base64.ts\n *\n *  Licensed under the BSD 3-Clause License.\n *    http://opensource.org/licenses/BSD-3-Clause\n *\n *  References:\n *    http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.5';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasatob = typeof atob === 'function';\nconst _hasbtoa = typeof btoa === 'function';\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = ((a) => {\n    let tab = {};\n    a.forEach((c, i) => tab[c] = i);\n    return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n    ? Uint8Array.from.bind(Uint8Array)\n    : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = (src) => src\n    .replace(/=/g, '').replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n    // console.log('polyfilled');\n    let u32, c0, c1, c2, asc = '';\n    const pad = bin.length % 3;\n    for (let i = 0; i < bin.length;) {\n        if ((c0 = bin.charCodeAt(i++)) > 255 ||\n            (c1 = bin.charCodeAt(i++)) > 255 ||\n            (c2 = bin.charCodeAt(i++)) > 255)\n            throw new TypeError('invalid character found');\n        u32 = (c0 << 16) | (c1 << 8) | c2;\n        asc += b64chs[u32 >> 18 & 63]\n            + b64chs[u32 >> 12 & 63]\n            + b64chs[u32 >> 6 & 63]\n            + b64chs[u32 & 63];\n    }\n    return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = _hasbtoa ? (bin) => btoa(bin)\n    : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n        : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n    ? (u8a) => Buffer.from(u8a).toString('base64')\n    : (u8a) => {\n        // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n        const maxargs = 0x1000;\n        let strs = [];\n        for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n            strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n        }\n        return _btoa(strs.join(''));\n    };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n    if (c.length < 2) {\n        var cc = c.charCodeAt(0);\n        return cc < 0x80 ? c\n            : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n                + _fromCC(0x80 | (cc & 0x3f)))\n                : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n                    + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n                    + _fromCC(0x80 | (cc & 0x3f)));\n    }\n    else {\n        var cc = 0x10000\n            + (c.charCodeAt(0) - 0xD800) * 0x400\n            + (c.charCodeAt(1) - 0xDC00);\n        return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n            + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n            + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n            + _fromCC(0x80 | (cc & 0x3f)));\n    }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n    ? (s) => Buffer.from(s, 'utf8').toString('base64')\n    : _TE\n        ? (s) => _fromUint8Array(_TE.encode(s))\n        : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n    ? _mkUriSafe(_encode(src))\n    : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n    switch (cccc.length) {\n        case 4:\n            var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n                | ((0x3f & cccc.charCodeAt(1)) << 12)\n                | ((0x3f & cccc.charCodeAt(2)) << 6)\n                | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n            return (_fromCC((offset >>> 10) + 0xD800)\n                + _fromCC((offset & 0x3FF) + 0xDC00));\n        case 3:\n            return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n                | ((0x3f & cccc.charCodeAt(1)) << 6)\n                | (0x3f & cccc.charCodeAt(2)));\n        default:\n            return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n                | (0x3f & cccc.charCodeAt(1)));\n    }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n    // console.log('polyfilled');\n    asc = asc.replace(/\\s+/g, '');\n    if (!b64re.test(asc))\n        throw new TypeError('malformed base64.');\n    asc += '=='.slice(2 - (asc.length & 3));\n    let u24, bin = '', r1, r2;\n    for (let i = 0; i < asc.length;) {\n        u24 = b64tab[asc.charAt(i++)] << 18\n            | b64tab[asc.charAt(i++)] << 12\n            | (r1 = b64tab[asc.charAt(i++)]) << 6\n            | (r2 = b64tab[asc.charAt(i++)]);\n        bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n            : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n                : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n    }\n    return bin;\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = _hasatob ? (asc) => atob(_tidyB64(asc))\n    : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n        : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n    ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n    : (a) => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n    ? (a) => Buffer.from(a, 'base64').toString('utf8')\n    : _TD\n        ? (a) => _TD.decode(_toUint8Array(a))\n        : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string.  Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n  */\nconst isValid = (src) => {\n    if (typeof src !== 'string')\n        return false;\n    const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n    return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n    return {\n        value: v, enumerable: false, writable: true, configurable: true\n    };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n    const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n    _add('fromBase64', function () { return decode(this); });\n    _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n    _add('toBase64URI', function () { return encode(this, true); });\n    _add('toBase64URL', function () { return encode(this, true); });\n    _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n    const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n    _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n    _add('toBase64URI', function () { return fromUint8Array(this, true); });\n    _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n    extendString();\n    extendUint8Array();\n};\nconst gBase64 = {\n    version: version,\n    VERSION: VERSION,\n    atob: _atob,\n    atobPolyfill: atobPolyfill,\n    btoa: _btoa,\n    btoaPolyfill: btoaPolyfill,\n    fromBase64: decode,\n    toBase64: encode,\n    encode: encode,\n    encodeURI: encodeURI,\n    encodeURL: encodeURI,\n    utob: utob,\n    btou: btou,\n    decode: decode,\n    isValid: isValid,\n    fromUint8Array: fromUint8Array,\n    toUint8Array: toUint8Array,\n    extendString: extendString,\n    extendUint8Array: extendUint8Array,\n    extendBuiltins: extendBuiltins,\n};\n// makecjs:CUT //\nexport { version };\nexport { VERSION };\nexport { _atob as atob };\nexport { atobPolyfill };\nexport { _btoa as btoa };\nexport { btoaPolyfill };\nexport { decode as fromBase64 };\nexport { encode as toBase64 };\nexport { utob };\nexport { encode };\nexport { encodeURI };\nexport { encodeURI as encodeURL };\nexport { btou };\nexport { decode };\nexport { isValid };\nexport { fromUint8Array };\nexport { toUint8Array };\nexport { extendString };\nexport { extendUint8Array };\nexport { extendBuiltins };\n// and finally,\nexport { gBase64 as Base64 };\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nexport default baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\nexport default overArg;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n    return false;\n  }\n  var proto = getPrototype(value);\n  if (proto === null) {\n    return true;\n  }\n  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n    funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n"],"names":["ContextTypes","getAtlaskitAnalyticsEventHandlers","getAtlaskitAnalyticsContext","noop","AnalyticsListener","Component","constructor","props","super","this","getAnalyticsEventHandlers","channel","onEvent","context","event","eventChannel","contextValue","render","children","value","analyticsContext","useAnalyticsContext","onEventRef","useTrackedRef","channelRef","useCallback","current","useMemo","_process$env","ModernAnalyticsListener","LegacyAnalyticsListener","useContext","ref","useRef","_ref","_process","_process2","_process2$env","DEBUG_MODE","undefined","globalThis","process","env","JEST_WORKER_ID","NODE_ENV","debug","args","console","pkgName","PFF_GLOBAL_KEY","hasProcessEnv","ENABLE_GLOBAL_PLATFORM_FF_OVERRIDE","DEFAULT_PFF_GLOBAL","earlyResolvedFlags","Map","booleanResolver","flagKey","globalVar","window","getBooleanFF","name","_globalVar$PFF_GLOBAL3","result","warn","e","_super","AnalyticsContext","_this","call","getChildContext","getAnalyticsContext","data","ancestorData","state","prototype","Children","contextTypes","childContextTypes","UIAnalyticsEvent","clone","hasFired","handlers","payload","JSON","parse","stringify","fire","forEach","handler","update","updater","AnalyticsEvent","AnalyticsContextConsumer","originalEventProps","patchedEventProps","updatePatchedEventProps","changedPropCallbacks","Object","keys","createEventMap","filter","p","length","mapCreateEventsToProps","changedPropNames","reduce","modified","propCallbackName","_a","eventCreator","providedCallback","includes","_i","arguments","analyticsEvent","createAnalyticsEvent","apply","wrappedComponentProps","defaultProps","templateObject_1","TRANSITION_DURATION","gridSizeValue","xsmall","small","medium","large","xlarge","xxlarge","AVATAR_RADIUS","BORDER_WIDTH","backgroundColorFocus","overlayColorHover","overlayColorSelected","overlayColorDisabled","themed","light","dark","getBorderRadius","config","includeBorderWidth","borderWidth","size","appearance","getAvatarDimensions","sizeOnly","finalSize","isInteractive","Boolean","href","onClick","isClickable","backgroundColor","borderColor","cursor","outline","overlayShade","overlayOpacity","pointerEvents","position","transform","transitionDuration","isActive","isHover","isFocus","isDisabled","isSelected","stackIndex","css","getBackgroundColor","backgroundColors","mode","isLoading","getDimensions","width","height","getPresenceLayout","presencePosition","presenceSize","bottom","right","getStatusLayout","statusPosition","statusSize","top","propsDefaults","presence","Theme","createTheme","propsWithDefaults","borderRadius","dimensions","status","Consumer","testId","style","display","zIndex","PresenceWrapper","StatusWrapper","ShapeGroup","Slot","backgroundImage","label","role","backgroundPosition","backgroundRepeat","backgroundSize","flex","Svg","otherProps","DefaultImage","title","viewBox","version","xmlns","cx","cy","r","d","x","y","AvatarImage","hasError","handleLoadSuccess","setState","handleLoadError","componentDidMount","src","img","Image","onerror","componentDidUpdate","prevProps","onload","alt","_b","imageUrl","PureComponent","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","BusyCircle","colors","BusyPath","FocusPath","OfflineOuter","OfflineInner","OnlineCircle","Outer","bgColor","Inner","Presence","ApprovedCircle","ApprovedPath","DeclinedCircle","DeclinedPath","LockedCircle","LockedPath","Status","mapping","validIconSizes","Avatar","createAndFireEventOnAtlaskit","consumerEvent","clonedEvent","clickAnalyticsCaller","action","actionSubject","attributes","componentName","packageName","packageVersion","blur","focus","guardedClick","item","renderIcon","showPresence","showStatus","indexOf","String","customPresenceNode","customStatusNode","setRef","enableTooltip","theme","enhancedProps","getProps","getStyledAvatar","displayName","AvatarNode","Provider","innerRef","Tooltip","content","AvatarWithoutAnalytics","DecoratedComponent","MapProps","component","setComponent","mapped","acc","key","withPseudoState","defaultData","WrappedComponent","WithAnalyticsContext","rest","analyticsData","WithAnalyticsEvents","propsOmittedFromClickData","getAppearanceProps","groupAppearance","getInteractionProps","onBlur","onFocus","onKeyDown","onKeyUp","onMouseDown","onMouseEnter","onMouseLeave","onMouseUp","tabIndex","getLinkElementProps","target","rel","getButtonElementProps","id","interface","disabled","CustomComponentProxy","ProxiedComponent","avatar","primaryText","secondaryText","styles","StyledCustomComponent","StyledButton","StyledLink","StyledSpan","Ret","ComponentWithPseudoState","actionKeys","UNSAFE_componentWillMount","omit","obj","e_1","keysToOmit","newObj","keysToOmit_1","keysToOmit_1_1","next","done","e_1_1","error","return","getDisplayName","prefix","R200","R300","R400","Y300","G200","G300","G400","B75","B100","B200","B400","N0","N40","N50","N200","N500","N800","N900","N70A","N200A","DN800","DN600","DN500","DN300","DN100","DN50","DN30","DN80A","background","backgroundActive","backgroundHover","purple","gridSize","withTheme","InnerComponent","tokens","assign","defaultGetTokens","emptyThemeFn","getTokens","ThemeContext","createContext","themeProps","themeFn","valueFn","mixedFn","DEFAULT_THEME_MODE","THEME_MODES","getTheme","__ATLASKIT_THEME__","modesOrVariant","variantModes","variantProp","variants","modes","extendStatics","b","setPrototypeOf","__proto__","Array","hasOwnProperty","__extends","__","create","__assign","t","s","i","n","__rest","getOwnPropertySymbols","propertyIsEnumerable","__values","o","Symbol","iterator","m","TypeError","__read","ar","push","__spread","concat","__makeTemplateObject","cooked","raw","defineProperty","cache","serialized","isStringTag","className","registered","EmotionCacheContext","HTMLElement","func","forwardRef","typePropName","Insertion","inserted","insert","sheet","Emotion$1","cssProp","registeredStyles","classNames","rawClassName","split","newProps","jsx","type","argsLength","createElementArgArray","createEmotionProps","_len","_key","useEffect","usePlatformLeafEventHandler","fn","useAnalyticsEvents","dataRef","fnRef","CHANNEL","useTheme","analyticsAttributes","baseStyles","inset","overflowY","shouldAllowClickThroughStyles","invisibleStyles","backgroundStyle","Blanket","memo","shouldAllowClickThrough","isTinted","onBlanketClicked","mouseDownTarget","onBlanketClickedWithAnalytics","blanketClickOutsideChildren","currentTarget","tslib_1","react_1","__importDefault","core_1","memoize_one_1","analytics_next_1","components_1","theme_1","version_json_1","Content_1","IconWrapper_1","InnerWrapper_1","LoadingSpinner_1","utils_1","Button","button","default","createRef","getComposedRefs","composeRefs","preventDefault","getElement","onInnerClick","stopPropagation","autoFocus","HTMLButtonElement","CustomComponent","consumerRef","iconAfter","iconBefore","_c","_d","_e","_f","shouldFitContainer","_g","spacing","_h","iconIsOnlyChild","mapAttributesToState","buttonStyles","spinnerStyles","filterProps","fit","isOnlyChild","icon","followsIcon","createAndFireEvent","ButtonWithRef","exports","withAnalyticsContext","withAnalyticsEvents","constants_1","alignItems","alignSelf","margin","maxWidth","overflow","textOverflow","whiteSpace","getLoadingStyle","flexShrink","lineHeight","fontSize","userSelect","flexWrap","justifyContent","spinner_1","appearances","LoadingSpinner","invertSpinner","spinnerSize","compactButtonHeight","buttonHeight","getBackground","applyPropertyStyle","baseTheme","getBoxShadow","getColor","getHeight","getLineHeight","getPadding","getTextDecoration","getTransition","getTransitionDuration","getVerticalAlign","getWidth","staticStyles","boxSizing","fontStyle","fontWeight","textAlign","textDecoration","getButtonStyles","boxShadow","color","padding","transition","verticalAlign","border","getSpinnerStyles","left","opacity","refs","hex2rgba","hex","alpha","test","colorArr","substring","join","Error","__importStar","getStyles_1","fallbacks","N20A","DN70","N400","DN400","hover","N30A","DN60","active","selected","N700","DN0","focusSelected","primary","B300","B500","warning","Y200","Y400","danger","R500","link","N20","subtle","boxShadowColor","Y500","R100","N70","N90","B50","property","propertyStyles","appearanceStyles","stateStyles","getCursor","InnerWrapper","IconWrapper","Content","parentEventHandlers","BaseAnalyticsErrorBoundary","fireAnalytics","analyticsErrorPayload","eventType","browserInfo","navigator","userAgent","componentDidCatch","info","contextRef","useCallbackWithAnalytics","method","methodRef","payloadRef","pload","cleanProps","presetSizes","rotate","keyframes","loadIn","delay","providedSize","strokeColor","DN900","getStrokeColor","focusable","R50","R75","Y50","Y75","Y100","G50","G75","G100","G500","P50","P75","P100","P200","P300","P400","P500","T50","T75","T100","T200","T300","T400","T500","N10","N30","N60","N80","N100","N300","N600","N10A","N40A","N50A","N60A","N80A","N90A","N100A","N300A","N400A","N500A","N600A","N700A","N800A","DN700","DN200","DN90","DN80","DN40","DN20","DN10","DN800A","DN700A","DN600A","DN500A","DN400A","DN300A","DN200A","DN100A","DN90A","DN70A","DN60A","DN50A","DN40A","DN30A","DN20A","DN10A","backgroundOnLayer","text","textHover","textActive","subtleText","placeholderText","heading","subtleHeading","codeBlock","linkHover","linkActive","linkOutline","blue","teal","red","yellow","green","skeleton","getStylesheetResetCSS","buildThemeState","LegacyReset","AtlaskitThemeProvider","getThemeMode","hasAtlaskitThemeProvider","stylesheet","document","createElement","innerHTML","head","appendChild","UNSAFE_componentWillReceiveProps","newThemeState","componentWillUnmount","removeChild","ThemeProvider","merged","orTextColor","preferred","textColor","Div","ResetTheme","linkColor","linkColorHover","linkColorActive","linkColorOutline","headingColor","subtleHeadingColor","subtleTextColor","Reset","FLATTENED","fontSizeSmall","fontFamily","codeFontFamily","focusRing","outlineWidth","noFocusRing","layers","card","dialog","navigation","layer","blanket","modal","flag","spotlight","tooltip","visuallyHidden","clip","assistive","skeletonShimmer","animationDuration","animationIterationCount","animationTimingFunction","animationDirection","from","to","safeIsNaN","Number","isNaN","areInputsEqual","newInputs","lastInputs","first","second","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","__decorate","decorators","desc","c","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","rejected","then","__generator","body","f","g","_","sent","trys","ops","verb","v","op","pop","__createBinding","k","k2","__exportStar","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","mod","__esModule","__classPrivateFieldGet","receiver","privateMap","has","get","__classPrivateFieldSet","set","resolveBooleanFlag","gridAutoColumns","gridAutoRows","font","textLabelLayoutStyles","gap","gridTemplateColumns","disabledStyles","labelStyles","Label","sizes","sizeStyleMap","svgStyles","stop","stopColor","primaryColor","secondaryColor","fill","isIndeterminate","isChecked","rx","getIcon","fillRule","labelTextStyles","gridArea","LabelText","requiredIndicatorStyles","paddingLeft","RequiredIndicator","checkboxStyles","stroke","strokeWidth","outlineOffset","Checkbox","isCheckedProp","isInvalid","defaultChecked","onChange","onChangeProps","isRequired","isCheckedState","setIsCheckedState","useState","onChangeAnalytics","checked","internalRef","mergedRefs","required","multiply","factor","divide","divisor","activeBackgroundColor","hoverBackgroundColor","selectedBackgroundColor","activePrimaryTextColor","defaultPrimaryTextColor","disabledPrimaryTextColor","primaryPrimaryTextColor","selectedPrimaryTextColor","focusedStyles","activeStyles","primaryStyles","sharedStyles","isHidden","isPrimary","isFocused","Anchor","componentId","Span","InputWrapper","Before","After","ContentWrapper","allowMultiline","Description","getInputBackground","isHovered","isPressed","getInputFill","appearanceProps","supportsVoiceOver","Element","_PureComponent","_getPrototypeOf2","handleMouseDown","ariaProps","ariaRoles","checkbox","option","radio","commonProps","handleClick","onKeyPress","handleKeyPress","onMouseOut","handleMouseOut","onMouseOver","handleMouseOver","handleMouseUp","consolidatedProps","inputTypes","Item","addEventListener","removeEventListener","_this$props","onActivate","guardedActivate","_this$state","hasInput","Input","element","elemBefore","shouldAllowMultilineItems","description","elemAfter","tooltipDescription","tooltipPosition","itemContext","Heading","HeadingAfter","HeadingText","DroplistGroup","ariaLabel","getAriaLabel","afterText","headingElement","textContent","_this2","_this$props2","Group","ScrollBlock","positionMap","animation","maxHeight","FixedTarget","fixedOffset","targetRef","rect","firstChild","getBoundingClientRect","Layer","_Component","frameId","wrapperFn","popperHeight","offsets","popper","Math","round","cssPosition","fixPositionTopUnderflow","originalHeight","calculateMaxHeight","hasExtractedStyles","flipped","actualPosition","originalPosition","extractStyles","bind","requestAnimationFrame","cancel","cancelAnimationFrame","applyPopper","calculateFixedOffset","nextProps","prevState","onFlippedChange","onPositioned","destroy","currentHeight","positionTop","DocumentElementClientHeight","documentElement","clientHeight","boundariesElement","viewportHeight","max","innerHeight","isAlwaysFixed","actualTarget","popperTop","fixedRef","contentRef","popperOpts","placement","positionToPopper","onCreate","onUpdate","modifiers","applyStyle","enabled","hide","offset","flip","autoFlip","flipVariations","preventOverflow","escapeWithReference","positionFixed","flipBehavior","isArray","getFlipBehavior","behavior","lockScroll","_this$state2","_ref2","_ref3","_ref4","isTall","SpinnerContainer","Trigger","dropdownPadding","droplistItemTheme","compact","dropOffset","Droplist","setContentWidth","handleClickOutside","handleEsc","isOpen","_assertThisInitialize","dropContentRef","triggerRef","offsetWidth","halfFocusRing","close","Node","withinTrigger","contains","withinContent","onOpenChange","isMenuFixed","shouldFlip","trigger","layerContent","handleContentRef","handleTriggerRef","focusManagerContext","selectionCacheContext","clickManagerContext","KEY_UP","KEY_DOWN","KEY_ENTER","DropdownItemFocusManager","itemId","itemNode","registeredItems","focusedItemId","matchingIndex","focusedItemIndex","handleItemRegistered","shiftKey","nextItemIndex","min","source","itemFocused","handleItemFocused","registerItem","deregisterItem","handleItemDeregistered","updateItem","handleItemUpdated","handleKeyboard","DropdownItemClickManager","onItemClicked","itemClicked","handleItemClicked","isItemInList","itemList","groupId","DropdownItemSelectionCache","lastCacheUpdate","newGroupSelections","newSelectedItems","selectedItems","Date","now","isItemSelected","itemsInGroup","itemSelectionsChanged","handleItemSelectionsChanged","hasItemAlreadyHadDefaultSelectedApplied","alreadyDefaultedItems","markItemAsDefaultApplied","DropdownMenuStateless","uid","autoFocusDropdownItems","isUsingDeprecatedAPI","domItemsList","focusFirstItem","prevProp","indexItem","available","currentItem","latestAvailable","getAttribute","getNextFocusable","getPrevFocusable","sourceOfIsOpen","focusItem","focusedItem","index","isDroplistItem","thisDom","findDOMNode","open","isTargetChildItem","focusPreviousItem","focusNextItem","menuContainer","domMenuContainer","toggle","items","handleClickDeprecated","triggerContainer","triggerButtonProps","triggerType","insideTriggerContent","triggerProps","defaultButtonProps","attrs","triggerContent","map","itemIndex","onItemActivated","groups","group","groupIndex","renderItems","querySelectorAll","renderGroups","dropdownListPositioned","Fragment","_this$props3","isDeprecated","deprecatedProps","handleKeyboardInteractionsDeprecated","handleKeyboardInteractionForClosed","renderTrigger","onDroplistPositioned","renderDeprecated","WidthConstrainer","renderDropdownItems","DropdownMenu","_args","defaultOpen","activatedItem","activatedGroup","findActivatedGroup","_len2","_key2","_len3","_key3","handleItemActivation","handleOpenChange","styled_components_1","uuid_1","colors_1","getSize","span","svgStr","Glyph","glyph","dangerouslySetGlyph","glyphProps","dangerouslySetInnerHTML","__html","replace","sizeMap","_react","_interopRequireDefault","_Icon","_extends","ChevronDownIcon","_default","CheckboxIcon","RadioIcon","Box","as","flexDirection","borderStyle","shadow","paddingBlock","paddingInline","UNSAFE_style","htmlAttributes","node","displayMap","paddingMap","paddingBlockMap","paddingInlineMap","flexAlignItemsMap","flexJustifyContentMap","backgroundColorMap","borderColorMap","borderStyleMap","borderWidthMap","borderRadiusMap","shadowMap","layerMap","flexDirectionMap","overflowMap","widthMap","heightMap","none","solid","dashed","dotted","normal","rounded","badge","column","row","center","baseline","flexStart","flexEnd","start","end","block","inline","inlineFlex","inlineBlock","absolute","fixed","relative","static","auto","hidden","focused","input","inverse","brand","success","discovery","information","bold","neutral","overlay","raised","SurfaceContext","useSurface","asAllowlist","textAlignMap","textTransformMap","textTransform","lowercase","uppercase","verticalAlignMap","middle","truncateStyles","HasTextAncestorContext","colorProp","shouldTruncate","surface","inverseTextColor","useColor","isWrapped","fontFamilyMap","sans","textColorMap","fontSizeMap","fontWeightMap","lineHeightMap","regular","semibold","monospace","subtlest","useAutoFocus","initialMount","ESCAPE","useCloseOnEscapePress","onClose","escapePressed","listener","capture","mergeRefs","getRegisteredStyles","registerStyles","classnames","len","cls","arg","toAdd","serializedArr","ClassNames","merge","ele","baseFocusOutsideStyles","baseInsetStyles","outlineColor","outlineStyle","focusRingStyles","insetFocusRingStyles","FocusRing","isInset","focusCls","cloneElement","themeNamespace","compactSmallFontSize","compactLineHeight","defaultTheme","afterItemSpacing","beforeItemSpacing","dragging","isValidCssValue","getThemeStyle","maybeTheme","parentKey","themeWithKeys","appear","uniqueReferencedValue","useLazyCallback","callback","initializer","useLazyRef","useStateRef","initialState","setValue","valueRef","modalStackRegister","FOCUS_GROUP","FOCUS_DISABLED","toArray","ret","asArray","_typeof","filterNested","nodes","l","_loop","_ret","getTopParent","parentNode","currentNode","focusInFrame","frame","activeElement","tabSort","tabDiff","indexDiff","orderByTabIndex","filterNegative","keepGuards","dataset","focusGuard","sort","queryTabbables","tabbables","queryGuardTabbables","getFocusables","parents","withGuards","parent","isVisible","nodeType","DOCUMENT_NODE","computedStyle","getComputedStyle","getPropertyValue","getParents","getCommonParent","nodea","nodeb","parentsA","parentsB","currentParent","filterFocusable","tagName","notHiddenInput","getTabbableNodes","topNodes","isRadio","findSelectedRadio","el","pickFocusable","isGuard","notAGuard","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","entry","subEntry","common","topNode","lastNode","entries","commonParent","innerElements","_ref5","srcNodes","dstNodes","remap","autoFocusables","outerNodes","_ref6","orderedInnerElements","entity","innerNodes","_ref7","newId","autoFocused","cnt","firstFocus","lastFocus","isOnGuard","activeIndex","lastIndex","lastNodeInside","firstNodeIndex","lastNodeIndex","returnFirstNode","returnLastNode","abs","newFocus","parentFocus","parentAutofocusables","allParentAutofocusables","autofocus","guardCount","lockDisabled","deferAction","setImmediate","setTimeout","isFreeFocus","some","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","startIndex","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","activateTrap","_lastActiveTrap","observed","persistentFocus","shards","workingNode","portaledElement","workingArea","whiteList","focusWhitelisted","array","search","focusInsideIframe","contentWindow","newActiveElement","find","removeAttribute","focusedIndex","onTrap","onWindowBlur","propsList","slice","trap","lastTrap","sameTrap","onActivation","onDeactivation","hiddenGuard","InFocusGuard","propTypes","RenderChildren","emptyArray","FocusLock","originalFocusedElement","returnFocus","observerNode","_extends2","noFocusGuards","allowTextSelection","_this$props$shards","_this$props$as","Container","_this$props$lockProps","lockProps","containerProps","hasLeadingGuards","hasTailingGuards","setObserveNode","useDocumentEvent","eventName","options","getScrollDistance","_document$documentEle","_document$body","pageYOffset","scrollTop","maxWidthDimensions","maxHeightDimensions","modalStackTransition","positionerBaseStyles","positionerResponsiveBaseStyles","abort","onKey","keyCode","onMouseDownCapture","onMouseUpCapture","onKeyDownCapture","onKeyUpCapture","onTouchStartCapture","onTouchEndCapture","onPointerDownCapture","onPointerUpCapture","onClickCapture","doNotBlock","fadedB75","heights","lineHeights","singleIconPadding","innerMargin","getColors","getIconStyle","flexGrow","getContentStyle","overlayCss","noPointerEventsOnChildrenCss","buttonCss","providedOnMouseDown","providedOnClick","interactionName","ourRef","interactionContext","tracePress","timeStamp","hasOverlay","fadeCss","getFadingCss","spinnerHackCss","blockEvents","getIsOnlySingleIcon","rotateStyles","transformOrigin","strokeDashoffset","loadInStyles","animationFillMode","wrapperStyles","circleStyles","strokeDasharray","strokeLinecap","useLayoutEffect","animationDelay","hold","getSpinnerAppearance","stateToSelectorMap","getCustomCss","isOnlySingleIcon","baseColors","getCss","selector","defaultThemeFn","values","getInteractionState","initial","CustomThemeButton","providedOnMouseEnter","providedOnMouseLeave","providedOnMouseUp","providedOnFocus","providedOnBlur","restProps","ModalFooter","actions","TitleIcon","isHeadingMultiline","titleIconStyles","Icon","ModalHeader","titleTextStyles","keyline","showKeyline","scrollableStyles","showTopKeyline","showBottomKeyline","shouldScroll","ScrollContainer","hasSiblings","setSiblings","previous","showContentFocus","setContentFocus","setTopKeyline","setBottomKeyline","scrollableRef","setLazySiblings","setLazyContentFocus","scrollHeight","setLazyKeylines","scrollableDistance","previousElementSibling","nextElementSibling","emptyObject","DeprecatedBody","components","footer","header","isChromeless","headingId","Body","CustomBody","Header","Footer","Positioner","scrollBehavior","positionerStyles","getPositionRelativeStyles","getPositionFixedStyles","getPositionAbsoluteStyles","isBlanketHidden","onCloseComplete","onOpenComplete","shouldCloseOnEscapePress","shouldCloseOnOverlayClick","scrollDistance","scrollTopOffset","setScrollTopOffset","onWindowScroll","scrollTo","pageXOffset","usePreventProgrammaticScroll","isForeground","onCloseHandler","motionRef","onMotionFinish","useOnMotionFinish","fillScreenStyles","getFillScreenStyles","dialogStyles","dialogHeight","widthName","toString","dialogWidth","getDialogStyles","fadeInProps","entranceDirection","onFinish","bottomFadeInProps","ModalWrapper","stackIndexOverride","onStackChange","isExiting","stackIndexRef","setStackIndex","currentStackIndex","previousStackIndex","usePreviousValue","updateStack","newStackIndex","unshift","splice","cb","useModalStack","WIDTH_ENUM","widths","defaultValue","gutter","verticalOffset","modalPadding","actionMargin","titleMargin","keylineHeight","keylineColor","focusOutlineColor","dangerColor","warningColor","newStyled","headerStyles","titleStyles","Title","getTitleTextStyles","lineHeightOffset","iconColor","getTitleIconStyles","bodyStyles","baseFooterStyles","externalFooterStyles","internalFooterStyles","themedBackground","getIconSize","iconStyles","baseHcmStyles","primaryEqualsSecondaryHcmStyles","secondaryTransparentHcmStyles","_base","ErrorIcon","WarningIcon","insertable","anim","emptyContext","ExitingContext","wrapChildWithContextProvider","child","childrenToObj","ExitingPersistence","appearFromProp","childs","exitThenEnter","childrenAsArray","childrenToArray","childrenObj","previousChildren","persistedChildren","forceRender","updateState","useForceRender","exitingChildren","defaultContextValue","currentMap","isAnyPreviousKeysMissingFromCurrent","exitingChildMountedAgain","hasAnyExitingChildMountedAgain","splicedChildren","previousMap","spliceNewElementsIntoPrevious","currentChild","useExitingPersistence","useSetTimeout","opts","cleanup","timeouts","clearTimeout","getHookDeps","timeout","timeoutId","StaggeredEntranceContext","isReady","enteringAnimation","exitingAnimation","isPaused","onFinishMotion","duration","staggered","indentifier","identifier","random","performance","useUniqueId","useStaggeredEntrance","onExitFinished","paused","hasAnimationStyles","setHasAnimationStyles","isCancelled","animationName","animationPlayState","directionMotions","proportional","constant","invertedDirection","fadeInAnimation","direction","distance","fadeOutAnimation","exitDirection","invertedEntranceDirection","isReducedMotion","matches","matchMedia","prefersReducedMotion","easeInOut","mediumDurationMs","durationStep","largeDurationMs","constantModifiers","boundary","rootBoundary","defaultChildrenFn","defaultOffset","Popper","referenceElement","strategy","offsetX","offsetY","internalModifiers","mergedModifiers","createContainer","container","getPortalParent","parentElement","querySelector","removePortalContainer","appendPortalContainerIfNotAppended","InternalPortal","createPortal","isSubsequentRender","setIsSubsequentRender","zIndexToName","getLayerName","firePortalEvent","detail","CustomEvent","getEvent","dispatchEvent","zIndexNumber","Portal","ManagerReferenceNodeContext","safeInvoke","initialStyle","initialArrowStyle","InnerPopper","_React$Component","popperNode","updatePopperInstance","arrowNode","order","eventsEnabled","arrow","updateStateModifier","arrowStyles","popperInstance","destroyPopperInstance","getOptions","scheduleUpdate","_proto","enableEventListeners","disableEventListeners","setPopperNode","getPopperStyle","getPopperPlacement","outOfBoundaries","getOutOfBoundariesState","arrowProps","setArrowNode","getArrowStyle","referenceNode","FlipBehavior","getModifiers","side","setAttribute","getBody","condition","message","layerName","createEvent","params","bubbles","cancellable","initCustomEvent","canUseDOM","portalIsMounted","newContainer","replaceChild","TooltipPrimitive","truncate","defaultStyle","enter","transitionStyle","entering","entered","exiting","immediatelyHide","immediatelyShow","onExited","in","inProp","exit","Transition","unmountOnExit","getStyle","hoveredPayload","unhoveredPayload","SCROLL_OPTIONS","passive","getMousePosition","mouseCoordinates","safeMouse","clientWidth","pendingHide","wrapperRef","cancelPendingSetState","userInteraction","renderTooltip","handleWindowScroll","handleMouseClick","hideTooltipOnClick","hideTooltipOnMouseDown","fakeMouseElement","clientX","clientY","handleShowTooltip","handleFocus","defaultDelay","isHidePending","pending","flush","showTooltip","handleHideTooltip","flushed","handleMouseMove","removeScrollListener","_prevProps","onShow","onHide","shouldPositionTooltipNearMouse","mousePosition","TooltipContainer","tag","TargetContainer","onMouseMove","getAnimationStyles","DynamicConfig","configName","configValue","ruleID","evaluationDetails","secondaryExposures","allocatedExperimentName","onDefaultValueFallback","_onDefaultValueFallback","_name","_ruleID","_secondaryExposures","_allocatedExperimentName","_evaluationDetails","typeGuard","val","getValue","expectedType","actualType","ExceptionEndpoint","Errors_1","ErrorBoundary","sdkKey","_seen","Set","_sdkKey","_setStatsigMetadata","statsigMetadata","_statsigMetadata","_swallow","task","_capture","recover","getExtraData","catch","_onCaught","_logError","extra","unwrapped","isError","add","stack","_getDescription","exception","fetch","headers","_error","StatsigUninitializedError","StatsigInvalidArgumentError","StatsigErrorMessage","REQUIRE_SYNC_INITIALIZE","layerValue","logParameterFunction","undelegatedSecondaryExposures","explicitParameters","_logParameterFunction","_value","_undelegatedSecondaryExposures","_explicitParameters","_create","logAndReturn","_logLayerParameterExposure","parameterName","user","logUser","privateAttributes","time","writable","configurable","enumerable","__setModuleDefault","DynamicConfig_1","ErrorBoundary_1","Layer_1","StatsigIdentity_1","StatsigLogger_1","StatsigNetwork_1","StatsigSDKOptions_1","StatsigStore_1","StatsigLocalStorage_1","Timing_1","LogEvent_1","StatsigClient","_initCalled","_pendingInitPromise","_logLayerParameterExposureForLayer","isManualExposure","allocatedExperiment","exposures","isExplicit","_logger","logLayerExposure","_identity","_user","localMode","startsWith","_startTime","_errorBoundary","_ready","_options","disableLocalStorage","_normalizeUser","overrideStableID","_network","_store","logConfigDefaultValueFallback","initializeValues","_delayedSetup","setInitializeValues","bootstrap","sendSavedRequests","initializeAsync","_fetchAndSaveValues","initTimeoutMs","finally","getEvaluationDetails","getGlobalEvaluationDetails","reason","EvaluationReason","checkGate","gateName","_checkGateImpl","checkGateWithExposureLoggingDisabled","logGateExposure","_logGateExposureImpl","getConfig","_getConfigImpl","getConfigWithExposureLoggingDisabled","logConfigExposure","_logConfigExposureImpl","getExperiment","experimentName","getExperimentWithExposureLoggingDisabled","logExperimentExposure","getLayer","_getLayerImpl","getLayerWithExposureLoggingDisabled","logLayerParameterExposure","_getLayerFromStore","logEvent","REQUIRE_INITIALIZE_FOR_LOG_EVENT","log","updateUserWithValues","fireCompletionCallback","updateStartTime","initializeCalled","REQUIRE_ASYNC_INITIALIZE","updateUserCompletionCallback","updateUser","currentUser","resetDedupeKeys","shutdown","getStableID","stableID","saveStableID","userCopy","environment","statsigEnvironment","_ensureStoreLoaded","isLoaded","_getEvaluationDetailsForError","sinceTime","getLastUpdateTime","fetchValues","eventually","json","has_updates","save","is_no_content","setEvaluationReason","NetworkNotModified","callsite","_getGateFromStore","gate","fetchResult","rule_id","secondary_exposures","_getConfigFromStore","_getEmptyConfig","localConfig","logFunc","Constants_1","Hashing_1","SDKVersion_1","Identity","_sdkType","_sdkVersion","getItem","STATSIG_STABLE_ID_KEY","_getUUID","sdkType","sdkVersion","setItem","getUserCacheKey","uuid","randomDigit","INTERNAL_EVENT_PREFIX","CONFIG_EXPOSURE_EVENT","LAYER_EXPOSURE_EVENT","GATE_EXPOSURE_EVENT","LOG_FAILURE_EVENT","DEFAULT_VALUE_WARNING","MAX_LOCAL_STORAGE_SIZE","StatsigLogger","identity","network","errorBoundary","_failedLogEventCount","defaultValueEvent","_loggedErrors","_queue","_flushInterval","_failedLogEvents","_exposureDedupeKeys","_init","disableCurrentPageLogging","location","parts","currentPage","loggingBufferMaxSize","gateValue","details","dedupeKey","_shouldLogExposure","gateExposure","configExposure","isExplicitParameter","clearInterval","isClosing","oldQueue","supportsKeepalive","sendBeacon","sendLogBeacon","events","_addFailedRequest","_saveFailedRequests","processor","postToEndpoint","StatsigEndpoint","Rgstr","response","ok","errorText","eventCount","_newFailedRequest","failedRequests","fireAndForget","requestBodies","_loop_1","this_1","requestBodies_1","requestBody","STATSIG_LOCAL_STORAGE_LOGGING_REQUEST_KEY","_clearLocalStorageRequests","visibilityState","ignoreWindowUndefined","me","setInterval","loggingIntervalMillis","lastTime","requestsCopy","additionalEvents","removeItem","queue","StatsigNetwork","retryCodes","canUseKeepalive","leakyBucket","hash","_postWithTimeout","Initialize","url","URL","eventLoggingApi","LogEventBeacon","searchParams","append","clientTime","stringPayload","endpointName","retries","backoff","useKeepalive","api","counter","postBody","keepalive","res","networkResponse","disableNetworkKeepalive","Request","hasTimedOut","timer","cachedReturnValue","eventuals","boundScope","fetchPromise","_getErrorData","racingPromise","race","headers_1","responseInfo","statusText","redirected","bodySnippet","requestInfo","INIT_TIMEOUT_DEFAULT_MS","StatsigSDKOptions","_j","_k","_l","_m","_o","_p","endsWith","normalizeNumberInput","disableErrorLogging","disableAutoMetricsLogging","bounds","BootstrapValidator_1","StatsigStore","_userCacheKey","_values","_userValues","_getDefaultUserCacheValues","_loaded","_reason","Uninitialized","_loadFromLocalStorage","_setUserValueFromCache","isValid","Bootstrap","InvalidBootstrap","feature_gates","dynamic_configs","layer_configs","evaluation_time","userHash","getHashValue","user_hash","evalReason","jsonConfigs","requestedUserCacheKey","initResponse","userValues","_mergeInitializeResponseIntoUserMap","Network","_writeValuesToStorage","gateNameHash","_getEvaluationDetails","configNameHash","rawConfigValue","_createDynamicConfig","latestValue","_getLatestValue","undelegated_secondary_exposures","allocated_experiment_name","explicit_parameters","_parseCachedValues","INTERNAL_STORE_KEY","allValues","_removeFromStorage","cachedValues","_resetUserValues","Cache","configMap","mergeFn","requestedUserValues","_convertAPIDataToCacheValues","valuesToWrite","filteredValues","fromEntries","topLevelKey","apiConfig","_makeOnConfigDefaultValueFallback","valueExists","reasonOverride","Unrecognized","cacheKey","parameter","defaultValueType","valueType","StatsigClient_1","StatsigStore_2","Statsig","initialize","inst","instance","_getClientX","manuallyLogGateExposure","manuallyLogConfigExposure","manuallyLogExperimentExposure","manuallyLogLayerParameterExposure","BootstrapValidator","evaluatedKeys","evaluatedKeysRecord","copyObject","userToCompare","validate","one","two","copy","userID","customIDs","LOCAL_STORAGE_KEYS","SimpleHash","charCodeAt","StatsigLocalStorage","isStorageAccessible","localStorage","fallbackSessionCache","ignoreDisabledOption","canAccessStorageAccessible","Storage","canAccess","difference","_interopRequireWildcard","_defineProperty2","_classCallCheck2","_createClass2","_possibleConstructorReturn2","_inherits2","_styledComponents","_uuid","_theme","_constants","withConfig","insertDynamicGradientID","ChevronLeftLargeIcon","ChevronUpIcon","CrossIcon","colorPalette8","colorPalette16","colorPalette24","colorPalette","palette","e100","e200","e300","e400","e500","baseHeading","headingSizes","h900","h800","h700","h600","h500","h400","h300","h200","h100","addend","subtract","subtrahend","AtlasKitThemeProvider","UPPERCASE","LOWERCASE","LEADING_CAPITAL","IDENTIFIER","SEPARATORS","LEADING_SEPARATORS","RegExp","SEPARATORS_AND_IDENTIFIER","NUMBERS_AND_IDENTIFIER","camelCase","pascalCase","preserveConsecutiveUppercase","trim","toLowerCase","locale","string","toLocaleLowerCase","toUpperCase","toLocaleUpperCase","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","m1","charAt","postProcess","module","StyleSheet","_insertTag","before","tags","insertionPoint","nextSibling","prepend","insertBefore","isSpeedy","speedy","ctr","nonce","hydrate","rule","createTextNode","createStyleElement","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","identifierWithPointTracking","begin","points","fixedElements","WeakMap","compat","isImplicitRule","line","rules","parsed","toRules","getRules","parentRules","removeLabel","MS","defaultStylisPlugins","createCache","ssrStyles","_insert","stylisPlugins","nodesToHydrate","attrib","currentSheet","omnipresentPlugins","finalizingPlugins","serializer","shouldCache","AddIcon","AppSwitcherIcon","CheckCircleOutlineIcon","CheckCircleIcon","CrossCircleIcon","EditorPanelIcon","EmailIcon","InfoIcon","RefreshIcon","HipchatChevronDownIcon","SelectClearIcon","insertStyles","classList","_hasClass","baseVal","replaceClassName","origClass","classToRemove","remove","keyList","hasProp","hasElementType","equal","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","$$typeof","match","number","for","_addClass","_removeClass","_Transition","addClass","classes","removeClass","CSSTransition","subClass","superClass","onEnter","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExit","onExiting","isStringClassNames","_this$getClassNames6","_reactDom","_TransitionGroup","ReplaceTransition","handleEnter","handleLifecycle","handleEntering","handleEntered","_len4","_key4","handleExit","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","idx","originalArgs","_child$props","excluded","sourceKeys","_objectWithoutPropertiesLoose","_React$Children$toArr","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","PropTypes","_reactLifecyclesCompat","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","mountOnEnter","nextCallback","getDerivedStateFromProps","updateStatus","nextStatus","cancelNextCallback","getTimeouts","mounting","performEnter","performExit","enterTimeout","safeSetState","onTransitionEnd","_this3","nextState","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","childProps","only","object","polyfill","_propTypes","_ChildMapping","_assertThisInitialized","self","ReferenceError","TransitionGroup","firstRender","appeared","mounted","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","_CSSTransition","_ReplaceTransition","mergeChildMappings","getProp","nextChildMapping","isValidElement","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","prev","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","prop","classNamesShape","timeoutsShape","reactPropsRegex","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexPositive","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","orphans","tabSize","widows","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","handleInterpolation","mergedProps","interpolation","couldBeSelectorInterpolation","__emotion_styles","interpolated","createStringFromObject","previousCursor","cached","labelPattern","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","ownKeys","enumerableOnly","symbols","sym","Noop","createStyled","identifierName","shouldForwardProp","targetClassName","__emotion_forwardProp","propName","isReal","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","Styled","withEmotionCache","finalTag","classInterpolations","stringMode","strings","exec","serializeStyles","finalShouldForwardProp","possiblyStyleElement","withComponent","nextTag","nextOptions","getOwnPropertyDescriptors","defineProperties","_objectSpread","isPropValid","composeShouldForwardProps","optionsShouldForwardProp","w","FinalTag","T","Q","getPrototypeOf","Function","Z","L","nn","u","X","rn","clear","delete","h","freeze","isFrozen","tn","U","O","S","M","H","A","I","N","R","D","z","E","F","C","en","on","Proxy","revocable","revoke","proxy","J","K","G","W","B","getOwnPropertyNames","deleteProperty","un","produce","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","path","$","an","_defineProperty","hint","prim","toPrimitive","_objectSpread2","formatProdErrorMessage","code","$$observable","observable","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","isSubscribed","dispatch","proto","isPlainObject","listeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","unsubscribe","compose","funcs","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","middleware","createThunkMiddleware","extraArgument","thunk","withExtraArgument","__spreadArray","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","MiddlewareArray","species","arr","EnhancerArray","freezeDraftable","IS_PRODUCTION","configureStore","rootReducer","curriedGetDefaultMiddleware","middlewareArray","immutableCheck","serializableCheck","isBoolean","getDefaultMiddleware","devTools","enhancers","baseProto","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","combineReducers","finalMiddleware","middlewareEnhancer","finalCompose","trace","defaultEnhancers","storeEnhancers","createAction","prepareAction","actionCreator","prepared","meta","executeReducerBuilderCallback","builderCallback","defaultCaseReducer","actionsMap","actionMatchers","builder","addCase","typeOrActionCreator","addMatcher","matcher","addDefaultCase","createReducer","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","isStateFunction","frozenInitialState_1","caseReducers","cr","previousState","caseReducer","draft","createSlice","_reducer","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","actionCreators","buildReducer","extraReducers","finalCaseReducers","actionMatchers_1","reducerName","prepareCallback","maybeReducerWithPrepare","prepare","commonProperties","RejectWithValue","FulfillWithMeta","miniSerializeError","simpleError","commonProperties_1","unwrapResult","rejectedWithValue","createAsyncThunk2","typePrefix","payloadCreator","requestId","requestStatus","serializeError","aborted","AC","AbortController","class_1","signal","onabort","throwIfAborted","abortReason","idGenerator","nanoid","abortController","promise2","__this","__arguments","finalAction","conditionResult","abortedPromise","err_1","getPendingMeta","rejectWithValue","fulfillWithValue","dispatchConditionRejection","throw","unwrap","withTypes","alm","queueMicrotask","predicate","retrier","bail","err","onError","num","retry","onRetry","mainError","randomize","operation","attempt","bindAll","bind_1","toOptions","bindings","sharedOptions","unbinds","original","binding","getBinding","unbind","bind_all_1","toStringTag","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","parseInt","getAndroidVersionName","getVersionPrecision","compareVersions","reverse","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chrome","chromium","electron","epiphany","firefox","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","browser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","os","parseOS","getOSName","getOSVersion","getPlatform","platform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","isBrowser","compareVersion","substr","isEngine","is","versionName","vendor","model","_propTypes2","_gud2","_classCallCheck","Constructor","_possibleConstructorReturn","_inherits","MAX_SIGNED_31_BIT_INT","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","_temp","emitter","off","newValue","changedBits","componentWillReceiveProps","oldValue","_Component2","_temp2","observedBits","_react2","_implementation2","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","isFocusableInput","wtf","getAllInputs","forms","accumulator","form","findInput","inputs","errors","getInputs","findInput$$1","focusOnFirstError","firstInput","originalSubmit","submit","submitErrors","afterSubmit","_state","charCodeOfDot","reEscapeChar","rePropName","keysCache","keysRegex","toPath","expression","quote","subString","getIn","complexKey","_toPropertyKey","_toPrimitive","setInRecursor","destroyArrays","_result","_result2","numKeys","numericKey","_result3","_array","setIn","FORM_ERROR","ARRAY_ERROR","publishFieldState","formState","field","initialValues","lastSubmittedValues","submitFailed","submitSucceeded","submitting","change","modifiedSinceLastSubmit","touched","validating","visited","submitError","pristine","valid","dirty","dirtySinceLastSubmit","invalid","fieldSubscriptionItems","shallowEqual","keysA","keysB","bHasOwnProperty","subscriptionFilter","dest","subscription","shallowEqualKeys","different","shallowEqualKeys$1","filterFieldState","force","formSubscriptionItems","filterFormState","memoize","isPromise","tripleEquals","hasAnyError","notifySubscriber","subscriber","lastState","notification","notify","notified","createForm","destroyOnUnregister","keepDirtyOnReinitialize","mutators","onSubmit","validateOnBlur","subscribers","fieldSubscribers","fields","asyncErrors","resetWhileSubmitting","lastFormState","inBatch","validationPaused","validationBlocked","preventNotificationWhileValidationPaused","nextAsyncValidationKey","asyncValidationPromises","changeValue","mutate","after","renameField","_extends3","lastFieldState","getMutatorApi","mutatableState","returnValue","resetFieldState","runValidation","notifyFieldListeners","notifyFormListeners","mutatorsApi","getValidators","validators","validator","fieldChanged","safeFields","fieldKeys","limitedFieldLevelValidation","changedField","validateFields","recordLevelErrors","asyncRecordLevelErrors","fieldLevelErrors","promises","setErrors","errorsOrPromise","runRecordLevelValidation","wasAsync","setError","errorOrPromise","promise","runFieldLevelValidation","hasAsyncValidations","asyncValidationPromiseKey","all","processErrors","afterAsync","forEachError","recordLevelError","errorFromParent","hasFieldLevelValidation","fieldLevelError","existing","afterPromise","notifyField","fieldState","fieldSubscriber","markAllFieldsTouched","calculateNextFormState","safeFieldKeys","foundDirty","dirtyFields","dirtyFieldsSinceLastSubmit","nonNullLastSubmittedValues","nextFormState","hasSubmitErrors","hasValidationErrors","convertToExternalFormState","_safeFieldKeys$reduce","notifying","scheduleNotification","resetModifiedAfterSubmit","batch","getFieldState","getRegisteredFields","savedDirtyValues","isValidationPaused","pauseValidation","preventNotification","registerField","fieldConfig","beforeSubmit","haveValidator","silent","getValidator","noValueInFormState","initialValue","validatorRemoved","hasFieldSubscribers","lastOne","reset","restart","resumeValidation","setConfig","asyncValidationPromisesKeys","resolvePromise","completeCalled","complete","memoized","onComplete","clearTimer","factory","Action","readOnly","BeforeUnloadEventType","HashChangeEventType","PopStateEventType","createBrowserHistory","_options$window","defaultView","globalHistory","history","getIndexAndLocation","_window$location","pathname","usr","blockedPopTx","blockers","nextAction","Pop","_getIndexAndLocation","nextIndex","nextLocation","delta","go","applyTx","_getIndexAndLocation2","createEvents","createHref","createPath","getNextLocation","parsePath","createKey","getHistoryStateAndUrl","allowTx","_getIndexAndLocation3","replaceState","Push","_getHistoryStateAndUr","historyState","pushState","Replace","_getHistoryStateAndUr2","back","forward","listen","blocker","unblock","promptBeforeUnload","createHashHistory","_options2$window","_parsePath","_parsePath$pathname","_parsePath$search","_parsePath$hash","handlePop","_getIndexAndLocation4","_getIndexAndLocation6","base","hashIndex","getBaseHref","_getIndexAndLocation7","_getHistoryStateAndUr3","_getHistoryStateAndUr4","_ref$pathname","_ref$search","_ref$hash","parsedPath","searchIndex","timeoutDuration","longerTimeoutBrowsers","debounce","called","scheduled","isFunction","functionToCheck","getStyleComputedProperty","ownerDocument","getParentNode","nodeName","host","getScrollParent","_getStyleComputedProp","overflowX","getReferenceNode","reference","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","offsetParent","getRoot","findCommonOffsetParent","element1","element2","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","axis","sideA","sideB","parseFloat","getWindowSizes","createClass","descriptor","protoProps","staticProps","getClientRect","scrollLeft","horizScrollbar","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","modifier","includeScroll","isFixed","getFixedPositionOffsetParent","getBoundaries","boundaries","excludeScroll","relativeOffset","innerWidth","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","ends","findIndex","cur","isDestroyed","originalPlacement","isCreated","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","setupEventListeners","updateBound","scrollElement","isNumeric","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","Defaults","basePlacement","shiftvariation","_data$offsets","isVertical","shiftOffsets","useHeight","fragments","frag","divider","splitRegex","mergeWithPrevious","str","toValue","index2","parseOffset","transformProp","popperStyles","priority","secondary","keepTogether","floor","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","onLoad","modifierOptions","classCallCheck","jquery","Utils","PopperUtils","maxSize","_maxSize","_size","SPLIT_REGEX","DIGIT_REGEX","LEAD_DIGIT_REGEX","SPEC_CHAR_REGEX","CLEAN_QUOTES_REGEX","pathCache","setCache","getCache","normalizePath","part","isQuoted","shouldBeQuoted","hasLeadingNumber","hasSpecialChars","setter","getter","safe","segments","iter","isBracket","rootChild","rr","reducePropsToState","handleStateChangeOnClient","mountedInstances","emitChange","SideEffect","peek","hasMap","hasSet","hasArrayBuffer","ArrayBuffer","isView","it","flags","valueOf","lastChild","getElementById","___grecaptcha_cfg","onLoadCallbackName","language","useRecaptchaNet","useEnterprise","scriptProps","defer","async","appendTo","getElementsByTagName","SCRIPT_NOT_AVAILABLE","executeRecaptcha","reCaptchaKey","parameters","grecaptcha","enterprise","sitekey","ready","execute","V","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Lazy","Memo","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","compare","_createClass","sizerStyle","visibility","INPUT_PROPS_BLACKLIST","copyStyles","letterSpacing","generateId","AutosizeInput","inputRef","placeHolderSizerRef","placeHolderSizer","sizerRef","sizer","inputWidth","minWidth","inputId","prevId","copyInputStyles","updateInputWidth","onAutosize","inputStyles","scrollWidth","newInputWidth","placeholder","placeholderIsMinWidth","extraWidth","select","injectStyles","sizerValue","previousValue","currentValue","wrapperStyle","inputStyle","inputProps","_objectWithoutProperties","cleanInputProps","inputClassName","renderStyles","any","oneOfType","bool","componentWillMount","componentWillUpdate","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","NodeResolver","_NodeResolver","ManagerReferenceNodeSetterContext","Manager","_React$useState","setReferenceNode","hasUnmounted","handleSetReferenceNode","EMPTY_MODIFIERS","usePopper","popperElement","prevOptions","optionsWithDefaults","onFirstUpdate","phase","elements","requires","popperOptions","newOptions","popperInstanceRef","setOptions","createPopper","forceUpdate","NOOP","NOOP_PROMISE","_ref$placement","_ref$strategy","_ref$modifiers","setPopperElement","_React$useState2","setArrowElement","_usePopper","childrenProps","hasPopperEscaped","modifiersData","isReferenceHidden","unwrapArray","useIsomorphicLayoutEffect","BrowserRouter","basename","historyRef","navigationType","HashRouter","NavigationContext","LocationContext","RouteContext","outlet","invariant","cond","matchRoutes","routes","locationArg","stripBasename","branches","flattenRoutes","score","every","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matchRouteBranch","parentsMeta","parentPath","route","relativePath","caseSensitive","joinPaths","computeScore","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","pathnameBase","normalizePathname","pattern","paramNames","regexpSource","paramName","compilePath","captureGroups","splatValue","decodeURIComponent","safelyDecodeURIComponent","nextChar","paths","normalizeSearch","normalizeHash","useInRouterContext","useLocation","useNavigate","locationPathname","routePathnamesJson","activeRef","toArg","routePathnames","toPathname","routePathnameIndex","toSegments","fromPathname","resolvePathname","resolvePath","resolveTo","Navigate","navigate","Route","_props","Router","basenameProp","locationProp","staticProp","navigationContext","trailingPathname","Routes","parentMatches","routeMatch","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","reduceRight","_renderMatches","useRoutes","createRoutesFromChildren","_exenv","_TouchScrollable","_withLockSheet2","_withTouchListeners2","_utils","ScrollLock","initialHeight","TouchScrollable","SheetLock","pipe","LockToggle","accountForScrollbars","getScrollableArea","scrollableArea","preventInertiaScroll","listenerOptions","allowTouchMove","_ScrollLock","preventTouchMove","totalScroll","currentScroll","isTouchDevice","maxTouchPoints","camelToKebab","paddingRight","getWindowHeight","multiplier","getDocumentHeight","makeStyleTag","styleSheet","cssText","insertStyleTag","pipeFns","fns","SheetProvider","addSheet","getStyles","removeSheet","TouchProvider","nodeRef","forceReflow","maybeNode","maybeAppearing","maybeNextCallback","TransitionGroupContext","contextType","RetryOperation","forever","Infinity","unref","maxRetryTime","minTimeout","maxTimeout","createTimeout","pow","wrap","methods","_originalTimeouts","_timeouts","_maxRetryTime","_fn","_errors","_attempts","_operationTimeout","_operationTimeoutCb","_timeout","_operationStart","_timer","_cachedTimeouts","currentTime","timeoutOps","try","attempts","counts","mainErrorCount","count","EnvironmentApiKeyMapping","FeatureGateEnvironment","Development","Staging","Production","FeatureGatesInitializationProvider","identifiers","customAttributes","initializingComponent","clientOptions","apiKey","FeatureGatesInitialization","Experiments","useExperiment","fireExperimentExposure","useExperimentCohort","getExperimentCohort","useFeatureGate","getInitials","fullName","UserAvatar","userName","avatarSrc","Initials","messages","getStarted","defaultMessage","cloudProducts","cloudProductsMobile","activeSites","profile","licenses","logOut","switchAccount","BlankPointerImage","EmptyView","getStartedUrl","onGetStartedClick","Link","trackingData","eventContainer","eventComponent","magnoliaComponentId","productKey","atlOrigin","parseProductKey","product","getParameterByName","results","Chevron","SubDomain","site","domRootId","hostname","subdomain","domain","trackAndFollowUrl","SiteList","sites","Message","List","ListItem","ProductLink","ProductNameLabel","setIsOpen","singleSite","ProductsView","products","MessageLabel","MessageLabelDivider","UserNav","onSwitchAccountClick","onProfileClick","onLicensesClick","onLogOutClick","UserProfileView","userEmail","onMobileBackClick","onMobileCloseClick","RootContainerMobile","TopRowContainer","UserDetailsContainerMobile","UserNameLabelMobile","UserEmailLabelMobile","FooterMobile","RootContainer","UserDetailsContainer","UserInfoContainer","UserNameLabel","UserEmailLabel","isBorderVisible","UserProfileDropdown","MobileTrigger","logOutUrl","logOutMessage","AvatarContainer","DevopsUserName","DevOpsLogOut","ID_PREFIX","buttonText","startButtonText","contactSupportForCCPSite","ccpSiteMigrationRequiresSupport","ccpStartNewSiteRequiresSupport","ccpSiteMigrationFollowSteps","ccpSiteMigrationFollowStepsBelow","ccpSiteMigrationStepSelect","ccpSiteMigrationStepProductTrials","ccpSiteMigrationStepChoose","ccpSiteMigrationStepExtendProductTrials","ccpSiteMigrationStepSelectThe","ccpSiteMigrationStepSEN","ccpSiteMigrationStepDCLicense","ccpSiteMigrationStepHelp","ccpSiteMigrationStepAdditionalInfo","ccpSiteMigrationStepAdditionalDetailsFieldName","startButtonTextChooseSignup","loginChooseSignup","devopsButtonText","devopsStartButtonText","submitProcessingLabel","defaultWelcomeMessage","personalizedWelcomeMessage","noCard","alwaysFreeForUpto","noCreditCardNeeded","freeAndNoCreditCardNeeded","eula","eulaCompass","eulaCompassTooltip","eulaChooseSignup","marketingConsent","newSite","createNewSite","existingSite","differentAcountSignin","useDifferentAccountSignin","developerMode","invalidMigrationSource","claimedMigrationSource","selectSite","selectAccount","selectOrganization","yourSite","siteNameLabel","siteNameOptional","siteNameOptionalMessageN2N","siteNameOptionalMessageN2E","siteNameSuite","siteNameSuiteDescription","email","password","firstName","lastName","fullNameLabel","gdprMessage","errorValidationMessage","errorDomainLengthMinMsg","errorDomainLengthMinMsgDeferredSiteName","errorDomainLengthMaxMsg","errorDomainTakenMsg","errorDomainTakenMsgDeferredSiteName","errorDomainIsAnnualMsg","errorFirstNameMsg","errorLastNameMsg","errorEmailInvalidMsg","errorEmailInUseMsg","errorEmailInUseLoginToContinueMsg","errorPasswordMinMsg","errorCaptchaMsg","warningTimeoutPending","warningNetworkError","errorTimeout","aaidMismatch","helpTooltipText","deferredSiteNameTooltipText","reCaptchaLegal","infoBoxModal","infoBoxModalCta","infoBoxDefault","infoBoxSite","infoBoxSiteJsw","infoBoxBb","infoBoxSiteBb","jswTrialNotice","jsmConfluenceNotice","yourBitbucketAccount","bitbucketAccountDuplicate","dropdownWithJiraSoftware","dropdownWithoutJiraSoftware","dropdownWithRecommended","dropdownWithoutRecommended","errorName","errorNameLength","siteAdminManageError","freeBreachInfoBoxConsiderTrial","freeBreachInfoBoxCopy","freeBreachInfoBoxStartTrialCta","freeBreachLimitExceededError","devopsCarouselEndTextOne","devopsCarouselEndTextTwo","devopsCarouselEndTextThree","devopsCarouselButton","devopsCarouselEndHeading","devopsSignedInWelcomeMessage","siteNameSuiteDescriptionDevops","errorDomainTakenMsgDevops","errorDomainLengthMinMsgDevops","eulaDevops","helpTooltipTextDevops","opsgenieDataStorageInfoBoxCopy","subheading","greeting","cloudStandard","cloudPremium","cloudFree","ssoCheck","localeError","localeErrorMessage","localeErrorButton","beaconRequireProducts","beaconExplore","inputSiteNameMessage","siteNameInstructions","siteNameInstructionsExperimentB","personalizedNameSiteMessage","bitbucketWorkspaceIdFieldLabelMessage","bitbucketOrganizationIdFieldLabelMessage","bitbucketWorkspaceIdFieldHelperMessage","bitbucketSubmitButtonTextMessage","bitbucketWorkspaceIdFieldErrorMessageCMT","bitbucketWorkspaceIdTakenErrorMessageCMT","bitbucketMissingOrgsInfoMessage","bitbucketCreateNewOrgInfoMessage","bitbucketOrgCreationPreparingProductMessage","bitbucketOrgCreationEstimatedTimeMessage","productActivationFailureMessage","getTranslatableError","isDevops","isDeferredSiteName","Emotion","VAR_PRIMITIVE_ZINDEX","primitiveStyles","zindex","styleWithZIndex","WacSignupFormContainer","ResendEmailContainer","FieldContainer","fadeOnDisable","FieldErrorState","showError","FullNameFieldWrapper","NameFieldGroup","outlineOnFocus","InputSiteNameMessage","InputSiteNameInstructions","LabelDefaultExpandedEmail","ChooseSignupLabel","InputDescription","DropdownTrigger","DropdownButtonStyle","paddingTop","paddingBottom","OrganizationDropdownButtonStyle","JswTrialNotice","DropdownButtonStyleOpen","OrganizationDropdownButtonStyleOpen","SiteNameAfter","SiteNameAfterLabel","EmailAfter","SuccessTextfieldWrapper","hasAccount","isEmpty","isValidating","ChooseSignupSuccessTextfieldWrapper","CompoundField","popOverError","ErrorMessageWithDefaultClassName","RadioGroupWrapper","SvgContainer","WelcomeDiv","headerStyle","WelcomeDivDevops","StyledInfoBoxWrapper","InfoBoxContainer","InfoBoxContent","ModalContents","ReCaptchaEula","ReCaptchaEulaDefaultExpandedEmail","ReCaptchaEulaChooseSignup","Eula","EulaDefaultExpandedEmail","EulaChooseSignup","UnderLabelMessage","TooltipDialog","SigninWithDiffAccount","SitePickerToggle","NoCard","NoCardDefaultExpandedEmail","NoCardChooseSignup","MarketingConsent","MigrationSourceDiv","SitePickerTextfieldWrapper","BitbucketAccountCheckbox","BitbucketFieldsContainer","OrgPickerElementMargin","OrganizationDropdownContainer","OrganizationDropdownTextContainer","OrganizationDropdownItemContainer","FieldLabel","WorkspaceIdPrefix","TextFieldWrapper","HelperMessageContainer","OrgProvisioningProgressContainer","CCPSiteMigrationContainer","FormHeaderRoot","FormHeaderHeading","isGreeting","ChooseSignupFormHeaderHeading","FormHeaderSubheading","ChooseSignupFormHeaderSubheading","userInfo","allowSignupWithAllSocialOptions","shouldShowGreeting","isLoggedIn","shouldShowSubheading","experiment","site_name_additional_copy","site_name_generation","isNewUser","isPaid","isJiraOrConfluenceFree","edition","isConfluence","username","useFormHeaderLabels","labels","productKeys","skip","useBundleHeaderOverride","editionLabelFragment","regex","getEditionLabelFragment","productLabelFragment","getProductLabelFragment","bundleHeaderOverrideOrEmpty","headingLabel","subheadingLabel","sitenameNew","SET_FORM_VALID","UPDATE_PRODUCTS","UPDATE_CONSENT","UPDATE_SUBMIT","UPDATE_FREE_BREACH","cloudName","productsNew","productsExisting","bbWorkspaceName","isSiteInFreeBreach","submitStatus","updateLoggedInFormDataConsent","updateLoggedInFormDataSubmitStatus","UPDATE_GOTO_PRODUCT_URL","UPDATE_SUBMIT_ERROR_MESSAGE","UPDATE_RESEND_EMAIL_ADDRESS","goToProductUrl","submitErrorMessage","resendEmailAddress","updateSharedFormDataResendEmailAddress","updateN2NDeferredPasswordFieldValidationEmail","n2nFieldValidation","fieldName","validationState","updateN2NDeferredPasswordFieldValidationFullName","updateN2NDeferredPasswordFieldProgressEmail","n2nFieldProgress","isPopulated","SET_FORM_INPUT","isNewSiteInput","WAC_SIGNUP_FORM_KEY_BASE","SIGNUP_OFFERING_LABEL_KEY_PREFIX","CONFLUENCE","JIRA_CORE","JSD","TEAM_CENTRAL","JIRA_PRODUCT_DISCOVERY","COMPASS","BEACON","PRODUCT_NAMES","STANDARD_EDITION_LABEL_KEY","PREMIUM_EDITION_LABEL_KEY","EDITION_LABEL_ARRAY","SOCIAL_PROOF_TEXT_KEY_PREFIX","SOCIAL_PROOF_KEY_PREFIX","DEFERRED_SITENAME_AVAILABLE_PRODUCTS","DEFERRED_SITENAME_AVAILABLE_EDITIONS","getFeaturesList","bundleData","featuresListEditionLabelKey","migrationData","isBundle","includesJiraServiceManagement","migrationSourceUuid","migrationFeatureList","migrationUserLimit","migrationUserType","migrationProductName","primaryProductKey","productNameFromKey","nameIdx","productName","bundleName","getBundleData","activeBundlesMap","rawBundleData","getBundleDataByBundleName","bundleProductKeys","getBundleDataByProduct","getPageHeaderLabels","isResponseError","getRedirectUrlFromShadowItError","errorResponse","errorBody","redirectUrl","SET_STATUS","isEnabled","SubmitErrorIDType","error_id","SubmitErrorType","ResendEmailType","ReverseTrialExperimentVariants","ChooseSignupExperimentVariants","enableTintinMvp","provisionSecondPartyApps","enableDeferredSiteName","enableDeferredFullName","enableBundlesAfterSignup","enableDefaultExpandedEmail","enableUseCodeAWSContent","enableChooseSignup","enableMoreSocialSignUpButtons","sliceFeatureFlags","updateFeatureFlags","reducerFeatureFlags","sliceProductKeys","updateProductKeys","reducerProductKeys","featureFlags","n2nDeferredPasswordFieldValidation","n2nDeferredPasswordProgress","loggedInFormValid","loggedInFormData","sharedFormData","formInputSelection","deferredSiteName","getBatch","nullListeners","parentSub","handleChangeWrapper","onStateChange","trySubscribe","addNestedSub","last","createListenerCollection","notifyNestedSubs","tryUnsubscribe","getListeners","Context","createStoreHook","useReduxContext","createDispatchHook","useStore","useDispatch","refEquality","createSelectorHook","equalityFn","_useReduxContext","selectedState","contextSub","useReducer","latestSubscriptionCallbackError","latestSelector","latestStoreState","latestSelectedState","storeState","newSelectedState","checkForUpdates","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","newBatch","useSelector","socialSignUpButtonContinueWithGoogle","socialSignUpButtonContinueWithMicrosoft","socialSignUpButtonSignUpWithEmail","socialSignUpButtonSignUpWithGoogle","SocialButtonIcon","DefaultButton","SocialButton","SocialButtonDefaultExpandedEmail","buttonType","btn","setIsActive","socialSignUpLoadingText","socialSignUpErrorTextContactUs","socialSignUpSomethingWentWrong","socialSignUpSorryForTheInconvenience","SocialSignupErrorView","tryAgainUrl","errorImageSrc","wacEnvUrl","contactUsUrl","Root","Bar","ContactUs","init","converter","defaultAttributes","expires","toUTCString","encodeURIComponent","escape","stringifiedAttributes","attributeName","cookie","write","cookies","jar","found","read","withAttributes","withConverter","SignUpGlobalConfigurationContext","SignUpGlobalConfigurationContextProvider","confirmationPageUrl","checkEmailPageUrl","newUserSignupRedirectUrl","SignupLayoutAnalytics","analyticsTrack","performanceStartTime","signInAccountUrl","switchAccountUrl","queryParameters","_initOrigin","_onloadAnalytics","signInUserOrigin","switchUserOrigin","encode","originAnalyticsAttributes","signInUser","toAnalyticsAttributes","hasGeneratedId","switchUser","newRelic","attribute","performanceDuration","getOriginTraces","setIsMigration","isMigration","trackBbSignupPerf","FABRIC","JIRA_FAMILY","getMigrationData","analytics","productContent","cloudIds","cloudId","checkExtendedTrialAvailability","cloudCreation","eligibleSites","usageLimit","usageType","humanUsageType","migrationSites","invalidMigration","claimedMigration","withCredentials","SIZES_MAP","DEFAULT_SIZE","keyframeNames","enterRotate","leaveRotate","leaveOpacity","templateObject_8","templateObject_7","getStrokeWidth","getStrokeCircumference","strokeRadius","PI","enterOpacity","smallEnterStroke","mediumEnterStroke","largeEnterStroke","xlargeEnterStroke","spinnerColor","spinnerColorInverted","invertColor","templateObject_12","circumference","templateObject_11","animProps","baseAnimation","templateObject_9","standardSizeName","sizeName","getEnterStrokeKeyframe","templateObject_10","templateObject_13","Spinner","transitionNode","idle","endListener","executeCallback","validateSize","isCompleting","disabledBackgroundColor","defaultBackgroundColor","defaultBackgroundColorFocus","defaultBackgroundColorHover","defaultBorderColor","defaultBorderColorFocus","transparent","placeholderTextColor","disabledRules","backgroundColorHover","invalidRules","borderColorFocus","standard","borderColorHover","getContainerTextBgAndBorderColor","getMaxWidth","analyticsParams","Textfield","isCompact","isReadOnly","isMonospaced","elemAfterInput","elemBeforeInput","spreadProps","handleOnFocus","handleOnBlur","handleOnMouseDown","setInputRef","inputElement","containerStyles","wordWrap","toFixed","WebkitTextFillColor","useDebounce","debouncedValue","setDebouncedValue","validateSiteNameDebounced","siteName","setValidation","stargateClient","availability","checkCloudNameAvailability","webPlatform","trackAjax","apiUrl","trailing","NetworkStatus","objectKeys","objectValues","isType","hasKey","onOnlineCallback","networkStatus","ONLINE","OFFLINE","Sender","metalId","synthetic","forceXHR","retryInterval","buffer","restartSending","sendData","updateMeta","blob","status_1","promisifiedBeacon","sendXHR","xhr","XMLHttpRequest","setRequestHeader","send","ontimeout","retryIn","objectValuesToString","Blob","hook","Queue","settings","intervalHandle","flushInterval","bufferType","enqueue","maxBufferSize","updateSettings","newSettings","ErrorModel","CoreType","ERROR","ErrorMetricName","PerformanceMetricName","UserInteractionMetricName","PayloadType","allowedMetricTypeMap","UNCAUGHT","INCREMENT","REQUEST","API","GRAPHQL","VALIDATION","INPUT","UNHANDLED_PROMISE_REJECTION","COMPONENT","COMPONENT_BOUNDARY","COMPONENT_GRAPHQL","COMPONENT_API","APDEX","TIMING","SPEED_INDEX","TIME_TO_INTERACTIVE","TIME_TO_INTERACTIVE_SLO","TIME_TO_FIRST_BYTE","FIRST_PAINT","FIRST_CONTENTFUL_PAINT","FIRST_MEANINGFUL_PAINT","FIRST_MEANINGFUL_PAINT_SLO","FIRST_INPUT_DELAY","REQUEST_TIMING","REQUEST_TIMING_SLO","RESOURCE_TIMING","CACHE_HITS","COMPONENT_PREVIEW","COMPONENT_INTERACTIVE","COMPONENT_READY","COMPONENT_READY_SLO","COMPONENT_REQUEST_TIMING","TASK_SUCCESS","TASK_FAILURE","TASK_DURATION","TASK_TIME_TO_FEEDBACK","TASK_TIME_TO_FEEDBACK_SLO","TASK_TIME_TO_COMPLETE","TASK_TIME_TO_COMPLETE_SLO","allowedTagsMap","isActiveTab","isInitial","isSSR","page","taskId","histogramBuckets","alwaysRequired","alwaysOptional","timersAlwaysOptional","defaultRequirements","optional","defaultPerfRequirements","defaultSLORequirements","defaultComponentRequirements","defaultComponentPerfRequirements","defaultTaskRequirements","defaultTaskPerfRequirements","metricAttributeRequirementsMap","defaultSettings","sampleRate","assertHasValue","metric","valueOrDefault","MetricModel","sender","pageVisibility","increment","constructMetric","decrement","DECREMENT","timing","gauge","GAUGE","metricObj","METRIC","rootId","unsupported","longtask","CallbackProvider","callbacks","doCallbacks","BrowserMetricName","TIMEOUT_THRESHOLD","paintPerformanceObserverPromise","BROWSER_METRICS_MAP","sendMetricTimingCallback","client","histograms","shouldCheckActiveTab","wasPreviouslyHidden","getPage","pageTracker","initialPage","normaliseData","startTime","normalisePaintPerformanceEntries","list","getPaintTimingsWithPerformanceObserverAsync","performanceEntries","getEntriesByType","PerformanceObserver","getEntries","normalisedData","disconnect","observe","entryTypes","childList","subtree","PaintMetricsPlugin","collectors","paintTimings","lastPaintCount","MutationObserver","getNewNodes","getFirstMeaningfulPaintAsync","createPaintTimingObject","domSize","domCountDelta","getFirstMeaningfulPaint","FCPtiming","firstNavigationMark","firstNavTiming","getEntriesByName","usefulTimings","DEFER_CALLBACK","install","getTimings","handleCallbacks","paints","fcp","name_1","defaultCollectors","perfMetrics","onFirstInputDelay","navigationTiming","responseStart","navigationStart","InteractiveMetricsPlugin","supportedMetrics","isPerformanceObserverSupported","timeOrigin","AJAX_INITIATOR_TYPES","DEFAULT_REQUEST_BLACKLIST","normalisePerformanceResourceTiming","initiatorType","ResourceMetricsPlugin","blacklist","timings","filterEntryList","entryList","blackListFilter","resourceName","origin","getBlackListFilter","initialEntryList","allowedInitialEntryList","newEntries","ajaxResults","ErrorsPlugin","BrowserMetricsPlugin","interactiveMetrics","paintMetrics","resourceMetrics","plugins","plugin","addEventHook","PerformanceMarkPlugin","userDefinedAllowlist","allowlist","metricName","markItem","getMarksCallback","markPayload","PageVisibility","doc","hiddenInfo","lastHiddenAt","bindEventListeners","visibilityChange","handleVisibilityChange","documentHiddenInfo","callbackFn","msHidden","webkitHidden","addCallback","removeCallback","defaultGetPageFn","PageTracker","local","dev","staging","prod","envTypes","LOCAL","DEV","STAGING","PROD","metrics","MetalClient","productInfo","hooks","getDefaultHooks","validateProductInfo","mergedSettings","userAgentString","rawBrowserInfo","getUserAgentInfo","onSend","defaultPlugins","SIGN_UP_LOADING_START_MARK","DEVOPS_LOADING_START_MARK","markDevopsLoadingStart","mark","getDevopsTimeToInteractive","measure","measureEntry","submitDevopsTimeToInteractive","devopsTTI","AuthenticationMethodsType","getAuthenticationMethod","authenticationMethods","userExists","samlMethod","SAML","GOOGLE","passwordMethod","PASSWORD","passwordEnabled","samlRequired","useUserInfo","setUserInfo","meDataAsync","aisAvailableProducts","includeInvalidBitbucketSite","meData","getSignupServerXsrfToken","identityQueryParams","URLSearchParams","continue","aisAvailableProductsResult","sitesData","hasBitbucket","adminAccess","extendedTrialOverridableSites","picture","accountId","HamletClient","baseUrl","hamletPricing","licenseType","requestingApplication","monthsValid","productKeysParam","sendEmail","resendData","pagePath","resendVerificationEmail","sendVerificationEmail","primaryProduct","accountName","ResendEmailStatuses","ResendEmailActions","NO_STATUS","SEND_REQUEST","REQUESTING","SUCCESS","FAILURE","setCloudId","setCloudName","setEmail","setPrimaryProduct","setPagePath","setRequestId","resendCount","setResendCount","shouldEnable","setShouldEnable","setResendEmailData","rawData","parsedData","isValidData","sessionStorage","atob","btoa","sanitizeLastName","getProductKeys","productData","productOverride","bundleOverride","editionOverride","productOrBundleData","bundle","editionQueryParmSupplied","migrationSourceUuidParmSupplied","imgSource","serverDownloadContent","contentKey","originalEdition","editionLabel","useSignUpFormConfig","getSocialProofProductLabel","getSocialProofImageURLs","firstImpressionsImageUrls","heroImage","jiraServiceDesk","logoImage","socialProofImage","confluence","jiraCore","teamCentral","jiraProductDiscovery","compass","fabric","beacon","jira","bitbucket","jiraSoftware","VortexStatus","BITBUCKET_ANALYTICS_EVENTS","ORG_CREATE","ORG_CREATE_STATUS","ORG_FETCH","WORKSPACE_PROVISION","logBitbucketAnalytics","DEFAULT_ORG_RESPONSE","orgList","completed","isSitesDefined","isProductIncluded","SignUpFormUIStateContext","bitbucketWorkspaces","hideFullName","showEmail","marketingConsentRequired","devMode","isStaging","templateId","formExistingSiteShown","deferSiteNameCreation","defaultErrorType","NO_ERROR","enableFreeBreachTest","simulateFreeBreachState","spProduct","hideGreeting","enableFieldProgression","showWarningIcon","selectedSiteId","hideCaptchaEula","enableResendEmail","enableCarouselEndCard","siteRenamePageUrl","enableSkipRecaptcha","userOrgInfo","hasCcpEntitlements","isNewCCPSiteForMigration","SignUpFormUIStateProvider","signUpFormProps","useSignUpFormUIState","welcomeMessage","bitbucketPreferred","hasCCPEntitlements","bbName","dataRegion","consent","formUrl","consents","displayedText","granted","isExistingSitePickerN2E","selectedSite","migrationId","isSubmitting","isSSOValid","cloudNameLength","signupOrigin","showResendEmail","setShowResendEmail","showDevopsCarouselEnd","setShowDevopsCarouselEnd","goToURL","setGoToURL","resendEmail","isBbCopyEnabled","setIsBbCopyEnabled","bbWorkspaces","workspace","permission","cleanseNonAdminWorkspaces","bbWorkspacesTotal","isOpsgenie","isOpsgenieIncluded","isStatuspage","isTeamCentral","isJsw","isJsm","isJwm","isJpd","isCompass","isBeacon","isBundleBBJSW","isBitbucket","isBundleDevops","isJswJsmBundle","isJswJwmBundle","isFree","hideUserSegmentation","n2nSignInRedirect","setN2NSignInRedirect","isSitePickerDisabled","orgFetchResponse","orgAdminVortexStatusCounts","orgCount","ENABLED","DISABLED","isAdmin","vortexMode","getOrgAdminVortexStatusCounts","pickableSites","intialEmail","sitesToFilter","defaultProductKeys","targetProductKeys","hasExtendedTrialOverride","bbJswFilteredProductKeys","adminSites","getPickableExistingSites","JSMProductKeys","toFilter","productsAndEditions","productEdition","removeExistingPremiumJSMSites","localeCompare","signupState","setSignupState","pollingLoaderShown","setPollingLoaderShown","shouldShowUseExisting","setShouldShowUseExisting","isValidSiteName","setIsValidSiteName","isValidWorkspaceID","setIsValidWorkspaceID","selectedOrg","setSelectedOrg","workspaceIDTakenError","setWorkspaceIDTakenError","orgProvisioningProgressMessage","setOrgProvisioningProgressMessage","setSubmitError","activateProductError","setActivateProductError","selectedSiteIsInBreachOfFree","setSelectedSiteIsInBreachOfFree","disableSignInWhileTestingFreeBreach","setDisableSignInWhileTestingFreeBreach","hasCCPEntitlement","entitlements","entilement","billingSourceSystem","n2eAvailable","siteNameAfter","isValidChooseSignup","isValidN2E","isUserInfoValid","isValidName","isAccountOrgSelected","hideAsterisks","PLATFORM_OPTIONS","SignUpConfigContext","SignUpConfigContextProvider","experimentScreensFlags","customSignupContext","productParam","bundleParam","editionParam","templateIdParam","developer","developerParam","migrationSourceUuidParam","srcParam","platformParam","useCcpPlatform","platformParamLowerCase","buildSignUpFormConfig","EmailField","onEmailChange","initialEmail","onSSOCheckValid","isDeferredSiteNameEnabled","isFocusedChooseSignup","setIsFocusedChooseSignup","setShowError","hasInitialEmail","alreadySentValid","setAlreadySentValid","setIsFocused","setUserEmail","emailPart","domainPart","useEmailValidation","emailExistsOrSSOAnalytics","ssoRedirectUrl","isCheckingSSO","isUserExists","allowAuthenticationsMethodCheck","setSSOValidation","getSSORedirectUrl","checkAuthenticationMethodsAvailable","successRedirect","authenticationMethod","redirect_to","useAuthenticationMethodsCheck","removeSpaces","buildErrorMessage","handleSignInUserAccount","signInOriginAttributes","htmlFor","textInput","autoCorrect","autoCapitalize","autoComplete","switchUserOriginAttributes","fillColor","clipRule","useDocumentClick","ignoreClass","isIgnored","sendErrorEvent","SiteNameField","onSiteNameChange","onSiteNameUseExisting","isSuiteSignup","setExposedToDeferSitename","recommendedSiteName","siteNameGenerationExperiment","siteNameAddtionalCopyExperiment","checkIsDisabled","labelMessage","setSiteName","toolTipOpen","setToolTipOpen","fieldDisabled","setFieldDisabled","re","useSiteNameValidation","toolTipTrigger","inputFieldId","siteNameExperiment","hideErrorMessageSiteNameExperiment","setSuiteName","contextKey","fnToCall","_instance$context$con","getItemState","stateName","paddingKey","_getThemeStyle","_getThemeStyle$bottom","_getThemeStyle$left","_getThemeStyle$right","_getThemeStyle$top","adjustedTop","adjustedBottom","getHeightStyles","heightKey","getWidthStyles","widthKey","getInteractiveStyles","isDragging","standardFocus","ItemBase","BeforeAfterBase","spaceKey","space","descriptionFontSize","_ref8","linkComponent","rootComponent","_onClick","_onKeyDown","dnd","dragHandleProps","patchedEventHandlers","defaultPrevented","draggableProps","shouldAllowMultiline","WrappedItem","_class","WithItemClick","safeContextCall","shouldCloseAfterClick","callContextFn","handleKeyDown","WithItemFocus","isFocusable","contextId","GroupTitle","paddingType","GroupTitleAfter","GroupTitleText","ItemGroup","headingAfterElement","DropdownItemGroup","getSiteById","matchedSites","isSelectedSiteValid","sitesByCategory","siteId","withJiraSoftware","withoutJiraSoftware","orderSpecificProductFirstSort","SitePickerField","isBundleActive","onSiteNameStartNew","showFreeLimitExceededError","isDropdownOpen","setIsDropdownOpen","activeSite","setActiveSite","triggerText","setTriggerText","hideJswTrialNotice","setHideJswTrialNotice","showConfluenceNotice","setShowConfluenceNotice","setIsLoaded","isPermitted","isBBJSW","checkPermissions","getUserPermissionsIsPermitted","permissionId","resourceId","dontRequirePrincipalInSite","permitted","useSitePermission","showSiteSwitcher","hasSitesWithConfluence","useRecomendedSitesInDropdown","categorizedSitesData","siteKeyDataToSplitBy","siteKey","recommendedSitesTitle","otherSitesTitle","productKeyToSplitSitesBy","withRecommendedSite","withoutRecommendedSite","hasJsw","addSiteToResult","displaySitesFromAllCategories","displayOnlySitesContainingJiraSoftware","displayOnlySitesMissingJiraSoftware","handleDropdownItemClick","confluenceOrderedFirst","siteHasConf","dropDownItems","DropdownItem","InfoBox","LoadingButton","StyledSubmitButton","SubmitButton","nonValidNamePattern","DisplayNameField","onNameChange","displayname","setDisplayName","isValidDisplayName","setIsValidDisplayName","isWithinMaxLength","setIsWithinMaxLength","isDisplayNameFocused","setIsDisplayNameFocused","BitbucketJiraInfoBox","hasOtherProducts","hasBitBucket","hasJiraSoftware","infoText","isModalOpen","setModalBoxOpen","userstate","FREE_BREACH_PRODUCTS","BreachInfoBox","freeTrialRedirectURL","computeFreeTrialRedirectURL","BitbucketAccountPicker","bbAccountCopy","bbNameOverride","onAccountChange","sitesCount","isCopyChecked","setIsCopyChecked","isCheckboxDisabled","setIsCheckboxDisabled","bbAccountName","setBbAccountName","radioThemeColors","backgroundChecked","backgroundCheckedHover","backgroundCheckedActive","backgroundDisabled","dotChecked","dotDisabled","dotActive","borderHover","borderDisabled","borderFocus","labelPaddingStyles","lightLabelStyles","darkLabelStyles","radioStyles","MozAppearance","WebkitAppearance","RadioWithMode","radioCustomProperties","radioColors","getRadioCustomProperties","noOptions","RadioGroup","propValue","onInvalid","ariaLabelledBy","selectedValue","setSelectedValue","onRadioChange","optionProps","gdprData","GdprLocation","onLocationChange","ExportedAnalyticsContext","LegacyAnalyticsContext","MigrationSource","isClaimedMigration","createSolutionStatsEvent","signUpFormUIState","isNewSiteProvisioned","isN2NAtlassian","isNewBitbucketWorkspace","signupUrl","targetCloudId","existingProducts","uniq","existingInstanceIds","provisionedProducts","provisionedCloudId","trackSignUpFormSubmitSucceeded","trackSignUpFormSubmitFailed","trackProgressPollInvalid","trackWaitedSignupPageSubmitMoreThan15SOptions","trackWaitedSignupPageSubmitMoreThan60S","trackProgressUriErr","trackProgressUri","trackProgressPollMissing","trackSubmitSuccess","trackGoToBitbucket","trackGoToJSW","trackProgressPollError","trackSubmitSuccessProducts","URL_JSW_STAGE","URL_JSW_PROD","URL_BB_STAGE","URL_BB_PROD","localStorageGet","progressUri","bbBundlePreferred","isSimpleSignup","isAppProvisioningEligible","bitbucketWorkspaceUuid","splitPath","constructedQueryParameters","ondemandurl","getRequestId","parametersFromUrl","signupSource","isFoundingAdmin","n2n","team_type","provisionApp","appKeyIncluded","indx","appKey","csvParams","pollForSuccess","isJswIncluded","solutionStatsEvent","isBitbucketWorkspace","handlePollProgressStatusFailure","bitbucketBundlePreferred","secondsPassed","poll","WARNING_TIMEOUT_PENDING","ERROR_TIMEOUT","credentials","statusActivate","bestStatuses","ACTIVATE_PRODUCT","statusSignup","HAMS_CREATE_CLOUD","BAG_CREATE_CLOUD","successful","nextUrl","goToBitbucket","jswName","goToJSW","orgId","confirmURL","queryParams","goToCheckEmail","ERROR_PRODUCT_ACTIVATE","formSubmitN2N","submitUrl","_ga","seg_xid","__atl_path","ajs_anonymous_id","signupContext","RESEND_DATA","_defineProperties","_setPrototypeOf","_getPrototypeOf","NEWTAB","OutboundLink","Derived","hasNativeReflectConstruct","construct","sham","_isNativeReflectConstruct","Super","NewTarget","eventLabel","trackerNames","eventMeta","sameTarget","normalClick","ctrlKey","metaKey","trackLink","sourceSymbolKeys","redacted","smallWords","gaCalls","calls","ga","resetCalls","_arrayLikeToArray","arr2","_isNotBrowser","_debug","_titleCase","_testMode","_alwaysSendToDefaultTracker","_redactEmail","internalGa","_window","_format","redactingEmail","_str","toTitleCase","redactEmail","format","_gaCommand","command","_arrayWithoutHoles","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","_initialize","gaTrackingID","titleCase","useExistingGa","gaOptions","addTrackers","configsOrTrackingId","trackingId","testMode","standardImplementation","gaAddress","loadGA","alwaysSendToDefaultTracker","fieldsObject","fieldObject","pageview","rawPath","extraFields","hitType","extraLog","modalview","rawModalName","modalName","removeLeadingSlash","category","variable","timingCategory","timingVar","timingValue","timingLabel","nonInteraction","transport","eventCategory","eventAction","eventValue","fatal","exDescription","exFatal","require","rawName","trackerName","requireString","pluginName","actionType","outboundLink","hitCallback","safetyCallbackCalled","testModeAPI","hamletClient","cartService","checkEmailAnalytics","getCheckEmailAnalyticsService","googleAnalyticsId","productKeysProp","getProducts","_load","queryProducts","pricingData","_parseProducts","productCatalog","urlProducts","unitCounts","unitCount","queryParamProducts","iLen","orderable","productUnitCount","productHamlet","productType","orderableItems","monthly","extend","amount","renewalAmount","mpac","marketplaceAddon","productDescription","saleType","_onloadEvents","googleApps","completedOrderDetails","detailsAddToCart","sku","orderableItemId","core_funnel","detailsConfirmedEval","lead_score","start_date","_atl_path","_sio","clickResendButton","resendApiNoContent","resendApiAlreadyVerified","resendApiFailure","resendApiSuccess","contactLinkAnalytics","navigateBack","defaultLogoParams","getColorsFromAppearance","iconGradientStart","iconGradientStop","atlassianLogoTextColor","CSS_VAR_COLOR","CSS_VAR_FILL","baseWrapperStyles","stopColorStyles","sizeStyles","svg","userDefinedTestId","shouldApplyStopColor","AtlassianLogo","x1","y1","x2","y2","gradientTransform","gradientUnits","xlinkHref","isolation","mixBlendMode","clipPath","ry","devopsHeader","devopsSubHeader","devopsNoResendNoEmail","devopsEmailSent","resendEmailLineOne","resendEmailLineTwo","resendEmailCheckSpam","resendEmailAction","resendEmailChangeEmail","resendEmailChangeEmailAction","resendEmailStillNoEmail","resendEmailCreateAHelpTicket","noResendNoEmail","noResendEmailConfirmation","noResendContactUsHtml","CharlieDisplayFontStack","CharlieTextFontStack","DevopsHeader","DevopsImageWrapper","ImageWrapper","Bold","RotationKeyframes","Devopsgroup","DevopsText","DevopsButtonGroup","IconContainer","Rotation","checkEmailAnalyticsService","resendEmailData","incrementResendCount","resendEmailState","triggerResendEmail","LayoutDefault","pageContent","InboxImage","LayoutDevops","hideHeader","DevopsResendPage","CheckEmailPage","layout","BitbucketOrganizationPicker","UnionIcon","CarouselEnd","goToProduct","DevOpsCarouselEndHeading","DevopsCarouselEndGroup","DevopsCarouselEndText","DevOpsCarouselEndButton","productsOffered","loginUserDetected","suiteName","productPlatform","schemaVersion","FormWelcomeMessage","cmsPageVariants","getDeferSitenameExperimentCohort","cmsPageVariant","usePlatformLeafSyntheticEventHandler","delayId","clearScheduled","scheduleTimeout","overflowWrap","lightStyles","darkStyles","onShowHandler","onHideHandler","apiRef","containerRef","lastDelay","lastHandlers","hasCalledShowHandler","keep","immediatelyHideAndDone","isImmediate","showImmediately","show","requestHide","finishHideAnimation","mouse","hideTooltipOnEsc","_apiRef$current","once","_apiRef$current2","onMouseOverTooltip","onAnimationFinished","CastTargetContainer","shouldRenderTooltipContainer","shouldRenderTooltipChildren","tooltipId","shouldRenderId","seed","tooltipTriggerProps","_apiRef$current3","_apiRef$current4","getDirectionFromPlacement","EulaComponent","sanitizeCustomSignupContext","contextString","handleOrgCreate","orgDisplayName","orgCreateResponse","cofsCreateOrg","orgStatusUri","errorCode","errorMessage","provisioningSuccess","resp","handlePollOrgCreation","offeringCatalog","getOpsgenieAdvancedSettings","advancedSettings","additionalProvisioningData","initialProductURL","getBillingAdvancedSettings","billingMode","billingCode","getBitbucketAdvancedSettings","existingUser","suppressEmail","advancedSettingsObject","signupLocation","getBitbucketSignupAction","createBB","createJSW","createdJSW","createdBB","signupAction","getStatuspageAdvancedSettings","DEVELOPER_EXPERIMENT_KEY","WORKSPACE_VALIDATION_PATTERN","WacSignupForm","formProps","intl","teamType","isFreeJiraOrConfluence","isNewUserInJiraOrConfluenceNotPaid","isNewUserInSiteNameExperiment","generatedCloudName","exposedToDeferSitename","formReset","setFormReset","setRecommendedSiteName","signupButtonText","cartedProducts","productAttributes","intendedProduct","recommendedName","getRecommendedSiteName","growthInitiative","trackExposedToDeferSitename","useDeferSitenameExposed","bxpExpressClient","allProductsAreEligible","isInBreachOfFree","postExpandFreeValidation","checkBreachStatus","siteInBreach","findIfJswIncluded","siteProducts","handleSubmit","activateProducts","gRecaptchaResponse","referrerHash","rHashDecoded","combinedHash","unescape","referrer","payloadProducts","returnObj","isTestTenant","cofsPayload","adminUsername","adminPassword","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","isCutOnboardingStepsInHalfEnabled","autogenSiteName","bxpGatewayAnchorCookie","bxpGatewayAnchor","timestamp","trackErrorParsingAnchorJourneyCookie","testingPurposes","skipIntegrationsSurvey","enableSlackPromoConfluence","slackPromoConfluence","sanitizedCustomSignupContext","customizedContextData","signupContextString","contextLength","trackSignupContextTooLarge","activateProductsPayload","bbWorkSpace","workspaceUuid","trackActivateProductsSubmit","signupDevops","experimentKey","trackFormSubmit","userSignupProducts","nextUrlParams","redirectTo","userSignup","userSignupResponse","otpRedirect","ccpProducts","mapProductKeyAndEditionToCcpProduct","workspaceID","provisioningOrgId","bitbucketWorkspaceMetadata","workspaceAri","workspaceSlug","bitbucketValidateWorkspaceSlug","new_ari","checkBitbucketWorkspaceSlugAvailability","ERROR_ORG_CREATE","lastIndexOf","workspaceId","isSitenameSpecified","isSiteNew","optionalSitenameFeatureCohort","numberOfExistingUserSites","sitename","userId","tenantId","tenantIdType","trackDeferSitenameSignups","MAX_RETRIES","RETRY_INTERVAL_SECONDS","activateProductRetries","callActivateProduct","activateProduct","provisionRequestId","service","redirectUrlShadowIt","trackBitbucketWorkspaceProvFailure","handleSubmitWithRecaptcha","handleSubmitProps","token","trackRecaptchaError","trackSubmitWithCaptcha","handleStartN2E","siteDomain","productsIncludesApps","xsrfToken","getXsrfToken","marketplaceAppInstall","wrappedClientReq","productString","productsEditions","offeringKeys","offeringId","getCcpHamsStatus","ccp","getLicenceInformationStatus","primaryProductCCP","ccpTransactionAccountId","ccpEntitlementId","postProductActivate","offerings","transactionAccountId","entitlementId","provisioningRequestIds","discoverProductsUrl","newProducts","postCloudSignUp","startUrl","addToUrl","idLoginStartUrl","idLoginStartUrlString","aaid","trackN2ESubmit2","submitHandler","userInfoCheck","AAID_MISMATCH","buttonLabel","trackSignupButtonClicked","getActivationAuthorization","eventColumn","productEditionStatusResponse","productEditionStatus","isFreeEdition","checkProductEdition","trackN2ESubmit","shouldSkipRecaptcha","resendEmailScreen","setWorkspaceID","showWorkspaceIDErrorMessage","workspaceIdIsValid","cmtForCCPFeatureFlag","enableSignUp","maxLength","supportUrl","siteNameField","sitePickerField","isBeaconLimited","beaconInfoBox","handleDeferSite","consentsState","AdditionalDetailsFieldName","BXP_CLOUD_PERMS_CHECK_FALSE","getRenameSiteUrl","redirecturl","getEncodedUserInfo","unencodedUserInfo","trackPermsNR","retryCount","SocialSignUpView","productsSelectedForProvisioning","setShowSignupForm","loadingImageUrl","tryAgainErrorUrl","testing","setShowSocialSignupForm","showErrorPage","setShowErrorPage","storage","socialSignupInfo","decodedSocialSignupInfo","encodedSocialSignupInfo","checkIfVisited","productKeysSelectedForProvisioning","userSites","existingUserSite","existingProductKeysOnSite","filterEligibleSites","hasEligibleSites","numEligibleSites","numExistingSites","sanitizedLastName","buildSocialSignUpPayload","productKeysToAdd","newProductKeyToAdd","perms","checkPerms","isNonInteraction","renameUrl","Subtitle","isWhiteBackground","SubtitleText","AtlassianIcon","AtlassianWordmark","AtlassianStartLogo","AtlassianAnalyticsIcon","AtlassianAnalyticsLogo","BitbucketLogo","BitbucketWordmark","CompassIcon","CompassLogo","CompassWordmark","ConfluenceLogo","ConfluenceWordmark","HalpIcon","HalpLogo","HalpWordmark","HipchatIcon","HipchatLogo","HipchatWordmark","JiraAlignIcon","JiraAlignLogo","JiraAlignWordmark","JiraCoreIcon","JiraCoreLogo","JiraCoreWordmark","JiraLogo","JiraWordmark","JiraProductDiscoveryIcon","JiraProductDiscoveryLogo","JiraServiceDeskIcon","JiraServiceDeskLogo","JiraServiceDeskWordmark","JiraServiceManagementIcon","JiraServiceManagementLogo","JiraServiceManagementWordmark","JiraSoftwareLogo","JiraSoftwareWordmark","JiraWorkManagementLogo","JiraWorkManagementWordmark","JiraWorkManagementIcon","OpsGenieLogo","OpsGenieWordmark","OpsgenieIcon","OpsgenieLogo","OpsgenieWordmark","StatuspageIcon","StatuspageLogo","StatuspageWordmark","StrideIcon","StrideLogo","StrideWordmark","TrelloIcon","AtlasLogo","TrelloWordmark","iconGradientMid","baseIconContents","AtlasIcon","textStart","Logo","productkey","isJiraFamily","Logostyle","atlasKitLogoName","ProductLogoClass","CMSLogo","productLogoWhiteUrl","headerBuffer","HeaderContainerWithPlus","PlusIcon","HeaderContainer","isBold","appearanceStyle","appearanceType","maxWidthValue","maxWidthIsPc","textColors","inprogress","moved","new","removed","devopsSwitchAccounts","devopsEarlyAccess","devopsLogoSubHeader","devopsLogo","Product","logoColor","DEVOPS","DevopsLogoContainer","DevopsLogoWrapper","LogoText","LozengeContainer","SubheadingText","productLogoUrl","isMobile","logo","isEdition","isTrialTime","trialTime","showListContent","productListMsg","LogoAndEdition","LogoContainer","Edition","SpinnerWrapper","TrialTime","FeaturesDiv","hideLogoContent","isSideInfoHeader","sideInfoHeaderMsg","switchUserInfo","showMultiProduct","devOpsUserDisplay","showDevOpsAccountInfo","LoggedInView","DevopsLayout","ProductHeading","LogosList","LayoutDeveloperMode","DeveloperModeLayout","LayoutFirstImpressions","socialProof","showSocialProofImage","imgUrl","HeroImage","heroUrl","SocialProofText","addBottomMargin","SocialProofImage","FeatureList","SideInformationComponent","isExistingSiteFormShown","trialDurationExistingSite","trialDurationNewSite","featuresList","sideInfoHeader","isDevopsBundle","InfoComponent","layoutFirstImpression","AppleLogo","GoogleLogo","MicrosoftLogo","SlackLogo","TABLET_BREAKPOINT","fontCharlieText","fontCharlieDisplay","ErrorLinkStyles","SubmitErrorMessage","ParagraphOversized","buttonId","provider","metadataId","continueUrl","application","prompt","originTracingOptions","getLoginOrigin","urlSocialSignUpContinue","renderProviderLogo","socialSignUpOr","socialSignUpOrSignUpWith","loggedOutHeader","loggedOutSubHeader","SignupButtons","isEmailSignupSelected","setIsEmailSignupSelected","trySignupOrigin","loginGoogleOrigin","signUpFormConfig","urlGoogleSignupContinue","socialContinueUrl","continueUrlOverride","isConfluenceInBundle","isConfluenceProduct","SocialButtonsGridWrapper","DividerChooseSignup","LoginButton","DividerDefaultExpandedEmail","Leftline","Rightline","Divider","SocialSignup","loadingImageSrc","showSocialSignupForm","renderSocialSignup","setRenderSocialSignup","SideInfo","isMigrationSignup","sideInfoHeaderLabel","sanitizedProps","trialDurationExistingSiteLabel","trialDurationNewSiteLabel","isExistingFormShown","Signup","setFormExistingSiteShown","allowEnableAutogenSiteName","allowSignupWithGoogle","setBbWorkspaces","makeRequest","bbWorkspacesAsync","useSigninButtons","bbData","request","includeOrgResponse","includeVortexMode","orgInfo","setOrgInfo","setHasError","setCompleted","fetchOrgInfo","getAccountOrgs","orgs","useOrgInfo","hideCaptcha","SideInfoDevops","SideInfoFirstImpressions","productNameKey","socialProofText","socialProofImageURLs","HeaderBackgroundDevops","HeaderBackgroundDevopsMobile","FullWidth","ReducedRow","HeaderDevops","HeaderWrapper","InfinityLogo","RowPadding","FormAndInfoContainer","ComponentWrapper","LayoutStandalone","formHeaderLabels","opsgenieIsIncludeInProducts","StandAloneLayoutContainer","StandAloneLayoutInnerContainer","RightContainerContent","LogoWrapper","fieldProgression","FormWrapper","PageRoot","PageBody","LeftContainer","RightContainer","ChooseSignupRightContainer","RightContainerContentDefaultExpandedEmail","FirstImpressionsForm","EasterEgg","setHidden","sugar","fallback","SignUpLayoutContainer","combinedProps","setCombinedProps","setMigrationData","setEventContainer","setEmailWithHash","combineProps","contextValues","fromCharCode","ErrorLocale","actionSubjectId","blockType","blockValue","FirstImpressionsContext","FirstImpressionsProvider","pageHeaderLabels","bundleContent","featureList","headline","getBundleContent","activeFormView","buildFirstImpressionsState","PageHeaderSubtitle","useDarkBackgroundMode","PageHeaderSubtitleText","PageHeaderLogo","isMergeableObject","isNonNullObject","stringValue","REACT_ELEMENT_TYPE","isReactElement","isSpecial","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","arrayMerge","sourceIsArray","destination","mergeObject","other","ListCache","__data__","maskSrcKey","funcToString","reIsHostCtor","objectProto","reIsNative","Hash","MapCache","Stack","pairs","LARGE_ARRAY_SIZE","objValue","customizer","isNew","isObjectLike","freeExports","freeModule","Buffer","isBuffer","reIsUint","typedArrayTags","freeProcess","types","nodeIsTypedArray","inherited","isArr","isArg","isBuff","skipIndexes","iteratee","Ctor","isProto","allocUnsafe","nativeGetSymbols","getSymbols","resIndex","symbol","getSymbolsIn","keysFunc","symbolsFunc","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","arrayBuffer","byteLength","reFlags","symbolProto","symbolValueOf","isDeep","regexp","dataView","byteOffset","typedArray","objectCreate","baseCreate","nodeIsMap","nodeIsSet","cloneableTags","baseClone","bitmask","isFlat","isFull","isFunc","stacked","subValue","resolver","stringToPath","symbolToString","baseToString","_inheritsLoose","isEmptyArray","isInteger","isString","isEmptyChildren","def","resVal","pathArray","currentPath","currentObj","nextPath","setNestedObjectValues","_Object$keys","FormikContext","FormikProvider","FormikConsumer","useFormikContext","formik","formikReducer","msg","submitCount","emptyErrors","emptyTouched","useFormik","_ref$validateOnChange","validateOnChange","_ref$validateOnBlur","_ref$validateOnMount","validateOnMount","isInitialValid","_ref$enableReinitiali","enableReinitialize","initialErrors","initialTouched","isMounted","fieldRegistry","_React$useReducer","runValidateHandler","maybePromisedErrors","actualException","runValidationSchema","validationSchema","schema","validateAt","sync","validateData","prepareDataForValidation","abortEarly","validateYupSchema","yupError","_iterator","_isArray","yupToFormErrors","runSingleFieldLevelValidation","runFieldLevelValidations","fieldKeysWithValidation","fieldValidations","fieldErrorsList","curr","runAllValidations","fieldErrors","schemaErrors","validateErrors","validateFormWithHighPriority","useEventCallback","combinedErrors","resetForm","dispatchFn","onReset","maybePromisedOnReset","imperativeMethods","validateField","maybePromise","unregisterField","setTouched","shouldValidate","setValues","resolvedValues","setFieldError","setFieldValue","executeChange","eventOrTextValue","maybePath","persist","outerHTML","multiple","valueProp","currentArrayOfValues","isValueInArray","getValueForCheckbox","getSelectedValues","handleChange","eventOrPath","setFieldTouched","executeBlur","_e$target","handleBlur","eventOrString","setFormikState","stateOrCb","setStatus","setSubmitting","submitForm","isInstanceOfError","promiseOrUndefined","executeSubmit","validateForm","handleReset","getFieldMeta","initialError","getFieldHelpers","getFieldProps","nameOrOptions","isAnObject","valueState","formikbag","useImperativeHandle","shouldClone","_action","_useFormikContext","Comp","componentDisplayName","arrayLike","copyArrayLike","maxIndex","FieldArrayInner","updateArrayField","alterTouched","alterErrors","updateErrors","updateTouched","fieldError","fieldTouched","handlePush","swap","indexA","indexB","handleSwap","move","handleMove","handleInsert","handleReplace","handleUnshift","handleRemove","tmp","arrayHelpers","ErrorMessageImpl","shouldComponentUpdate","touch","circulars","clones","cloneNode","errorToString","regExpToString","SYMBOL_REGEXP","printSimpleValue","quoteStrings","printNumber","toISOString","printValue","mixed","oneOf","notOneOf","notType","originalValue","isCast","defined","date","noUnknown","lessThan","moreThan","positive","negative","integer","boolean","isValue","__isYupSchema__","strReg","ValidationError","errorOrErrors","captureStackTrace","runTests","endEarly","tests","fired","nestedErrors","Reference","isContext","isSibling","cast","__isYupRef","createValidation","createError","overrides","nextParams","formatError","ctx","validOrError","OPTIONS","lastPart","lastPartDebug","_part","innerType","_type","ReferenceSet","resolveAll","isRef","newItems","removeItems","BaseSchema","deps","transforms","conditions","_mutate","_typeError","_whitelist","_blacklist","exclusiveTests","spec","withMutation","typeError","strip","strict","recursive","nullable","_typeCheck","_whitelistError","_blacklistError","combined","mergedSpec","resolvedSchema","_cast","assert","formattedValue","formattedResult","rawValue","getDefault","_validate","initialTests","finalTests","maybeCb","validateSync","isValidSync","_getDefault","isStrict","_isPresent","exclusive","notRequired","isNullable","isExclusive","when","dep","otherwise","enums","valids","resolved","invalids","alias","rEmail","rUrl","rUUID","isTrimmed","objStringTag","StringSchema","strValue","excludeEmptyString","ensure","isoReg","invalidDate","DateSchema","struct","numericKeys","minutesOffset","UTC","NaN","prepareParam","param","limit","INVALID_DATE","ii","_err$path","sortByKeyOrder","defaultSort","ObjectSchema","_sortErrors","_nodes","_excludedEdges","shape","_options$stripUnknown","stripUnknown","intermediateValue","innerOptions","__validating","isChanged","exists","fieldValue","inputValue","fieldSpec","nextFields","schemaOrRef","getDefaultFromShape","dft","additions","excludes","excludedEdges","edges","addNode","depPath","sortFields","pick","picked","fromGetter","noAllow","unknownKeys","known","unknown","allow","transformKeys","snakeCase","constantCase","noCreditCardRequiredFooter","firstImpressionsEula","firstImpressionsRecaptcha","firstImpressionsLoggedOutFormHeader","firstImpressionsLoggedOutFormSubHeader","firstImpressionsLoggedInFormHeader","inputLabelWorkEmail","inputLabelWorkEmailError","inputLabelFullName","inputLabelSiteName","submitButtonLabel","socialSignUpDividerLabel","inputLabelFullNameLengthError","inputLabelRequired","firstImpressionsLoggedOutFormSubmitError","firstImpressionsSamlRequired","firstImpressionsSsoCheckError","validateFn","setIsValidating","propsOrFieldName","useField","FormField","FormFieldLabel","FormFieldInputContainer","showErrorState","showValidState","FormFieldInput","FormFieldErrorMessage","SocialSignUpDivider","SocialSignUpDividerLabel","SocialSignUpDividerLeftline","SocialSignUpDividerRightline","iconUrl","GOOGLE_ICON_URL","FirstImpressionsLoggedOutView","useEmail","setUseEmail","formSubmitError","setFormSubmitError","validateSsoDebounced","FirstImpressionsLoggedOutViewContainer","FormHeaderContainer","FormHeaderSubHeading","FailedSubmitMessage","NoCreditCardRequiredFooterMessage","FirstImpressionsLoadingView","FirstImpressionsLoadingViewContainer","FirstImpressionsFormView","FirstImpressionsProductInfo","OuterContainer","InnerContainer","FirstImpressionsView","LeftColumn","RightColumn","FirstImpressionsScreen","userHasPaidSites","goToMyProducts","SlackPromoConfluenceIneligibleFormView","goToMyProductsUrl","SlackPromoConfluenceIneligibleFormViewContainer","IneligibleMessageParagraphContainer","IneligibleMessageParagraph","IneligibleMessageLink","SlackPromoConfluenceFormView","SlackPromoConfluenceProductInfo","SlackPromoConfluenceFirstImpressionsLayout","SlackPromoConfluenceStandaloneLayout","SlackPromoConfluenceView","SlackPromoConfluenceScreen","ExperimentScreensSwitch","getBitbucketWorkspaces","purifiedData","accountOperationUrl","signInAccountOrigin","switchAccountOrigin","consentChecked","openDevOps","devopsLogoSubheader","devopsRecaptcha","devopsEula","welcomeMessageLoggedOut","submitButtonLoggedOut","submitButtonLoggedIn","inputLabelEmail","inputLabelPassword","inputLabelSitenameNew","inputLabelSitenameExisting","inputLabelWorkspaceExisting","inputDescriptionSitenameNew","inputDescriptionSitenameExisting","inputToggleSitenameNew","inputToggleSitenameExisting","inputSitenameExistingPlaceholder","passwordStrength","passwordWeak","passwordModerate","passwordStrong","passwordVeryStrong","errorEmailInvalid","errorEmailInUse","errorSsoInUse","errorSitenameUnavailable","errorSitenameInvalid","slideExistingSiteHeader","slideExistingSiteSubHeader","slideExistingWorkspaceSubHeader","slideExistingSiteSubHeaderTooltip","slideConfirmationHeader","slideConfirmationSubHeaderText","slideConfirmationFooterText","slideConfirmationGetStarted","slideProductConfirmationHeader","slideProductConfirmationSubHeader","slideProductConfirmationProductsExisting","slideProductConfirmationProductsNew","productListJiraSoftwareName","productListJiraSoftwareDescription","productListConfluenceName","productListConfluenceDescription","productListBitbucketName","productListBitbucketDescription","productListOpsgenieName","productListOpsgenieDescription","devopsSidebarTextPlan","devopsSidebarTextCode","devopsSidebarTextDeploy","devopsSidebarTextOperate","devopsSidebarTextCollaborate","errorTimeoutN2E","errorTimeoutN2N","provisioningTakesTime","nextButton","previousButton","pollProgress","devopsState","onInitialRequestSuccess","confirmUrl","buildDevopsProduct","breachStatus","existingWorkspace","baseProductKeys","DevopsContext","devopsImageUrls","sidebarImage","envelopeN2N","successN2E","codeAwsJsw","DevopsProvider","useDevopsState","bbworkspaces","HeaderCenter","DevopsLogoMobileWrapper","LogoSubheaderText","spaceMap","spacingProperties","getSerializedStylesMap","cssProperty","tokenMap","emotionSpacingMap","spaceStylesMap","styleMap","spacingProperty","alignItemsMap","justifyContentMap","hug","flexWrapStyles","separatorStyles","marginBlock","marginInline","Separator","Inline","alignInline","alignBlock","shouldWrap","spread","grow","rowSpace","separator","rawChildren","separatorComponent","rowGap","colorMap","help","inverted","selectedColorMap","progressIndicatorGapMap","comfortable","cozy","varDotsSize","varDotsMargin","commonStyles","PresentationalIndicator","ButtonIndicator","ariaControls","selectedIndex","onSelect","tablistRef","onSelectWithAnalytics","inlineGapValue","rawGapValue","indicators","isLeft","isRight","isAlpha","isOmega","tabId","panelId","getBgColor","DevopsCarousel","currentRoute","isFormValid","slidePaths","slideIndex","setSlideIndex","isNextDisabled","setIsNextDisabled","isPrevDisabled","setIsPrevDisabled","isNextLoading","setIsNextLoading","isFooterHidden","routeActionConfig","checkKeys","nextOnClick","actionResult","routeAction","Carousel","prevPath","ProgressIndicatorWrapper","FormContext","getCurrentValue","IsDisabledContext","formRef","onSubmitRef","finalForm","setDefaultValue","FormContextValue","submitButton","click","getValues","FieldId","fieldsetLabelStyles","paddingInlineStart","RequiredAsterisk","fieldWrapperStyles","marginBlockStart","usePreviousRef","_getCurrentValue","latestPropsRef","isDefaultValueChanged","fieldProps","latestStateRef","fieldStateToMeta","unregister","modifiedDirtySinceLastSubmit","modifiedSubmitFailed","modifiedError","modifiedValid","eventOrValue","getTransform","supplied","fieldId","extendedFieldProps","getDescribedBy","elementAfterLabel","IconValidationWrapper","spinnerWidth","InputEmail","hasFocus","setHasFocus","validationMessage","setValidationMessage","emailMatch","emailExistsAnalytics","checkEmailAsyncDebounced","emailCheck","isSaml","containsPassword","redirectUrls","checkEmailSso","formatMessage","InputName","validationStateFullName","hasFocusFullName","setHasFocusFullName","isSitenameNew","setIsSitenameNew","validSitename","setInputValue","showSiteNameToggle","setValidationState","checkSitenameNewAsyncDebounced","validateSitename","siteNameCheck","shouldNotValidateExisting","handleInputChange","toolTipContainer","labelAndToolTip","LabelContainer","StyledField","SitenameToggleWrapper","SitenameDescription","_slicedToArray","_s","_x","_r","_arr","_n","applyPrefixToName","cleanValue","isDocumentElement","getScrollTop","animatedScrollTo","animateScroll","easeOutCubic","isTouchCapable","coercePlacement","PortalPlacementContext","getPortalPlacement","MenuPlacer","maxMenuHeight","getPlacement","minMenuHeight","menuPlacement","menuPosition","menuShouldScrollIntoView","isFixedPosition","menuEl","minHeight","excludeStaticParent","overflowRx","docEl","defaultState","_menuEl$getBoundingCl","menuBottom","menuHeight","menuTop","containerTop","viewHeight","viewSpaceAbove","viewSpaceBelow","scrollSpaceAbove","scrollSpaceBelow","scrollDown","scrollUp","scrollDuration","_constrainedHeight","spaceAbove","controlHeight","_constrainedHeight2","getMenuPlacement","getUpdatedProps","placerProps","noticeCSS","_ref5$theme","baseUnit","neutral40","noOptionsMessageCSS","loadingMessageCSS","NoOptionsMessage","innerProps","LoadingMessage","MenuPortal","_super2","controlElement","getBoundingClientObj","menuWrapper","exportedEqual","_templateObject","DownChevron","baseCSS","_ref3$theme","neutral60","neutral20","neutral80","dropdownIndicatorCSS","clearIndicatorCSS","loadingDotAnimations","LoadingDot","LoadingIndicator","isRtl","indicator","ownKeys$1","_objectSpread$1","ownKeys$2","_objectSpread$2","ownKeys$3","_objectSpread$3","MultiValueGeneric","MultiValueContainer","MultiValueLabel","MultiValue","removeProps","selectProps","Remove","emotionCx","ownKeys$4","_objectSpread$4","cropWithEllipsis","ClearIndicator","Control","menuIsOpen","control","DropdownIndicator","headingProps","GroupHeading","IndicatorsContainer","IndicatorSeparator","Menu","menu","MenuList","isMulti","MultiValueRemove","Option","Placeholder","SelectContainer","SingleValue","ValueContainer","hasValue","defaultComponents","diacritics","letters","anyDiacritic","diacriticToBase","diacritic","stripDiacritics","trimString","defaultStringify","A11yText","DummyInput","out","emotion","STYLE_KEYS","LOCK_STYLES","activeScrollLocks","_isNativeReflectConstruct$1","originalStyles","touchScrollTarget","targetStyle","currentPadding","adjustedPadding","_ref$1","_isNativeReflectConstruct$2","getScrollTarget","blurSelectInput","ScrollCaptor","_isNativeReflectConstruct$3","isBottom","isTop","scrollTarget","touchStart","cancelScroll","handleEventDelta","onBottomArrive","onBottomLeave","onTopArrive","onTopLeave","_this$scrollTarget","isDeltaPositive","availableScroll","shouldCancelScroll","onWheel","deltaY","onTouchStart","changedTouches","onTouchMove","startListening","stopListening","ScrollCaptorSwitch","_ref$isEnabled","instructionsAriaMessage","isSearchable","tabSelectsValue","valueEventAriaMessage","isOptionDisabled","defaultStyles","clearIndicator","_ref$theme","neutral5","neutral0","neutral10","neutral30","dropdownIndicator","groupHeading","indicatorsContainer","indicatorSeparator","_ref4$theme","loadingIndicator","loadingMessage","_ref2$theme","alignToControl","menuGutter","menuList","WebkitOverflowScrolling","menuPortal","multiValue","multiValueLabel","multiValueRemove","dangerLight","noOptionsMessage","primary25","WebkitTapHighlightColor","primary50","neutral50","singleValue","valueContainer","mergeStyles","rsCss","primary75","neutral70","neutral90","backspaceRemovesValue","blurInputOnSelect","captureMenuScroll","closeMenuOnSelect","closeMenuOnScroll","controlShouldRenderValue","escapeClearsValue","filterOption","rawInput","_ignoreCase$ignoreAcc","ignoreCase","ignoreAccents","matchFrom","createFilter","candidate","formatGroupLabel","getOptionLabel","getOptionValue","menuShouldBlockScroll","isMobileDevice","openMenuOnFocus","openMenuOnClick","pageSize","screenReaderStatus","instanceId","Select","_isNativeReflectConstruct$4","ariaLiveSelection","ariaLiveContext","focusedOption","focusedValue","inputIsHidden","menuOptions","selectValue","blockOptionHover","isComposing","clearFocusValueOnUpdate","hasGroups","initialTouchX","initialTouchY","inputIsHiddenAfterUpdate","instancePrefix","openAfterFocus","scrollToFocusedOptionOnUpdate","userIsDragging","controlRef","getControlRef","focusedOptionRef","getFocusedOptionRef","menuListRef","getMenuListRef","getInputRef","cacheComponents","focusInput","blurInput","actionMeta","onInputChange","onMenuClose","selectOption","isOptionSelected","announceAriaLiveSelection","removeValue","removedValue","clearValue","popValue","lastSelectedValue","classNamePrefix","custom","getElementId","getActiveDescendentId","announceAriaLiveContext","onMenuMouseDown","onMenuMouseMove","onControlMouseDown","openMenu","onDropdownIndicatorMouseDown","_this$props4","onClearIndicatorMouseDown","onScroll","onCompositionStart","onCompositionEnd","touches","deltaX","onTouchEnd","onControlTouchEnd","onClearIndicatorTouchEnd","onDropdownIndicatorTouchEnd","onMenuOpen","onInputFocus","_this$props5","onInputBlur","onOptionHover","shouldHideSelectedOptions","_this$props6","hideSelectedOptions","_this$props7","isClearable","focusValue","focusOption","buildMenuOptions","_props$inputValue","toOption","onHover","optionId","_selectValue","newSelectValue","_ref9","lastProps","_menuOptions","startListeningComposition","startListeningToTouch","_this$props8","getNextFocusedValue","getNextFocusedOption","focusedEl","menuRect","focusedRect","overScroll","_this$props9","offsetTop","stopListeningComposition","stopListeningToTouch","_this$props10","_this$state3","_this$props11","openAtIndex","_this$props12","_this$state4","nextFocus","_this$props13","_this$state5","nextSelectValue","_this$state6","lastFocusedIndex","lastFocusedOption","_this$props14","formatOptionLabel","_this$state7","_this$props15","focusedValueMsg","valueFocusAriaMessage","focusedOptionMsg","optionFocusAriaMessage","resultsMsg","screenReaderMessage","resultsAriaMessage","countOptions","_this$props16","ariaAttributes","_this$commonProps","spellCheck","_this$components","_this$props17","_this$state8","selectValues","opt","isOptionFocused","_this$props18","_this$props19","_this$components2","_this5","_this$components3","_this$state9","_this$props20","menuPortalTarget","onMenuScrollToTop","onMenuScrollToBottom","menuUI","hasOptions","_message","menuPlacementProps","menuElement","_ref10","_ref10$placerProps","_this6","_this$props21","delimiter","_value2","constructAriaLiveMessage","_this$components4","_this$props22","getCommonProps","renderLiveRegion","renderPlaceholderOrValue","renderInput","renderClearIndicator","renderLoadingIndicator","renderIndicatorSeparator","renderDropdownIndicator","renderMenu","renderFormField","defaultInputValue","defaultMenuIsOpen","manageState","SelectComponent","StateManager","callProp","cacheOptions","defaultOptions","makeAsyncSelect","Async","lastRequest","optionsCache","loadedInputValue","loadedOptions","passEmptyOptions","loadOptions","loader","isLoadingProp","compareOption","optionValue","optionLabel","allowCreateWhileLoading","createOptionPosition","formatCreateLabel","isValidNewOption","selectOptions","getNewOptionData","__isNew__","makeCreatableSelect","Creatable","onCreateOption","newOption","valueArray","newOptionData","newActionMeta","Fade","Tag","_ref$duration","exited","Collapse","rafID","AnimatedMultiValue","AnimatedPlaceholder","AnimatedSingleValue","AnimatedValueContainer","makeAnimated","AnimatedComponents","msOverflowStyle","paddingExcludingBorder","AtlaskitSelect","enableAnimation","onSelectRef","onClickPreventDefault","createOption","InputSitenameExisting","isMenuOpen","setIsMenuOpen","setNewOption","sitesMap","handleCreateOption","validState","handleMenuOpen","handleMenuClose","targetOption","createdOption","StyledAsyncCreatableSelect","AsyncCreatableSelect","CheckboxField","defaultIsChecked","otherFieldProps","others","MarketingConsentCheckBox","controlled","setIsChecked","StyledFieldWrapper","ButtonSubmit","InputWorkspaceExisting","stargate","workspaceMap","workspaceName","selectedWorkspace","updateWorkspacesInDevopsState","ButtonGoogleSignIn","currentUrl","devops","SlideSitenameExisting","showMarketingConsent","localeRequiresMarketingCommunicationOptIn","generalSlideSitenameExisting","codeawsSlideSitenameExisting","HeaderCodeAws","CodeAwsDescription","DevopsCodeAwsImgWrapper","SlideFinalConfirmation","buttonClick","codeAWSConfirmation","CodeAwsSlideHeader","CodeAwsSubText","CodeAwsImageWrapper","CodeAwsFooterText","standardDevopsConfirmation","SlideHeader","SubText","SlideWorkspaceExisting","showMarketinConsent","DevopsFormLoggedIn","showNoCard","setShowNoCard","formData","cofsClient","includeWorkspacesRoute","signupDevopsSource","retObj","bbProduct","buildN2EPayload","targetWorkspaceId","onboardingEmailCohort","anonymousId","buildSolutionStatsEvent","fireSolutionStatsEvent","skipRecaptcha","cofsActivateProductExisting","StyledForm","ResendEmailDevopsPage","LineDivide","DevopsFormLoggedOutDeferredPassword","setGRecaptchaResponse","setIsSubmitting","showInputs","setShowInputs","recaptchaRef","emailValidation","fullNameValidation","useEmailButton","onSubmitWithReCAPTCHA","LeftLine","RightLine","showInput","InputsContainer","DevopsFormView","DevopsScreen","Column","SignupWrapper","RecaptchaLegal","DevopsScreenStandalone","simpleSignupEula","simpleSignupRecaptcha","simpleSignupLoggedOutFormHeader","simpleSignupLoggedOutFormSubHeader","siteNameFormHeader","siteNameFormSubHeader","inputPlaceholderWorkEmail","socialSignUpButtonSignupWithGoogle","socialSignUpButtonSignupWithMicrosoft","socialSignUpButtonSignupWithApple","socialSignUpButtonSignupWithSlack","simpleSignupLoggedOutFormSubmitError","simpleSignupSamlRequired","simpleSignupSsoCheckError","navProductName","navSubHeader","SimpleSignupContext","simpleSignupImageUrls","atlassianLogoImage","jswMobileNavImage","SimpleSignupProvider","FormFooter","SignupWithEmailFormFooterContainer","subheadings","SimpleSignupNav","NavContainer","SPACING_UNIT","SimpleSignupFormLoggedOut","checkEmailPagePathname","SimpleSignupScreen","blockedLocale","SignUpLayoutContainerSwitch","userIsIneligible","siteData","userHasAPaidSite","siteIsPaid","showSlackPromoConfluenceIneligibleScreen","showExperimentScreens","SignUpAnalyticsContext","defaultAnalyticsData","parentLabel","SignUpFormLoadedEventContainer","isSiteNamePage","globalConfiguration","SignUpReduxStoreHydrate","featureFlagsCombined","getTintinMvpEnabledOverrideValue","SignupLayoutConfigContainer","intlReactOnError","decoded","sessionToken","analyticsAnonymousId","featureGateEnvironment","atlassianAccountId","sub","atlassianOrgId","getAll","base64ToBase64Url","base64UrlToBase64","decode","toJSONObject","fromJSONObject","stride","trello","eval","crypto","getRandomValues","msCrypto","Uint8Array","rng","dangerouslySkipValidation","transformValue","isValidId","isValidProduct","fromEncoded","createEmpty","createMalformed","originMalformed","querystring","_regeneratorRuntime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","previousPromise","callInvokeWithMethodAndArg","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","doneResult","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","rootRecord","rval","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","getLocale","_callee","consentHub","_context","ConsentHubClient","requestConfig","trackEvent","sendAnalytics","mergedAnalyticsEvent","currentAnalyicsEvent","WacSignUpLayoutContainer","_useState2","setLocale","_useState4","fetchingLocale","setFetchingLocale","_getLocaleData","_callee2","localeData","_context2","getLocaleData","React","IntlProvider","lang","toposort","sorted","outgoingEdges","makeOutgoingEdges","nodesHash","makeNodesHash","visit","predecessors","nodeRep","outgoing","uniqueNodes","useMutationObserver","minValue","__tti","readyState","entryType","fetchStart","responseEnd","addedNodes","attributeFilter","domContentLoadedEventEnd","getFirstConsistentlyInteractive","global","support","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","Headers","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","view","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","DataView","_bodyArrayBuffer","readAsText","chars","readArrayBufferAsText","upcased","reParamSearch","bytes","Response","bodyInit","redirectStatuses","redirect","RangeError","DOMException","abortXhr","rawHeaders","getAllResponseHeaders","responseURL","responseText","fixUrl","responseType","onreadystatechange","toPropertyKey","_getRequireWildcardCache","assertThisInitialized","errors_1","index_1","version_1","Fetcher","fetcherOptions","fetchRequest","ResponseError","serviceEnv","useGatewayUrl","getBaseUrl","useGatewayURL","fetchTimeout","fetchTimeoutMs","abortSignal","AbortSignal","CLIENT_VERSION","handleResponseError","extractResponseBody","Fetcher_1","FilterTags","FeatureGateProducts","statsig_js_lite_1","fetcher_1","DEFAULT_CLIENT_KEY","FeatureGates","initPromise","initOptions","initFromValues","fetchOptions","updateUserUsingInitializeValuesProducer","fetchExperimentValues","experimentValues","hasGetExperimentErrorOccurred","configKey","hasGetExperimentCohortErrorOccurred","fromValuesClientOptions","clientSdkKeyPromise","fetchClientSdk","clientSdkKey","experimentValuesPromise","experimentValuesResult","toStatsigUser","currentIdentifiers","currentAttributes","statsigOptions","toStatsigOptions","getInitializeValues","isCurrentUser","originalInitPromise","initializeValuesPromise","updateUserPromise","updateStatsigClientUser","errMsg","restClientOptions","tier","toStatsigUpdateUserCompletionCallback","_duration","shallowEquals","objectA","objectB","aEntries","bEntries","ascendingKeyOrder","key1","key2","aValue","bValue","feature_gate_js_client_1","onReady","isInitialized","setInitialized","optionsRef","toError","pickChildToRender","FeatureGatesInitializationWithDefaults","initializeFromValues","FeatureGatesInitializationWithValues","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","collection","output","rulesheet","root","compile","rulesets","pseudo","declarations","atrule","scanning","ampersand","characters","comment","declaration","ruleset","post","serialize","char","caret","alloc","dealloc","delimit","whitespace","escaping","commenter","charat","replacement","indexof","strlen","sizeof","combine","_toConsumableArray","VERSION","_hasatob","_hasbtoa","_hasBuffer","_TD","TextDecoder","_TE","TextEncoder","b64chs","b64tab","tab","b64re","_fromCC","_U8Afrom","_mkUriSafe","m0","_tidyB64","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","_btoa","_fromUint8Array","u8a","strs","subarray","fromUint8Array","urlsafe","cb_utob","cc","re_utob","utob","_encode","encodeURI","re_btou","cb_btou","cccc","btou","atobPolyfill","u24","r1","r2","_atob","_toUint8Array","toUint8Array","_unURI","_decode","_noEnum","extendString","_add","extendUint8Array","gBase64","fromBase64","toBase64","encodeURL","extendBuiltins","nativeObjectToString","symToStringTag","isOwn","unmasked","freeSelf","funcProto","objectCtorString"],"sourceRoot":""}