{"version":3,"sources":["webpack:///./node_modules/autosuggest-highlight/match/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/react-autosuggest/dist/index.js","webpack:///./node_modules/autosuggest-highlight/parse/index.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/Translation/Translation.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/window-or-global/lib/index.js","webpack:///./node_modules/react-themeable/dist/index.js","webpack:///./node_modules/react-autosuggest/dist/theme.js","webpack:///./node_modules/carbon-components-react/es/components/Grid/Row.js","webpack:///./src/components/Button.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/warning/browser.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/dist/styled-base.browser.esm.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/FeatureFlags.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/DDO/DDO.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/global/global.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/Header.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderContainer.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/tools/wrapComponent.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderGlobalBar.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/Icon-63ed8f4f.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/close/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/menu/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderMenuButton.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/components/ConditionalWrapper/ConditionalWrapper.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/MastheadLogo/MastheadLogo.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/tools/setupGetInstanceId.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/tools/events.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/keyboard/match.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/keyboard/keys.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/TooltipDefinition/TooltipDefinition.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Icon/IbmLogo.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/chevron--down/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/prop-types/isRequiredOneOf.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/prop-types/AriaPropTypes.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/carbon-components-react/UIShell/HeaderMenu.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/Link.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderMenuItem.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/caret--left/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/caret--right/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/HeaderNavContainer.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderNavigation.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/arrow--right/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/Link/Link.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/LinkWithIcon/LinkWithIcon.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadMegaMenu/CategoryGroup.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadMegaMenu/CategoryLink.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadMegaMenu/LeftNavigation.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadMegaMenu/NavigationGroup.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadMegaMenu/RightNavigation.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadMegaMenu/MegaMenu.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadL1.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderSideNavItems.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SideNav.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SideNavItems.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SideNavIcon.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SideNavItem.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SideNavLinkText.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SideNavLink.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SideNavMenuItem.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/arrow--right/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/chevron--left/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/carbon-components-react/UIShell/SideNavIcon.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/carbon-components-react/UIShell/SideNavMenu.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/carbon-components-react/UIShell/SideNavMenuWithBackForward.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadLeftNav.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/ClickListener.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/OptimizedResize.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/keyboard/navigation.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/wrapFocus.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/FloatingMenu.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/OverflowMenu/OverflowMenu.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/overflow-menu--vertical/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/tools/mergeRefs.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/prop-types/deprecate.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/OverflowMenuItem/OverflowMenuItem.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadProfile.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/escaperegexp/escaperegexp.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderGlobalAction.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadSearchInput.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadSearchSuggestion.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/search/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadSearch.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/HeaderName.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/MastheadTopNav.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/UIShell/SkipToContent.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/user/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/user--online/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Masthead/Masthead.js","webpack:///./src/components/layout/HeaderIBM.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Footer/FooterLogo.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/Accordion/Accordion.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/chevron--right/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/internal/useId.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/Accordion/AccordionItem.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Footer/FooterNavGroup.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Footer/FooterNav.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/compute-scroll-into-view/dist/index.module.js","webpack:///./node_modules/downshift/dist/downshift.esm.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/checkmark/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/warning--filled/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/ListBoxPropTypes.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/ListBox.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/ListBoxField.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/ListBoxMenu.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/ListBoxMenuIcon.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/chevron--down/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/ListBoxMenuItem.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/ListBoxSelection.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/close/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ListBox/index.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/tools/createPropAdapter.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ComboBox/ComboBox.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/Select/Select.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/SelectItem/SelectItem.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Footer/LanguageSelector.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Footer/LegalNav.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/Button/Button.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/earth--filled/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ButtonSet/ButtonSet.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/tools/toggleClass.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/ComposedModal/ComposedModal.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/altlangs/altlangs.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/arrow--left/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/earth--filled/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/search/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/Search/Search.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/LocaleModal/LocaleModalCountries.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/checkmark--filled/16.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/internal/vendor/carbon-components-react/components/Tile/Tile.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/arrow--down/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/download/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/launch/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/ExpressiveModal/ExpressiveModalCloseBtn.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/ExpressiveModal/ExpressiveModal.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/removeHtmlTagEntities/removeHtmlTagEntities.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/LightboxMediaViewer/LightboxMediaViewer.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/play--outline/20.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/smoothScroll/smoothScroll.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/CTA/CTALogic.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/markdownToHtml/markdownToHtml.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Card/Card.js","webpack:///./node_modules/carbon-components/es/globals/js/misc/on.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/CardLink/CardLink.js","webpack:///./node_modules/@carbon/ibmdotcom-react/node_modules/@carbon/icons-react/es/error/20.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/LocaleModal/LocaleModalRegions.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/LocaleModal/LocaleModal.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Footer/LocaleButton.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Footer/Footer.js","webpack:///./src/components/layout/layout.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/jsonp/index.js","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/carbon-components/es/globals/js/settings.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/section-iterator/dist/index.js","webpack:///./node_modules/carbon-components-react/es/components/Grid/Column.js","webpack:///./node_modules/carbon-components-react/es/components/Grid/Grid.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/react-autosuggest/dist/Autosuggest.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/modules/es.string.trim-end.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/Profile/Profile.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@carbon/icon-helpers/es/index.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/Locale/Locale.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/Analytics/Analytics.js","webpack:///./node_modules/react-autowhatever/dist/Autowhatever.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/geolocation/geolocation.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/ipcinfoCookie/ipcinfoCookie.js","webpack:///./node_modules/@carbon/layout/es/index.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/Image/Image.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/SearchTypeahead/SearchTypeahead.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/react-autowhatever/dist/compareObjects.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/react-autowhatever/dist/Item.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/debug/node_modules/ms/index.js","webpack:///./node_modules/react-autowhatever/dist/ItemsList.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack:///./node_modules/@carbon/ibmdotcom-services/es/services/VideoPlayer/VideoPlayer.js","webpack:///./node_modules/react-autowhatever/dist/SectionTitle.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/react-helmet/es/Helmet.js","webpack:///./node_modules/react-autowhatever/dist/index.js","webpack:///./node_modules/diacritic/diacritics.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/@carbon/ibmdotcom-utilities/es/utilities/uniqueid/uniqueid.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/VideoPlayer/VideoImageOverlay.js","webpack:///./node_modules/@carbon/ibmdotcom-react/es/components/VideoPlayer/VideoPlayer.js","webpack:///./src/components/seo.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/dompurify/dist/purify.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack:///./node_modules/shallow-equal/arrays/index.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/isomorphic-dompurify/browser.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/lodash.findlast/index.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/axios/lib/axios.js"],"names":["removeDiacritics","clean","specialCharsRegex","wordCharacterRegex","whitespacesRegex","module","exports","text","query","trim","split","filter","word","length","reduce","result","wordLen","prefix","test","regex","RegExp","replace","index","search","push","slice","Array","join","sort","match1","match2","IndexedObject","requireObjectCoercible","it","exec","error","path","global","aFunction","variable","undefined","namespace","method","arguments","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","Object","NASHORN_BUG","call","1","f","V","descriptor","this","enumerable","default","matches","highlight","forEach","match","i","startIndex","endIndex","_host","process","REACT_APP_TRANSLATION_HOST","TRANSLATION_HOST","_endpoint","concat","_requestsTranslation","TranslationAPI","_getTranslation","key","value","sessionStorage","keys","indexOf","removeItem","mark","_callee","codes","lang","country","locale","_this","wrap","_context","prev","next","lc","cc","getLocale","sent","abrupt","Promise","resolve","reject","fetchTranslation","stop","_x","apply","_this2","itemKey","sessionTranslation","getSessionCache","url","a","get","headers","origin","then","response","transformData","data","Date","now","setItem","JSON","stringify","_data$profileMenu","signedout","profileMenu","strReplace","loginIdx","findIndex","elem","_elem$url","location","encodeURIComponent","href","footerMenu","socialFollow","session","parse","getItem","timestamp","Math","check","globalThis","window","self","Function","defineProperty","_slicedToArray","arr","isArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","done","err","sliceIterator","TypeError","_toConsumableArray","arr2","from","obj","_objectAssign","_objectAssign2","__esModule","truthy","x","input","_ref","_ref2","theme","classNameDecorator","_len","names","_key","styles","map","name","className","style","defaultTheme","container","containerOpen","inputOpen","inputFocused","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestion","suggestionFirst","suggestionHighlighted","sectionContainer","sectionContainerFirst","sectionTitle","mapToAutowhateverTheme","_extends","assign","target","source","prototype","hasOwnProperty","_defineProperty","configurable","writable","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","_cx","_ref$as","as","BaseComponent","_ref$condensed","condensed","_ref$narrow","narrow","containerClassName","children","rest","createElement","Button","copy","link","renderIcon","external","rel","tabIndex","to","baseURL","relativeURL","has","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","setPrototypeOf","subClass","superClass","create","constructor","ex","React","React__default","canUseDOM","document","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","state","mountedInstances","emitChange","instance","props","SideEffect","_PureComponent","__proto__","peek","rewind","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","splice","render","PureComponent","displayName","getDisplayName","reactPropsRegex","prop","charCodeAt","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","tag","object","enumerableOnly","symbols","sym","_objectSpread","getOwnPropertyDescriptors","defineProperties","createStyled","options","identifierName","shouldForwardProp","targetClassName","label","__emotion_forwardProp","propName","isReal","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","args","__emotion_styles","raw","len","Styled","context","ref","Consumer","finalTag","classInterpolations","mergedProps","registered","serialized","finalShouldForwardProp","newProps","innerRef","defaultProps","withComponent","nextTag","nextOptions","DDS_FLAGS_ALL","DDS_CUSTOM_PROFILE_LOGIN","_dataLayerReadyPromise","_datalayerReady","_attempt","_dataLayerReadyImpl","digitalData","page","isDataLayerReady","setTimeout","DDO","DDOAPI","_getLanguage","_setVersion","_getAll","isReady","catch","_callee2","_context2","pageInfo","version","_callee3","_context3","language","_initialized","globalInit","setVersion","console","Analytics","initAll","customClassName","_arrayWithHoles","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","toString","_unsupportedIterableToArray","_nonIterableRest","isSideNavExpanded","Children","_useState2","isSideNavExpandedState","setIsSideNavExpandedState","handleHeaderMenuButtonClick","onClickSideNavExpand","type","Component","baseClassName","other","componentClass","_objectSpread2","forwardRef","_getAttributes","tabindex","xmlns","preserveAspectRatio","d","width","height","viewBox","fill","ariaLabel","ariaLabelledBy","onClick","isActive","isCollapsible","accessibilityLabel","title","ConditionalWrapper","condition","wrapper","propTypes","bool","node","MastheadLogoAPI","logoData","currentTime","getTime","expireTime","expire","isExpired","svg","denylist","pathname","allowlist","setupGetInstanceId","instanceId","composeEventHandlers","fns","event","defaultPrevented","keysToMatch","eventOrCode","which","keyCode","Tab","Enter","Escape","Space","PageUp","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","getInstanceId","id","triggerClassName","direction","align","onFocus","onMouseEnter","onMouseLeave","tooltipText","allowTooltipVisibility","setAllowTooltipVisibility","_useState4","tooltipVisible","setTooltipVisible","tooltipId","tooltipClassName","tooltipTriggerClasses","debounceTooltipVisible","handleMouseLeave","handleEscKeyDown","addEventListener","removeEventListener","cancel","role","fillRule","autoid","useAlternateLogo","setMastheadLogo","tooltip","dangerouslySetInnerHTML","__html","AriaLabelPropType","string","propType","componentName","_React$Component","HeaderMenu","preventDefault","menuLinkRef","current","focus","setState","prevState","_root$document","_root$document$body","_root$document2","_root$document2$body","disableScroll","expanded","setOverlay","body","classList","remove","add","onMegaMenuToggle","CustomEvent","bubbles","detail","isExpanded","dispatchEvent","stopPropagation","handleOnClick","item","_event$relatedTarget$","relatedTarget","parentElement","includes","_root$document3","_root$document3$body","currentTarget","contains","selectedIndex","checkMenuItems","focusRef","menuButtonRef","items","cloneElement","handleItemRef","createRef","_extends2","_this$props","MenuContent","renderMenuContent","menuLinkName","autoId","selected","dataTitle","onKeyDown","handleMenuClose","onBlur","handleOnBlur","handleOnKeyDown","handleMenuButtonRef","_renderMenuItem","func","number","isRequired","element","elementType","isCurrentPage","ariaCurrent","linkClassName","containerRef","contentRef","contentLeftRef","contentRightRef","caretLeftRef","caretRightRef","_useState","io","setIO","_useState3","position","setPosition","paginateLeft","menuItems","querySelectorAll","offsetLeft","offsetWidth","left","String","paginateRight","IntersectionObserver","records","record","hidden","isIntersecting","root","threshold","disconnect","observe","Fragment","shiftKey","activeElement","previousSibling","nextSibling","_typeof","_defineProperties","_setPrototypeOf","p","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","e","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","getPrototypeOf","_inherits","HeaderNavigation","Constructor","protoProps","staticProps","_super","_classCallCheck","child","isValidElement","_renderNavItem","_classnames","disabled","inline","visited","size","classNames","Tag","stablePrefix","inverse","iconPlacement","viewAllLinkHref","viewAllLinkTitle","hasHighlights","_viewAllLink","_viewAllLink2","viewAllLink","highlightedItems","menuSections","highlighted","megaPanelViewAll","_item$megapanelConten","_item$megapanelConten2","megapanelContent","quickLinks","links","_item$megapanelConten3","_item$megapanelConten4","_ref3","titleLink","navigationL1","mastheadL1Links","navType","hasMenu","hasMegapanel","navItems","section","j","renderNav","hasDivider","_cx2","expandedProp","defaultExpanded","isChildOfHeader","onToggle","isFixedNav","isRail","isPersistent","addFocusListeners","addMouseListeners","controlled","expandedState","setExpandedState","expandedViaHoverState","setExpandedViaHoverState","handleToggle","overlayClassName","childrenToRender","currentExpansionState","eventHandlers","translateById","childrenWithExpandedState","small","_ref$large","large","IconElement","SideNavMenu","persist","charCode","isbackbutton","handleToggleExpand","bind","onKeyPress","handleKeyToggleExpand","wasPreviouslyExpanded","hasActiveChild","buttonRef","some","_renderSideNavItem","oneOfType","derivedState","titleUrl","backButtonText","refSideNavMenu","sideNavMenuNode","sideNav","closest","hasExpandedSubmenu","querySelector","toggle","scrollTop","navigation","platform","sideNavRef","hasMegaPanel","titleEnglish","toLowerCase","selectedMenuItem","renderNavSections","_sideNavRef$current","preventOutFocus","parentNode","_sideNavRef$current2","sections","sectionItems","dataAutoId","renderNavItem","ClickListener","handleRef","handleDocumentClick","evt","composed","composedPath","getEventTarget","onClickOutside","el","callbacks","running","runCallbacks","callback","resize","requestAnimationFrame","addCallback","release","DOCUMENT_POSITION_BROAD_PRECEDING","Node","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_BROAD_FOLLOWING","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINED_BY","selectorTabbable","selectorFocusable","bodyNode","startTrapNode","endTrapNode","currentActiveNode","oldActiveNode","selectorsFloatingMenus","selector","elementOrParentIsFloatingMenu","comparisonResult","compareDocumentPosition","tabbable","Boolean","offsetParent","_tabbable","find","hasChangeInOffset","oldMenuOffset","menuOffset","top","getFloatingPosition","_DIRECTION_LEFT$DIREC","menuSize","_ref$refPosition","refPosition","_ref$offset","offset","_ref$direction","_ref$scrollX","scrollX","_ref$scrollY","scrollY","_refPosition$left","refLeft","_refPosition$top","refTop","_refPosition$right","right","refRight","_refPosition$bottom","bottom","refBottom","relativeDiff","rect","_offset$top","_offset$left","refCenterHorizontal","refCenterVertical","FloatingMenu","floatingPosition","prevProps","menuBody","_menuBody","_prevProps$menuOffset","oldMenuDirection","menuDirection","_this$props$menuOffse","_this$props2","flipped","triggerRef","triggerEl","getBoundingClientRect","pageXOffset","pageYOffset","getComputedStyle","primaryFocusNode","selectorPrimaryFocus","tabbableNode","focusableNode","focusTarget","focusTrap","menuRef","_placeInProgress","_updateMenuSize","_this$props3","pos","positioningStyle","visibility","_menuRef","margin","opacity","startSentinelNode","startSentinel","endSentinelNode","endSentinel","hResize","onPlace","_focusMenuContent","_this$props4","createPortal","handleBlur","_getChildrenWithProps","oneOf","shape","any","_triggerButtonPositio","_triggerButtonPositio2","cx","cy","r","refs","on","triggerButtonPositionProps","getMenuOffset","trigger","flip","triggerButtonPositionProp","menuWidth","menuHeight","offsetHeight","_Component","OverflowMenu","_len2","_key2","open","wasOpen","closeMenu","focusMenuEl","onCloseMenu","onClose","_triggerRef","_overflowMenuItem$cur","currentIndex","enabledIndices","toArray","acc","curr","nextValidIndex","nextIndex","overflowMenuItem","_hFocusIn","hasFocusin","focusinEventName","ownerDocument","onOpen","prevOpen","_","_hBlurTimeout","clearTimeout","_classNames","_classNames2","iconDescription","menuOffsetFlip","iconClass","menuOptionsClass","light","overflowMenuClasses","overflowMenuOptionsClasses","overflowMenuIconClasses","childrenWithProps","handleOverflowMenuItemFocus","wrappedMenuBody","_bindMenuBody","_getTarget","_handlePlace","iconProps","handleClick","handleKeyDown","handleClickOutside","handleKeyPress","didWarnAboutDeprecation","deprecate","message","OverflowMenuItem","itemText","isDelete","_onKeyDown","primaryFocus","wrapperClassName","requireTitle","overflowMenuBtnClasses","overflowMenuItemClasses","TagToUse","OverflowMenuItemContent","setTabFocus","onKeyUp","onMouseDown","onMouseUp","overflowMenuProps","overflowMenuItemProps","customProfileLogin","profileNav","loginUrl","str","componentInputProps","dispatch","searchRef","resetSearch","payload","val","searchIconClick","isHighlighted","suggestionValue","getSuggestionValue","parts","part","fontWeight","_redirectUrl","SEARCH_REDIRECT_ENDPOINT","_trimAndLower","valueString","_getSuggestionValue","_reducer","action","suggestions","prevSuggestions","suggestionContainerVisible","isSearchOpen","placeHolderText","renderValue","searchOpenOnload","customTypeaheadApi","handleHideSearch","useSearchVisible","_initialState","_useReducer","_useReducer2","abortController","AbortController","signal","abort","aborted","Locale","getLang","isSearchActive","inputProps","placeholder","onChange","newValue","onSearchValueChanged","onOpenSearch","onSearchButtonClicked","parent","getRedirect","_onSuggestionsFetchRequest","request","searchValue","reason","t0","SearchTypeahead","getResults","onSuggestionsClearedRequested","onSuggestionsFetchRequested","onSuggestionsClearRequested","renderSuggestion","_ref4","onSuggestionSelected","_ref5","highlightFirstSuggestion","renderInputComponent","shouldRenderSuggestions","onSearchCloseClicked","searchIconRef","selectorPrefix","topNavProps","overlay","mastheadLinks","hasProfile","hasSearch","mastheadL1Data","mastheadProps","isAuthenticated","setStatus","setIsSearchActive","handleSearchActive","unmounted","status","Profile","getUserStatus","user","_useState5","_useState6","mastheadData","setMastheadData","_useState7","_useState8","logo","setlogo","_useState9","signedin","_useState10","profileData","setProfileData","pageData","Translation","getTranslation","mastheadNav","_useState11","_useState12","isMastheadSticky","setIsMastheadSticky","stickyRef","mastheadL1Ref","mastheadSticky","headerSearchClasses","handleScroll","innerHeight","_mastheadL1Data$navig","HeaderGlobalBar","profileMenuList","isShort","MastheadL1","platformName","buttonL1","HeaderIBM","siteTitle","useStaticQuery","cta","globalJson","platformData","allContentPagesJson","edges","Grid","Row","css","idx","slug","activeClassName","Accordion","getId","useIsomorphicLayoutEffect","serverHandoffCompleted","_ref$open","onHeadingClick","_ref$renderExpando","renderExpando","Expando","_ref$title","isOpen","setIsOpen","prevIsOpen","setPrevIsOpen","animation","setAnimation","setId","useId","onAnimationEnd","handleAnimationEnd","nextValue","renderListItems","groups","renderGroups","t","nodeType","clientHeight","scrollHeight","clientWidth","scrollWidth","overflowY","overflowX","defaultView","frameElement","l","idCounter","cbToCb","cb","noop","menuNode","scrollMode","block","u","h","boundary","skipOverflowHiddenElements","c","scrollingElement","documentElement","s","g","visualViewport","innerWidth","m","w","v","W","b","H","y","M","E","I","C","T","k","B","D","O","R","X","Y","L","S","parseInt","borderLeftWidth","N","borderTopWidth","q","borderRightWidth","z","borderBottomWidth","A","F","G","J","max","K","scrollLeft","P","min","isOrContainsNode","debounce","fn","time","timeoutId","callAllEventHandlers","_len3","_key3","preventDownshiftDefault","nativeEvent","handleRefs","_len4","_key4","generateId","resultCount","previousResultCount","unwrapArray","arg","defaultValue","isDOMElement","getElementProps","stateKeys","pickState","getState","isControlledProp","normalizeArrowKey","getNextWrappingIndex","moveAmount","baseIndex","itemCount","getItemNodeFromIndex","circular","itemsLastIndex","newIndex","nonDisabledNewIndex","getNextNonDisabledIndex","currentElementNode","hasAttribute","_index","targetWithinDownshift","downshiftElements","checkActiveElement","contextNode","cleanupStatus","getStatusDiv","textContent","documentProp","div","statusDiv","getElementById","setAttribute","border","clip","overflow","padding","appendChild","stateChangeTypes","freeze","unknown","mouseUp","itemMouseEnter","keyDownArrowUp","keyDownArrowDown","keyDownEscape","keyDownEnter","keyDownHome","keyDownEnd","clickItem","blurInput","changeInput","keyDownSpaceButton","clickButton","blurButton","controlledPropUpdatedSelectedItem","touchEnd","Downshift","_props","menuId","labelId","inputId","getItemId","timeoutIds","internalSetTimeout","setItemCount","count","unsetItemCount","setHighlightedIndex","highlightedIndex","otherStateToSet","defaultHighlightedIndex","internalSetState","clearSelection","selectedItem","inputValue","defaultIsOpen","selectItem","itemToString","selectItemAtIndex","itemIndex","selectHighlightedItem","stateToSet","isItemSelected","onChangeArg","onStateChangeArg","isStateToSetFunction","onInputValueChange","getStateAndHelpers","newStateToSet","stateReducer","nextState","nextFullState","onStateChange","onSelect","onUserAction","rootRef","_rootNode","getRootProps","_temp","_temp2","_ref$refKey","refKey","_ref2$suppressRefErro","suppressRefError","called","keyDownHandlers","amount","moveHighlightedIndex","getItemCount","nextHighlightedIndex","_this3","_this$getState2","itemNode","reset","buttonKeyDownHandlers","toggleMenu","inputKeyDownHandlers","_this4","newHighlightedIndex","_this5","getToggleButtonProps","_temp3","onPress","enabledEventHandlers","buttonHandleClick","buttonHandleKeyDown","buttonHandleKeyUp","buttonHandleBlur","environment","blurTarget","isMouseDown","getLabelProps","htmlFor","getInputProps","_temp4","onInput","onChangeText","_eventHandlers","_this$getState6","inputHandleChange","inputHandleKeyDown","inputHandleBlur","autoComplete","downshiftButtonIsActive","dataset","_menuNode","getMenuProps","_temp5","_temp6","_extends3","_ref5$refKey","_ref6$suppressRefErro","getItemProps","_temp7","_enabledEventHandlers","_ref7","onMouseMove","_ref7$item","customClickHandler","avoidScrolling","clearItems","_ref8","_ref9","_this$getState7","openMenu","updateStatus","getA11yStatusMessage","highlightedItem","_this$props$initialHi","initialHighlightedIndex","_highlightedIndex","_this$props$initialIs","initialIsOpen","_isOpen","_this$props$initialIn","initialInputValue","_inputValue","_this$props$initialSe","initialSelectedItem","_selectedItem","_state","internalClearTimeouts","stateToMerge","scrollHighlightedItemIntoView","scrollIntoView","_this6","_this$getState9","componentDidMount","_this7","onOuterClick","onTouchStart","isTouchMove","onTouchMove","onTouchEnd","contextWithinDownshift","cleanup","shouldScroll","currentHighlightedIndex","prevHighlightedIndex","selectedItemChanged","prevItem","getA11yMessage","changes","getA11ySelectionMessage","selectionParameters","itemToStringLocal","circularNavigation","array","ListBoxType","ListBoxSize","invalid","invalidText","warn","warnText","showWarning","_defaultTranslations","defaultTranslations","translateWithId","description","selectionCount","onClearSelection","Field","Menu","MenuIcon","MenuItem","Selection","spec","mapDownshiftProps","output","_match","replacer","getInputValue","ComboBox","shouldFilterItem","onInputChange","_this$textInput","textInput","newState","filterItems","findHighlightedIndex","onToggleClick","comboBoxInstanceId","nextProps","prevSelectedItem","doneInitialSelectedItem","itemToElement","titleText","helperText","downshiftProps","titleClasses","comboBoxHelperId","helperClasses","wrapperClasses","inputClasses","ItemToElement","handleOnChange","handleOnInputValueChange","handleOnStateChange","handleSelectionClear","itemProps","_classNames3","labelText","noLabel","hideLabel","selectClasses","labelClasses","errorId","helperTextClasses","helper","ariaProps","selectItemClasses","setSelectedItem","lastSelectedItem","useClickOutside","setLastSelectedItem","_setSelectedItem","selectItems","renderSelectItems","button","listStyle","kind","ButtonImageElement","hasIconOnly","tooltipPosition","tooltipAlignment","commonProps","buttonImage","component","otherProps","anchorProps","assistiveText","stacked","buttonSetClasses","toggleClass","ComposedModal","closeModal","innerModal","preventCloseOnClickOutside","focusContainerElement","primaryFocusElement","outerModal","beingOpen","focusButton","danger","modalClass","containerClass","inputref","onTransitionEnd","handleTransitionEnd","_Component2","ModalHeader","_super2","buttonOnClick","_classNames4","_classNames5","_classNames6","_classNames7","labelClassName","titleClassName","closeClassName","closeIconClassName","headerClass","labelClass","titleClass","closeClass","closeIconClass","handleCloseButtonClick","ModalBody","_classNames8","hasForm","hasScrollingContent","contentClass","hasScrollingContentProps","_Component3","ModalFooter","_super3","onRequestClose","_classNames9","primaryClassName","secondaryClassName","secondaryButtonText","primaryButtonText","primaryButtonDisabled","onRequestSubmit","footerClass","primaryClass","secondaryClass","handleRequestClose","langs","getAttribute","Search","hasContent","prevValue","clearedEvt","clearInput","_this$props$id","_inputId","random","substr","closeButtonLabelText","_this$props$size","searchClasses","clearClasses","searchId","handleChange","regionList","setClearResults","currentRegion","modalLabels","localList","localeFilter","localeText","closeBtn","localeHidden","searchPlaceholder","searchLabel","searchClearText","availabilityText","region","countries","localeSplit","localeObj","ipcinfoCookie","set","localeItems","filterVal","toUpperCase","getElementsByTagName","innerText","localeItemsHidden","innerHTML","unavailabilityText","Tile","tileClasses","ClickableTile","clicked","classes","prevClicked","SelectableTile","checked","prevSelected","_Component4","ExpandableTile","_super4","tile","getStyle","aboveTheFold","tileMaxHeight","tilePadding","getPropertyValue","setMaxHeight","tileContent","onBeforeClick","tileCollapsedIconText","tileExpandedIconText","tileStyle","maxHeight","childrenAsArray","getChildren","prevExpanded","prevTileMaxHeight","prevTilePadding","currentExpanded","currentTileMaxHeight","currentTilePadding","expandedChanged","tileMaxHeightChanged","tilePaddingChanged","_Component5","TileAboveTheFoldContent","_super5","_Component6","TileBelowTheFoldContent","_super6","btnClassName","iconClassName","fullwidth","_htmlTagRegex","_cleanStringRegex","_removeHtmlTags","_cleanString","_ref$removeEntities","removeEntities","removedTags","media","modalProps","alt","videoData","setVideoData","titleId","uniqueid","descriptionId","dialogNode","stale","api","src","videoDesc","kWidget","addReadyCallback","videoId","sendNotification","VideoPlayer","autoPlay","Image","defaultSrc","getSelector","scroll","behavior","CTALogic","card","buttons","renderLightBox","openLightBox","_ref$allowHtml","allowHtml","_ref$renderer","renderer","customTags","converted","defaultRenderer","linkTitle","list","ordered","listType","listClass","listitem","use","addHook","allowedTags","tagName","convertedMarkdown","sanitize","removeHook","image","eyebrow","heading","pictogram","refWrapper","TileType","jump","hClick","tileNode","classname","bold","optionalContent","_cta$icon","icon","renderFooter","sources","arrayOf","breakpoint","longDescription","cardLinkClassname","localeBackActive","btn","setIsFiltering","removeAttribute","returnButtonLabel","closeModalLabel","click","keyup","setCurrentRegion","regionLink","localeBackBtn","hasCountries","localeData","localeDisplay","setList","langDisplay","setLangDisplay","setModalLabels","isFiltering","clearResults","filterClass","getLangDisplay","pair","all","getList","localeModal","_document$querySelect","localeModalContainer","headerTitle","_close","modalClose","pageLangs","filterList","_loop","_Object$entries$_i","_Object$entries","countryList","loc","entries","footerBtn","displayLang","aria","langCode","disableLocaleButton","languageOnly","languageItems","languageInitialItem","languageCallback","footerMenuData","setFooterMenuData","footerLegalData","setFooterLegalData","setDisplayLang","localeButtonAria","setLocaleButtonAria","footerThin","_loadLocaleLanguage","Layout","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","nextTick","browser","env","argv","versions","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","debug","opts","script","timer","param","enc","head","removeChild","insertBefore","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","objectToString","nativeMax","nativeMin","isObject","toNumber","isObjectLike","isSymbol","valueOf","isBinary","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","flush","shared","uid","settings_1","utils","InterceptorManager","handlers","fulfilled","rejected","eject","multiSection","_position","sectionIndex","nextNonEmptySectionIndex","_position2","prevNonEmptySectionIndex","isLast","breakpointNames","sm","md","lg","xlg","columnClassName","breakpoints","span","getClassNameForBreakpoints","_ref$fullWidth","fullWidth","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","_createClass","_react","_react2","_interopRequireDefault","_propTypes2","_arrays2","_reactAutowhatever2","_theme","alwaysTrue","Autosuggest","alwaysRenderSuggestions","_initialiseProps","isFocused","isCollapsed","highlightedSectionIndex","highlightedSuggestionIndex","highlightedSuggestion","valueBeforeUpDown","justPressedUpDown","justMouseEntered","pressedSuggestion","onDocumentMouseDown","onDocumentMouseUp","autowhatever","itemsContainer","willRenderSuggestions","justSelectedSuggestion","revealSuggestions","resetHighlightedSuggestion","onSuggestionHighlighted","getHighlightedSuggestion","suggestionIndex","getSuggestion","shouldResetValueBeforeUpDown","_props2","getSectionSuggestions","suggestionElement","startNode","_props$inputProps","_props3","renderSectionTitle","_state2","_onFocus","autowhateverInputProps","justClickedOnSuggestionsContainer","shouldRender","blurEvent","maybeCallOnChange","newHighlightedSectionIndex","newHighlightedItemIndex","getSuggestionValueByIndex","updateHighlightedSuggestion","closeSuggestions","_newValue","willCloseSuggestions","renderSuggestionData","getQuery","renderItemsContainer","renderSuggestionsContainer","renderItem","renderItemData","getSectionItems","highlightedItemIndex","storeAutowhateverRef","focusInputOnSuggestionClick","containerProps","onSuggestionMouseEnter","onSuggestionMouseDown","_props4","onSuggestionClick","_props5","_getSuggestionIndices","getSuggestionIndices","findSuggestionElement","clickedSuggestion","clickedSuggestionValue","_props6","onSuggestionMouseLeave","onSuggestionTouchStart","onSuggestionTouchMove","buildURL","dispatchRequest","mergeConfig","Axios","instanceConfig","defaults","interceptors","config","chain","promise","interceptor","unshift","shift","getUri","params","paramsSerializer","merge","fails","_createForOfIteratorHelperLoose","createCommonjsModule","getDefaults","baseUrl","breaks","gfm","headerIds","headerPrefix","langPrefix","mangle","pedantic","sanitizer","silent","smartLists","smartypants","tokenizer","walkTokens","xhtml","changeDefaults","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","unescapeTest","unescape","html","charAt","fromCharCode","substring","caret","nonWordAndColonTest","originIndependentUrl","baseUrls","justDomain","protocol","domain","resolveUrl","base","rtrim","relativeBase","invert","suffLen","currChar","helpers","encode","opt","getRegex","prot","decodeURIComponent","encodeURI","tableRow","cells","escaped","level","defaults$1","rtrim$1","splitCells$1","_escape","findClosingBracket$1","outputLink","cap","Tokenizer_1","Tokenizer","space","rules","newline","code","tokens","lastToken","trimRight","codeBlockStyle","fences","matchIndentToCode","indentToCode","matchIndentInNode","indentCodeCompensation","depth","nptable","header","hr","blockquote","addBack","loose","istask","ischecked","bull","isordered","start","itemMatch","bullet","task","pre","def","table","lheading","paragraph","escape","inLink","inRawBlock","lastParenIndex","linkLen","_escapes","reflink","nolink","strong","em","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","startsWith","endsWith","br","del","autolink","prevCapZero","_backpedal","inlineText","noopTest$1","edit$1","merge$1","_paragraph","_label","_title","_tag","_comment","normal","_punctuation","_scheme","_email","_attribute","_href","_extended_email","defaults$2","block$1","inline$1","out","Lexer_1","Lexer","lex","blockTokens","token","errMsg","l2","row","inlineTokens","defaults$3","cleanUrl$1","escape$1","Renderer_1","Renderer","_code","infostring","quote","_html","slugger","checkbox","tablerow","content","tablecell","flags","_text","TextRenderer_1","TextRenderer","Slugger_1","Slugger","seen","originalSlug","defaults$4","unescape$1","Parser_1","Parser","textRenderer","l3","cell","itemBody","parseInline","merge$2","checkSanitizeDeprecation$1","escape$2","defaults$5","marked","pending","_tokens","setOptions","extension","prevRenderer","ret","_loop2","prevTokenizer","_step","_iterator","_step2","_iterator2","_step3","_iterator3","_step4","_iterator4","_cell","parser","lexer","factory","iter","$","$trimEnd","end","FORCED","forcedStringTrimMethod","trimEnd","proto","forced","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","toInteger","integer","arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","internalObjectKeys","hiddenKeys","getOwnPropertyNames","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","isUndefined","adapter","XMLHttpRequest","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","common","_version","PROFILE_VERSION","PROFILE_HOST","ProfileAPI","enhanceError","__CANCEL__","serializedParams","isDate","toISOString","hashmarkIndex","load","storage","DEBUG","log","formatArgs","useColors","humanize","diff","color","lastC","save","namespaces","WebkitAppearance","firebug","exception","navigator","userAgent","$1","chrome","local","localStorage","localstorage","colors","formatters","enable","defaultAttributes","focusable","getAttributes","_ref$viewBox","attributes","iconAttributes","isAxiosError","toJSON","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","host","hash","hostname","port","requestURL","parsed","isString","objectWithoutPropertiesLoose","arrayWithoutHoles","iterableToArray","nonIterableSpread","classof","createError","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","deepMerge","axiosKeys","otherKeys","hasOwn","argType","inner","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","argument","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","IS_PURE","store","mode","copyright","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","whitespace","ltrim","TYPE","bitmap","_localeDefault","_axiosConfig","_requestsList","LocaleAPI","_getList","_getLangDisplay","_getLocale","cookie","_lang","verifiedCodes","verifyLocale","getLocaleFromDDO","_ddoLocal$page","_ddoLocal$page$pageIn","_ddoLocal$page2","_ddoLocal$page2$pageI","_ddoLocal$page2$pageI2","ddoLocal","ibm","_getLocaleFromDDO","_root$document$docume","_getLocaleByLangAttr","_country$locale","localeMatch","fetchList","_x2","sessionList","priorityLC","countryCode","languageCode","webpackPolyfill","paths","assertThisInitialized","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","getterFor","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","equal","$$typeof","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","_scrollTracker","SCROLL_TRACKING","_env","AnalyticsAPI","eventData","ibmStats","initScrollTracker","initDynamicTabs","initModals","trackedMarker","curMarker","didScroll","fireEvent","registerEvent","setInterval","floor","primaryCategory","eventName","executionPath","execPathReturnCode","tabSelected","triggerTabSelected","targetTitle","eventCategoryGroup","modalHide","triggerModalHide","launchingElement","modalShow","triggerModalShow","playerState","duration","percentWatched","playerType","eventVidStatus","eventVidTimeStamp","eventVidLength","eventVidPlayed","_sectionIterator2","_reactThemeable2","_SectionTitle2","_ItemsList2","emptyObject","Autowhatever","storeInputReference","storeItemsContainerReference","onHighlightedItemChange","isInputFocused","nextPrev","_this$sectionIterator","sectionIterator","_this$sectionIterator2","setSectionsItems","setSectionIterator","setTheme","ensureHighlightedItemIsVisible","sectionsItems","sectionsLengths","allSectionsAreEmpty","every","itemsCount","keyPrefix","sectionKeyPrefix","isFirstSection","storeItemsListReference","itemOffsetRelativeToContainer","offsetTop","renderedItems","renderSections","renderItems","ariaActivedescendant","itemsContainerId","inputComponent","itemsContainerOpen","itemsList","itemFirst","itemHighlighted","asyncGeneratorStep","gen","_next","_throw","info","_asyncToGenerator","GEO_API","_geolocation","ipcinfo","itemParts","expires","rem","px","columns","miniUnits","Icon","sortedImages","parseFloat","imgSrc","srcSet","Cancel","write","secure","isNumber","toGMTString","read","SEARCH_TYPEAHEAD_VERSION","SEARCH_TYPEAHEAD_API","SearchTypeaheadAPI","_getResults","urlQuery","isAbsoluteURL","combineURLs","requestedURL","objA","objB","aKeys","bKeys","keysMap","aValue","bValue","aValueKeys","bValueKeys","aValueKey","functionToString","_compareObjects2","storeItemReference","restProps","CancelToken","executor","resolvePromise","plural","ms","ceil","isNaN","long","round","fmtShort","_Item2","ItemsList","storeHighlightedItemReference","sectionPrefix","isItemPropsFunction","isFirst","itemPropsObj","allItemProps","postfix","replacement","feature","detection","normalize","POLYFILL","NATIVE","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","async","reverse","pop","skipTempReset","rootRecord","rval","handle","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","prevTime","createDebug","enabled","coerce","format","formatter","logFn","abs","selectColor","init","disable","skips","nativeDefineProperty","Attributes","_embedUrl","_thumbnailUrl","_scriptLoading","_scriptReady","_loadScript","VideoPlayerAPI","_api","_embedVideo","targetId","checkScript","promiseKWidget","embed","wid","uiconf_id","entry_id","flashvars","closedCaptions","plugin","titleLabel","readyCallback","playerId","kdp","addJsListener","_x3","evaluate","videoPlayerStats","doRequest","service","entryId","jsonObj","_x4","seconds","minutes","hours","SectionTitle","OldCookies","Cookies","noConflict","extend","decode","converter","toUTCString","stringifiedAttributes","attributeName","json","jar","cookies","getJSON","withConverter","for","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","clock","_class","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","classCallCheck","createClass","objectWithoutProperties","possibleConstructorReturn","encodeSpecialCharacters","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","attribute","indexToSave","tags","headElement","tagNodes","indexToDelete","newElement","styleSheet","cssText","createTextNode","existingTag","isEqualNode","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","meta","noscript","HelmetSideEffects","defer","HelmetExport","HelmetWrapper","inherits","shouldComponentUpdate","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_child$props","initAttributes","convertReactPropstoHtmlAttributes","defaultTitle","titleTemplate","mappedState","renderStatic","definition","reference","refLength","letters","letLength","letter","settle","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","Authorization","btoa","fullPath","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","send","_lastId","fillOpacity","_embedPlayer","embedVideo","getThumbnailUrl","showCaption","aspectRatio","setEmbedVideo","videoPlayerId","videoDuration","getVideoDuration","msDuration","newVideoData","classnames","aspectRatioClass","SEO","date","year","site","metaTitle","siteMetadata","metaDescription","author","getFullYear","getMonth","padStart","getDate","ignoreDuplicateOf","line","PREFERRED_STRING","isFrozen","seal","thisValue","Func","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","typeErrorCreate","addToSet","lcElement","clone","newObject","svgFilters","mathMl","html$1","svg$1","mathMl$1","xml","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","_toConsumableArray$1","getGlobal","_createTrustedTypesPolicy","trustedTypes","createPolicy","suffix","currentScript","policyName","createHTML","html$$1","createDOMPurify","DOMPurify","removed","isSupported","originalDocument","DocumentFragment","HTMLTemplateElement","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","Text","Comment","DOMParser","template","trustedTypesPolicy","emptyHTML","RETURN_TRUSTED_TYPE","_document","implementation","createNodeIterator","createDocumentFragment","importNode","documentMode","hooks","createHTMLDocument","MUSTACHE_EXPR$$1","ERB_EXPR$$1","DATA_ATTR$$1","ARIA_ATTR$$1","IS_SCRIPT_OR_DATA$$1","ATTR_WHITESPACE$$1","IS_ALLOWED_URI$$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","tbody","_forceRemove","outerHTML","_removeAttribute","getAttributeNode","_initDocument","dirty","doc","leadingWhitespace","dirtyPayload","parseFromString","firstElementChild","childNodes","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","FILTER_ACCEPT","_isClobbered","elm","nodeName","namespaceURI","_isNode","_executeHook","entryPoint","currentNode","hook","_sanitizeElements","insertAdjacentHTML","htmlToInsert","cloneNode","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","forceKeepAttr","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","importedNode","oldNode","returnNode","toStaticHTML","firstChild","nodeIterator","serializedHTML","setConfig","clearConfig","isValidAttribute","hookFunction","removeHooks","removeAllHooks","arrA","arrB","isFunction","FormData","pipe","URLSearchParams","product","assignValue","argsTag","mapTag","objectTag","setTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","reIsHostCtor","reIsUint","typedArrayTags","freeExports","freeModule","freeProcess","nodeUtil","nodeIsTypedArray","isTypedArray","arraySome","predicate","isHostObject","mapToArray","setToArray","transform","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","IE_PROTO","funcToString","reIsNative","Uint8Array","nativeKeys","DataView","getNative","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","symbolToString","Hash","clear","ListCache","MapCache","SetCache","__data__","Stack","arrayLikeKeys","inherited","isArguments","iteratee","baseTimes","skipIndexes","isIndex","assocIndexOf","eq","baseGet","isKey","castPath","toKey","baseHasIn","baseIsEqual","customizer","bitmask","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","convert","isPartial","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othLength","skipCtor","objValue","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsNative","isMasked","baseIteratee","identity","srcValue","isStrictComparable","matchesStrictComparable","hasFunc","isLength","hasPath","hasIn","UNORDERED_COMPARE_FLAG","baseMatchesProperty","matchData","getMatchData","noCustomizer","baseIsMatch","baseMatches","basePropertyDeep","baseKeys","Ctor","stringToPath","arrLength","arrValue","othIndex","getMapData","getValue","cache","pairs","LARGE_ARRAY_SIZE","ctorString","memoize","baseToString","findIndexFunc","findLast","remainder","toFinite","fromRight","baseFindIndex","collection","isArrayLike","resolver","memoized","Cache","isArrayLikeObject","baseUnary","normalizedName","whitespaces","METHOD_NAME","EXISTS","createInstance","defaultConfig","axios","promises","spread"],"mappings":"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","file":"commons-78e1b4b73d6efdf0e3d4.js","sourcesContent":["var removeDiacritics = require('diacritic').clean; // https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions#Using_special_characters\n\n\nvar specialCharsRegex = /[.*+?^${}()|[\\]\\\\]/g; // http://www.ecma-international.org/ecma-262/5.1/#sec-15.10.2.6\n\nvar wordCharacterRegex = /[a-z0-9_]/i;\nvar whitespacesRegex = /\\s+/;\n\nfunction escapeRegexCharacters(str) {\n return str.replace(specialCharsRegex, '\\\\$&');\n}\n\nmodule.exports = function match(text, query) {\n text = removeDiacritics(text);\n query = removeDiacritics(query);\n return query.trim().split(whitespacesRegex) // If query is blank, we'll get empty string here, so let's filter it out.\n .filter(function (word) {\n return word.length > 0;\n }).reduce(function (result, word) {\n var wordLen = word.length;\n var prefix = wordCharacterRegex.test(word[0]) ? '\\\\b' : '';\n var regex = new RegExp(prefix + escapeRegexCharacters(word), 'i');\n var index = text.search(regex);\n\n if (index > -1) {\n result.push([index, index + wordLen]); // Replace what we just found with spaces so we don't find it again.\n\n text = text.slice(0, index) + new Array(wordLen + 1).join(' ') + text.slice(index + wordLen);\n }\n\n return result;\n }, []).sort(function (match1, match2) {\n return match1[0] - match2[0];\n });\n};","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","'use strict';\n\nmodule.exports = require('./Autosuggest').default;","module.exports = function parse(text, matches) {\n var result = [];\n\n if (matches.length === 0) {\n result.push({\n text: text,\n highlight: false\n });\n } else {\n if (matches[0][0] > 0) {\n result.push({\n text: text.slice(0, matches[0][0]),\n highlight: false\n });\n }\n }\n\n matches.forEach(function (match, i) {\n var startIndex = match[0];\n var endIndex = match[1];\n result.push({\n text: text.slice(startIndex, endIndex),\n highlight: true\n });\n\n if (i === matches.length - 1) {\n if (endIndex < text.length) {\n result.push({\n text: text.slice(endIndex, text.length),\n highlight: false\n });\n }\n } else if (endIndex < matches[i + 1][0]) {\n result.push({\n text: text.slice(endIndex, matches[i + 1][0]),\n highlight: false\n });\n }\n });\n return result;\n};","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport axios from 'axios';\nimport { LocaleAPI } from '../Locale';\nimport root from 'window-or-global';\n/**\n * @constant {string | string} Host for the Translation API call\n * @private\n */\n\nvar _host = process && (process.env.REACT_APP_TRANSLATION_HOST || process.env.TRANSLATION_HOST) || 'https://www.ibm.com';\n/**\n * Translation API endpoint\n *\n * @type {string}\n * @private\n */\n\n\nvar _endpoint = \"\".concat(_host, \"/common/v18/js/data/jsononly\");\n/**\n * Session Storage key for translation data\n *\n * @type {string}\n * @private\n */\n\n\nvar _sessionTranslationKey = 'dds-translation';\n/**\n * The cache for in-flight or resolved requests for the i18n data, keyed by the initiating locale.\n *\n * @type {object<string, Translation>}\n */\n\nvar _requestsTranslation = {};\n/**\n * Two hours in milliseconds to compare session timestamp.\n *\n * @type {number}\n * @private\n */\n\nvar _twoHours = 60 * 60 * 2000;\n/**\n * Translation API class with methods for fetching i18n data for ibm.com\n */\n\n\nvar TranslationAPI = /*#__PURE__*/function () {\n function TranslationAPI() {\n _classCallCheck(this, TranslationAPI);\n }\n\n _createClass(TranslationAPI, null, [{\n key: \"clearCache\",\n\n /**\n * Clears the cache.\n */\n value: function clearCache() {\n if (typeof sessionStorage !== 'undefined') {\n Object.keys(_requestsTranslation).forEach(function (key) {\n return delete _requestsTranslation[key];\n });\n\n for (var i = 0; i < sessionStorage.length; ++i) {\n var key = sessionStorage.key(i);\n\n if (key.indexOf(_sessionTranslationKey) === 0) {\n sessionStorage.removeItem(key);\n }\n }\n }\n }\n /**\n * Returns translation i18n data\n *\n * @param {object} codes object containing lc and cc\n *\n * @returns {Promise<any>} Translation data\n * @example\n * import { TranslationAPI } from '@carbon/ibmdotcom-services';\n *\n * async function getTranslation() {\n * const response = await TranslationAPI.getTranslation({\n * lc: 'en',\n * cc: 'us',\n * });\n * return response;\n * }\n */\n\n }, {\n key: \"getTranslation\",\n value: function () {\n var _getTranslation = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(codes) {\n var _this = this;\n\n var lang, country, locale;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n lang = 'en';\n country = 'us';\n\n if (!(codes && codes.lc && codes.cc)) {\n _context.next = 7;\n break;\n }\n\n lang = codes.lc;\n country = codes.cc;\n _context.next = 12;\n break;\n\n case 7:\n _context.next = 9;\n return LocaleAPI.getLocale();\n\n case 9:\n locale = _context.sent;\n lang = locale.lc;\n country = locale.cc;\n\n case 12:\n return _context.abrupt(\"return\", new Promise(function (resolve, reject) {\n _this.fetchTranslation(lang, country, resolve, reject);\n }));\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function getTranslation(_x) {\n return _getTranslation.apply(this, arguments);\n }\n\n return getTranslation;\n }()\n /**\n * Fetches the translation data from sessionStorage or data fetch\n *\n * @param {string} lang Language code\n * @param {string} country Country code\n * @param {Function} resolve resolves the Promise\n * @param {Function} reject rejects the promise\n */\n\n }, {\n key: \"fetchTranslation\",\n value: function fetchTranslation(lang, country, resolve, reject) {\n var _this2 = this;\n\n var itemKey = \"\".concat(_sessionTranslationKey, \"-\").concat(country, \"-\").concat(lang);\n var sessionTranslation = this.getSessionCache(itemKey);\n\n if (sessionTranslation) {\n resolve(sessionTranslation);\n } else {\n var key = \"\".concat(lang, \"-\").concat(country);\n\n if (!_requestsTranslation[key]) {\n var url = \"\".concat(_endpoint, \"/\").concat(country).concat(lang, \".json\");\n _requestsTranslation[key] = axios.get(url, {\n headers: {\n 'Content-Type': 'text/plain',\n origin: _host\n }\n }).then(function (response) {\n return _this2.transformData(response.data);\n }).then(function (data) {\n data['timestamp'] = Date.now();\n sessionStorage.setItem(\"\".concat(_sessionTranslationKey, \"-\").concat(country, \"-\").concat(lang), JSON.stringify(data));\n return data;\n });\n }\n\n _requestsTranslation[key].then(resolve, reject);\n }\n }\n /**\n * Transforms translation data\n *\n * @param {object} data translation data to be transformed\n * @returns {object} Translation data\n */\n\n }, {\n key: \"transformData\",\n value: function transformData(data) {\n var _data$profileMenu;\n\n var signedout = (_data$profileMenu = data.profileMenu) === null || _data$profileMenu === void 0 ? void 0 : _data$profileMenu.signedout;\n\n if (signedout) {\n var strReplace = 'state=https%3A%2F%2Fwww.ibm.com';\n var loginIdx = signedout.findIndex(function (elem) {\n var _elem$url;\n\n return ((_elem$url = elem.url) === null || _elem$url === void 0 ? void 0 : _elem$url.indexOf(strReplace)) !== -1;\n });\n\n if (loginIdx !== -1 && root.location) {\n var location = encodeURIComponent(root.location.href);\n data.profileMenu.signedout[loginIdx].url = signedout[loginIdx].url.replace(strReplace, \"state=\".concat(location));\n }\n }\n\n data.footerMenu.push(data.socialFollow);\n return data;\n }\n /**\n * Retrieves session cache and checks if cache needs to be refreshed\n *\n * @param {string} key session storage key\n * @returns {object} session storage object\n */\n\n }, {\n key: \"getSessionCache\",\n value: function getSessionCache(key) {\n var session = typeof sessionStorage === 'undefined' ? undefined : JSON.parse(sessionStorage.getItem(key));\n\n if (!session || !session.timestamp) {\n return;\n }\n\n var currentTime = Date.now(),\n timeDiff = currentTime - session.timestamp;\n\n if (timeDiff > _twoHours) {\n sessionStorage.removeItem(key);\n return;\n }\n\n return session;\n }\n }]);\n\n return TranslationAPI;\n}();\n\nexport default TranslationAPI;","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","'use strict';\n\nmodule.exports = typeof self === 'object' && self.self === self && self || typeof global === 'object' && global.global === global && global || this;","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i['return']) _i['return']();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError('Invalid attempt to destructure non-iterable instance');\n }\n };\n}();\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n}\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar truthy = function truthy(x) {\n return x;\n};\n\nexports['default'] = function (input) {\n var _ref = Array.isArray(input) && input.length === 2 ? input : [input, null];\n\n var _ref2 = _slicedToArray(_ref, 2);\n\n var theme = _ref2[0];\n var classNameDecorator = _ref2[1];\n return function (key) {\n for (var _len = arguments.length, names = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n names[_key - 1] = arguments[_key];\n }\n\n var styles = names.map(function (name) {\n return theme[name];\n }).filter(truthy);\n return typeof styles[0] === 'string' || typeof classNameDecorator === 'function' ? {\n key: key,\n className: classNameDecorator ? classNameDecorator.apply(undefined, _toConsumableArray(styles)) : styles.join(' ')\n } : {\n key: key,\n style: _objectAssign2['default'].apply(undefined, [{}].concat(_toConsumableArray(styles)))\n };\n };\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar defaultTheme = exports.defaultTheme = {\n container: 'react-autosuggest__container',\n containerOpen: 'react-autosuggest__container--open',\n input: 'react-autosuggest__input',\n inputOpen: 'react-autosuggest__input--open',\n inputFocused: 'react-autosuggest__input--focused',\n suggestionsContainer: 'react-autosuggest__suggestions-container',\n suggestionsContainerOpen: 'react-autosuggest__suggestions-container--open',\n suggestionsList: 'react-autosuggest__suggestions-list',\n suggestion: 'react-autosuggest__suggestion',\n suggestionFirst: 'react-autosuggest__suggestion--first',\n suggestionHighlighted: 'react-autosuggest__suggestion--highlighted',\n sectionContainer: 'react-autosuggest__section-container',\n sectionContainerFirst: 'react-autosuggest__section-container--first',\n sectionTitle: 'react-autosuggest__section-title'\n};\n\nvar mapToAutowhateverTheme = exports.mapToAutowhateverTheme = function mapToAutowhateverTheme(theme) {\n var result = {};\n\n for (var key in theme) {\n switch (key) {\n case 'suggestionsContainer':\n result['itemsContainer'] = theme[key];\n break;\n\n case 'suggestionsContainerOpen':\n result['itemsContainerOpen'] = theme[key];\n break;\n\n case 'suggestion':\n result['item'] = theme[key];\n break;\n\n case 'suggestionFirst':\n result['itemFirst'] = theme[key];\n break;\n\n case 'suggestionHighlighted':\n result['itemHighlighted'] = theme[key];\n break;\n\n case 'suggestionsList':\n result['itemsList'] = theme[key];\n break;\n\n default:\n result[key] = theme[key];\n }\n }\n\n return result;\n};","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport { settings } from 'carbon-components';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nfunction Row(_ref) {\n var _cx;\n\n var _ref$as = _ref.as,\n BaseComponent = _ref$as === void 0 ? 'div' : _ref$as,\n _ref$condensed = _ref.condensed,\n condensed = _ref$condensed === void 0 ? false : _ref$condensed,\n _ref$narrow = _ref.narrow,\n narrow = _ref$narrow === void 0 ? false : _ref$narrow,\n containerClassName = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"as\", \"condensed\", \"narrow\", \"className\", \"children\"]);\n\n var className = cx(containerClassName, (_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--row\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--row--condensed\"), condensed), _defineProperty(_cx, \"\".concat(prefix, \"--row--narrow\"), narrow), _cx));\n return /*#__PURE__*/React.createElement(BaseComponent, _extends({\n className: className\n }, rest), children);\n}\n\nexport default Row;","import React from 'react'\nimport { Link } from 'gatsby'\n\nconst Button = ({ copy, link, renderIcon, external }) => (\n <>\n {\n (external === 'true') ? (\n <a\n href={link}\n className=\"bx--btn bx--btn--primary\"\n target=\"_blank\"\n rel=\"noreferrer\"\n >{copy}{renderIcon}</a>\n ) : (\n <Link\n tabIndex=\"0\"\n className=\"bx--btn bx--btn--primary\"\n to={link}\n >{copy}{renderIcon}</Link>\n )\n }\n </>\n)\n\nexport default Button","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\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 warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\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\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\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 // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var setPrototypeOf = require(\"./setPrototypeOf\");\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(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\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\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 if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\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\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\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__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","import memoize from '@emotion/memoize';\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);\nexport default index;","import _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport { createElement } 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';\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) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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 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 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 = createElement(finalTag, newProps);\n return 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 * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * This file contains the list of the default values of compile-time feature flags.\n */\n\n/**\n * This flag will determine if all feature flags should be enabled\n *\n * @type {boolean}\n */\nexport var DDS_FLAGS_ALL = process.env.DDS_FLAGS_ALL === 'true' || false;\n/**\n * Feature flag to turn on the Card with Pictogram\n *\n * @type {boolean}\n */\n\nexport var DDS_CARD_WITH_PICTOGRAM = process.env.DDS_CARD_WITH_PICTOGRAM === 'true' || DDS_FLAGS_ALL || false;\n/**\n * Feature flag to enable custom login url in masthead profile menu\n *\n * @type {boolean}\n */\n\nexport var DDS_CUSTOM_PROFILE_LOGIN = process.env.DDS_CUSTOM_PROFILE_LOGIN === 'true' || DDS_FLAGS_ALL || false;\n/**\n * Feature flag for the optional language selector in the footer\n *\n * @type {boolean}\n */\n\nexport var DDS_LANGUAGE_SELECTOR = process.env.DDS_LANGUAGE_SELECTOR === 'true' || DDS_FLAGS_ALL || false;\n/**\n * This determines if the simplebenefits will be rendered or not\n *\n * @type {string | boolean}\n */\n\nexport var DDS_SIMPLEBENEFITS = process.env.DDS_SIMPLEBENEFITS === 'true' || DDS_FLAGS_ALL || false;\n/**\n * This determines if the logo grid will be rendered or not\n *\n * @type {string | boolean}\n */\n\nexport var DDS_CALLOUT_DATA = process.env.DDS_CALLOUT_DATA === 'true' || DDS_FLAGS_ALL || false;\n/**\n * This determines if content block - headlines will be rendered or not\n *\n * @type {string | boolean}\n */\n\nexport var DDS_CONTENTBLOCK_HEADLINES = process.env.DDS_CONTENTBLOCK_HEADLINES === 'true' || DDS_FLAGS_ALL || false;\n/**\n * This determines if Promo Banner will be rendered or not\n *\n * @type {string | boolean}\n */\n\nexport var DDS_PROMO_BANNER = process.env.DDS_PROMO_BANNER === 'true' || DDS_FLAGS_ALL || false;\n/**\n * This determines if Leadspace with search will be rendered or not\n *\n * @type {string | boolean}\n */\n\nexport var DDS_LEADSPACE_WITH_SEARCH = process.env.DDS_LEADSPACE_WITH_SEARCH === 'true' || DDS_FLAGS_ALL || false;","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport root from 'window-or-global';\n/**\n * Returns boolean if the isDataLayerReady flag is true\n *\n * @returns {*} boolean flag if data layer is ready in the digitalData object\n * @private\n */\n\nfunction _checkFlag() {\n return root.digitalData && root.digitalData.page && root.digitalData.page.isDataLayerReady;\n}\n/**\n * Number of times to retry the datalayer ready loop before failing\n *\n * @type {number}\n * @private\n */\n\n\nvar _timeoutRetries = 50;\n\nvar _dataLayerReadyPromise;\n/**\n * Timeout loop to check if the digitalData object is ready.\n * This is the only way to achieve this without jQuery, as the event trigger\n * is fired from jQuery's custom event layer as\n * $(document).trigger('datalayer_ready').\n *\n * Application should `window.digitalData` up-front, e.g. in a `<script>` tag in `<head>`, that eliminates the polling.\n *\n * @private\n */\n\n\nfunction _datalayerReady() {\n if (!_dataLayerReadyPromise) {\n _dataLayerReadyPromise = new Promise(function (resolve, reject) {\n /**\n * Tracks the number of attempts for the datalayer ready loop\n *\n * @type {number}\n * @private\n */\n var _attempt = 0;\n\n function _dataLayerReadyImpl() {\n if (_checkFlag()) {\n resolve();\n } else {\n _attempt++;\n\n if (_attempt < _timeoutRetries) {\n setTimeout(function () {\n _dataLayerReadyImpl(resolve, reject);\n }, 100);\n } else {\n reject(new Error('Timeout polling for digital data object.'));\n }\n }\n }\n\n _dataLayerReadyImpl();\n });\n }\n\n return _dataLayerReadyPromise;\n}\n/**\n * DDO API class with methods of fetching search results for\n * ibm.com\n */\n\n\nvar DDOAPI = /*#__PURE__*/function () {\n function DDOAPI() {\n _classCallCheck(this, DDOAPI);\n }\n\n _createClass(DDOAPI, null, [{\n key: \"isReady\",\n\n /**\n * Promise function that determines when the digital data object is ready\n *\n * @returns {Promise} Resolved data layer ready signal\n */\n value: function isReady() {\n return _datalayerReady();\n }\n /**\n * Gets the full digitalData (DDO) object.\n * Application should `window.digitalData` up-front, e.g. in a `<script>` tag in `<head>`.\n * For quick developerment purpose, what `ibm-common.js` automatically populates can be used.\n *\n * @returns {Promise<*>} Promise object\n */\n\n }, {\n key: \"getAll\",\n value: function () {\n var _getAll = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.isReady().then(function () {\n return root.digitalData;\n }).catch(function () {\n return null;\n });\n\n case 2:\n return _context.abrupt(\"return\", _context.sent);\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getAll() {\n return _getAll.apply(this, arguments);\n }\n\n return getAll;\n }()\n /**\n * Sets the version of the library to the DDO.\n * Application should `window.digitalData` up-front, e.g. in a `<script>` tag in `<head>`.\n * For quick developerment purpose, what `ibm-common.js` automatically populates can be used.\n *\n * @returns {Promise<any>} Promise object\n */\n\n }, {\n key: \"setVersion\",\n value: function () {\n var _setVersion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.isReady().then(function () {\n root.digitalData.page.pageInfo.version = ddsSettings.version;\n });\n\n case 2:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function setVersion() {\n return _setVersion.apply(this, arguments);\n }\n\n return setVersion;\n }()\n /**\n * Gets the locale for the current page based on the language set as metadata.\n * Application should `window.digitalData` up-front, e.g. in a `<script>` tag in `<head>`.\n * For quick developerment purpose, what `ibm-common.js` automatically populates can be used.\n *\n * @returns {Promise<*>} Promise object\n */\n\n }, {\n key: \"getLanguage\",\n value: function () {\n var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.isReady().then(function () {\n return root.digitalData.page.pageInfo.language;\n });\n\n case 2:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function getLanguage() {\n return _getLanguage.apply(this, arguments);\n }\n\n return getLanguage;\n }()\n }]);\n\n return DDOAPI;\n}();\n\nexport default DDOAPI;","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { AnalyticsAPI } from '../Analytics';\nimport { DDOAPI } from '../DDO';\n/**\n * Flag to determine if the global init has been fired\n *\n * @type {boolean}\n * @private\n */\n\nvar _initialized = false;\n/**\n * Initializes various global functions\n */\n\nexport function globalInit() {\n if (_initialized) {\n return;\n } else {\n _initialized = true;\n } // Sets the version of the library in the DDO\n\n\n DDOAPI.setVersion().catch(function (error) {\n console.error('Error setting the version of the library in the DDO:', error);\n }); // analytics tracking\n\n AnalyticsAPI.initAll();\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(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\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport { AriaLabelPropType } from '../../prop-types/AriaPropTypes';\nvar prefix = settings.prefix;\n\nvar Header = function Header(_ref) {\n var customClassName = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"className\", \"children\"]);\n\n var className = cx(\"\".concat(prefix, \"--header\"), customClassName);\n return /*#__PURE__*/React.createElement(\"header\", _extends({}, rest, {\n className: className\n }), children);\n};\n\nexport default Header;","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React, { useState, useCallback } from 'react'; // eslint-disable-next-line react/prop-types\n\nvar HeaderContainer = function HeaderContainer(_ref) {\n var isSideNavExpanded = _ref.isSideNavExpanded,\n Children = _ref.render; //state for expandable sidenav\n\n var _useState = useState(isSideNavExpanded),\n _useState2 = _slicedToArray(_useState, 2),\n isSideNavExpandedState = _useState2[0],\n setIsSideNavExpandedState = _useState2[1];\n\n var handleHeaderMenuButtonClick = useCallback(function () {\n setIsSideNavExpandedState(!isSideNavExpandedState);\n }, [isSideNavExpandedState, setIsSideNavExpandedState]);\n return /*#__PURE__*/React.createElement(Children, {\n isSideNavExpanded: isSideNavExpandedState,\n onClickSideNavExpand: handleHeaderMenuButtonClick\n });\n};\n\nHeaderContainer.defaultProps = {\n isSideNavExpanded: false\n};\nexport default HeaderContainer;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport cx from 'classnames';\n\nvar wrapComponent = function wrapComponent(_ref) {\n var name = _ref.name,\n className = _ref.className,\n type = _ref.type;\n\n var Component = function Component(_ref2) {\n var baseClassName = _ref2.className,\n other = _objectWithoutProperties(_ref2, [\"className\"]);\n\n var componentClass = cx(className, baseClassName);\n return /*#__PURE__*/React.createElement(type, _objectSpread(_objectSpread({}, other), {}, {\n // Prevent Weird quirk where `cx` will evaluate to an empty string, '',\n // and so we have empty `class` attributes in the resulting markup\n // eslint-disable-next-line no-extra-boolean-cast\n className: !!componentClass ? componentClass : undefined\n }));\n };\n\n Component.displayName = name;\n return Component;\n};\n\nexport default wrapComponent;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport settings from 'carbon-components/es/globals/js/settings';\nimport wrapComponent from '../../tools/wrapComponent';\nvar prefix = settings.prefix;\n/**\n * Generic container for `HeaderGlobalAction` components\n */\n\nexport default wrapComponent({\n name: 'HeaderGlobalBar',\n className: \"\".concat(prefix, \"--header__global\"),\n type: 'div'\n});","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { getAttributes } from '@carbon/icon-helpers';\nimport React from 'react';\n\nfunction _defineProperty(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\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 ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\n}\n\nvar Icon = /*#__PURE__*/React.forwardRef(function Icon(_ref, ref) {\n var className = _ref.className,\n children = _ref.children,\n tabIndex = _ref.tabIndex,\n rest = _objectWithoutProperties(_ref, [\"className\", \"children\", \"tabIndex\"]);\n\n var _getAttributes = getAttributes(_objectSpread2(_objectSpread2({}, rest), {}, {\n tabindex: tabIndex\n })),\n tabindex = _getAttributes.tabindex,\n props = _objectWithoutProperties(_getAttributes, [\"tabindex\"]);\n\n if (className) {\n props.className = className;\n }\n\n if (tabindex !== undefined && tabindex !== null) {\n props.tabIndex = tabindex;\n }\n\n if (ref) {\n props.ref = ref;\n }\n\n return /*#__PURE__*/React.createElement('svg', props, children);\n});\nIcon.displayName = 'Icon';\nIcon.defaultProps = {\n xmlns: 'http://www.w3.org/2000/svg',\n preserveAspectRatio: 'xMidYMid meet'\n};\nexport { Icon as I, _objectWithoutProperties as _, _extends as a };","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4z\"\n});\n\nvar Close20 = /*#__PURE__*/React.forwardRef(function Close20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Close20;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M2 14.8H18V16H2zM2 11.2H18V12.399999999999999H2zM2 7.6H18V8.799999999999999H2zM2 4H18V5.2H2z\"\n});\n\nvar Menu20 = /*#__PURE__*/React.forwardRef(function Menu20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Menu20;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport Close20 from '@carbon/icons-react/es/close/20';\nimport Menu20 from '@carbon/icons-react/es/menu/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport { AriaLabelPropType } from '../../prop-types/AriaPropTypes';\nvar prefix = settings.prefix;\n\nvar HeaderMenuButton = function HeaderMenuButton(_ref) {\n var _cx;\n\n var ariaLabel = _ref['aria-label'],\n ariaLabelledBy = _ref['aria-labelledby'],\n customClassName = _ref.className,\n onClick = _ref.onClick,\n isActive = _ref.isActive,\n isCollapsible = _ref.isCollapsible,\n rest = _objectWithoutProperties(_ref, [\"aria-label\", \"aria-labelledby\", \"className\", \"onClick\", \"isActive\", \"isCollapsible\"]);\n\n var className = cx((_cx = {}, _defineProperty(_cx, customClassName, !!customClassName), _defineProperty(_cx, \"\".concat(prefix, \"--header__action\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--header__menu-trigger\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--header__action--active\"), isActive), _defineProperty(_cx, \"\".concat(prefix, \"--header__menu-toggle\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--header__menu-toggle__hidden\"), !isCollapsible), _cx));\n var accessibilityLabel = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n };\n return /*#__PURE__*/React.createElement(\"button\", _extends({}, rest, accessibilityLabel, {\n className: className,\n title: ariaLabel,\n type: \"button\",\n onClick: onClick\n }), isActive ? /*#__PURE__*/React.createElement(Close20, null) : /*#__PURE__*/React.createElement(Menu20, null));\n};\n\nexport default HeaderMenuButton;","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport PropTypes from 'prop-types';\n/**\n * Conditional wrapper internal component\n *\n * @param {object} props React props object\n * @param {boolean} props.condition whether to use wrapper\n * @param {*} props.wrapper JSX components\n * @param {*} props.children element(s)\n * @returns {*} JSX element\n *\n * @example\n * import ConditionalWrapper from '../../internal/components/ConditionalWrapper/ConditionalWrapper';\n *\n * const example = ({ link, copy }) => {\n * return (\n * <ConditionalWrapper\n * condition={link}\n * wrapper={children => <a href={link}>{children}</a>}\n * >\n * <p>{children}</p>\n * </ConditionalWrapper>\n * );\n * }\n */\n\nvar ConditionalWrapper = function ConditionalWrapper(_ref) {\n var condition = _ref.condition,\n wrapper = _ref.wrapper,\n children = _ref.children;\n return condition ? wrapper(children) : children;\n};\n\nConditionalWrapper.propTypes = {\n /**\n * Condition whether to use wrapper or not\n */\n condition: PropTypes.bool,\n\n /**\n * Wrapper element\n */\n wrapper: PropTypes.node,\n\n /**\n * Children elements\n */\n children: PropTypes.node\n};\nexport default ConditionalWrapper;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar MastheadLogoAPI = /*#__PURE__*/function () {\n function MastheadLogoAPI() {\n _classCallCheck(this, MastheadLogoAPI);\n }\n\n _createClass(MastheadLogoAPI, null, [{\n key: \"setMastheadLogo\",\n\n /**\n * Determines whether to return custom or default IBM logo\n *\n * @returns {boolean} Use alternate logo or not\n *\n * @example\n * import { MastheadLogoAPI } from '@carbon/ibmdotcom-services';\n *\n * const useAlternateLogo = MastheadLogoAPI.setMastheadLogo(logoData);\n */\n value: function setMastheadLogo(logoData) {\n if (logoData === undefined) return false;\n var currentTime = new Date().getTime();\n var expireTime = logoData.expire ? new Date(logoData.expire).getTime() : null;\n var isExpired = expireTime && currentTime > expireTime ? true : false;\n\n if (logoData.svg === null || isExpired || logoData.denylist && logoData.denylist.indexOf(location.pathname) !== -1) {\n return false;\n } else if (logoData.allowlist && (logoData.allowlist.length == 0 || logoData.allowlist.indexOf(location.pathname) !== -1) && logoData.svg) {\n return true;\n } else {\n return false;\n }\n }\n }]);\n\n return MastheadLogoAPI;\n}();\n\nexport default MastheadLogoAPI;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Generic utility to initialize a method that will return a unique instance id\n * for a component.\n */\nexport default function setupGetInstanceId() {\n var instanceId = 0;\n return function getInstanceId() {\n return ++instanceId;\n };\n}","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Generic utility to compose event handlers so that consumers can supply their\n * own event listeners on table components. The default heuristic here is to\n * iterate through the given functions until `preventDefault` is called on the\n * given event.\n *\n * @param {Array<Function>} fns array of functions to apply to the event\n * @returns {Function}\n */\nexport var composeEventHandlers = function composeEventHandlers(fns) {\n return function (event) {\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 for (var i = 0; i < fns.length; i++) {\n if (event.defaultPrevented) {\n break;\n }\n\n if (typeof fns[i] === 'function') {\n fns[i].apply(fns, [event].concat(args));\n }\n }\n };\n};","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @typedef Key\n * @property key {Array<string>|string}\n * @property which {number}\n * @property keyCode {number}\n */\n\n/**\n * Check to see if at least one key code matches the key code of the\n * given event.\n *\n * @example\n * import * as keys from '../keys';\n * import { matches } from '../match';\n *\n * function handleOnKeyDown(event) {\n * if (matches(event, [keys.Enter, keys.Space]) {\n * // ...\n * }\n * }\n *\n * @param {Event} event\n * @param {Array<Key>} keysToMatch\n * @returns {boolean}\n */\nexport function matches(event, keysToMatch) {\n for (var i = 0; i < keysToMatch.length; i++) {\n if (match(event, keysToMatch[i])) {\n return true;\n }\n }\n\n return false;\n}\n/**\n * Check to see if the given key matches the corresponding keyboard event. Also\n * supports passing in the value directly if you can't used the given event.\n *\n * @example\n * import * as keys from '../keys';\n * import { matches } from '../match';\n *\n * function handleOnKeyDown(event) {\n * if (match(event, keys.Enter) {\n * // ...\n * }\n * }\n *\n * @param {Event|number|string} eventOrCode\n * @param {Key} key\n * @returns {boolean}\n */\n\nexport function match(eventOrCode) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n key = _ref.key,\n which = _ref.which,\n keyCode = _ref.keyCode;\n\n if (typeof eventOrCode === 'string') {\n return eventOrCode === key;\n }\n\n if (typeof eventOrCode === 'number') {\n return eventOrCode === which || eventOrCode === keyCode;\n }\n\n if (eventOrCode.key && Array.isArray(key)) {\n return key.indexOf(eventOrCode.key) !== -1;\n }\n\n return eventOrCode.key === key || eventOrCode.which === which || eventOrCode.keyCode === keyCode;\n}\n/**\n * Get a string character for a given event or event code (useful for synthetic\n * events)\n *\n * @param {Event|number} eventOrCode\n * @returns {string}\n */\n\nexport function getCharacterFor(eventOrCode) {\n if (typeof eventOrCode === 'number') {\n return String.fromCharCode(eventOrCode);\n }\n\n return eventOrCode.key || String.fromCharCode(eventOrCode.which || eventOrCode.keyCode);\n}","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport var Tab = {\n key: 'Tab',\n which: 9,\n keyCode: 9\n};\nexport var Enter = {\n key: 'Enter',\n which: 13,\n keyCode: 13\n};\nexport var Escape = {\n key: ['Escape', // IE11 Escape\n 'Esc'],\n which: 27,\n keyCode: 27\n};\nexport var Space = {\n key: ' ',\n which: 32,\n keyCode: 32\n};\nexport var PageUp = {\n key: 'PageUp',\n which: 33,\n keyCode: 33\n};\nexport var PageDown = {\n key: 'PageDown',\n which: 34,\n keyCode: 34\n};\nexport var End = {\n key: 'End',\n which: 35,\n keyCode: 35\n};\nexport var Home = {\n key: 'Home',\n which: 36,\n keyCode: 36\n};\nexport var ArrowLeft = {\n key: 'ArrowLeft',\n which: 37,\n keyCode: 37\n};\nexport var ArrowUp = {\n key: 'ArrowUp',\n which: 38,\n keyCode: 38\n};\nexport var ArrowRight = {\n key: 'ArrowRight',\n which: 39,\n keyCode: 39\n};\nexport var ArrowDown = {\n key: 'ArrowDown',\n which: 40,\n keyCode: 40\n};","function _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 _defineProperty(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\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport cx from 'classnames';\nimport React, { useState, useEffect } from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport debounce from 'lodash.debounce';\nimport setupGetInstanceId from '../../tools/setupGetInstanceId';\nimport { composeEventHandlers } from '../../tools/events';\nimport { keys, matches } from '../../internal/keyboard';\nvar prefix = settings.prefix;\nvar getInstanceId = setupGetInstanceId();\n\nvar TooltipDefinition = function TooltipDefinition(_ref) {\n var _cx;\n\n var id = _ref.id,\n className = _ref.className,\n triggerClassName = _ref.triggerClassName,\n children = _ref.children,\n direction = _ref.direction,\n align = _ref.align,\n onFocus = _ref.onFocus,\n onMouseEnter = _ref.onMouseEnter,\n onMouseLeave = _ref.onMouseLeave,\n tooltipText = _ref.tooltipText,\n rest = _objectWithoutProperties(_ref, [\"id\", \"className\", \"triggerClassName\", \"children\", \"direction\", \"align\", \"onFocus\", \"onMouseEnter\", \"onMouseLeave\", \"tooltipText\"]);\n\n var _useState = useState(true),\n _useState2 = _slicedToArray(_useState, 2),\n allowTooltipVisibility = _useState2[0],\n setAllowTooltipVisibility = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n tooltipVisible = _useState4[0],\n setTooltipVisible = _useState4[1];\n\n var tooltipId = id || \"definition-tooltip-\".concat(getInstanceId());\n var tooltipClassName = cx(\"\".concat(prefix, \"--tooltip--definition\"), \"\".concat(prefix, \"--tooltip--a11y\"), className);\n var tooltipTriggerClasses = cx(\"\".concat(prefix, \"--tooltip__trigger\"), \"\".concat(prefix, \"--tooltip--a11y\"), \"\".concat(prefix, \"--tooltip__trigger--definition\"), triggerClassName, (_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--tooltip--\").concat(direction), direction), _defineProperty(_cx, \"\".concat(prefix, \"--tooltip--align-\").concat(align), align), _defineProperty(_cx, \"\".concat(prefix, \"--tooltip--hidden\"), !allowTooltipVisibility), _defineProperty(_cx, \"\".concat(prefix, \"--tooltip--visible\"), tooltipVisible), _cx));\n var debounceTooltipVisible = debounce(function () {\n return setTooltipVisible(false);\n }, 100);\n\n var handleFocus = function handleFocus() {\n return setAllowTooltipVisibility(true);\n };\n\n var handleMouseEnter = function handleMouseEnter() {\n debounceTooltipVisible.cancel();\n setAllowTooltipVisibility(true);\n setTooltipVisible(true);\n };\n\n var handleMouseLeave = debounceTooltipVisible;\n useEffect(function () {\n var handleEscKeyDown = function handleEscKeyDown(event) {\n if (matches(event, [keys.Escape])) {\n setAllowTooltipVisibility(false);\n }\n };\n\n document.addEventListener('keydown', handleEscKeyDown);\n return function () {\n return document.removeEventListener('keydown', handleEscKeyDown);\n };\n }, []);\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, rest, {\n className: tooltipClassName,\n onMouseEnter: composeEventHandlers([onMouseEnter, handleMouseEnter]),\n onMouseLeave: composeEventHandlers([onMouseLeave, handleMouseLeave])\n }), /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n className: tooltipTriggerClasses,\n \"aria-describedby\": tooltipId,\n onFocus: composeEventHandlers([onFocus, handleFocus])\n }, children), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--assistive-text\"),\n id: tooltipId,\n role: \"tooltip\"\n }, tooltipText));\n};\n\nTooltipDefinition.defaultProps = {\n direction: 'bottom',\n align: 'start'\n};\nexport default TooltipDefinition;","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport ConditionalWrapper from '../../internal/components/ConditionalWrapper/ConditionalWrapper';\n\nvar MastheadLogo = function MastheadLogo(props) {\n return React.createElement(\"svg\", props, React.createElement(\"path\", {\n d: \"M58 21.467V23h-7.632v-1.533H58zm-18.316 0V23h-7.631v-1.533h7.631zm5.955 0L45.025 23l-.606-1.533h1.22zm-17.097 0A6.285 6.285 0 0 1 24.391 23H12.21v-1.533zm-17.858 0V23H0v-1.533h10.684zm29-3.067v1.533h-7.631V18.4h7.631zm7.148 0l-.594 1.533H43.82l-.598-1.533h3.609zm-16.764 0a5.719 5.719 0 0 1-.64 1.533H12.21V18.4zm-19.384 0v1.533H0V18.4h10.684zM58 18.4v1.533h-7.632V18.4H58zm-3.053-3.067v1.534h-4.579v-1.534h4.58zm-15.263 0v1.534h-4.579v-1.534h4.58zm8.345 0l-.6 1.534h-4.806l-.604-1.534h6.01zm-18.174 0c.137.49.213 1.003.213 1.534h-5.647v-1.534zm-10.013 0v1.534h-4.579v-1.534h4.58zm-12.21 0v1.534h-4.58v-1.534h4.58zm47.315-3.066V13.8h-4.579v-1.533h4.58zm-15.263 0V13.8h-4.579v-1.533h4.58zm9.541 0l-.597 1.533h-7.22l-.591-1.533h8.408zm-21.248 0c.527.432.98.951 1.328 1.533H15.263v-1.533zm-20.345 0V13.8h-4.58v-1.533h4.58zM44.599 9.2l.427 1.24.428-1.24h9.493v1.533h-4.579V9.324l-.519 1.41h-9.661l-.504-1.41v1.41h-4.579V9.2H44.6zm-36.967 0v1.533h-4.58V9.2h4.58zm21.673 0a5.95 5.95 0 0 1-1.328 1.533H15.263V9.2zm25.642-3.067v1.534h-8.964l.54-1.534h8.424zm-11.413 0l.54 1.534h-8.969V6.133h8.43zm-13.466 0c0 .531-.076 1.045-.213 1.534H24.42V6.133zm-10.226 0v1.534h-4.579V6.133h4.58zm-12.21 0v1.534h-4.58V6.133h4.58zm34.845-3.066l.53 1.533H32.054V3.067h10.424zm15.523 0V4.6H47.04l.55-1.533H58zm-28.573 0c.284.473.504.988.641 1.533H12.211V3.067zm-18.743 0V4.6H0V3.067h10.684zM41.406 0l.54 1.533h-9.893V0h9.353zM58 0v1.533h-9.881L48.647 0H58zM24.39 0c1.601 0 3.057.581 4.152 1.533H12.211V0zM10.685 0v1.533H0V0h10.684z\",\n fill: \"#161616\",\n fillRule: \"evenodd\"\n }));\n};\n\nMastheadLogo.defaultProps = {\n width: \"58\",\n height: \"23\",\n viewBox: \"0 0 58 23\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nimport MastheadLogoAPI from '@carbon/ibmdotcom-services/es/services/MastheadLogo/MastheadLogo';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport TooltipDefinition from '../../internal/vendor/carbon-components-react/components/TooltipDefinition';\nvar prefix = settings.prefix;\n/**\n * IBM Logo 8-bar component.\n */\n\nvar IbmLogo = function IbmLogo(_ref) {\n var autoid = _ref.autoid,\n logoData = _ref.logoData;\n var useAlternateLogo = MastheadLogoAPI.setMastheadLogo(logoData);\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--header__logo\")\n }, React.createElement(ConditionalWrapper, {\n condition: logoData && logoData.tooltip !== undefined,\n wrapper: function wrapper(children) {\n return React.createElement(TooltipDefinition, {\n tooltipText: logoData.tooltip\n }, children);\n }\n }, useAlternateLogo ? React.createElement(\"a\", {\n // eslint-disable-line\n \"aria-label\": \"IBM\\xAE\",\n \"data-autoid\": autoid,\n href: \"http://www.ibm.com\".concat(logoData.path),\n dangerouslySetInnerHTML: {\n __html: logoData.svg\n }\n }) : React.createElement(\"a\", {\n \"aria-label\": \"IBM\\xAE\",\n \"data-autoid\": autoid,\n href: \"http://www.ibm.com\"\n }, !useAlternateLogo && React.createElement(MastheadLogo, null))));\n};\n\nexport default IbmLogo;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M16 22L6 12 7.4 10.6 16 19.2 24.6 10.6 26 12z\"\n});\n\nvar ChevronDown20 = /*#__PURE__*/React.forwardRef(function ChevronDown20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ChevronDown20;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @param {object<string, Function>} propTypes The list of type checkers, keyed by prop names.\n * @returns {object<string, Function>}\n * The new prop type checkers that checks if one of the given props exist,\n * in addition to the original type checkings.\n */\n\n\nexport default function isRequiredOneOf(propTypes) {\n var names = Object.keys(propTypes);\n\n var checker = function checker(propType) {\n return function (props, propName, componentName) {\n if (process.env.NODE_ENV !== \"production\" && names.every(function (name) {\n return typeof props[name] === 'undefined';\n })) {\n return new Error(\"\".concat(componentName, \" requires one of the following props: \").concat(names.join(', ')));\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest));\n };\n };\n\n return names.reduce(function (o, name) {\n return _objectSpread(_objectSpread({}, o), {}, _defineProperty({}, name, checker(propTypes[name])));\n }, {});\n}","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport PropTypes from 'prop-types';\nimport isRequiredOneOf from './isRequiredOneOf';\nexport var AriaLabelPropType = isRequiredOneOf({\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string\n});","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\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n/* istanbul ignore file */\n\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport ChevronDown20 from '@carbon/icons-react/es/chevron--down/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { keys, matches } from '../../../internal/vendor/carbon-components-react/internal/keyboard';\nimport { AriaLabelPropType } from '../../../internal/vendor/carbon-components-react/prop-types/AriaPropTypes';\nimport root from 'window-or-global';\nvar prefix = settings.prefix;\n\nvar defaultRenderMenuContent = function defaultRenderMenuContent() {\n return React.createElement(ChevronDown20, {\n className: \"\".concat(prefix, \"--header__menu-arrow\")\n });\n};\n/**\n * `HeaderMenu` is used to render submenu's in the `Header`. Most often children\n * will be a `HeaderMenuItem`. It handles certain keyboard events to help\n * with managing focus. It also passes along refs to each child so that it can\n * help manage focus state of its children.\n */\n\n\nvar HeaderMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(HeaderMenu, _React$Component);\n\n function HeaderMenu(props) {\n var _this;\n\n _classCallCheck(this, HeaderMenu);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(HeaderMenu).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnClick\", function (event) {\n event.preventDefault();\n\n _this.menuLinkRef.current.focus();\n\n _this.setState(function (prevState) {\n if (_this.props.disableScroll) {\n if (prevState.expanded) {\n var _root$document, _root$document$body;\n\n _this.props.setOverlay(false);\n\n (_root$document = root.document) === null || _root$document === void 0 ? void 0 : (_root$document$body = _root$document.body) === null || _root$document$body === void 0 ? void 0 : _root$document$body.classList.remove(\"\".concat(prefix, \"--body__lock-scroll\"));\n } else {\n var _root$document2, _root$document2$body;\n\n _this.props.setOverlay(true);\n\n (_root$document2 = root.document) === null || _root$document2 === void 0 ? void 0 : (_root$document2$body = _root$document2.body) === null || _root$document2$body === void 0 ? void 0 : _root$document2$body.classList.add(\"\".concat(prefix, \"--body__lock-scroll\"));\n }\n }\n\n var onMegaMenuToggle = new CustomEvent('onMegaMenuToggle', {\n bubbles: true,\n detail: {\n isExpanded: !prevState.expanded\n }\n });\n\n _this.menuLinkRef.current.dispatchEvent(onMegaMenuToggle);\n\n return {\n expanded: !prevState.expanded\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnKeyDown\", function (event) {\n // Handle enter or space key for toggling the expanded state of the menu.\n if (matches(event, [keys.Enter, keys.Space])) {\n event.stopPropagation();\n event.preventDefault();\n\n _this.handleOnClick(event);\n\n return;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkMenuItems\", function (event) {\n var megamenuItems = [\"\".concat(prefix, \"--masthead__megamenu__category-headline\"), \"\".concat(prefix, \"--masthead__megamenu__category-group\"), \"\".concat(prefix, \"--masthead__megamenu__view-all-cta\"), \"\".concat(prefix, \"--masthead__megamenu__l0-nav\"), \"\".concat(prefix, \"--masthead__megamenu__l1-nav\"), \"\".concat(prefix, \"--header__menu\")];\n return megamenuItems.filter(function (item) {\n var _event$relatedTarget$;\n\n return (_event$relatedTarget$ = event.relatedTarget.parentElement.className) === null || _event$relatedTarget$ === void 0 ? void 0 : _event$relatedTarget$.includes(item);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnBlur\", function (event) {\n if (!event.currentTarget.contains(event.relatedTarget)) {\n var _root$document3, _root$document3$body;\n\n _this.setState({\n expanded: false,\n selectedIndex: null\n });\n\n _this.props.disableScroll && ((_root$document3 = root.document) === null || _root$document3 === void 0 ? void 0 : (_root$document3$body = _root$document3.body) === null || _root$document3$body === void 0 ? void 0 : _root$document3$body.classList.remove(\"\".concat(prefix, \"--body__lock-scroll\")));\n }\n\n if (!event.relatedTarget || !_this.checkMenuItems(event).length) {\n _this.props.setOverlay(false);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMenuButtonRef\", function (node) {\n if (_this.props.focusRef) {\n _this.props.focusRef(node);\n }\n\n _this.menuButtonRef = node;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemRef\", function (index) {\n return function (node) {\n _this.items[index] = node;\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMenuClose\", function (event) {\n // Handle ESC keydown for closing the expanded menu.\n if (matches(event, [keys.Escape]) && _this.state.expanded) {\n event.stopPropagation();\n event.preventDefault();\n\n _this.setState(function () {\n return {\n expanded: false,\n selectedIndex: null\n };\n }); // remove overlay\n\n\n _this.props.setOverlay(false); // Return focus to menu button when the user hits ESC.\n\n\n _this.menuButtonRef.focus();\n\n return;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_renderMenuItem\", function (item, index) {\n return React.cloneElement(item, {\n ref: _this.handleItemRef(index),\n role: 'none'\n });\n });\n\n _this.state = {\n // Used to manage the expansion state of the menu\n expanded: false,\n // Refers to the menuitem that is currently focused\n // Note: children should have `role=\"menuitem\"` on node consuming ref\n selectedIndex: null\n };\n _this.items = [];\n _this.menuLinkRef = React.createRef();\n return _this;\n }\n /**\n * Toggle the expanded state of the menu on click.\n */\n\n\n _createClass(HeaderMenu, [{\n key: \"render\",\n value: function render() {\n var _extends2;\n\n var _this$props = this.props,\n ariaLabel = _this$props['aria-label'],\n ariaLabelledBy = _this$props['aria-labelledby'],\n customClassName = _this$props.className,\n children = _this$props.children,\n MenuContent = _this$props.renderMenuContent,\n menuLinkName = _this$props.menuLinkName,\n autoId = _this$props.autoId,\n selected = _this$props.selected,\n dataTitle = _this$props.dataTitle;\n var accessibilityLabel = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n };\n var className = cx(\"\".concat(prefix, \"--header__submenu\"), customClassName); // Notes on eslint comments and based on the examples in:\n // https://www.w3.org/TR/wai-aria-practices/examples/menubar/menubar-1/menubar-1.html#\n // - The focus is handled by the <a> menuitem, onMouseOver is for mouse\n // users\n // - aria-haspopup can definitely have the value \"menu\"\n // - aria-expanded is on their example node with role=\"menuitem\"\n // - href can be set to javascript:void(0), ideally this will be a button\n\n return React.createElement(\"li\", {\n // eslint-disable-line jsx-a11y/mouse-events-have-key-events,jsx-a11y/no-noninteractive-element-interactions\n className: cx(className, _defineProperty({}, \"\".concat(prefix, \"--masthead__l0-nav--selected\"), selected && !this.state.expanded)),\n \"data-autoid\": autoId,\n onKeyDown: this.handleMenuClose,\n onBlur: this.handleOnBlur\n }, React.createElement(\"a\", _extends((_extends2 = {\n // eslint-disable-line jsx-a11y/role-supports-aria-props,jsx-a11y/anchor-is-valid\n \"aria-haspopup\": \"menu\" // eslint-disable-line jsx-a11y/aria-proptypes\n ,\n \"aria-expanded\": this.state.expanded,\n className: \"\".concat(prefix, \"--header__menu-item \").concat(prefix, \"--header__menu-title\"),\n \"data-title\": dataTitle,\n href: \"#\",\n onClick: this.handleOnClick,\n onKeyDown: this.handleOnKeyDown,\n ref: this.handleMenuButtonRef,\n role: \"menuitem\",\n tabIndex: 0\n }, _defineProperty(_extends2, \"ref\", this.menuLinkRef), _defineProperty(_extends2, \"aria-selected\", selected ? 'true' : ''), _extends2), accessibilityLabel), menuLinkName, React.createElement(MenuContent, null)), React.createElement(\"ul\", _extends({}, accessibilityLabel, {\n className: \"\".concat(prefix, \"--header__menu\"),\n role: \"menu\"\n }), React.Children.map(children, this._renderMenuItem)));\n }\n /**\n * Render an individual menuitem, passing along `role: 'none'` because the\n * host node <li> doesn't apply when in a <ul> with `role=\"menu\"` and so we\n * need to revert the semantics.\n *\n * We also capture the `ref` for each child inside of `this.items` to properly\n * manage focus. In addition to this focus management, all items receive a\n * `tabIndex: -1` so the user won't hit a large number of items in their tab\n * sequence when they might not want to go through all the items.\n */\n\n }]);\n\n return HeaderMenu;\n}(React.Component);\n\n_defineProperty(HeaderMenu, \"propTypes\", _objectSpread({}, AriaLabelPropType, {\n /**\n * Optional data-title attribute\n */\n dataTitle: PropTypes.string,\n\n /**\n * Provide a custom ref handler for the menu button\n */\n focusRef: PropTypes.func,\n\n /**\n * Optionally provide a tabIndex for the underlying menu button\n */\n tabIndex: PropTypes.number,\n\n /**\n * Provide a label for the link text\n */\n menuLinkName: PropTypes.string.isRequired,\n\n /**\n * Optional component to render instead of string\n */\n renderMenuContent: PropTypes.func,\n\n /**\n * Determines whether to disable body scroll\n */\n disableScroll: PropTypes.bool,\n\n /**\n * function to toogle overlay that appears when opening menu\n */\n setOverlay: PropTypes.func,\n\n /**\n * sets the selected styles\n */\n selected: PropTypes.bool\n}));\n\n_defineProperty(HeaderMenu, \"defaultProps\", {\n renderMenuContent: defaultRenderMenuContent,\n setOverlay: function setOverlay() {}\n});\n\nexport default React.forwardRef(function (props, ref) {\n return React.createElement(HeaderMenu, _extends({}, props, {\n focusRef: ref\n }));\n});","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\n/**\n * Link is a custom component that allows us to supporting rendering elements\n * other than `a` in our markup. The goal is to allow users to support passing\n * in their own components to support use-cases like `react-router` or\n * `@reach/router`\n */\n\nvar Link = /*#__PURE__*/React.forwardRef(function Link(props, ref) {\n var element = props.element,\n rest = _objectWithoutProperties(props, [\"element\"]);\n\n return /*#__PURE__*/React.createElement(element, _objectSpread(_objectSpread({}, rest), {}, {\n ref: ref\n }));\n});\nvar LinkPropTypes = {\n /**\n * The base element to use to build the link. Defaults to `a`, can also accept\n * alternative tag names or custom components like `Link` from `react-router`.\n */\n element: PropTypes.elementType,\n\n /**\n * Property to indicate if the side nav container is open (or not). Use to\n * keep local state and styling in step with the SideNav expansion state.\n */\n isSideNavExpanded: PropTypes.bool\n};\nLink.displayName = 'Link';\nLink.defaultProps = {\n element: 'a'\n};\nexport { LinkPropTypes };\nexport default Link;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport React from 'react';\nimport cx from 'classnames';\nimport Link, { LinkPropTypes } from './Link';\nvar prefix = settings.prefix;\nvar HeaderMenuItem = /*#__PURE__*/React.forwardRef(function HeaderMenuItem(_ref, ref) {\n var _cx;\n\n var className = _ref.className,\n isCurrentPage = _ref.isCurrentPage,\n ariaCurrent = _ref['aria-current'],\n children = _ref.children,\n role = _ref.role,\n rest = _objectWithoutProperties(_ref, [\"className\", \"isCurrentPage\", \"aria-current\", \"children\", \"role\"]);\n\n var linkClassName = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--header__menu-item\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--header__menu-item--current\"), isCurrentPage && ariaCurrent !== 'page'), _cx));\n return /*#__PURE__*/React.createElement(\"li\", {\n className: className,\n role: role\n }, /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n \"aria-current\": ariaCurrent,\n className: linkClassName,\n ref: ref,\n tabIndex: 0\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--text-truncate--end\")\n }, children)));\n});\nexport default HeaderMenuItem;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M20 24L10 16 20 8z\"\n});\n\nvar CaretLeft20 = /*#__PURE__*/React.forwardRef(function CaretLeft20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default CaretLeft20;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M12 8L22 16 12 24z\"\n});\n\nvar CaretRight20 = /*#__PURE__*/React.forwardRef(function CaretRight20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default CaretRight20;","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { keys, matches } from '../../internal/vendor/carbon-components-react/internal/keyboard';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport CaretLeft20 from '@carbon/icons-react/es/caret--left/20';\nimport CaretRight20 from '@carbon/icons-react/es/caret--right/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * Header nav container component.\n */\n\nvar HeaderNavContainer = function HeaderNavContainer(_ref) {\n var children = _ref.children;\n var containerRef = useRef(null);\n var contentRef = useRef(null);\n var contentLeftRef = useRef(null);\n var contentRightRef = useRef(null);\n var caretLeftRef = useRef(null);\n var caretRightRef = useRef(null);\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n io = _useState2[0],\n setIO = _useState2[1];\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n position = _useState4[0],\n setPosition = _useState4[1];\n\n var buttonSize = 48; // 40px(width) + 8px(gradient)\n\n var paginateLeft = useCallback(function () {\n var menuItems = contentRef.current.querySelectorAll('.bx--header__menu-bar li');\n\n for (var i = 0; i < menuItems.length; i++) {\n // checks if first visible item is partially hidden\n if (menuItems[i].offsetLeft + menuItems[i].offsetWidth + position >= buttonSize) {\n // checks if there is space for remaining menuItems\n if (menuItems[i].offsetLeft + menuItems[i].offsetWidth > containerRef.current.offsetWidth - buttonSize) {\n setPosition(containerRef.current.offsetWidth - menuItems[i].offsetLeft - menuItems[i].offsetWidth - buttonSize);\n contentRef.current.style.left = String(containerRef.current.offsetWidth - menuItems[i].offsetLeft - menuItems[i].offsetWidth - buttonSize) + 'px';\n } else {\n setPosition(0);\n contentRef.current.style.left = '0px';\n }\n\n break;\n }\n }\n }, [position]);\n var paginateRight = useCallback(function () {\n var menuItems = contentRef.current.querySelectorAll('.bx--header__menu-bar li');\n\n for (var i = 0; i < menuItems.length; i++) {\n // checks if the right most visible element is partially hidden\n if (menuItems[i].offsetLeft + menuItems[i].offsetWidth + position > containerRef.current.offsetWidth - buttonSize) {\n // checks if there is space for remaining menuItems\n if (contentRef.current.offsetWidth - menuItems[i].offsetLeft < containerRef.current.offsetWidth - buttonSize) {\n setPosition(containerRef.current.offsetWidth - contentRef.current.offsetWidth);\n contentRef.current.style.left = String(containerRef.current.offsetWidth - contentRef.current.offsetWidth) + 'px';\n } else {\n setPosition(buttonSize - menuItems[i].offsetLeft);\n contentRef.current.style.left = String(buttonSize - menuItems[i].offsetLeft) + 'px';\n }\n\n break;\n }\n }\n }, [position]);\n useEffect(function () {\n if (window.IntersectionObserver) {\n setIO(new IntersectionObserver(function (records) {\n records.forEach(function (record) {\n if (contentLeftRef.current && record.target.classList.contains(contentLeftRef.current.className)) {\n caretLeftRef.current.hidden = record.isIntersecting;\n }\n\n if (contentRightRef.current && record.target.classList.contains(contentRightRef.current.className)) {\n caretRightRef.current.hidden = record.isIntersecting;\n }\n });\n }, {\n root: containerRef.current,\n threshold: 1\n }));\n }\n }, [setIO]);\n useEffect(function () {\n if (io) {\n io.observe(contentLeftRef.current);\n io.observe(contentRightRef.current);\n } else {\n return function () {\n if (io) {\n io.disconnect();\n }\n };\n }\n }, [io]);\n /**\n * Keyboard event handler for menu items.\n */\n\n var handleOnKeyDown = function handleOnKeyDown(event) {\n if (matches(event, [keys.Tab])) {\n if (event.shiftKey) {\n //Focus previous input\n if (document.activeElement.parentElement.previousSibling && document.activeElement.parentElement.previousSibling.offsetLeft + position <= buttonSize) {\n paginateLeft();\n }\n } else {\n //Focus next input\n if (document.activeElement.parentElement.nextSibling && document.activeElement.parentElement.nextSibling.offsetLeft + document.activeElement.parentElement.nextSibling.offsetWidth >= containerRef.current.offsetWidth - buttonSize) {\n paginateRight();\n }\n }\n }\n };\n\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--header__nav-container\"),\n ref: containerRef\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--header__nav-content\"),\n ref: contentRef,\n onKeyDown: handleOnKeyDown\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--sub-content-left\"),\n ref: contentLeftRef\n }), React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--sub-content-right\"),\n ref: contentRightRef\n }), children), React.createElement(\"button\", {\n className: \"\".concat(prefix, \"--header__nav-caret-left\"),\n \"aria-label\": \"Masthead left caret\",\n onClick: paginateLeft,\n ref: caretLeftRef,\n tabIndex: \"-1\",\n \"aria-hidden\": \"true\",\n hidden: true\n }, React.createElement(CaretLeft20, null)), React.createElement(\"button\", {\n className: \"\".concat(prefix, \"--header__nav-caret-right\"),\n \"aria-label\": \"Masthead right caret\",\n onClick: paginateRight,\n ref: caretRightRef,\n tabIndex: \"-1\",\n \"aria-hidden\": \"true\",\n hidden: true\n }, React.createElement(CaretRight20, null))));\n};\n\nexport default HeaderNavContainer;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { AriaLabelPropType } from '../../prop-types/AriaPropTypes';\nvar prefix = settings.prefix;\n\nvar HeaderNavigation = /*#__PURE__*/function (_React$Component) {\n _inherits(HeaderNavigation, _React$Component);\n\n var _super = _createSuper(HeaderNavigation);\n\n function HeaderNavigation(props) {\n var _this;\n\n _classCallCheck(this, HeaderNavigation);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemRef\", function (index) {\n return function (node) {\n _this.items[index] = node;\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_renderNavItem\", function (child, index) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n return /*#__PURE__*/React.cloneElement(child, {\n ref: _this.handleItemRef(index)\n });\n }\n });\n\n _this.items = [];\n _this.state = {\n selectedIndex: 0\n };\n return _this;\n }\n /**\n * Handles individual menuitem refs. We assign them to a class instance\n * property so that we can properly manage focus of our children.\n */\n\n\n _createClass(HeaderNavigation, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n ariaLabel = _this$props['aria-label'],\n ariaLabelledBy = _this$props['aria-labelledby'],\n children = _this$props.children,\n customClassName = _this$props.className,\n rest = _objectWithoutProperties(_this$props, [\"aria-label\", \"aria-labelledby\", \"children\", \"className\"]);\n\n var className = cx(\"\".concat(prefix, \"--header__nav\"), customClassName); // Assign both label strategies in this option, only one should be defined\n // so when we spread that should be the one that is applied to the node\n\n var accessibilityLabel = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n };\n return /*#__PURE__*/React.createElement(\"nav\", _extends({}, rest, accessibilityLabel, {\n className: className\n }), /*#__PURE__*/React.createElement(\"ul\", _extends({}, accessibilityLabel, {\n className: \"\".concat(prefix, \"--header__menu-bar\"),\n role: \"menubar\"\n }), React.Children.map(children, this._renderNavItem)));\n }\n /**\n * Render an individual menuitem, adding a `ref` for each child inside of\n * `this.items` to properly manage focus.\n */\n\n }]);\n\n return HeaderNavigation;\n}(React.Component);\n\n_defineProperty(HeaderNavigation, \"propTypes\", _objectSpread(_objectSpread({}, AriaLabelPropType), {}, {\n /**\n * Provide valid children of HeaderNavigation, for example `HeaderMenuItem`\n * or `HeaderMenu`\n */\n children: PropTypes.node,\n\n /**\n * Optionally provide a custom class to apply to the underlying <nav> node\n */\n className: PropTypes.string\n}));\n\nexport { HeaderNavigation as default };","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M9.3 3.7L13.1 7.5 1 7.5 1 8.5 13.1 8.5 9.3 12.3 10 13 15 8 10 3z\"\n});\n\nvar ArrowRight16 = /*#__PURE__*/React.forwardRef(function ArrowRight16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ArrowRight16;","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport classnames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n\nvar Link = function Link(_ref) {\n var _classnames;\n\n var children = _ref.children,\n className = _ref.className,\n href = _ref.href,\n disabled = _ref.disabled,\n inline = _ref.inline,\n visited = _ref.visited,\n size = _ref.size,\n other = _objectWithoutProperties(_ref, [\"children\", \"className\", \"href\", \"disabled\", \"inline\", \"visited\", \"size\"]);\n\n var classNames = classnames(\"\".concat(prefix, \"--link\"), className, (_classnames = {}, _defineProperty(_classnames, \"\".concat(prefix, \"--link--disabled\"), disabled), _defineProperty(_classnames, \"\".concat(prefix, \"--link--inline\"), inline), _defineProperty(_classnames, \"\".concat(prefix, \"--link--visited\"), visited), _defineProperty(_classnames, \"\".concat(prefix, \"--link--\").concat(size), size), _classnames));\n var Tag = disabled ? 'p' : 'a';\n var rel = other.target === '_blank' ? 'noopener' : null;\n return /*#__PURE__*/React.createElement(Tag, _extends({\n href: disabled ? null : href,\n className: classNames,\n rel: rel\n }, other), children);\n};\n\nexport default Link;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport classNames from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport Link from '../../internal/vendor/carbon-components-react/components/Link/Link';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * LinkWithIcon component.\n */\n\nvar LinkWithIcon = function LinkWithIcon(_ref) {\n var children = _ref.children,\n customClassName = _ref.className,\n href = _ref.href,\n inverse = _ref.inverse,\n iconPlacement = _ref.iconPlacement,\n props = _objectWithoutProperties(_ref, [\"children\", \"className\", \"href\", \"inverse\", \"iconPlacement\"]);\n\n return React.createElement(\"div\", {\n className: classNames(\"\".concat(prefix, \"--link-with-icon__container\"), customClassName, _defineProperty({}, \"\".concat(prefix, \"--link-with-icon__container__inverse\"), inverse)),\n \"data-autoid\": \"\".concat(stablePrefix, \"--link-with-icon\")\n }, React.createElement(Link, _extends({\n href: href,\n className: classNames(\"\".concat(prefix, \"--link-with-icon\"), _defineProperty({}, \"\".concat(prefix, \"--link-with-icon__icon-left\"), iconPlacement === 'left'))\n }, props), children));\n};\n\nLinkWithIcon.defaultProps = {\n children: [],\n href: '',\n iconPlacement: 'right'\n};\nexport default LinkWithIcon;","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ArrowRight16 from '@carbon/icons-react/es/arrow--right/16';\nimport LinkWithIcon from '../../LinkWithIcon/LinkWithIcon';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * Category Group of the MegaMenu\n * contains the category headline and sublinks\n */\n\nvar CategoryGroup = function CategoryGroup(_ref) {\n var href = _ref.href,\n title = _ref.title,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"href\", \"title\", \"children\"]);\n\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__megamenu__category-group\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__megamenu__category-group-shield\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__megamenu__category-group-content\")\n }, href ? React.createElement(LinkWithIcon, {\n href: href,\n className: \"\".concat(prefix, \"--masthead__megamenu__category-headline\"),\n \"data-autoid\": \"\".concat(rest.autoid, \"-list\").concat(rest.index)\n }, React.createElement(\"span\", null, title), React.createElement(ArrowRight16, null)) : React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__megamenu__category-headline\"),\n \"data-autoid\": \"\".concat(rest.autoid, \"-list\").concat(rest.index)\n }, React.createElement(\"p\", null, title)), children)));\n};\n\nexport default CategoryGroup;","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * Category sublink\n */\n\nvar CategoryLink = function CategoryLink(_ref) {\n var href = _ref.href,\n title = _ref.title,\n rest = _objectWithoutProperties(_ref, [\"href\", \"title\"]);\n\n return React.createElement(\"a\", {\n tabIndex: 0,\n href: href,\n className: \"\".concat(prefix, \"--masthead__megamenu__category-sublink\"),\n \"data-autoid\": \"\".concat(rest.autoid, \"-item\").concat(rest.index)\n }, title);\n};\n\nexport default CategoryLink;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * Left Navigation Section of MegaMenu\n */\n\nvar LeftNavigation = function LeftNavigation(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, [\"children\"]);\n\n return React.createElement(\"div\", _extends({\n className: \"\".concat(prefix, \"--masthead__megamenu__highlight-section\")\n }, props), children);\n};\n\nexport default LeftNavigation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * MegaMenu panel\n */\n\nvar NavigationGroup = function NavigationGroup(_ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return React.createElement(\"section\", _extends({\n className: \"\".concat(prefix, \"--masthead__megamenu\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead__megamenu\")\n }, rest), React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__megamenu__container\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__megamenu__container--row\")\n }, children)));\n};\n\nexport default NavigationGroup;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ArrowRight16 from '@carbon/icons-react/es/arrow--right/16';\nimport classnames from 'classnames';\nimport LinkWithIcon from '../../LinkWithIcon/LinkWithIcon';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * Right/Main Panel Navigation of MegaMenu\n */\n\nvar RightNavigation = function RightNavigation(_ref) {\n var children = _ref.children,\n viewAllLinkHref = _ref.viewAllLinkHref,\n viewAllLinkTitle = _ref.viewAllLinkTitle,\n hasHighlights = _ref.hasHighlights,\n rest = _objectWithoutProperties(_ref, [\"children\", \"viewAllLinkHref\", \"viewAllLinkTitle\", \"hasHighlights\"]);\n\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__megamenu__categories-section\")\n }, React.createElement(\"div\", {\n className: classnames(\"\".concat(prefix, \"--masthead__megamenu__categories\"), _defineProperty({}, \"\".concat(prefix, \"--masthead__megamenu--hasHighlights\"), hasHighlights))\n }, children), viewAllLinkHref && React.createElement(LinkWithIcon, {\n className: \"\".concat(prefix, \"--masthead__megamenu__view-all-cta\"),\n \"data-autoid\": \"\".concat(rest.autoid, \"-view-all\"),\n href: viewAllLinkHref\n }, React.createElement(\"span\", null, viewAllLinkTitle), React.createElement(ArrowRight16, null)));\n};\n\nexport default RightNavigation;","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport CategoryGroup from './CategoryGroup';\nimport CategoryLink from './CategoryLink';\nimport LeftNavigation from './LeftNavigation';\nimport NavigationGroup from './NavigationGroup';\nimport React from 'react';\nimport RightNavigation from './RightNavigation';\n/**\n * Masthead megamenu component.\n */\n\nvar MegaMenu = function MegaMenu(_ref) {\n var _viewAllLink, _viewAllLink2;\n\n var data = _ref.data,\n rest = _objectWithoutProperties(_ref, [\"data\"]);\n\n var highlightedItems = [];\n var viewAllLink;\n var menuItems = [];\n data.menuSections[0].menuItems.forEach(function (item) {\n if (item.highlighted) return highlightedItems.push(item);\n if (item.megaPanelViewAll) return viewAllLink = item;else return menuItems.push(item);\n });\n var hasHighlights = highlightedItems.length !== 0;\n return React.createElement(NavigationGroup, null, hasHighlights && React.createElement(LeftNavigation, null, highlightedItems.map(function (item, i) {\n var _item$megapanelConten, _item$megapanelConten2;\n\n return React.createElement(CategoryGroup, {\n autoid: rest.autoid,\n index: i,\n href: item.url,\n title: item.title\n }, (_item$megapanelConten = item.megapanelContent) === null || _item$megapanelConten === void 0 ? void 0 : (_item$megapanelConten2 = _item$megapanelConten.quickLinks) === null || _item$megapanelConten2 === void 0 ? void 0 : _item$megapanelConten2.links.map(function (_ref2, key) {\n var title = _ref2.title,\n url = _ref2.url;\n return React.createElement(CategoryLink, {\n href: url,\n title: title,\n autoid: \"\".concat(rest.autoid, \"-list\").concat(i),\n index: key\n });\n }));\n })), React.createElement(RightNavigation, {\n hasHighlights: hasHighlights,\n viewAllLinkHref: (_viewAllLink = viewAllLink) === null || _viewAllLink === void 0 ? void 0 : _viewAllLink.url,\n viewAllLinkTitle: (_viewAllLink2 = viewAllLink) === null || _viewAllLink2 === void 0 ? void 0 : _viewAllLink2.title,\n autoid: rest.autoid\n }, menuItems.map(function (item, i) {\n var _item$megapanelConten3, _item$megapanelConten4;\n\n return React.createElement(CategoryGroup, {\n key: i,\n autoid: rest.autoid,\n index: i + highlightedItems.length,\n href: item.url,\n title: item.title\n }, (_item$megapanelConten3 = item.megapanelContent) === null || _item$megapanelConten3 === void 0 ? void 0 : (_item$megapanelConten4 = _item$megapanelConten3.quickLinks) === null || _item$megapanelConten4 === void 0 ? void 0 : _item$megapanelConten4.links.map(function (_ref3, key) {\n var title = _ref3.title,\n url = _ref3.url;\n return React.createElement(CategoryLink, {\n key: key,\n href: url,\n title: title,\n autoid: \"\".concat(rest.autoid, \"-list\").concat(i + highlightedItems.length),\n index: key\n });\n }));\n })));\n};\n\nexport default MegaMenu;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport cx from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport HeaderMenu from '../carbon-components-react/UIShell/HeaderMenu';\nimport HeaderMenuItem from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderMenuItem';\nimport HeaderNavContainer from './HeaderNavContainer';\nimport HeaderNavigation from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderNavigation';\nimport MegaMenu from './MastheadMegaMenu/MegaMenu';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * MastHead L1 component.\n */\n\nvar MastheadL1 = function MastheadL1(_ref) {\n var title = _ref.title,\n titleLink = _ref.titleLink,\n navigationL1 = _ref.navigationL1,\n rest = _objectWithoutProperties(_ref, [\"title\", \"titleLink\", \"navigationL1\"]);\n\n var className = cx(_defineProperty({}, \"\".concat(prefix, \"--masthead__l1\"), true));\n var mastheadL1Links = navigationL1.map(function (link, index) {\n var autoid = \"\".concat(stablePrefix, \"--masthead-\").concat(rest.navType, \"__l1-nav\").concat(index);\n\n if (link.hasMenu || link.hasMegapanel) {\n return React.createElement(HeaderMenu, {\n \"aria-label\": link.title,\n menuLinkName: link.title,\n className: cx(_defineProperty({}, \"\".concat(prefix, \"--masthead__megamenu__l1-nav\"), link.hasMegapanel)),\n autoId: autoid,\n key: index\n }, renderNav(link, rest.navType, autoid));\n } else {\n return React.createElement(HeaderMenuItem, {\n href: link.url,\n \"data-autoid\": autoid,\n key: index\n }, link.title);\n }\n });\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: className\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__l1-name\")\n }, React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--masthead__l1-name-title\")\n }, React.createElement(\"a\", {\n href: titleLink\n }, title))), React.createElement(HeaderNavContainer, null, React.createElement(HeaderNavigation, {\n className: \"\".concat(prefix, \"--masthead__l1-nav\"),\n \"aria-label\": \"\"\n }, mastheadL1Links))));\n};\n/**\n * Loops through and renders a list of links for the masthead nav\n *\n * @param {object} link A list of links to be rendered\n * @param {string} navType navigation type for autoids\n * @param {string} autoid autoid predecessor for megamenu items/menu items data-autoids\n * @returns {object} JSX object\n */\n\n\nfunction renderNav(link, navType, autoid) {\n var navItems = [];\n\n if (link.hasMegapanel) {\n navItems.push(React.createElement(MegaMenu, {\n key: link.title,\n data: link,\n autoid: autoid\n }));\n } else {\n link.menuSections.forEach(function (section, i) {\n section.menuItems.forEach(function (item, j) {\n navItems.push(React.createElement(HeaderMenuItem, {\n href: item.url,\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(navType, \"__l1-nav\").concat(i, \"-item\").concat(j),\n key: item.title\n }, item.title));\n });\n });\n }\n\n return navItems;\n}\n\nMastheadL1.defaultProps = {\n navigationL1: [],\n titleLink: null\n};\nexport default MastheadL1;","function _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nvar HeaderSideNavItems = function HeaderSideNavItems(_ref) {\n var _cx;\n\n var customClassName = _ref.className,\n children = _ref.children,\n hasDivider = _ref.hasDivider;\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__header-navigation\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__header-divider\"), hasDivider), _cx), customClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n};\n\nHeaderSideNavItems.defaultProps = {\n hasDivider: false\n};\nexport default HeaderSideNavItems;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\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 _defineProperty(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\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React, { useState, useRef } from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport { AriaLabelPropType } from '../../prop-types/AriaPropTypes'; // TO-DO: comment back in when footer is added for rails\n// import SideNavFooter from './SideNavFooter';\n\nvar prefix = settings.prefix;\nvar SideNav = /*#__PURE__*/React.forwardRef(function SideNav(props, ref) {\n var _cx, _cx2;\n\n var expandedProp = props.expanded,\n defaultExpanded = props.defaultExpanded,\n isChildOfHeader = props.isChildOfHeader,\n ariaLabel = props['aria-label'],\n ariaLabelledBy = props['aria-labelledby'],\n children = props.children,\n onToggle = props.onToggle,\n customClassName = props.className,\n isFixedNav = props.isFixedNav,\n isRail = props.isRail,\n isPersistent = props.isPersistent,\n addFocusListeners = props.addFocusListeners,\n addMouseListeners = props.addMouseListeners;\n\n var _useRef = useRef(expandedProp !== undefined),\n controlled = _useRef.current;\n\n var _useState = useState(defaultExpanded),\n _useState2 = _slicedToArray(_useState, 2),\n expandedState = _useState2[0],\n setExpandedState = _useState2[1];\n\n var _useState3 = useState(defaultExpanded),\n _useState4 = _slicedToArray(_useState3, 2),\n expandedViaHoverState = _useState4[0],\n setExpandedViaHoverState = _useState4[1];\n\n var expanded = controlled ? expandedProp : expandedState;\n\n var handleToggle = function handleToggle(event) {\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !expanded;\n\n if (!controlled) {\n setExpandedState(value);\n }\n\n if (onToggle) {\n onToggle(event, value);\n }\n\n if (controlled || isRail) {\n setExpandedViaHoverState(value);\n }\n };\n\n var accessibilityLabel = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n }; // TO-DO: comment back in when footer is added for rails\n // const assistiveText = expanded\n // ? t('carbon.sidenav.state.open')\n // : t('carbon.sidenav.state.closed');\n\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav--expanded\"), expanded || expandedViaHoverState), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav--collapsed\"), !expanded && isFixedNav), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav--rail\"), isRail), _defineProperty(_cx, customClassName, !!customClassName), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav--ux\"), isChildOfHeader), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav--hidden\"), !isPersistent), _cx));\n var overlayClassName = cx((_cx2 = {}, _defineProperty(_cx2, \"\".concat(prefix, \"--side-nav__overlay\"), true), _defineProperty(_cx2, \"\".concat(prefix, \"--side-nav__overlay-active\"), expanded), _cx2));\n var childrenToRender = children; // if a rail, pass the expansion state as a prop, so children can update themselves to match\n\n if (isRail) {\n childrenToRender = React.Children.map(children, function (child) {\n // if we are controlled, check for if we have hovered over or the expanded state, else just use the expanded state (uncontrolled)\n var currentExpansionState = controlled ? expandedViaHoverState || expanded : expanded;\n return /*#__PURE__*/React.cloneElement(child, {\n isSideNavExpanded: currentExpansionState\n });\n });\n }\n\n var eventHandlers = {};\n\n if (addFocusListeners) {\n eventHandlers.onFocus = function (event) {\n if (!event.currentTarget.contains(event.relatedTarget)) {\n handleToggle(event, true);\n }\n };\n\n eventHandlers.onBlur = function (event) {\n if (!event.currentTarget.contains(event.relatedTarget)) {\n handleToggle(event, false);\n }\n };\n }\n\n if (addMouseListeners && isRail) {\n eventHandlers.onMouseEnter = function () {\n return handleToggle(true, true);\n };\n\n eventHandlers.onMouseLeave = function () {\n return handleToggle(false, false);\n };\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, isFixedNav ? null : /*#__PURE__*/React.createElement(\"div\", {\n className: overlayClassName\n }), /*#__PURE__*/React.createElement(\"nav\", _extends({\n ref: ref,\n className: \"\".concat(prefix, \"--side-nav__navigation \").concat(className)\n }, accessibilityLabel, eventHandlers), childrenToRender));\n});\nSideNav.defaultProps = {\n translateById: function translateById(id) {\n var translations = {\n 'carbon.sidenav.state.open': 'Close',\n 'carbon.sidenav.state.closed': 'Open'\n };\n return translations[id];\n },\n defaultExpanded: false,\n isChildOfHeader: true,\n isFixedNav: false,\n isPersistent: true,\n addFocusListeners: true,\n addMouseListeners: true\n};\nexport default SideNav;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nvar SideNavItems = function SideNavItems(_ref) {\n var customClassName = _ref.className,\n children = _ref.children,\n isSideNavExpanded = _ref.isSideNavExpanded;\n var className = cx([\"\".concat(prefix, \"--side-nav__items\")], customClassName);\n var childrenWithExpandedState = React.Children.map(children, function (child) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n return /*#__PURE__*/React.cloneElement(child, {\n isSideNavExpanded: isSideNavExpanded\n });\n }\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: className\n }, childrenWithExpandedState);\n};\n\nexport default SideNavItems;","function _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nvar SideNavIcon = function SideNavIcon(_ref) {\n var _cx;\n\n var children = _ref.children,\n customClassName = _ref.className,\n small = _ref.small;\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__icon\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__icon--small\"), small), _defineProperty(_cx, customClassName, !!customClassName), _cx));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, children);\n};\n\nSideNavIcon.defaultProps = {\n small: false\n};\nexport default SideNavIcon;","function _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nvar SideNavItem = function SideNavItem(_ref) {\n var _cx;\n\n var customClassName = _ref.className,\n children = _ref.children,\n _ref$large = _ref.large,\n large = _ref$large === void 0 ? false : _ref$large;\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__item\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__item--large\"), large), _defineProperty(_cx, customClassName, !!customClassName), _cx));\n return /*#__PURE__*/React.createElement(\"li\", {\n className: className\n }, children);\n};\n\nexport default SideNavItem;","function _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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nvar SideNavLinkText = function SideNavLinkText(_ref) {\n var customClassName = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"className\", \"children\"]);\n\n var className = cx(\"\".concat(prefix, \"--side-nav__link-text\"), customClassName);\n return /*#__PURE__*/React.createElement(\"span\", _extends({}, rest, {\n className: className\n }), children);\n};\n\nexport default SideNavLinkText;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport Link, { LinkPropTypes } from './Link';\nimport SideNavIcon from './SideNavIcon';\nimport SideNavItem from './SideNavItem';\nimport SideNavLinkText from './SideNavLinkText';\nvar prefix = settings.prefix;\nvar SideNavLink = /*#__PURE__*/React.forwardRef(function SideNavLink(_ref, ref) {\n var _cx;\n\n var customClassName = _ref.className,\n children = _ref.children,\n IconElement = _ref.renderIcon,\n isActive = _ref.isActive,\n large = _ref.large,\n isSideNavExpanded = _ref.isSideNavExpanded,\n rest = _objectWithoutProperties(_ref, [\"className\", \"children\", \"renderIcon\", \"isActive\", \"large\", \"isSideNavExpanded\"]);\n\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__link\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__link--current\"), isActive), _defineProperty(_cx, customClassName, !!customClassName), _cx));\n return /*#__PURE__*/React.createElement(SideNavItem, {\n large: large\n }, /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n className: className,\n ref: ref\n }), IconElement && /*#__PURE__*/React.createElement(SideNavIcon, {\n small: true\n }, /*#__PURE__*/React.createElement(IconElement, null)), /*#__PURE__*/React.createElement(SideNavLinkText, null, children)));\n});\nSideNavLink.defaultProps = {\n element: 'a',\n large: false\n};\nexport var createCustomSideNavLink = function createCustomSideNavLink(element) {\n return function (props) {\n return /*#__PURE__*/React.createElement(SideNavLink, _extends({\n element: element\n }, props));\n };\n};\nexport default SideNavLink;","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport SideNavLinkText from './SideNavLinkText';\nimport Link from './Link';\nvar prefix = settings.prefix;\nvar SideNavMenuItem = /*#__PURE__*/React.forwardRef(function SideNavMenuItem(props, ref) {\n var _cx;\n\n var children = props.children,\n customClassName = props.className,\n isActive = props.isActive,\n rest = _objectWithoutProperties(props, [\"children\", \"className\", \"isActive\"]);\n\n var className = cx(\"\".concat(prefix, \"--side-nav__menu-item\"), customClassName);\n var linkClassName = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__link\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__link--current\"), isActive), _cx));\n return /*#__PURE__*/React.createElement(\"li\", {\n className: className\n }, /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n className: linkClassName,\n ref: ref\n }), /*#__PURE__*/React.createElement(SideNavLinkText, null, children)));\n});\nexport default SideNavMenuItem;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M11.8 2.8L10.8 3.8 16.2 9.3 1 9.3 1 10.7 16.2 10.7 10.8 16.2 11.8 17.2 19 10z\"\n});\n\nvar ArrowRight20 = /*#__PURE__*/React.forwardRef(function ArrowRight20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ArrowRight20;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M10 16L20 6 21.4 7.4 12.8 16 21.4 24.6 20 26z\"\n});\n\nvar ChevronLeft20 = /*#__PURE__*/React.forwardRef(function ChevronLeft20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ChevronLeft20;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n/* istanbul ignore file */\n\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nvar SideNavIcon = function SideNavIcon(_ref) {\n var _cx;\n\n var children = _ref.children,\n customClassName = _ref.className,\n small = _ref.small;\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__icon\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__icon--small\"), small), _defineProperty(_cx, customClassName, !!customClassName), _cx));\n return React.createElement(\"div\", {\n className: className\n }, children);\n};\n\nSideNavIcon.defaultProps = {\n small: false\n};\nexport default SideNavIcon;","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/* eslint-disable jsx-a11y/role-supports-aria-props */\n\n/* istanbul ignore file */\n\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ChevronDown20 from '@carbon/icons-react/es/chevron--down/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport SideNavIcon from './SideNavIcon';\nvar prefix = settings.prefix;\nexport var SideNavMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(SideNavMenu, _React$Component);\n\n function SideNavMenu(props) {\n var _this;\n\n _classCallCheck(this, SideNavMenu);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SideNavMenu).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"handleToggleExpand\", function (event) {\n var onToggle = _this.props.onToggle;\n var onMegaMenuToggle = new CustomEvent('onMegaMenuToggle', {\n bubbles: true,\n detail: {\n isExpanded: !_this.state.isExpanded\n }\n });\n event.currentTarget.dispatchEvent(onMegaMenuToggle);\n event.persist();\n\n _this.setState(function (state) {\n return {\n isExpanded: !state.isExpanded\n };\n }, function () {\n if (onToggle) {\n onToggle(event, {\n isExpanded: _this.state.isExpanded\n });\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyToggleExpand\", function (event) {\n if (event.key === 'Enter' || event.charCode === ' ') {\n event.stopPropagation();\n event.preventDefault();\n var onToggle = _this.props.onToggle;\n event.persist();\n\n _this.setState(function (state) {\n return {\n isExpanded: !state.isExpanded\n };\n }, function () {\n if (onToggle) {\n onToggle(event, {\n isExpanded: _this.state.isExpanded\n });\n }\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_renderSideNavItem\", function (item) {\n if (item) {\n return React.cloneElement(item, {\n onClick: item.props.isbackbutton === 'true' ? _this.handleToggleExpand.bind(_assertThisInitialized(_this)) : null,\n onKeyPress: item.props.isbackbutton === 'true' ? _this.handleKeyToggleExpand.bind(_assertThisInitialized(_this)) : null\n });\n }\n });\n\n _this.state = {\n isExpanded: props.defaultExpanded || false,\n wasPreviouslyExpanded: props.defaultExpanded || false\n };\n return _this;\n }\n\n _createClass(SideNavMenu, [{\n key: \"render\",\n value: function render() {\n var _cx;\n\n var _this$props = this.props,\n buttonRef = _this$props.buttonRef,\n customClassName = _this$props.className,\n children = _this$props.children,\n IconElement = _this$props.renderIcon,\n isActive = _this$props.isActive,\n title = _this$props.title,\n large = _this$props.large,\n _isbackbutton = _this$props.isbackbutton,\n rest = _objectWithoutProperties(_this$props, [\"buttonRef\", \"className\", \"children\", \"renderIcon\", \"isActive\", \"title\", \"large\", \"isbackbutton\"]);\n\n var isExpanded = this.state.isExpanded;\n var hasActiveChild;\n\n if (children) {\n // if we have children, either a single or multiple, find if it is active\n hasActiveChild = Array.isArray(children) ? children.some(function (child) {\n if (child && child.props && (child.props.isActive === true || child.props['aria-current'])) {\n return true;\n }\n\n return false;\n }) : children.props && (children.props.isActive === true || children.props['aria-current']);\n }\n\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__item\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__item--active\"), isActive || hasActiveChild && !isExpanded), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__item--icon\"), IconElement), _defineProperty(_cx, \"\".concat(prefix, \"--side-nav__item--large\"), large), _defineProperty(_cx, customClassName, !!customClassName), _cx));\n return React.createElement(\"li\", {\n className: className\n }, React.createElement(\"button\", {\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": isExpanded,\n \"aria-selected\": rest.selected ? 'true' : '',\n className: cx(\"\".concat(prefix, \"--side-nav__submenu\"), _defineProperty({}, \"\".concat(prefix, \"--masthead__side-nav--submemu--selected\"), rest.selected)),\n \"data-title\": rest.dataTitle,\n onClick: this.handleToggleExpand,\n ref: buttonRef,\n type: \"button\"\n }, IconElement && React.createElement(SideNavIcon, null, React.createElement(IconElement, null)), React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--side-nav__submenu-title\"),\n \"data-autoid\": \"\".concat(rest.autoid)\n }, title), React.createElement(SideNavIcon, {\n className: \"\".concat(prefix, \"--side-nav__submenu-chevron\"),\n small: true\n }, React.createElement(ChevronDown20, null))), React.createElement(\"ul\", {\n className: \"\".concat(prefix, \"--side-nav__menu\"),\n role: \"menu\"\n }, React.Children.map(children, this._renderSideNavItem)));\n }\n }]);\n\n return SideNavMenu;\n}(React.Component);\n\n_defineProperty(SideNavMenu, \"propTypes\", {\n /**\n * Provide an optional class to be applied to the containing node\n */\n className: PropTypes.string,\n\n /**\n * Provide <SideNavMenuItem>'s inside of the `SideNavMenu`\n */\n children: PropTypes.node,\n\n /**\n * Pass in a custom icon to render next to the `SideNavMenu` title\n */\n renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n /**\n * Specify whether the `SideNavMenu` is \"active\". `SideNavMenu` should be\n * considered active if one of its menu items are a link for the current\n * page.\n */\n isActive: PropTypes.bool,\n\n /**\n * Provide the text for the overall menu name\n */\n title: PropTypes.string.isRequired,\n\n /**\n * Specify whether the menu should default to expanded. By default, it will\n * be closed.\n */\n defaultExpanded: PropTypes.bool,\n\n /**\n * Property to indicate if the side nav container is open (or not). Use to\n * keep local state and styling in step with the SideNav expansion state.\n */\n isSideNavExpanded: PropTypes.bool,\n\n /**\n * Specify if this is a large variation of the SideNavMenu\n */\n large: PropTypes.bool,\n\n /**\n * For submenu back button to toggle expand/collapse\n */\n isbackbutton: PropTypes.string,\n\n /**\n * A callback that is called when this side nav menu is toggled by user gesture.\n */\n onToggle: PropTypes.func\n});\n\n_defineProperty(SideNavMenu, \"defaultProps\", {\n defaultExpanded: false,\n isActive: false,\n large: false\n});\n\n_defineProperty(SideNavMenu, \"getDerivedStateFromProps\", function (props, state) {\n var derivedState = null;\n\n if (props.isSideNavExpanded === false && state.isExpanded === true) {\n derivedState = {\n isExpanded: props.isSideNavExpanded,\n wasPreviouslyExpanded: true\n };\n } else if (props.isSideNavExpanded === true && state.wasPreviouslyExpanded === true) {\n derivedState = {\n isExpanded: props.isSideNavExpanded,\n wasPreviouslyExpanded: false\n };\n }\n\n return derivedState;\n});\n\nexport default React.forwardRef(function (props, ref) {\n return React.createElement(SideNavMenu, _extends({}, props, {\n buttonRef: ref\n }));\n});","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ArrowRight20 from '@carbon/icons-react/es/arrow--right/20';\nimport ChevronLeft20 from '@carbon/icons-react/es/chevron--left/20';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport SideNavLink from '../../../internal/vendor/carbon-components-react/components/UIShell/SideNavLink';\nimport SideNavMenu from './SideNavMenu';\nimport SideNavMenuItem from '../../../internal/vendor/carbon-components-react/components/UIShell/SideNavMenuItem';\nimport React, { useCallback, useRef } from 'react';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Side nav menu with back button\n *\n * @returns {*} SideNavMenuWithBackFoward menu items\n */\n\nvar SideNavMenuWithBackForward = function SideNavMenuWithBackForward(_ref) {\n var title = _ref.title,\n titleUrl = _ref.titleUrl,\n backButtonText = _ref.backButtonText,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"title\", \"titleUrl\", \"backButtonText\", \"children\"]);\n\n var refSideNavMenu = useRef(null);\n var handleToggle = useCallback(function () {\n var sideNavMenuNode = refSideNavMenu.current;\n var sideNav = sideNavMenuNode.closest('.bx--side-nav');\n\n if (sideNav) {\n Array.prototype.forEach.call(sideNav.querySelectorAll('.bx--side-nav__menu'), function (elem) {\n var hasExpandedSubmenu = elem.querySelector('.bx--side-nav__submenu[aria-expanded=\"true\"]');\n elem.classList.toggle('bx--side-nav__menu--hasactivechildren', hasExpandedSubmenu);\n });\n } // return scroll to top when menu toggles\n\n\n var sideNavItems = sideNavMenuNode.closest('.bx--side-nav__items');\n sideNavItems.scrollTop = 0;\n }, []);\n return React.createElement(SideNavMenu, {\n autoid: rest.autoid,\n selected: rest.selected,\n title: title,\n onToggle: handleToggle,\n ref: refSideNavMenu,\n dataTitle: rest.dataTitle\n }, React.createElement(SideNavMenuItem, {\n onClick: function onClick(event) {\n return event.preventDefault();\n },\n className: \"\".concat(prefix, \"--masthead__side-nav--submemu-back\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(rest.navType, \"-sidenav__l0-back\"),\n isbackbutton: \"true\",\n role: \"button\",\n tabIndex: \"0\"\n }, React.createElement(ChevronLeft20, null), backButtonText), titleUrl ? React.createElement(SideNavLink, {\n className: \"\".concat(prefix, \"--masthead__side-nav--submemu-section-title\"),\n href: titleUrl\n }, title, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__side-nav--submemu-section-title__icon\")\n }, React.createElement(ArrowRight20, null))) : React.createElement(\"li\", {\n className: \"\".concat(prefix, \"--masthead__side-nav--submemu-title\")\n }, title), children);\n};\n\nexport default SideNavMenuWithBackForward;","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useRef } from 'react';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport HeaderSideNavItems from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderSideNavItems';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport SideNav from '../../internal/vendor/carbon-components-react/components/UIShell/SideNav';\nimport SideNavItems from '../../internal/vendor/carbon-components-react/components/UIShell/SideNavItems';\nimport SideNavLink from '../../internal/vendor/carbon-components-react/components/UIShell/SideNavLink';\nimport SideNavMenuItem from '../../internal/vendor/carbon-components-react/components/UIShell/SideNavMenuItem';\nimport SideNavMenuWithBackFoward from '../carbon-components-react/UIShell/SideNavMenuWithBackForward';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Masthead left nav component.\n */\n\nvar MastheadLeftNav = function MastheadLeftNav(_ref) {\n var backButtonText = _ref.backButtonText,\n navigation = _ref.navigation,\n isSideNavExpanded = _ref.isSideNavExpanded,\n platform = _ref.platform,\n rest = _objectWithoutProperties(_ref, [\"backButtonText\", \"navigation\", \"isSideNavExpanded\", \"platform\"]);\n\n var sideNavRef = useRef();\n /**\n * Left side navigation\n *\n * @returns {*} Left side navigation\n */\n\n var sideNav = navigation.map(function (link, i) {\n if (link.hasMenu || link.hasMegaPanel) {\n var autoid = \"\".concat(stablePrefix, \"--masthead-\").concat(rest.navType, \"-sidenav__l0-nav\").concat(i);\n var dataTitle = link.titleEnglish ? link.titleEnglish.replace(/[^-a-zA-Z0-9_ ]/g, '').replace(/ +/g, '-').toLowerCase() : null;\n\n if (navigation.length === i + 1) {\n return React.createElement(React.Fragment, null, React.createElement(SideNavMenuWithBackFoward, {\n title: link.title,\n backButtonText: backButtonText,\n key: i,\n autoid: autoid,\n selected: rest.selectedMenuItem === link.titleEnglish,\n navType: rest.navType,\n dataTitle: dataTitle\n }, renderNavSections(link.menuSections, backButtonText, autoid, rest.navType)), React.createElement(\"button\", {\n className: \"\".concat(prefix, \"--masthead__focus\"),\n onFocus: function onFocus() {\n var _sideNavRef$current;\n\n preventOutFocus((_sideNavRef$current = sideNavRef.current) === null || _sideNavRef$current === void 0 ? void 0 : _sideNavRef$current.parentNode.querySelector(\".\".concat(prefix, \"--header__menu-toggle\")), isSideNavExpanded);\n },\n \"aria-hidden\": true\n }));\n }\n\n return React.createElement(SideNavMenuWithBackFoward, {\n title: link.title,\n backButtonText: backButtonText,\n key: i,\n autoid: autoid,\n selected: rest.selectedMenuItem === link.titleEnglish,\n navType: rest.navType,\n dataTitle: dataTitle\n }, renderNavSections(link.menuSections, backButtonText, autoid, rest.navType));\n } else {\n if (navigation.length === i + 1) {\n return React.createElement(React.Fragment, null, React.createElement(SideNavLink, {\n href: link.url,\n className: rest.selected && \"\".concat(prefix, \"--masthead__side-nav--submemu--selected\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(rest.navType, \"-sidenav__l0-nav\").concat(i),\n key: i\n }, link.title), React.createElement(\"button\", {\n className: \"\".concat(prefix, \"--masthead__focus\"),\n onFocus: function onFocus() {\n var _sideNavRef$current2;\n\n preventOutFocus((_sideNavRef$current2 = sideNavRef.current) === null || _sideNavRef$current2 === void 0 ? void 0 : _sideNavRef$current2.parentNode.querySelector(\".\".concat(prefix, \"--header__menu-toggle\")), isSideNavExpanded);\n },\n \"aria-hidden\": true\n }));\n }\n\n return React.createElement(SideNavLink, {\n href: link.url,\n className: rest.selectedMenuItem === link.titleEnglish && \"\".concat(prefix, \"--masthead__side-nav--submemu--selected\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(rest.navType, \"-sidenav__l0-nav\").concat(i),\n key: i\n }, link.title);\n }\n });\n return React.createElement(SideNav, {\n \"aria-label\": \"Side navigation\",\n expanded: isSideNavExpanded,\n isPersistent: false,\n ref: sideNavRef\n }, React.createElement(\"nav\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(rest.navType, \"-sidenav__l0\")\n }, platform && React.createElement(\"a\", {\n // eslint-disable-line jsx-a11y/role-supports-aria-props\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(rest.navType, \"-sidenav__l0-productname\"),\n href: platform.url,\n \"aria-haspopup\": \"true\",\n className: \"\".concat(prefix, \"--side-nav__submenu \").concat(prefix, \"--side-nav__submenu-platform\")\n }, platform.name), React.createElement(SideNavItems, null, React.createElement(HeaderSideNavItems, null, sideNav))));\n};\n\nvar preventOutFocus = function preventOutFocus(target, isSideNavExpanded) {\n if (isSideNavExpanded) {\n target.focus();\n }\n};\n/**\n * Loops through and renders a list of links for the side nav\n *\n * @param {Array} sections A list of link sections to be rendered\n * @param {string} backButtonText back button text\n * @param {string} autoid autoid predecessor\n * @param {string} navType navigation type\n * @returns {object} JSX object\n */\n\n\nfunction renderNavSections(sections, backButtonText, autoid, navType) {\n var sectionItems = [];\n sections.forEach(function (section) {\n section.menuItems.forEach(function (item, j) {\n var dataAutoId = \"\".concat(autoid, \"-list\").concat(j);\n\n if (item.megapanelContent) {\n sectionItems.push(React.createElement(SideNavMenuWithBackFoward, {\n title: item.title,\n titleUrl: item.url,\n backButtonText: backButtonText,\n autoid: dataAutoId,\n navType: navType,\n key: j\n }, renderNavItem(item.megapanelContent.quickLinks.links, dataAutoId), React.createElement(\"button\", {\n className: \"\".concat(prefix, \"--masthead__focus\"),\n onFocus: function onFocus(e) {\n preventOutFocus(e.target.parentElement.querySelector('a'), true);\n },\n \"aria-hidden\": true\n })));\n } else {\n sectionItems.push(React.createElement(SideNavMenuItem, {\n href: item.url,\n \"data-autoid\": dataAutoId,\n key: item.title\n }, item.title));\n }\n\n if (j === section.menuItems.length - 1) {\n sectionItems.push(React.createElement(\"button\", {\n className: \"\".concat(prefix, \"--masthead__focus\"),\n onFocus: function onFocus(e) {\n preventOutFocus(e.target.parentElement.querySelector('a'), true);\n },\n \"aria-hidden\": true\n }));\n }\n });\n });\n return sectionItems;\n}\n/**\n * Loops through and renders a list of links for the side nav\n *\n * @param {Array} items A list of links to be rendered\n * @param {string} autoid autoid predecessor\n * @returns {object} JSX object\n */\n\n\nfunction renderNavItem(items, autoid) {\n var navItems = [];\n items.forEach(function (item, i) {\n var dataAutoId = \"\".concat(autoid, \"-item\").concat(i);\n navItems.push(React.createElement(SideNavMenuItem, {\n href: item.url,\n \"data-autoid\": dataAutoId,\n key: item.title\n }, item.title));\n });\n return navItems;\n}\n\nMastheadLeftNav.defaultProps = {\n backButtonText: 'Back'\n};\nexport default MastheadLeftNav;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\n/**\n * Generic component used for reacting to a click event happening outside of a\n * given `children` element.\n */\n\nvar ClickListener = /*#__PURE__*/function (_React$Component) {\n _inherits(ClickListener, _React$Component);\n\n var _super = _createSuper(ClickListener);\n\n _createClass(ClickListener, null, [{\n key: \"getEventTarget\",\n value: function getEventTarget(evt) {\n // support Shadow DOM\n if (evt.composed && typeof evt.composedPath === 'function') {\n return evt.composedPath()[0];\n }\n\n return evt.target;\n }\n }]);\n\n function ClickListener(props) {\n var _this;\n\n _classCallCheck(this, ClickListener);\n\n _this = _super.call(this, props); // We manually bind handlers in this Component, versus using class\n // properties, so that we can properly test the `handleRef` handler with\n // enzyme.\n\n _this.handleRef = _this.handleRef.bind(_assertThisInitialized(_this));\n _this.handleDocumentClick = _this.handleDocumentClick.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(ClickListener, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick);\n }\n }, {\n key: \"handleDocumentClick\",\n value: function handleDocumentClick(evt) {\n if (this.element) {\n if (this.element.contains && !this.element.contains(ClickListener.getEventTarget(evt))) {\n this.props.onClickOutside(evt);\n }\n }\n }\n }, {\n key: \"handleRef\",\n value: function handleRef(el) {\n var children = this.props.children;\n this.element = el;\n /**\n * One important note, `children.ref` corresponds to a `ref` prop passed in\n * directly to the child, not necessarily a `ref` defined in the component.\n * This means that here we target the following `ref` location:\n *\n * <ClickListener onClickOutside={() => {}}>\n * <Child ref={targetedRefHere} />\n * </ClickListener>\n */\n\n if (children.ref && typeof children.ref === 'function') {\n children.ref(el);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.cloneElement(this.props.children, {\n ref: this.handleRef\n });\n }\n }]);\n\n return ClickListener;\n}(React.Component);\n\n_defineProperty(ClickListener, \"propTypes\", {\n children: PropTypes.element.isRequired,\n onClickOutside: PropTypes.func.isRequired\n});\n\nexport { ClickListener as default };","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// mdn resize function\nimport window from 'window-or-global';\n\nvar OptimizedResize = function optimizedResize() {\n var callbacks = [];\n var running = false; // run the actual callbacks\n\n function runCallbacks() {\n callbacks.forEach(function (callback) {\n callback();\n });\n running = false;\n } // fired on resize event\n\n\n function resize() {\n if (!running) {\n running = true;\n window.requestAnimationFrame(runCallbacks);\n }\n } // adds callback to loop\n\n\n function addCallback(callback) {\n if (callback) {\n var index = callbacks.indexOf(callback);\n\n if (index < 0) {\n callbacks.push(callback);\n }\n }\n }\n\n return {\n // public method to add additional callback\n add: function add(callback) {\n if (!callbacks.length) {\n window.addEventListener('resize', resize);\n }\n\n addCallback(callback);\n return {\n release: function release() {\n var index = callbacks.indexOf(callback);\n\n if (index >= 0) {\n callbacks.splice(index, 1);\n }\n }\n };\n }\n };\n}();\n\nexport default OptimizedResize;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ArrowLeft, ArrowRight } from './keys';\nimport { match } from './match';\n/**\n * Various utilities to help with a11y work\n */\n\n/**\n * A \"ring buffer\" function that takes an array and depending on an ArrowRight\n * or ArrowLeft key input loops from last index to first or first index to last.\n *\n * @param {string} key - the left or right arrow keys\n * @param {number} index - the current index in a given array\n * @param {number} arrayLength - the total length of the array\n *\n * @example\n * \tgetNextIndex(keyCodes.RIGHT, 0, 4)\n */\n\nexport var getNextIndex = function getNextIndex(key, index, arrayLength) {\n if (match(key, ArrowRight)) {\n return (index + 1) % arrayLength;\n }\n\n if (match(key, ArrowLeft)) {\n return (index + arrayLength - 1) % arrayLength;\n }\n};\n/**\n * A flag `node.compareDocumentPosition(target)` returns,\n * that indicates `target` is located earlier than `node` in the document or `target` contains `node`.\n */\n\nexport var DOCUMENT_POSITION_BROAD_PRECEDING = // Checks `typeof Node` for `react-docgen`\ntypeof Node !== 'undefined' && Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINS;\n/**\n * A flag `node.compareDocumentPosition(target)` returns,\n * that indicates `target` is located later than `node` in the document or `node` contains `target`.\n */\n\nexport var DOCUMENT_POSITION_BROAD_FOLLOWING = // Checks `typeof Node` for `react-docgen`\ntypeof Node !== 'undefined' && Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY;\n/**\n * CSS selector that selects major nodes that are sequential-focusable.\n */\n\nexport var selectorTabbable = \"\\n a[href], area[href], input:not([disabled]):not([tabindex='-1']),\\n button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']),\\n textarea:not([disabled]):not([tabindex='-1']),\\n iframe, object, embed, *[tabindex]:not([tabindex='-1']):not([disabled]), *[contenteditable=true]\\n\";\n/**\n * CSS selector that selects major nodes that are click focusable\n */\n\nexport var selectorFocusable = \"\\n a[href], area[href], input:not([disabled]),\\n button:not([disabled]),select:not([disabled]),\\n textarea:not([disabled]),\\n iframe, object, embed, *[tabindex]:not([disabled]), *[contenteditable=true]\\n\";","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport findLast from 'lodash.findlast';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { DOCUMENT_POSITION_BROAD_PRECEDING, DOCUMENT_POSITION_BROAD_FOLLOWING, selectorTabbable } from './keyboard/navigation';\nvar prefix = settings.prefix;\n/**\n * @param {Node} node A DOM node.\n * @param {string[]} selectorsFloatingMenus The CSS selectors that matches floating menus.\n * @returns {boolean} `true` of the given `node` is in a floating menu.\n */\n\nfunction elementOrParentIsFloatingMenu(node) {\n var selectorsFloatingMenus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [\".\".concat(prefix, \"--overflow-menu-options\"), \".\".concat(prefix, \"--tooltip\"), '.flatpickr-calendar'];\n\n if (node && typeof node.closest === 'function') {\n return selectorsFloatingMenus.some(function (selector) {\n return node.closest(selector);\n });\n }\n}\n/**\n * Ensures the focus is kept in the given `modalNode`, implementing \"focus-wrap\" behavior.\n * @param {object} options The options.\n * @param {Node} options.modalNode The DOM node of the inner modal.\n * @param {Node} options.startTrapNode The DOM node of the focus sentinel the is placed earlier next to `modalNode`.\n * @param {Node} options.endTrapNode The DOM node of the focus sentinel the is placed next to `modalNode`.\n * @param {Node} options.currentActiveNode The DOM node that has focus.\n * @param {Node} options.oldActiveNode The DOM node that previously had focus.\n * @param {Node} [options.selectorsFloatingMenus] The CSS selectors that matches floating menus.\n */\n\n\nfunction wrapFocus(_ref) {\n var bodyNode = _ref.bodyNode,\n startTrapNode = _ref.startTrapNode,\n endTrapNode = _ref.endTrapNode,\n currentActiveNode = _ref.currentActiveNode,\n oldActiveNode = _ref.oldActiveNode,\n selectorsFloatingMenus = _ref.selectorsFloatingMenus;\n\n if (bodyNode && currentActiveNode && oldActiveNode && !bodyNode.contains(currentActiveNode) && !elementOrParentIsFloatingMenu(currentActiveNode, selectorsFloatingMenus)) {\n var comparisonResult = oldActiveNode.compareDocumentPosition(currentActiveNode);\n\n if (currentActiveNode === startTrapNode || comparisonResult & DOCUMENT_POSITION_BROAD_PRECEDING) {\n var tabbable = findLast(bodyNode.querySelectorAll(selectorTabbable), function (elem) {\n return Boolean(elem.offsetParent);\n });\n\n if (tabbable) {\n tabbable.focus();\n } else if (bodyNode !== oldActiveNode) {\n bodyNode.focus();\n }\n } else if (currentActiveNode === endTrapNode || comparisonResult & DOCUMENT_POSITION_BROAD_FOLLOWING) {\n var _tabbable = Array.prototype.find.call(bodyNode.querySelectorAll(selectorTabbable), function (elem) {\n return Boolean(elem.offsetParent);\n });\n\n if (_tabbable) {\n _tabbable.focus();\n } else if (bodyNode !== oldActiveNode) {\n bodyNode.focus();\n }\n }\n }\n}\n\nexport { elementOrParentIsFloatingMenu };\nexport default wrapFocus;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport warning from 'warning';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport window from 'window-or-global';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport OptimizedResize from './OptimizedResize';\nimport { selectorFocusable, selectorTabbable } from './keyboard/navigation';\nimport wrapFocus from './wrapFocus';\nvar prefix = settings.prefix;\n/**\n * The structure for the position of floating menu.\n * @typedef {object} FloatingMenu~position\n * @property {number} left The left position.\n * @property {number} top The top position.\n * @property {number} right The right position.\n * @property {number} bottom The bottom position.\n */\n\n/**\n * The structure for the size of floating menu.\n * @typedef {object} FloatingMenu~size\n * @property {number} width The width.\n * @property {number} height The height.\n */\n\n/**\n * The structure for the position offset of floating menu.\n * @typedef {object} FloatingMenu~offset\n * @property {number} top The top position.\n * @property {number} left The left position.\n */\n\n/**\n * The structure for the target container.\n * @typedef {object} FloatingMenu~container\n * @property {DOMRect} rect Return of element.getBoundingClientRect()\n * @property {string} position Position style (static, absolute, relative...)\n */\n\nexport var DIRECTION_LEFT = 'left';\nexport var DIRECTION_TOP = 'top';\nexport var DIRECTION_RIGHT = 'right';\nexport var DIRECTION_BOTTOM = 'bottom';\n/**\n * @param {FloatingMenu~offset} [oldMenuOffset={}] The old value.\n * @param {FloatingMenu~offset} [menuOffset={}] The new value.\n * @returns `true` if the parent component wants to change in the adjustment of the floating menu position.\n * @private\n */\n\nvar hasChangeInOffset = function hasChangeInOffset() {\n var oldMenuOffset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var menuOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (_typeof(oldMenuOffset) !== _typeof(menuOffset)) {\n return true;\n } else if (Object(menuOffset) === menuOffset && typeof menuOffset !== 'function') {\n return oldMenuOffset.top !== menuOffset.top || oldMenuOffset.left !== menuOffset.left;\n }\n\n return oldMenuOffset !== menuOffset;\n};\n/**\n * @param {object} params The parameters.\n * @param {FloatingMenu~size} params.menuSize The size of the menu.\n * @param {FloatingMenu~position} params.refPosition The position of the triggering element.\n * @param {FloatingMenu~offset} [params.offset={ left: 0, top: 0 }] The position offset of the menu.\n * @param {string} [params.direction=bottom] The menu direction.\n * @param {number} [params.scrollX=0] The scroll position of the viewport.\n * @param {number} [params.scrollY=0] The scroll position of the viewport.\n * @param {FloatingMenu~container} [params.container] The size and position type of target element.\n * @returns {FloatingMenu~offset} The position of the menu, relative to the top-left corner of the viewport.\n * @private\n */\n\n\nvar getFloatingPosition = function getFloatingPosition(_ref) {\n var _DIRECTION_LEFT$DIREC;\n\n var menuSize = _ref.menuSize,\n _ref$refPosition = _ref.refPosition,\n refPosition = _ref$refPosition === void 0 ? {} : _ref$refPosition,\n _ref$offset = _ref.offset,\n offset = _ref$offset === void 0 ? {} : _ref$offset,\n _ref$direction = _ref.direction,\n direction = _ref$direction === void 0 ? DIRECTION_BOTTOM : _ref$direction,\n _ref$scrollX = _ref.scrollX,\n scrollX = _ref$scrollX === void 0 ? 0 : _ref$scrollX,\n _ref$scrollY = _ref.scrollY,\n scrollY = _ref$scrollY === void 0 ? 0 : _ref$scrollY,\n container = _ref.container;\n var _refPosition$left = refPosition.left,\n refLeft = _refPosition$left === void 0 ? 0 : _refPosition$left,\n _refPosition$top = refPosition.top,\n refTop = _refPosition$top === void 0 ? 0 : _refPosition$top,\n _refPosition$right = refPosition.right,\n refRight = _refPosition$right === void 0 ? 0 : _refPosition$right,\n _refPosition$bottom = refPosition.bottom,\n refBottom = _refPosition$bottom === void 0 ? 0 : _refPosition$bottom;\n var relativeDiff = container.position !== 'static' ? {\n top: container.rect.top,\n left: container.rect.left\n } : {\n top: 0,\n left: 0\n };\n var width = menuSize.width,\n height = menuSize.height;\n var _offset$top = offset.top,\n top = _offset$top === void 0 ? 0 : _offset$top,\n _offset$left = offset.left,\n left = _offset$left === void 0 ? 0 : _offset$left;\n var refCenterHorizontal = (refLeft + refRight) / 2;\n var refCenterVertical = (refTop + refBottom) / 2;\n return (_DIRECTION_LEFT$DIREC = {}, _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_LEFT, function () {\n return {\n left: refLeft - width + scrollX - left - relativeDiff.left,\n top: refCenterVertical - height / 2 + scrollY + top - 9 - relativeDiff.top\n };\n }), _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_TOP, function () {\n return {\n left: refCenterHorizontal - width / 2 + scrollX + left - relativeDiff.left,\n top: refTop - height + scrollY - top - relativeDiff.top\n };\n }), _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_RIGHT, function () {\n return {\n left: refRight + scrollX + left - relativeDiff.left,\n top: refCenterVertical - height / 2 + scrollY + top + 3 - relativeDiff.top\n };\n }), _defineProperty(_DIRECTION_LEFT$DIREC, DIRECTION_BOTTOM, function () {\n return {\n left: refCenterHorizontal - width / 2 + scrollX + left - relativeDiff.left,\n top: refBottom + scrollY + top - relativeDiff.top\n };\n }), _DIRECTION_LEFT$DIREC)[direction]();\n};\n/**\n * A menu that is detached from the triggering element.\n * Useful when the container of the triggering element cannot have `overflow:visible` style, etc.\n */\n\n\nvar FloatingMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(FloatingMenu, _React$Component);\n\n var _super = _createSuper(FloatingMenu);\n\n function FloatingMenu() {\n var _this;\n\n _classCallCheck(this, FloatingMenu);\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), \"_placeInProgress\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n /**\n * The position of the menu, relative to the top-left corner of the viewport.\n * @type {FloatingMenu~offset}\n */\n floatingPosition: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_menuContainer\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"_menuBody\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"startSentinel\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"endSentinel\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"_updateMenuSize\", function () {\n var prevProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var menuBody = _this._menuBody;\n process.env.NODE_ENV !== \"production\" ? warning(menuBody, 'The DOM node for menu body for calculating its position is not available. Skipping...') : void 0;\n\n if (!menuBody) {\n return;\n }\n\n var _prevProps$menuOffset = prevProps.menuOffset,\n oldMenuOffset = _prevProps$menuOffset === void 0 ? {} : _prevProps$menuOffset,\n oldMenuDirection = prevProps.menuDirection;\n var _this$props = _this.props,\n _this$props$menuOffse = _this$props.menuOffset,\n menuOffset = _this$props$menuOffse === void 0 ? {} : _this$props$menuOffse,\n menuDirection = _this$props.menuDirection;\n\n if (hasChangeInOffset(oldMenuOffset, menuOffset) || oldMenuDirection !== menuDirection) {\n var _this$props2 = _this.props,\n flipped = _this$props2.flipped,\n triggerRef = _this$props2.triggerRef;\n var triggerEl = triggerRef.current;\n var menuSize = menuBody.getBoundingClientRect();\n var refPosition = triggerEl && triggerEl.getBoundingClientRect();\n var offset = typeof menuOffset !== 'function' ? menuOffset : menuOffset(menuBody, menuDirection, triggerEl, flipped); // Skips if either in the following condition:\n // a) Menu body has `display:none`\n // b) `menuOffset` as a callback returns `undefined` (The callback saw that it couldn't calculate the value)\n\n if (menuSize.width > 0 && menuSize.height > 0 || !offset) {\n _this.setState({\n floatingPosition: getFloatingPosition({\n menuSize: menuSize,\n refPosition: refPosition,\n direction: menuDirection,\n offset: offset,\n scrollX: window.pageXOffset,\n scrollY: window.pageYOffset,\n container: {\n rect: _this.props.target().getBoundingClientRect(),\n position: getComputedStyle(_this.props.target()).position\n }\n })\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_focusMenuContent\", function (menuBody) {\n var primaryFocusNode = menuBody.querySelector(_this.props.selectorPrimaryFocus || null);\n var tabbableNode = menuBody.querySelector(selectorTabbable);\n var focusableNode = menuBody.querySelector(selectorFocusable);\n var focusTarget = primaryFocusNode || // User defined focusable node\n tabbableNode || // First sequentially focusable node\n focusableNode || // First programmatic focusable node\n menuBody;\n\n if (_this.props.focusTrap) {\n focusTarget.focus();\n }\n\n if (focusTarget === menuBody && process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(focusableNode === null, 'Floating Menus must have at least a programmatically focusable child. ' + 'This can be accomplished by adding tabIndex=\"-1\" to the content element.') : void 0;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_menuRef\", function (menuBody) {\n var menuRef = _this.props.menuRef;\n _this._placeInProgress = !!menuBody;\n menuRef && menuRef(_this._menuBody = menuBody);\n\n if (menuBody) {\n _this._updateMenuSize();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_getChildrenWithProps\", function () {\n var _this$props3 = _this.props,\n styles = _this$props3.styles,\n children = _this$props3.children;\n var pos = _this.state.floatingPosition; // If no pos available, we need to hide the element (offscreen to the left)\n // This is done so we can measure the content before positioning it correctly.\n\n var positioningStyle = pos ? {\n left: \"\".concat(pos.left, \"px\"),\n top: \"\".concat(pos.top, \"px\"),\n right: 'auto'\n } : {\n visibility: 'hidden',\n top: '0px'\n };\n return /*#__PURE__*/React.cloneElement(children, {\n ref: _this._menuRef,\n style: _objectSpread(_objectSpread(_objectSpread({}, styles), positioningStyle), {}, {\n position: 'absolute',\n margin: 0,\n opacity: 1\n })\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleBlur\", function (_ref2) {\n var oldActiveNode = _ref2.target,\n currentActiveNode = _ref2.relatedTarget;\n\n if (currentActiveNode && oldActiveNode) {\n var startSentinelNode = _this.startSentinel.current;\n var endSentinelNode = _this.endSentinel.current;\n wrapFocus({\n bodyNode: _this._menuBody,\n startSentinelNode: startSentinelNode,\n endSentinelNode: endSentinelNode,\n currentActiveNode: currentActiveNode,\n oldActiveNode: oldActiveNode\n });\n }\n });\n\n return _this;\n }\n\n _createClass(FloatingMenu, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.hResize.release();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.hResize = OptimizedResize.add(function () {\n _this2._updateMenuSize();\n });\n }\n /**\n * Set focus on floating menu content after menu placement.\n * @param {Element} menuBody The DOM element of the menu body.\n * @private\n */\n\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n this._updateMenuSize(prevProps);\n\n var onPlace = this.props.onPlace;\n\n if (this._placeInProgress && this.state.floatingPosition) {\n if (this._menuBody && !this._menuBody.contains(document.activeElement)) {\n this._focusMenuContent(this._menuBody);\n }\n\n if (typeof onPlace === 'function') {\n onPlace(this._menuBody);\n this._placeInProgress = false;\n }\n }\n }\n /**\n * A callback for called when menu body is mounted or unmounted.\n * @param {Element} menuBody The menu body being mounted. `null` if the menu body is being unmounted.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n if (typeof document !== 'undefined') {\n var _this$props4 = this.props,\n focusTrap = _this$props4.focusTrap,\n target = _this$props4.target;\n return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(\"div\", {\n onBlur: focusTrap ? this.handleBlur : null\n }, /*#__PURE__*/React.createElement(\"span\", {\n ref: this.startSentinel,\n tabIndex: \"0\",\n role: \"link\",\n className: \"\".concat(prefix, \"--visually-hidden\")\n }, \"Focus sentinel\"), this._getChildrenWithProps(), /*#__PURE__*/React.createElement(\"span\", {\n ref: this.endSentinel,\n tabIndex: \"0\",\n role: \"link\",\n className: \"\".concat(prefix, \"--visually-hidden\")\n }, \"Focus sentinel\")), !target ? document.body : target());\n }\n\n return null;\n }\n }]);\n\n return FloatingMenu;\n}(React.Component);\n\n_defineProperty(FloatingMenu, \"propTypes\", {\n /**\n * Contents to put into the floating menu.\n */\n children: PropTypes.object,\n\n /**\n * `true` if the menu alignment should be flipped.\n */\n flipped: PropTypes.bool,\n\n /**\n * Enable or disable focus trap behavior\n */\n focusTrap: PropTypes.bool,\n\n /**\n * Where to put the tooltip, relative to the trigger button.\n */\n menuDirection: PropTypes.oneOf([DIRECTION_LEFT, DIRECTION_TOP, DIRECTION_RIGHT, DIRECTION_BOTTOM]),\n\n /**\n * The adjustment of the floating menu position, considering the position of dropdown arrow, etc.\n */\n menuOffset: PropTypes.oneOfType([PropTypes.shape({\n top: PropTypes.number,\n left: PropTypes.number\n }), PropTypes.func]),\n\n /**\n * The callback called when the menu body has been mounted to/will be unmounted from the DOM.\n */\n menuRef: PropTypes.func,\n\n /**\n * The callback called when the menu body has been mounted and positioned.\n */\n onPlace: PropTypes.func,\n\n /**\n * Specify a CSS selector that matches the DOM element that should\n * be focused when the Modal opens\n */\n selectorPrimaryFocus: PropTypes.string,\n\n /**\n * The additional styles to put to the floating menu.\n */\n styles: PropTypes.object,\n\n /**\n * The query selector indicating where the floating menu body should be placed.\n */\n target: PropTypes.func,\n\n /**\n * The element ref of the tooltip's trigger button.\n */\n triggerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any\n })])\n});\n\n_defineProperty(FloatingMenu, \"defaultProps\", {\n menuOffset: {},\n menuDirection: DIRECTION_BOTTOM\n});\n\nexport default FloatingMenu;","var _triggerButtonPositio, _triggerButtonPositio2;\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport invariant from 'invariant';\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport ClickListener from '../../internal/ClickListener';\nimport FloatingMenu, { DIRECTION_TOP, DIRECTION_BOTTOM } from '../../internal/FloatingMenu';\nimport OverflowMenuVertical16 from '@carbon/icons-react/es/overflow-menu--vertical/16';\nimport { keys, matches as keyCodeMatches } from '../../internal/keyboard';\nimport mergeRefs from '../../tools/mergeRefs';\nvar prefix = settings.prefix;\n\nvar on = function on(element) {\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 element.addEventListener.apply(element, args);\n return {\n release: function release() {\n element.removeEventListener.apply(element, args);\n return null;\n }\n };\n};\n/**\n * The CSS property names of the arrow keyed by the floating menu direction.\n * @type {object<string, string>}\n */\n\n\nvar triggerButtonPositionProps = (_triggerButtonPositio = {}, _defineProperty(_triggerButtonPositio, DIRECTION_TOP, 'bottom'), _defineProperty(_triggerButtonPositio, DIRECTION_BOTTOM, 'top'), _triggerButtonPositio);\n/**\n * Determines how the position of arrow should affect the floating menu position.\n * @type {object<string, number>}\n */\n\nvar triggerButtonPositionFactors = (_triggerButtonPositio2 = {}, _defineProperty(_triggerButtonPositio2, DIRECTION_TOP, -2), _defineProperty(_triggerButtonPositio2, DIRECTION_BOTTOM, -1), _triggerButtonPositio2);\n/**\n * @param {Element} menuBody The menu body with the menu arrow.\n * @param {string} direction The floating menu direction.\n * @returns {FloatingMenu~offset} The adjustment of the floating menu position, upon the position of the menu arrow.\n * @private\n */\n\nexport var getMenuOffset = function getMenuOffset(menuBody, direction, trigger, flip) {\n var triggerButtonPositionProp = triggerButtonPositionProps[direction];\n var triggerButtonPositionFactor = triggerButtonPositionFactors[direction];\n\n if (process.env.NODE_ENV !== \"production\") {\n !(triggerButtonPositionProp && triggerButtonPositionFactor) ? process.env.NODE_ENV !== \"production\" ? invariant(false, '[OverflowMenu] wrong floating menu direction: `%s`', direction) : invariant(false) : void 0;\n }\n\n var menuWidth = menuBody.offsetWidth,\n menuHeight = menuBody.offsetHeight;\n\n switch (triggerButtonPositionProp) {\n case 'top':\n case 'bottom':\n {\n // TODO: Ensure `trigger` is there for `<OverflowMenu open>`\n var triggerWidth = !trigger ? 0 : trigger.offsetWidth;\n return {\n left: (!flip ? 1 : -1) * (menuWidth / 2 - triggerWidth / 2),\n top: 0\n };\n }\n\n case 'left':\n case 'right':\n {\n // TODO: Ensure `trigger` is there for `<OverflowMenu open>`\n var triggerHeight = !trigger ? 0 : trigger.offsetHeight;\n return {\n left: 0,\n top: (!flip ? 1 : -1) * (menuHeight / 2 - triggerHeight / 2)\n };\n }\n\n default:\n break;\n }\n};\n\nvar OverflowMenu = /*#__PURE__*/function (_Component) {\n _inherits(OverflowMenu, _Component);\n\n var _super = _createSuper(OverflowMenu);\n\n function OverflowMenu() {\n var _this;\n\n _classCallCheck(this, OverflowMenu);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_this), \"_hFocusIn\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"_hBlurTimeout\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_triggerRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (evt) {\n if (!_this._menuBody || !_this._menuBody.contains(evt.target)) {\n _this.setState({\n open: !_this.state.open\n });\n\n _this.props.onClick(evt);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (evt) {\n if (keyCodeMatches(evt, [keys.ArrowDown])) {\n _this.setState({\n open: !_this.state.open\n });\n\n _this.props.onClick(evt);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (evt) {\n if (_this.state.open && keyCodeMatches(evt, [keys.ArrowUp, keys.ArrowRight, keys.ArrowDown, keys.ArrowLeft])) {\n evt.preventDefault();\n } // Close the overflow menu on escape\n\n\n if (keyCodeMatches(evt, [keys.Escape])) {\n var wasOpen = _this.state.open;\n\n _this.closeMenu(function () {\n if (wasOpen) {\n _this.focusMenuEl();\n }\n }); // Stop the esc keypress from bubbling out and closing something it shouldn't\n\n\n evt.stopPropagation();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickOutside\", function (evt) {\n if (_this.state.open && (!_this._menuBody || !_this._menuBody.contains(evt.target))) {\n _this.closeMenu();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"closeMenu\", function (onCloseMenu) {\n _this.setState({\n open: false\n }, function () {\n // Optional callback to be executed after the state as been set to close\n if (onCloseMenu) {\n onCloseMenu();\n }\n\n _this.props.onClose();\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusMenuEl\", function () {\n var triggerEl = _this._triggerRef.current;\n\n if (triggerEl) {\n triggerEl.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOverflowMenuItemFocus\", function (_ref) {\n var _overflowMenuItem$cur;\n\n var currentIndex = _ref.currentIndex,\n direction = _ref.direction;\n var enabledIndices = React.Children.toArray(_this.props.children).reduce(function (acc, curr, i) {\n if (!curr.props.disabled) {\n acc.push(i);\n }\n\n return acc;\n }, []);\n\n var nextValidIndex = function () {\n var nextIndex = enabledIndices.indexOf(currentIndex) + direction;\n\n switch (enabledIndices.indexOf(currentIndex) + direction) {\n case -1:\n return enabledIndices.length - 1;\n\n case enabledIndices.length:\n return 0;\n\n default:\n return nextIndex;\n }\n }();\n\n var overflowMenuItem = _this[\"overflowMenuItem\".concat(enabledIndices[nextValidIndex])].overflowMenuItem;\n\n overflowMenuItem === null || overflowMenuItem === void 0 ? void 0 : (_overflowMenuItem$cur = overflowMenuItem.current) === null || _overflowMenuItem$cur === void 0 ? void 0 : _overflowMenuItem$cur.focus();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_bindMenuBody\", function (menuBody) {\n if (!menuBody) {\n _this._menuBody = menuBody;\n }\n\n if (!menuBody && _this._hFocusIn) {\n _this._hFocusIn = _this._hFocusIn.release();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_handlePlace\", function (menuBody) {\n if (menuBody) {\n _this._menuBody = menuBody;\n var hasFocusin = ('onfocusin' in window);\n var focusinEventName = hasFocusin ? 'focusin' : 'focus';\n _this._hFocusIn = on(menuBody.ownerDocument, focusinEventName, function (event) {\n var target = ClickListener.getEventTarget(event);\n var triggerEl = _this._triggerRef.current;\n\n if (typeof target.matches === 'function') {\n if (!menuBody.contains(target) && triggerEl && !target.matches(\".\".concat(prefix, \"--overflow-menu,.\").concat(prefix, \"--overflow-menu-options\"))) {\n _this.closeMenu();\n }\n }\n }, !hasFocusin);\n\n _this.props.onOpen();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"_getTarget\", function () {\n var triggerEl = _this._triggerRef.current;\n return triggerEl && triggerEl.closest('[data-floating-menu-container]') || document.body;\n });\n\n return _this;\n }\n\n _createClass(OverflowMenu, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_, prevState) {\n var onClose = this.props.onClose;\n\n if (!this.state.open && prevState.open) {\n onClose();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (typeof this._hBlurTimeout === 'number') {\n clearTimeout(this._hBlurTimeout);\n this._hBlurTimeout = undefined;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames,\n _classNames2,\n _this2 = this;\n\n var _this$props = this.props,\n id = _this$props.id,\n ariaLabel = _this$props.ariaLabel,\n children = _this$props.children,\n iconDescription = _this$props.iconDescription,\n direction = _this$props.direction,\n flipped = _this$props.flipped,\n menuOffset = _this$props.menuOffset,\n menuOffsetFlip = _this$props.menuOffsetFlip,\n iconClass = _this$props.iconClass,\n onClick = _this$props.onClick,\n onOpen = _this$props.onOpen,\n _this$props$selectorP = _this$props.selectorPrimaryFocus,\n selectorPrimaryFocus = _this$props$selectorP === void 0 ? '[data-floating-menu-primary-focus]' : _this$props$selectorP,\n IconElement = _this$props.renderIcon,\n ref = _this$props.innerRef,\n menuOptionsClass = _this$props.menuOptionsClass,\n light = _this$props.light,\n size = _this$props.size,\n other = _objectWithoutProperties(_this$props, [\"id\", \"ariaLabel\", \"children\", \"iconDescription\", \"direction\", \"flipped\", \"menuOffset\", \"menuOffsetFlip\", \"iconClass\", \"onClick\", \"onOpen\", \"selectorPrimaryFocus\", \"renderIcon\", \"innerRef\", \"menuOptionsClass\", \"light\", \"size\"]);\n\n var open = this.state.open;\n var overflowMenuClasses = classNames(this.props.className, \"\".concat(prefix, \"--overflow-menu\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--overflow-menu--open\"), open), _defineProperty(_classNames, \"\".concat(prefix, \"--overflow-menu--light\"), light), _defineProperty(_classNames, \"\".concat(prefix, \"--overflow-menu--\").concat(size), size), _classNames));\n var overflowMenuOptionsClasses = classNames(menuOptionsClass, \"\".concat(prefix, \"--overflow-menu-options\"), (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefix, \"--overflow-menu--flip\"), this.props.flipped), _defineProperty(_classNames2, \"\".concat(prefix, \"--overflow-menu-options--open\"), open), _defineProperty(_classNames2, \"\".concat(prefix, \"--overflow-menu-options--light\"), light), _defineProperty(_classNames2, \"\".concat(prefix, \"--overflow-menu-options--\").concat(size), size), _classNames2));\n var overflowMenuIconClasses = classNames(\"\".concat(prefix, \"--overflow-menu__icon\"), iconClass);\n var childrenWithProps = React.Children.toArray(children).map(function (child, index) {\n return /*#__PURE__*/React.cloneElement(child, {\n closeMenu: _this2.closeMenu,\n handleOverflowMenuItemFocus: _this2.handleOverflowMenuItemFocus,\n ref: function ref(e) {\n _this2[\"overflowMenuItem\".concat(index)] = e;\n },\n index: index\n });\n });\n var menuBody = /*#__PURE__*/React.createElement(\"ul\", {\n className: overflowMenuOptionsClasses,\n tabIndex: \"-1\",\n role: \"menu\",\n \"aria-label\": ariaLabel\n }, childrenWithProps);\n var wrappedMenuBody = /*#__PURE__*/React.createElement(FloatingMenu, {\n focusTrap: true,\n triggerRef: this._triggerRef,\n menuDirection: direction,\n menuOffset: flipped ? menuOffsetFlip : menuOffset,\n menuRef: this._bindMenuBody,\n flipped: this.props.flipped,\n target: this._getTarget,\n onPlace: this._handlePlace,\n selectorPrimaryFocus: this.props.selectorPrimaryFocus\n }, /*#__PURE__*/React.cloneElement(menuBody, {\n 'data-floating-menu-direction': direction\n }));\n var iconProps = {\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n className: overflowMenuIconClasses,\n 'aria-label': iconDescription\n };\n return /*#__PURE__*/React.createElement(ClickListener, {\n onClickOutside: this.handleClickOutside\n }, /*#__PURE__*/React.createElement(\"button\", _extends({}, other, {\n type: \"button\",\n \"aria-haspopup\": true,\n \"aria-expanded\": this.state.open,\n className: overflowMenuClasses,\n onKeyDown: this.handleKeyPress,\n onClick: this.handleClick,\n \"aria-label\": ariaLabel,\n id: id,\n ref: mergeRefs(this._triggerRef, ref)\n }), /*#__PURE__*/React.createElement(IconElement, iconProps, iconDescription && /*#__PURE__*/React.createElement(\"title\", null, iconDescription)), open && wrappedMenuBody));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref2, state) {\n var open = _ref2.open;\n var prevOpen = state.prevOpen;\n return prevOpen === open ? null : {\n open: open,\n prevOpen: open\n };\n }\n }]);\n\n return OverflowMenu;\n}(Component);\n\n_defineProperty(OverflowMenu, \"propTypes\", {\n /**\n * The ARIA label.\n */\n ariaLabel: PropTypes.string,\n\n /**\n * The child nodes.\n */\n children: PropTypes.node,\n\n /**\n * The CSS class names.\n */\n className: PropTypes.string,\n\n /**\n * The menu direction.\n */\n direction: PropTypes.oneOf([DIRECTION_TOP, DIRECTION_BOTTOM]),\n\n /**\n * `true` if the menu alignment should be flipped.\n */\n flipped: PropTypes.bool,\n\n /**\n * The CSS class for the icon.\n */\n iconClass: PropTypes.string,\n\n /**\n * The icon description.\n */\n iconDescription: PropTypes.string.isRequired,\n\n /**\n * The element ID.\n */\n id: PropTypes.string,\n\n /**\n * `true` to use the light version. For use on $ui-01 backgrounds only.\n * Don't use this to make OverflowMenu background color same as container background color.\n */\n light: PropTypes.bool,\n\n /**\n * The adjustment in position applied to the floating menu.\n */\n menuOffset: PropTypes.oneOfType([PropTypes.shape({\n top: PropTypes.number,\n left: PropTypes.number\n }), PropTypes.func]),\n\n /**\n * The adjustment in position applied to the floating menu.\n */\n menuOffsetFlip: PropTypes.oneOfType([PropTypes.shape({\n top: PropTypes.number,\n left: PropTypes.number\n }), PropTypes.func]),\n\n /**\n * The class to apply to the menu options\n */\n menuOptionsClass: PropTypes.string,\n\n /**\n * The event handler for the `click` event.\n */\n onClick: PropTypes.func,\n\n /**\n * Function called when menu is closed\n */\n onClose: PropTypes.func,\n\n /**\n * The event handler for the `focus` event.\n */\n onFocus: PropTypes.func,\n\n /**\n * The event handler for the `keydown` event.\n */\n onKeyDown: PropTypes.func,\n\n /**\n * Function called when menu is opened\n */\n onOpen: PropTypes.func,\n\n /**\n * `true` if the menu should be open.\n */\n open: PropTypes.bool,\n\n /**\n * Function called to override icon rendering.\n */\n renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n /**\n * Specify a CSS selector that matches the DOM element that should\n * be focused when the OverflowMenu opens\n */\n selectorPrimaryFocus: PropTypes.string,\n\n /**\n * Specify the size of the OverflowMenu. Currently supports either `sm` or\n * `xl` as an option.\n */\n size: PropTypes.oneOf(['sm', 'xl'])\n});\n\n_defineProperty(OverflowMenu, \"defaultProps\", {\n ariaLabel: 'Menu',\n iconDescription: 'open and close list of options',\n open: false,\n direction: DIRECTION_BOTTOM,\n flipped: false,\n renderIcon: OverflowMenuVertical16,\n onClick: function onClick() {},\n onKeyDown: function onKeyDown() {},\n onClose: function onClose() {},\n onOpen: function onOpen() {},\n menuOffset: getMenuOffset,\n menuOffsetFlip: getMenuOffset,\n light: false,\n selectorPrimaryFocus: '[data-overflow-menu-primary-focus]'\n});\n\nexport default (function () {\n var forwardRef = function forwardRef(props, ref) {\n return /*#__PURE__*/React.createElement(OverflowMenu, _extends({}, props, {\n innerRef: ref\n }));\n };\n\n forwardRef.displayName = 'OverflowMenu';\n return /*#__PURE__*/React.forwardRef(forwardRef);\n})();","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"circle\", {\n cx: \"16\",\n cy: \"8\",\n r: \"2\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n r: \"2\"\n});\n\nvar _ref4 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"circle\", {\n cx: \"16\",\n cy: \"24\",\n r: \"2\"\n});\n\nvar OverflowMenuVertical16 = /*#__PURE__*/React.forwardRef(function OverflowMenuVertical16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, _ref3, _ref4, children);\n});\nexport default OverflowMenuVertical16;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * @param {...Ref<Element>} refs List of React refs to merge.\n * @returns {Ref<Element>} Merged React ref.\n */\nvar mergeRefs = function mergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return function (el) {\n refs.forEach(function (ref) {\n // https://github.com/facebook/react/issues/13029#issuecomment-410002316\n if (typeof ref === 'function') {\n ref(el);\n } else if (Object(ref) === ref) {\n ref.current = el;\n }\n });\n };\n};\n\nexport default mergeRefs;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport warning from 'warning';\nvar didWarnAboutDeprecation = {};\nexport default function deprecate(propType, message) {\n function checker(props, propName, componentName) {\n if (props[propName] === undefined) {\n return;\n }\n\n if (!didWarnAboutDeprecation[componentName] || !didWarnAboutDeprecation[componentName][propName]) {\n didWarnAboutDeprecation[componentName] = _objectSpread(_objectSpread({}, didWarnAboutDeprecation[componentName]), {}, _defineProperty({}, propName, true));\n process.env.NODE_ENV !== \"production\" ? warning(false, message || \"The prop `\".concat(propName, \"` has been deprecated for the \") + \"\".concat(componentName, \" component. It will be removed in the next major \") + \"release\") : void 0;\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest));\n }\n\n return checker;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport warning from 'warning';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { match, keys } from '../../internal/keyboard';\nimport deprecate from '../../prop-types/deprecate.js';\nvar prefix = settings.prefix;\n\nvar OverflowMenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(OverflowMenuItem, _React$Component);\n\n var _super = _createSuper(OverflowMenuItem);\n\n function OverflowMenuItem() {\n var _this;\n\n _classCallCheck(this, OverflowMenuItem);\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), \"overflowMenuItem\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"setTabFocus\", function (evt) {\n if (match(evt, keys.ArrowDown)) {\n _this.props.handleOverflowMenuItemFocus({\n currentIndex: _this.props.index,\n direction: 1\n });\n }\n\n if (match(evt, keys.ArrowUp)) {\n _this.props.handleOverflowMenuItemFocus({\n currentIndex: _this.props.index,\n direction: -1\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (evt) {\n var _this$props = _this.props,\n onClick = _this$props.onClick,\n closeMenu = _this$props.closeMenu;\n onClick(evt);\n\n if (closeMenu) {\n closeMenu();\n }\n });\n\n return _this;\n }\n\n _createClass(OverflowMenuItem, [{\n key: \"render\",\n value: function render() {\n var _classNames,\n _this2 = this;\n\n var _this$props2 = this.props,\n href = _this$props2.href,\n className = _this$props2.className,\n itemText = _this$props2.itemText,\n hasDivider = _this$props2.hasDivider,\n isDelete = _this$props2.isDelete,\n disabled = _this$props2.disabled,\n closeMenu = _this$props2.closeMenu,\n onClick = _this$props2.onClick,\n handleOverflowMenuItemFocus = _this$props2.handleOverflowMenuItemFocus,\n _onKeyDown = _this$props2.onKeyDown,\n primaryFocus = _this$props2.primaryFocus,\n wrapperClassName = _this$props2.wrapperClassName,\n requireTitle = _this$props2.requireTitle,\n index = _this$props2.index,\n other = _objectWithoutProperties(_this$props2, [\"href\", \"className\", \"itemText\", \"hasDivider\", \"isDelete\", \"disabled\", \"closeMenu\", \"onClick\", \"handleOverflowMenuItemFocus\", \"onKeyDown\", \"primaryFocus\", \"wrapperClassName\", \"requireTitle\", \"index\"]);\n\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(closeMenu, '`<OverflowMenuItem>` detected missing `closeMenu` prop. ' + '`closeMenu` is required to let `<OverflowMenu>` close the menu upon actions on `<OverflowMenuItem>`. ' + 'Please make sure `<OverflowMenuItem>` is a direct child of `<OverflowMenu>.') : void 0;\n }\n\n var overflowMenuBtnClasses = classNames(\"\".concat(prefix, \"--overflow-menu-options__btn\"), className);\n var overflowMenuItemClasses = classNames(\"\".concat(prefix, \"--overflow-menu-options__option\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--overflow-menu--divider\"), hasDivider), _defineProperty(_classNames, \"\".concat(prefix, \"--overflow-menu-options__option--danger\"), isDelete), _defineProperty(_classNames, \"\".concat(prefix, \"--overflow-menu-options__option--disabled\"), disabled), _classNames), wrapperClassName);\n var TagToUse = href ? 'a' : 'button';\n\n var OverflowMenuItemContent = function () {\n if (typeof itemText !== 'string') {\n return itemText;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--overflow-menu-options__option-content\")\n }, itemText);\n }();\n\n return /*#__PURE__*/React.createElement(\"li\", {\n className: overflowMenuItemClasses,\n role: \"menuitem\"\n }, /*#__PURE__*/React.createElement(TagToUse, _extends({}, other, {\n 'data-floating-menu-primary-focus': primaryFocus || null\n }, {\n href: href,\n className: overflowMenuBtnClasses,\n disabled: disabled,\n onClick: this.handleClick,\n onKeyDown: function onKeyDown(evt) {\n _this2.setTabFocus(evt);\n\n _onKeyDown(evt);\n },\n ref: this.overflowMenuItem,\n title: requireTitle ? itemText : null,\n tabIndex: \"-1\",\n index: index\n }), OverflowMenuItemContent));\n }\n }]);\n\n return OverflowMenuItem;\n}(React.Component);\n\n_defineProperty(OverflowMenuItem, \"propTypes\", {\n /**\n * The CSS class name to be placed on the button element\n */\n className: PropTypes.string,\n\n /**\n * A callback to tell the parent menu component that the menu should be closed.\n */\n closeMenu: PropTypes.func,\n\n /**\n * `true` to make this menu item disabled.\n */\n disabled: PropTypes.bool,\n handleOverflowMenuItemFocus: PropTypes.func,\n\n /**\n * `true` to make this menu item a divider.\n */\n hasDivider: PropTypes.bool,\n\n /**\n * If given, overflow item will render as a link with the given href\n */\n href: PropTypes.string,\n index: PropTypes.number,\n\n /**\n * `true` to make this menu item a \"danger button\".\n */\n isDelete: PropTypes.bool,\n\n /**\n * The text in the menu item.\n */\n itemText: PropTypes.node.isRequired,\n\n /**\n * event handlers\n */\n onBlur: PropTypes.func,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseUp: PropTypes.func,\n\n /**\n * `true` if this menu item should get focus when the menu gets open.\n */\n primaryFocus: deprecate(PropTypes.bool, 'The `primaryFocus` prop has been deprecated as it is no longer used. ' + 'Feel free to remove this prop from <OverflowMenuItem>. This prop will ' + 'be removed in the next major release of `carbon-components-react`. ' + 'Opt for `selectorPrimaryFocus` in `<OverflowMenu>` instead'),\n\n /**\n * `true` if this menu item has long text and requires a browser tooltip\n */\n requireTitle: PropTypes.bool,\n\n /**\n * The CSS class name to be placed on the wrapper list item element\n */\n wrapperClassName: PropTypes.string\n});\n\n_defineProperty(OverflowMenuItem, \"defaultProps\", {\n hasDivider: false,\n isDelete: false,\n disabled: false,\n itemText: 'Provide itemText',\n onClick: function onClick() {},\n onKeyDown: function onKeyDown() {}\n});\n\nexport { OverflowMenuItem as default };","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport OverflowMenu from '../../internal/vendor/carbon-components-react/components/OverflowMenu/OverflowMenu';\nimport OverflowMenuItem from '../../internal/vendor/carbon-components-react/components/OverflowMenuItem/OverflowMenuItem';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * MastHead Profile component.\n */\n\nvar MastheadProfile = function MastheadProfile(_ref) {\n var overflowMenuProps = _ref.overflowMenuProps,\n overflowMenuItemProps = _ref.overflowMenuItemProps,\n profileMenu = _ref.profileMenu,\n customProfileLogin = _ref.customProfileLogin;\n /**\n * Masthead profile menu\n *\n * @returns {*} Masthead profile menu\n */\n\n var profileNav = profileMenu.map(function (item, i) {\n var loginUrl = customProfileLogin && item.id === 'signin' ? customProfileLogin : item.url;\n return React.createElement(OverflowMenuItem, _extends({}, overflowMenuItemProps, {\n itemText: item.title,\n href: loginUrl,\n hasDivider: i > 0,\n key: i\n }));\n });\n return React.createElement(OverflowMenu, _extends({\n className: \"\".concat(prefix, \"--header__action\")\n }, overflowMenuProps), profileNav);\n};\n\nexport default MastheadProfile;","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Utiltity function for escaping regex expressions\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping\n *\n * @param {string} str String to escape regex\n * @returns {string} Final string with escaped regex\n * @example\n * import { escapeRegExp } from '@carbon/ibmdotcom-utilities'\n *\n * const result = escapeRegExp('Hello?!*`~World()[]');\n * console.log(result); // Hello\\?!\\*`~World\\(\\)\\[\\]\n *\n */\nfunction escapeRegExp(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nexport default escapeRegExp;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport { AriaLabelPropType } from '../../prop-types/AriaPropTypes';\nvar prefix = settings.prefix;\n/**\n * HeaderGlobalAction is used as a part of the `HeaderGlobalBar`. It is\n * essentially an Icon Button with an additional state to indicate whether it is\n * \"active\". The active state comes from when a user clicks on the global action\n * which should trigger a panel to appear.\n *\n * Note: children passed to this component should be an Icon.\n */\n\nvar HeaderGlobalAction = /*#__PURE__*/React.forwardRef(function HeaderGlobalAction(_ref, ref) {\n var _cx;\n\n var ariaLabel = _ref['aria-label'],\n ariaLabelledBy = _ref['aria-labelledby'],\n children = _ref.children,\n customClassName = _ref.className,\n onClick = _ref.onClick,\n isActive = _ref.isActive,\n rest = _objectWithoutProperties(_ref, [\"aria-label\", \"aria-labelledby\", \"children\", \"className\", \"onClick\", \"isActive\"]);\n\n var className = cx((_cx = {}, _defineProperty(_cx, customClassName, !!customClassName), _defineProperty(_cx, \"\".concat(prefix, \"--header__action\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--header__action--active\"), isActive), _cx));\n var accessibilityLabel = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy\n };\n return /*#__PURE__*/React.createElement(\"button\", _extends({}, rest, accessibilityLabel, {\n className: className,\n onClick: onClick,\n type: \"button\",\n ref: ref\n }), children);\n});\nHeaderGlobalAction.displayName = 'HeaderGlobalAction';\nexport default HeaderGlobalAction;","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\n/**\n * Renders the input bar with the search icon.\n */\n\nvar MastheadSearchInput = function MastheadSearchInput(_ref) {\n var componentInputProps = _ref.componentInputProps,\n dispatch = _ref.dispatch,\n isActive = _ref.isActive;\n var searchRef = useRef();\n /**\n * Clear search and clear input when called\n */\n\n var resetSearch = useCallback(function () {\n dispatch({\n type: 'setSearchClosed'\n });\n dispatch({\n type: 'setVal',\n payload: {\n val: ''\n }\n });\n }, [dispatch]);\n useEffect(function () {\n if (isActive) {\n searchRef.current && searchRef.current.focus();\n } else resetSearch();\n }, [isActive, resetSearch]);\n return React.createElement(React.Fragment, null, React.createElement(\"input\", _extends({}, componentInputProps, {\n \"data-autoid\": \"\".concat(stablePrefix, \"--header__search--input\"),\n ref: searchRef,\n name: \"q\",\n tabIndex: isActive ? null : '-1'\n })));\n};\n\nMastheadSearchInput.defaultProps = {\n componentInputProps: {},\n dispatch: function dispatch() {},\n searchIconClick: function searchIconClick() {}\n};\nexport default MastheadSearchInput;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport classNames from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport match from 'autosuggest-highlight/match';\nimport parse from 'autosuggest-highlight/parse';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * The rendered suggestion in the suggestion list.\n */\n\nvar MastheadSearchSuggestion = function MastheadSearchSuggestion(_ref) {\n var suggestion = _ref.suggestion,\n query = _ref.query,\n isHighlighted = _ref.isHighlighted,\n getSuggestionValue = _ref.getSuggestionValue;\n var suggestionValue = getSuggestionValue(suggestion);\n var matches = match(suggestionValue, query);\n var parts = parse(suggestionValue, matches);\n return React.createElement(\"div\", {\n className: classNames(\"\".concat(prefix, \"--container-class\"), _defineProperty({}, \"\".concat(prefix, \"--container-highlight-class\"), isHighlighted)),\n tabIndex: \"-1\",\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead__searchresults--suggestion\")\n }, parts.map(function (part, index) {\n return React.createElement(\"span\", {\n key: index,\n style: {\n fontWeight: part.highlight ? 600 : 400 // TODO: switch to final styles\n\n }\n }, part.text.replace(' ', \"\\xA0\"));\n }));\n};\n\nMastheadSearchSuggestion.defaultProps = {\n suggestion: [],\n query: '',\n isHighlighted: false,\n getSuggestionValue: function getSuggestionValue() {}\n};\nexport default MastheadSearchSuggestion;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M29,27.5859l-7.5521-7.5521a11.0177,11.0177,0,1,0-1.4141,1.4141L27.5859,29ZM4,13a9,9,0,1,1,9,9A9.01,9.01,0,0,1,4,13Z\"\n});\n\nvar Search20 = /*#__PURE__*/React.forwardRef(function Search20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Search20;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useCallback, useEffect, useReducer, useRef } from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport Close20 from '@carbon/icons-react/es/close/20';\nimport cx from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport escapeRegExp from '@carbon/ibmdotcom-utilities/es/utilities/escaperegexp/escaperegexp';\nimport HeaderGlobalAction from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderGlobalAction';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale';\nimport MastheadSearchInput from './MastheadSearchInput';\nimport MastheadSearchSuggestion from './MastheadSearchSuggestion';\nimport root from 'window-or-global';\nimport Search20 from '@carbon/icons-react/es/search/20';\nimport SearchTypeaheadAPI from '@carbon/ibmdotcom-services/es/services/SearchTypeahead/SearchTypeahead';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Sets up the redirect URL when a user selects a search suggestion\n *\n * @type {string}\n * @private\n */\n\nvar _redirectUrl = process.env.SEARCH_REDIRECT_ENDPOINT || \"https://www.ibm.com/search?lnk=mhsrch\";\n/**\n * Converts the string to lower case and trims extra white space\n *\n * @param {string} valueString The text field\n * @returns {string} lower cased and trimmed text\n */\n\n\nvar _trimAndLower = function _trimAndLower(valueString) {\n return valueString.toLowerCase().trim();\n};\n/**\n * When a suggestion item is clicked, we populate the input with its name field\n *\n * @param {object} suggestion The individual object from the data\n * @returns {*} The name val\n */\n\n\nvar _getSuggestionValue = function _getSuggestionValue(suggestion) {\n return suggestion[0];\n};\n/**\n * Reducer for the useReducer hook\n *\n * @param {object} state The state\n * @param {object} action contains the type and payload\n * @returns {*} the new state value\n * @private\n */\n\n\nfunction _reducer(state, action) {\n switch (action.type) {\n case 'setVal':\n return Object.assign({}, state, {\n val: action.payload.val\n });\n\n case 'emptySuggestions':\n return Object.assign({}, state, {\n suggestions: []\n });\n\n case 'setPrevSuggestions':\n return Object.assign({}, state, {\n prevSuggestions: action.payload.prevSuggestions\n });\n\n case 'setSuggestionsToPrevious':\n return Object.assign({}, state, {\n suggestions: state.prevSuggestions\n });\n\n case 'showSuggestionsContainer':\n return Object.assign({}, state, {\n suggestionContainerVisible: true\n });\n\n case 'hideSuggestionsContainer':\n return Object.assign({}, state, {\n suggestionContainerVisible: false\n });\n\n case 'setSearchOpen':\n return Object.assign({}, state, {\n isSearchOpen: true\n });\n\n case 'setSearchClosed':\n return Object.assign({}, state, {\n isSearchOpen: false\n });\n\n case 'setLc':\n return Object.assign({}, state, {\n lc: action.payload.lc\n });\n\n case 'setCc':\n return Object.assign({}, state, {\n cc: action.payload.cc\n });\n\n default:\n return state;\n }\n}\n/**\n * MastheadSearch component which includes autosuggestion results from the\n * SearchTypeaheadAPI.\n *\n * The search field utilizes \"react-autosuggest\". Documentation available here:\n * http://react-autosuggest.js.org/\n * https://github.com/moroshko/react-autosuggest\n */\n\n\nvar MastheadSearch = function MastheadSearch(_ref) {\n var _cx;\n\n var placeHolderText = _ref.placeHolderText,\n renderValue = _ref.renderValue,\n searchOpenOnload = _ref.searchOpenOnload,\n navType = _ref.navType,\n customTypeaheadApi = _ref.customTypeaheadApi,\n rest = _objectWithoutProperties(_ref, [\"placeHolderText\", \"renderValue\", \"searchOpenOnload\", \"navType\", \"customTypeaheadApi\"]);\n\n var _useSearchVisible = useSearchVisible(false),\n ref = _useSearchVisible.ref;\n /**\n * Initial state of the autocomplete component\n *\n * @type {{val: string, prevSuggestions: Array, suggestions: Array, suggestionContainerVisible: boolean}}\n * @private\n */\n\n\n var _initialState = {\n val: '',\n suggestions: [],\n prevSuggestions: [],\n suggestionContainerVisible: false,\n isSearchOpen: searchOpenOnload,\n lc: 'en',\n cc: 'us'\n };\n\n var _useReducer = useReducer(_reducer, _initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n useEffect(function () {\n var abortController = typeof AbortController !== 'undefined' ? new AbortController() : {\n signal: {},\n abort: function abort() {\n this.signal.aborted = true;\n }\n };\n abortController.abort();\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var response;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return LocaleAPI.getLang();\n\n case 2:\n response = _context.sent;\n\n if (!abortController.signal.aborted && response) {\n dispatch({\n type: 'setLc',\n payload: {\n lc: response.lc\n }\n });\n dispatch({\n type: 'setCc',\n payload: {\n cc: response.cc\n }\n });\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n\n return function () {\n abortController.abort();\n };\n }, []);\n /**\n * Event handlers to toggle visiblity of search\n *\n * @returns {*} search ref\n */\n\n function useSearchVisible() {\n var ref = useRef(null);\n /**\n * Close search entirely if autosuggestions collapsed\n *\n * @param {*} event Escape keypress\n */\n\n var handleHideSearch = function handleHideSearch(event) {\n if (event.key === 'Escape') {\n if (!state.suggestionContainerVisible) {\n dispatch({\n type: 'setSearchClosed'\n });\n }\n }\n };\n /**\n * Close search when click detected outside of component.\n * This is necessary otherwise search stays open even when\n * elements other than the close button are clicked.\n *\n * @param {*} event Click event outside search component\n */\n\n\n var handleClickOutside = function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n // If a click was detected outside the Search ref but there is a text value in state, don't hide the Search.\n if (state.val.length === 0) {\n dispatch({\n type: 'setSearchClosed'\n });\n }\n }\n };\n\n useEffect(function () {\n root.document.addEventListener('keydown', handleHideSearch, true);\n root.document.addEventListener('click', handleClickOutside, true);\n return function () {\n root.document.removeEventListener('keydown', handleHideSearch, true);\n root.document.removeEventListener('click', handleClickOutside, true);\n };\n });\n return {\n ref: ref\n };\n }\n\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--masthead__search\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--masthead__search--active\"), state.isSearchOpen), _cx)); // pass search state back to <Masthead />\n\n if (rest.isSearchActive) {\n rest.isSearchActive(state.isSearchOpen);\n }\n /**\n * When the input field changes, we set the new val to our state\n *\n * @param {event} event The callback event\n * @param {string} newValue The new val of the input\n */\n\n\n function onChange(event, _ref3) {\n var newValue = _ref3.newValue; // emit custom event for search input onchange\n\n var onSearchValueChanged = new CustomEvent('onSearchValueChanged', {\n bubbles: true,\n detail: {\n value: newValue\n }\n });\n event.currentTarget.dispatchEvent(onSearchValueChanged);\n dispatch({\n type: 'setVal',\n payload: {\n val: newValue\n }\n });\n }\n /**\n * Autosuggest will pass through all these props to the input.\n *\n * @type {{placeholder: string, value: string, onChange: Function, className: string}}\n */\n\n\n var inputProps = {\n placeholder: placeHolderText,\n value: state.val,\n onChange: onChange,\n className: \"\".concat(prefix, \"--header__search--input\")\n };\n /**\n * Executes the logic for the search icon depending on search input state.\n * This will execute the search if the search is open, or will open the\n * search field if closed.\n *\n */\n\n function searchIconClick(event) {\n // emit custom event for search icon click when search is closed\n if (!state.isSearchOpen) {\n var onOpenSearch = new CustomEvent('onOpenSearch', {\n bubbles: true\n });\n event.currentTarget.dispatchEvent(onOpenSearch);\n } // emit custom event for search icon click when search is open\n\n\n if (state.isSearchOpen) {\n var onSearchButtonClicked = new CustomEvent('onSearchButtonClicked', {\n bubbles: true\n });\n event.currentTarget.dispatchEvent(onSearchButtonClicked);\n }\n\n if (state.isSearchOpen && state.val.length) {\n root.parent.location.href = getRedirect(state.val);\n } else {\n dispatch({\n type: 'setSearchOpen'\n });\n }\n }\n /**\n * Clear search and clear input when called\n */\n\n\n var resetSearch = useCallback(function () {\n dispatch({\n type: 'setSearchClosed'\n });\n dispatch({\n type: 'setVal',\n payload: {\n val: ''\n }\n });\n }, [dispatch]);\n /**\n * closeBtnAction resets and sets focus after search is closed\n */\n\n function closeBtnAction(event) {\n // emit custom event for search close button click\n var onSearchCloseClicked = new CustomEvent('onSearchCloseClicked', {\n bubbles: true\n });\n event.currentTarget.dispatchEvent(onSearchCloseClicked);\n resetSearch();\n var searchIconRef = root.document.querySelectorAll(\"[data-autoid=\\\"\".concat(stablePrefix, \"--masthead-\").concat(navType, \"__l0-search\\\"]\"));\n searchIconRef && searchIconRef[0].focus();\n }\n /**\n * Renders the input bar with the search icon\n *\n * @param {object} componentInputProps contains the input props\n * @returns {*} The rendered component\n */\n\n\n function renderInputComponent(componentInputProps) {\n return React.createElement(MastheadSearchInput, {\n componentInputProps: componentInputProps,\n dispatch: dispatch,\n isActive: state.isSearchOpen,\n searchIconClick: searchIconClick\n });\n }\n /**\n * Returns the action/redirect value\n *\n * @param {string} value string value from the input or suggestions list\n * @returns {string} final redirect string\n */\n\n\n function getRedirect(value) {\n return \"\".concat(_redirectUrl, \"&q=\").concat(encodeURIComponent(value), \"&lang=\").concat(state.lc, \"&cc=\").concat(state.cc);\n }\n /**\n * Renders the Suggestion Value with the function for the adding the suggestion\n *\n * @param {object} suggestion The suggestion to render\n * @param {object} properties The property object of the incoming suggestion\n * @param {string} properties.query The query being searched for\n * @param {boolean} properties.isHighlighted Whether the suggestion is currently highlighted by the user\n * @returns {*} The suggestion value\n */\n\n\n function renderSuggestion(suggestion, _ref4) {\n var query = _ref4.query,\n isHighlighted = _ref4.isHighlighted;\n return React.createElement(MastheadSearchSuggestion, {\n suggestion: suggestion,\n query: query,\n isHighlighted: isHighlighted,\n getSuggestionValue: _getSuggestionValue\n });\n }\n /**\n * This function is called everytime we need new suggestions. If input has\n * changed, we fetch for new suggestions else we return the previous\n * suggestions\n *\n * Available reason values:\n * https://github.com/moroshko/react-autosuggest#onsuggestionsfetchrequested-required\n *\n * @param {object} request Object response from when onSuggestionsFetchRequested is called\n * @param {string} request.value the current value of the input\n * @param {string} request.reason string describing why onSuggestionsFetchRequested was called\n */\n\n\n function onSuggestionsFetchRequest(_x) {\n return _onSuggestionsFetchRequest.apply(this, arguments);\n }\n /**\n * Called every time we clear suggestions\n */\n\n\n function _onSuggestionsFetchRequest() {\n _onSuggestionsFetchRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(request) {\n var searchValue, response;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n searchValue = _trimAndLower(escapeRegExp(request.value));\n\n if (!(request.reason === 'input-changed')) {\n _context2.next = 13;\n break;\n }\n\n if (!customTypeaheadApi) {\n _context2.next = 6;\n break;\n }\n\n _context2.t0 = customTypeaheadApi(searchValue);\n _context2.next = 9;\n break;\n\n case 6:\n _context2.next = 8;\n return SearchTypeaheadAPI.getResults(searchValue);\n\n case 8:\n _context2.t0 = _context2.sent;\n\n case 9:\n response = _context2.t0;\n\n if (response !== undefined) {\n dispatch({\n type: 'setPrevSuggestions',\n payload: {\n prevSuggestions: response\n }\n });\n dispatch({\n type: 'setSuggestionsToPrevious'\n });\n dispatch({\n type: 'showSuggestionsContainer'\n });\n }\n\n _context2.next = 14;\n break;\n\n case 13:\n if (request.reason === 'escape-pressed') {\n onSuggestionsClearedRequested();\n } else {\n dispatch({\n type: 'setSuggestionsToPrevious'\n });\n dispatch({\n type: 'showSuggestionsContainer'\n });\n }\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _onSuggestionsFetchRequest.apply(this, arguments);\n }\n\n function onSuggestionsClearedRequested() {\n dispatch({\n type: 'emptySuggestions'\n });\n dispatch({\n type: 'hideSuggestionsContainer'\n });\n }\n /**\n * Sends the user to the search results page when a suggestion is selected\n *\n * @param {object} event The event object\n * @param {object} params Param object coming from react-autosuggest\n * @param {string} params.suggestionValue Suggestion value\n */\n\n\n function onSuggestionSelected(event, _ref5) {\n var suggestionValue = _ref5.suggestionValue;\n root.parent.location.href = getRedirect(suggestionValue);\n }\n /**\n * Only render suggestions if we have more than the renderValue\n *\n * @param {string} value Name of the suggestion\n * @returns {boolean} Whether or not to display the value\n */\n\n\n function shouldRenderSuggestions(value) {\n return value.trim().length >= renderValue;\n }\n\n return React.createElement(\"div\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead__search\"),\n className: className,\n ref: ref\n }, state.isSearchOpen && React.createElement(\"form\", {\n id: \"\".concat(prefix, \"--masthead__search--form\"),\n action: _redirectUrl,\n method: \"get\"\n }, React.createElement(\"input\", {\n type: \"hidden\",\n name: \"lang\",\n value: state.lc\n }), React.createElement(\"input\", {\n type: \"hidden\",\n name: \"cc\",\n value: state.cc\n }), React.createElement(\"input\", {\n type: \"hidden\",\n name: \"lnk\",\n value: \"mhsrch\"\n }), React.createElement(Autosuggest, {\n suggestions: state.suggestions // The state value of suggestion\n ,\n onSuggestionsFetchRequested: onSuggestionsFetchRequest // Method to fetch data (should be async call)\n ,\n onSuggestionsClearRequested: onSuggestionsClearedRequested // When input bar loses focus\n ,\n getSuggestionValue: _getSuggestionValue // Name of suggestion\n ,\n renderSuggestion: renderSuggestion // How to display a suggestion\n ,\n onSuggestionSelected: onSuggestionSelected // When a suggestion is selected\n ,\n highlightFirstSuggestion: true // First suggestion is highlighted by default\n ,\n inputProps: inputProps,\n renderInputComponent: renderInputComponent,\n shouldRenderSuggestions: shouldRenderSuggestions\n })), React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--header__search--actions\")\n }, React.createElement(HeaderGlobalAction, {\n onClick: searchIconClick,\n \"aria-label\": state.isSearchOpen ? 'Search all of IBM' : 'Open IBM search field',\n className: \"\".concat(prefix, \"--header__search--search\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(navType, \"__l0-search\"),\n tabIndex: \"0\"\n }, React.createElement(Search20, null)), React.createElement(HeaderGlobalAction, {\n onClick: closeBtnAction,\n \"aria-label\": \"Close\",\n className: \"\".concat(prefix, \"--header__search--close\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(navType, \"__l0-search--close\")\n }, React.createElement(Close20, null))));\n};\n\nMastheadSearch.defaultProps = {\n placeHolderText: 'Search all of IBM',\n renderValue: 3,\n searchOpenOnload: false\n}; // Export the react component\n\nexport default MastheadSearch;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(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\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nimport Link, { LinkPropTypes } from './Link';\nvar selectorPrefix = settings.prefix;\n\nvar HeaderName = function HeaderName(_ref) {\n var children = _ref.children,\n customClassName = _ref.className,\n prefix = _ref.prefix,\n href = _ref.href,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"prefix\", \"href\"]);\n\n var className = cx(\"\".concat(selectorPrefix, \"--header__name\"), customClassName);\n return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n className: className,\n href: href\n }), prefix && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectorPrefix, \"--header__name--prefix\")\n }, prefix), \"\\xA0\"), children);\n};\n\nHeaderName.defaultProps = {\n prefix: 'IBM'\n};\nexport default HeaderName;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useState } from 'react';\nimport classnames from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport HeaderMenu from '../carbon-components-react/UIShell/HeaderMenu';\nimport HeaderMenuItem from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderMenuItem';\nimport HeaderName from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderName';\nimport HeaderNavContainer from './HeaderNavContainer';\nimport HeaderNavigation from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderNavigation';\nimport MegaMenu from './MastheadMegaMenu/MegaMenu';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Masthead top nav component.\n */\n\nvar MastheadTopNav = function MastheadTopNav(_ref) {\n var navigation = _ref.navigation,\n topNavProps = _objectWithoutProperties(_ref, [\"navigation\"]);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n overlay = _useState2[0],\n setOverlay = _useState2[1];\n /**\n * Top masthead navigation\n *\n * @returns {*} Top masthead navigation\n */\n\n\n var mastheadLinks = navigation.map(function (link, i) {\n var autoid = \"\".concat(stablePrefix, \"--masthead-\").concat(topNavProps.navType, \"__l0-nav\").concat(i);\n var selected = link.titleEnglish === topNavProps.selectedMenuItem;\n var dataTitle = link.titleEnglish ? link.titleEnglish.replace(/[^-a-zA-Z0-9_ ]/g, '').replace(/ +/g, '-').toLowerCase() : null;\n\n if (link.hasMenu || link.hasMegapanel) {\n return React.createElement(HeaderMenu, {\n \"aria-label\": link.title,\n menuLinkName: link.title,\n className: classnames(_defineProperty({}, \"\".concat(prefix, \"--masthead__megamenu__l0-nav\"), link.hasMegapanel)),\n selected: selected,\n autoId: autoid,\n key: i,\n disableScroll: link.hasMegapanel,\n setOverlay: setOverlay,\n dataTitle: dataTitle\n }, renderNav(link, autoid));\n } else {\n return React.createElement(HeaderMenuItem, {\n className: selected && \"\".concat(prefix, \"--masthead__l0-nav--selected-item\"),\n href: link.url,\n \"data-autoid\": autoid,\n key: i\n }, link.title);\n }\n });\n return React.createElement(React.Fragment, null, topNavProps.platform && React.createElement(HeaderName, {\n prefix: \"\",\n href: topNavProps.platform.url,\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(topNavProps.navType, \"__l0-ecosystemname\")\n }, topNavProps.platform.name), React.createElement(HeaderNavContainer, null, React.createElement(HeaderNavigation, {\n \"aria-label\": \"IBM\",\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead__l0-nav\")\n }, mastheadLinks)), React.createElement(\"div\", {\n className: classnames(\"\".concat(prefix, \"--masthead__overlay\"), _defineProperty({}, \"\".concat(prefix, \"--masthead__overlay-show\"), overlay))\n }));\n};\n/**\n * Loops through and renders a list of links for the masthead nav\n *\n * @param {object} link A list of links to be rendered\n * @param {string} autoid autoid predecessor for megamenu items/menu items data-autoids\n * @returns {object} JSX object\n */\n\n\nfunction renderNav(link, autoid) {\n var navItems = [];\n\n if (link.hasMegapanel) {\n navItems.push(React.createElement(MegaMenu, {\n key: link.title,\n data: link,\n autoid: autoid\n }));\n } else {\n link.menuSections.forEach(function (section, i) {\n section.menuItems.forEach(function (item, j) {\n navItems.push(React.createElement(HeaderMenuItem, {\n href: item.url,\n \"data-autoid\": \"\".concat(autoid, \"--subnav-col\").concat(i, \"-item\").concat(j),\n key: item.title\n }, item.title));\n });\n });\n }\n\n return navItems;\n}\n\nexport default MastheadTopNav;","function _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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nvar SkipToContent = function SkipToContent(_ref) {\n var children = _ref.children,\n customClassName = _ref.className,\n href = _ref.href,\n tabIndex = _ref.tabIndex,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"href\", \"tabIndex\"]);\n\n var className = cx(\"\".concat(prefix, \"--skip-to-content\"), customClassName);\n return /*#__PURE__*/React.createElement(\"a\", _extends({}, rest, {\n className: className,\n href: href,\n tabIndex: tabIndex\n }), children);\n};\n\nSkipToContent.defaultProps = {\n children: 'Skip to main content',\n href: '#main-content',\n tabIndex: '0'\n};\nexport default SkipToContent;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M16 4a5 5 0 11-5 5 5 5 0 015-5m0-2a7 7 0 107 7A7 7 0 0016 2zM26 30H24V25a5 5 0 00-5-5H13a5 5 0 00-5 5v5H6V25a7 7 0 017-7h6a7 7 0 017 7z\"\n});\n\nvar User20 = /*#__PURE__*/React.forwardRef(function User20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default User20;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"circle\", {\n cx: \"26\",\n cy: \"16\",\n r: \"4\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M22 30H20V25a5 5 0 00-5-5H9a5 5 0 00-5 5v5H2V25a7 7 0 017-7h6a7 7 0 017 7zM12 4A5 5 0 117 9a5 5 0 015-5m0-2a7 7 0 107 7A7 7 0 0012 2z\"\n});\n\nvar UserOnline20 = /*#__PURE__*/React.forwardRef(function UserOnline20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, _ref3, children);\n});\nexport default UserOnline20;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport cx from 'classnames';\nimport { DDS_CUSTOM_PROFILE_LOGIN } from '../../internal/FeatureFlags';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport { globalInit } from '@carbon/ibmdotcom-services/es/services/global/global';\nimport Header from '../../internal/vendor/carbon-components-react/components/UIShell/Header';\nimport HeaderContainer from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderContainer';\nimport HeaderGlobalBar from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderGlobalBar';\nimport HeaderMenuButton from '../../internal/vendor/carbon-components-react/components/UIShell/HeaderMenuButton';\nimport { IbmLogo } from '../Icon';\nimport MastheadL1 from './MastheadL1';\nimport MastheadLeftNav from './MastheadLeftNav';\nimport MastheadProfile from './MastheadProfile';\nimport MastheadSearch from './MastheadSearch';\nimport MastheadTopNav from './MastheadTopNav';\nimport ProfileAPI from '@carbon/ibmdotcom-services/es/services/Profile/Profile';\nimport root from 'window-or-global';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport SkipToContent from '../../internal/vendor/carbon-components-react/components/UIShell/SkipToContent';\nimport TranslationAPI from '@carbon/ibmdotcom-services/es/services/Translation/Translation';\nimport User20 from '@carbon/icons-react/es/user/20';\nimport UserOnline20 from '@carbon/icons-react/es/user--online/20';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * MastHead component\n *\n * @param {object} props React props object\n * @param {object} props.navigation Object containing navigation elements\n * @param {boolean} props.hasProfile Determines whether to render Profile component\n * @param {boolean} props.hasSearch Determines whether to render Search Bar\n * @param {boolean} props.searchOpenOnload Determines if the search field is open on page load\n * @param {string} props.placeHolderText Placeholder value for search input\n * @param {object} props.platform Platform name that appears on L0.\n * @param {string} props.title Title for the masthead L1\n * @param {string} props.eyebrowText Text for the eyebrow link in masthead L1\n * @param {string} props.eyebrowLink URL for the eyebrow link in masthead L1\n * @param {string} props.selectedMenuItem L0 menu item to render with selected state\n * @returns {*} Masthead component\n */\n\nvar Masthead = function Masthead(_ref) {\n var _cx, _cx2;\n\n var navigation = _ref.navigation,\n hasProfile = _ref.hasProfile,\n hasSearch = _ref.hasSearch,\n searchOpenOnload = _ref.searchOpenOnload,\n placeHolderText = _ref.placeHolderText,\n platform = _ref.platform,\n mastheadL1Data = _ref.mastheadL1Data,\n selectedMenuItem = _ref.selectedMenuItem,\n mastheadProps = _objectWithoutProperties(_ref, [\"navigation\", \"hasProfile\", \"hasSearch\", \"searchOpenOnload\", \"placeHolderText\", \"platform\", \"mastheadL1Data\", \"selectedMenuItem\"]);\n /**\n * Returns IBM.com authenticated status\n *\n * @param {boolean} isAuthenticated Whether the user is authenticated to IBM.com\n * @returns {*} The user status\n */\n\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isAuthenticated = _useState2[0],\n setStatus = _useState2[1];\n /**\n * Returns state of search status\n *\n * @param {boolean} isSearchActive Whether the search bar is open\n * @returns {*} The active search status\n */\n\n\n var _useState3 = useState(searchOpenOnload),\n _useState4 = _slicedToArray(_useState3, 2),\n isSearchActive = _useState4[0],\n setIsSearchActive = _useState4[1];\n\n var handleSearchActive = function handleSearchActive(e) {\n setIsSearchActive(e);\n };\n\n useEffect(function () {\n // initialize global execution calls\n globalInit();\n }, []);\n useEffect(function () {\n var unmounted = false;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var status;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ProfileAPI.getUserStatus();\n\n case 2:\n status = _context.sent;\n\n if (!unmounted) {\n setStatus(status.user === 'Authenticated');\n }\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n\n return function () {\n unmounted = true;\n };\n }, []);\n\n var _useState5 = useState([]),\n _useState6 = _slicedToArray(_useState5, 2),\n mastheadData = _useState6[0],\n setMastheadData = _useState6[1];\n\n var _useState7 = useState([]),\n _useState8 = _slicedToArray(_useState7, 2),\n logo = _useState8[0],\n setlogo = _useState8[1];\n\n var _useState9 = useState({\n signedin: [],\n signedout: []\n }),\n _useState10 = _slicedToArray(_useState9, 2),\n profileData = _useState10[0],\n setProfileData = _useState10[1];\n\n useEffect(function () {\n var unmounted = false;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var pageData;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n _context2.next = 3;\n return TranslationAPI.getTranslation();\n\n case 3:\n pageData = _context2.sent;\n\n if (!unmounted) {\n setMastheadData(pageData.mastheadNav.links);\n setProfileData(pageData.profileMenu);\n setlogo(pageData === null || pageData === void 0 ? void 0 : pageData.logo);\n }\n\n _context2.next = 10;\n break;\n\n case 7:\n _context2.prev = 7;\n _context2.t0 = _context2[\"catch\"](0);\n console.error('Error populating masthead data:', _context2.t0);\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 7]]);\n }))();\n\n return function () {\n unmounted = true;\n };\n }, []);\n /**\n * Forces profile menu position to fixed to prevent scrolling\n *\n */\n\n var _setProfileListPosition = function _setProfileListPosition() {\n var profileMenuList = document.querySelector(\".\".concat(prefix, \"--masthead__profile-item\"));\n profileMenuList.closest('ul').style.position = 'fixed';\n profileMenuList.closest('ul').style.top = '48px';\n };\n\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n isMastheadSticky = _useState12[0],\n setIsMastheadSticky = _useState12[1];\n\n var stickyRef = useRef(null);\n var mastheadL1Ref = useRef(null);\n var mastheadSticky = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--masthead--sticky\"), isMastheadSticky), _defineProperty(_cx, \"\".concat(prefix, \"--masthead--sticky__l1\"), mastheadL1Ref.current != null), _cx));\n var headerSearchClasses = cx((_cx2 = {}, _defineProperty(_cx2, \"\".concat(prefix, \"--masthead__platform\"), platform), _defineProperty(_cx2, \"\".concat(prefix, \"--masthead__header--search-active\"), isSearchActive), _cx2));\n useEffect(function () {\n /**\n * Sets sticky masthead. If both L0 and L1 are present, L1 will be sticky.\n *\n */\n var hideTopnavThreshold = 0.25;\n var handleScroll = root.addEventListener('scroll', function () {\n /**\n * L0 will hide/show only in the top 25% of the viewport.\n *\n */\n if (mastheadL1Ref.current != null) {\n setIsMastheadSticky(root.pageYOffset > root.innerHeight * hideTopnavThreshold);\n }\n });\n return function () {\n root.removeEventListener('scroll', function () {\n return handleScroll;\n });\n };\n }, []);\n\n if (navigation) {\n switch (_typeof(navigation)) {\n case 'default':\n // eslint-disable-next-line\n mastheadData = mastheadData;\n break;\n\n case 'object':\n mastheadData = navigation;\n break;\n\n default:\n break;\n }\n } // set navigation type (default, alternate, or ecosystem) for autoids\n\n\n var navType;\n\n if (!navigation && !platform) {\n navType = 'alt';\n } else if (navigation && !platform) {\n navType = 'default';\n } else if (platform) {\n navType = 'eco';\n }\n\n return React.createElement(HeaderContainer, {\n render: function render(_ref4) {\n var _mastheadL1Data$navig;\n\n var isSideNavExpanded = _ref4.isSideNavExpanded,\n onClickSideNavExpand = _ref4.onClickSideNavExpand;\n\n if (isSideNavExpanded) {\n var _root$document, _root$document$body;\n\n (_root$document = root.document) === null || _root$document === void 0 ? void 0 : (_root$document$body = _root$document.body) === null || _root$document$body === void 0 ? void 0 : _root$document$body.classList.add(\"\".concat(prefix, \"--body__lock-scroll\"));\n } else {\n var _root$document2, _root$document2$body;\n\n (_root$document2 = root.document) === null || _root$document2 === void 0 ? void 0 : (_root$document2$body = _root$document2.body) === null || _root$document2$body === void 0 ? void 0 : _root$document2$body.classList.remove(\"\".concat(prefix, \"--body__lock-scroll\"));\n }\n\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead \").concat(mastheadSticky),\n ref: stickyRef\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--masthead__l0\")\n }, React.createElement(Header, {\n \"aria-label\": \"IBM\",\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead\")\n }, React.createElement(SkipToContent, null), (mastheadL1Data || navigation) && React.createElement(HeaderMenuButton, {\n \"aria-label\": isSideNavExpanded ? 'Close menu' : 'Open menu',\n \"data-autoid\": \"\".concat(stablePrefix, \"--masthead-\").concat(navType, \"-sidenav__l0-menu\"),\n onClick: onClickSideNavExpand,\n isActive: isSideNavExpanded\n }), (navigation || mastheadL1Data) && isSideNavExpanded && React.createElement(MastheadLeftNav, _extends({}, mastheadProps, {\n backButtonText: \"Back\",\n platform: platform,\n navigation: (_mastheadL1Data$navig = mastheadL1Data === null || mastheadL1Data === void 0 ? void 0 : mastheadL1Data.navigationL1) !== null && _mastheadL1Data$navig !== void 0 ? _mastheadL1Data$navig : mastheadData,\n isSideNavExpanded: isSideNavExpanded,\n navType: navType,\n selectedMenuItem: selectedMenuItem\n })), React.createElement(IbmLogo, {\n logoData: logo,\n autoid: \"\".concat(stablePrefix, \"--masthead-\").concat(navType, \"__l0-logo\")\n }), React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--header__search \").concat(headerSearchClasses)\n }, navigation && !mastheadL1Data && React.createElement(MastheadTopNav, _extends({}, mastheadProps, {\n platform: platform,\n navigation: mastheadData,\n navType: navType,\n selectedMenuItem: selectedMenuItem\n })), hasSearch && React.createElement(MastheadSearch, _extends({\n searchOpenOnload: isSearchActive,\n placeHolderText: placeHolderText,\n navType: navType\n }, mastheadProps.customTypeaheadApi ? {\n customTypeaheadApi: mastheadProps.customTypeaheadApi\n } : {}, {\n isSearchActive: handleSearchActive\n }))), hasProfile && React.createElement(HeaderGlobalBar, null, React.createElement(MastheadProfile, _extends({\n overflowMenuProps: {\n ariaLabel: 'User Profile',\n 'data-autoid': \"\".concat(stablePrefix, \"--masthead-\").concat(navType, \"__l0-account\"),\n flipped: true,\n style: {\n width: '3rem'\n },\n onOpen: function onOpen() {\n return _setProfileListPosition();\n },\n renderIcon: function renderIcon() {\n return isAuthenticated ? React.createElement(UserOnline20, null) : React.createElement(User20, null);\n }\n },\n overflowMenuItemProps: {\n wrapperClassName: \"\".concat(prefix, \"--masthead__profile-item\")\n },\n profileMenu: isAuthenticated ? profileData.signedin : profileData.signedout\n }, mastheadProps.customProfileLogin && DDS_CUSTOM_PROFILE_LOGIN ? {\n customProfileLogin: mastheadProps.customProfileLogin\n } : {}, {\n navType: navType\n }))))), mastheadL1Data && React.createElement(\"div\", {\n ref: mastheadL1Ref\n }, React.createElement(MastheadL1, _extends({}, mastheadL1Data, {\n isShort: isMastheadSticky,\n navType: navType\n }))));\n }\n });\n};\n\nMasthead.defaultProps = {\n hasProfile: true,\n hasSearch: true,\n searchOpenOnload: false,\n selectedMenuItem: '',\n platform: null,\n placeHolderText: 'Search all of IBM',\n mastheadL1Data: null\n};\nexport default Masthead;","import React from 'react'\nimport { useStaticQuery, graphql, Link } from 'gatsby'\nimport { css } from '@emotion/core'\nimport styled from '@emotion/styled'\nimport { Masthead } from '@carbon/ibmdotcom-react'\nimport { Grid, Row } from 'carbon-components-react'\nimport Button from '../Button'\n\n\nconst HeaderIBM = ({ siteTitle }) => {\n const data = useStaticQuery(graphql`\n query {\n globalJson {\n cta {\n text\n url\n }\n platform {\n text\n }\n }\n\n allContentPagesJson {\n edges {\n node {\n slug\n name\n }\n }\n }\n }\n `)\n const cta = data.globalJson.cta\n const platformData = data.globalJson.platform\n const menuItems = data.allContentPagesJson.edges\n\n return (\n <>\n <Masthead\n title={ siteTitle }\n hasSearch={ false }\n hasProfile={ false }\n searchOpenOnload={ false }\n placeHolderText={ `Search all of IBM` }\n />\n <div className=\"l1-masthead\">\n <Grid>\n <Row>\n <MastheadL1>\n <div css={\n css`\n display: flex;\n `\n }>\n <Link\n css={platformName}\n to=\"/\"\n >{platformData.text}</Link>\n\n <nav className=\"l1-navigation\">\n <ul>\n {\n menuItems.map( (item, idx) =>\n <li key={idx}>\n <Link\n to={`/${item.node.slug}`}\n activeClassName=\"current-link\"\n >{item.node.name}</Link>\n </li>\n )\n }\n </ul>\n </nav>\n </div>\n <div css={buttonL1}>\n {\n <Button\n copy={cta.text}\n link={cta.url}\n external=\"true\"\n />\n }\n\n </div>\n </MastheadL1>\n </Row>\n </Grid>\n </div>\n </>\n )\n}\n\nconst MastheadL1 = styled.div`\n align-items: center;\n display: flex;\n justify-content: space-between;\n height: 48px;\n padding: 0 0 0 1em;\n width: 100%;\n`\n\nconst platformName = css`\n color: #323232;\n font-weight: 600;\n line-height: 50px;\n height: 50px;\n overflow: hidden;\n position: relative;\n text-decoration: none;\n\n &:hover {\n color: #0062ff;\n\n &:after {\n transform: translate3d(0,0,0);\n }\n }\n\n &:after {\n background: #0062ff;\n bottom: 0;\n content: '';\n display: block;\n height: 4px;\n left: 0;\n position: absolute;\n transform: translate3d(0,4px,0);\n transition: transform .4s cubic-bezier(.4,1,.4,1);\n width: 100%;\n }\n`\n\nconst buttonL1 = css`\n @media (min-width: 672px) {\n margin-right: -1.0em;\n }\n\n & a {\n white-space: nowrap;\n }\n`\n\n\nexport default HeaderIBM","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\n\nvar FooterLogo = function FooterLogo(props) {\n return React.createElement(\"svg\", props, React.createElement(\"title\", null, \"IBM Logo\"), React.createElement(\"path\", {\n d: \"M30.444 60.208v4.03H0v-4.03h30.444zm78.291-.001v4.03H86.983v-4.03h21.752zm47.858 0v4.03H134.84v-4.03h21.753zm-33.416 0l-1.398 4.03-1.38-4.03h2.778zm-88.384 0h42.775c-2.797 2.426-6.39 3.925-10.327 4.025l-.423.006H34.793v-4.03h42.775zm-4.35-8.46v4.03H0v-4.03h30.444zm52.402 0c-.332 1.248-.8 2.44-1.389 3.555l-.259.474H34.793v-4.029h48.052zm73.748-.005v4.031H134.84v-4.03h21.753zm-47.858 0v4.031H86.983v-4.03h21.752zm17.375 0l-1.398 4.031h-5.85l-1.395-4.03h8.643zM21.745 43.285v4.03H8.698v-4.03h13.047zm61.195 0a17.32 17.32 0 0 1 .476 3.51l.008.52H68.796v-4.03H82.94zm-26.401 0v4.03H43.491v-4.03H56.54zm72.502-.007l-1.396 4.03H115.93l-1.397-4.03h14.507zm18.85 0v4.03h-13.05v-4.03h13.05zm-39.156 0v4.03H95.684v-4.03h13.051zm-86.99-8.454v4.03H8.698v-4.03h13.047zm56.117 0a16.945 16.945 0 0 1 2.926 3.582l.264.447h-37.56v-4.03h34.37zm30.873-.01v4.03H95.684v-4.03h13.051zm39.157 0v4.03H134.84v-4.03h13.052zm-15.919 0l-1.396 4.03h-17.579l-1.396-4.03h20.371zm-50.778-8.452a16.963 16.963 0 0 1-2.82 3.674l-.37.355H43.49v-4.029h37.704zm-59.45 0v4.03H8.698v-4.03h13.047zm126.147-.013v4.031H134.84v-3.839l-1.33 3.839h-11.456l1.373-4.03h24.465zm-27.743 0l1.372 4.031h-11.456l-1.33-3.839v3.84H95.684v-4.032h24.465zm-98.404-8.448v4.03H8.698V17.9h13.047zm61.68 0c0 1.215-.134 2.399-.375 3.542l-.11.487H68.796V17.9h14.628zM56.538 17.9v4.03H43.491V17.9H56.54zm91.352-.015v4.03h-22.954l1.37-4.03h21.584zm-30.624 0l1.372 4.03H95.684v-4.03h21.583zM30.444 9.437v4.03H0v-4.03h30.444zm50.753 0a17.048 17.048 0 0 1 1.498 3.499l.15.531H34.794v-4.03h46.403zm75.396-.018v4.03h-28.776l1.373-4.03h27.403zm-42.207 0l1.372 4.031H86.982V9.42h27.404zM30.444.978v4.03H0V.977h30.444zm36.374 0c3.96 0 7.594 1.415 10.448 3.772l.303.257H34.794V.977h32.024zm89.775-.022v4.031h-25.894l1.372-4.03h24.522zm-45.098 0l1.372 4.03H86.982V.955h24.513z\"\n }));\n};\n\nFooterLogo.defaultProps = {\n width: \"157\",\n height: \"65\",\n className: \"bx--footer-logo__logo\",\n viewBox: \"0 0 157 65\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Footer logo component\n *\n * @returns {object} JSX object\n */\n\nvar Logo = function Logo() {\n return React.createElement(\"div\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer-logo\"),\n className: \"\".concat(prefix, \"--footer-logo\")\n }, React.createElement(\"a\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer-logo__link\"),\n className: \"\".concat(prefix, \"--footer-logo__link\"),\n href: \"https://www.ibm.com/\"\n }, React.createElement(FooterLogo, null)));\n};\n\nexport default Logo;","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nfunction Accordion(_ref) {\n var _cx;\n\n var align = _ref.align,\n children = _ref.children,\n customClassName = _ref.className,\n disabled = _ref.disabled,\n size = _ref.size,\n rest = _objectWithoutProperties(_ref, [\"align\", \"children\", \"className\", \"disabled\", \"size\"]);\n\n var className = cx(\"\".concat(prefix, \"--accordion\"), customClassName, (_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--accordion--\").concat(align), align), _defineProperty(_cx, \"\".concat(prefix, \"--accordion--\").concat(size), size), _cx));\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: className\n }, rest), disabled ? React.Children.toArray(children).map(function (child) {\n return /*#__PURE__*/React.cloneElement(child, {\n disabled: disabled\n });\n }) : children);\n}\n\nAccordion.defaultProps = {\n align: 'end'\n};\nexport default Accordion;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"\n});\n\nvar ChevronRight16 = /*#__PURE__*/React.forwardRef(function ChevronRight16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ChevronRight16;","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// This file was heavily inspired by Reach UI and their work on their auto-id\n// package\n// https://github.com/reach/reach-ui/blob/86a046f54d53b6420e392b3fa56dd991d9d4e458/packages/auto-id/src/index.ts\n//\n// The problem that this solves is an id mismatch when auto-generating\n// ids on both the server and the client. When using server-side rendering,\n// there can be the chance of a mismatch between what the server renders and\n// what the client renders when the id value is auto-generated.\n//\n// To get around this, we set the initial value of the `id` to `null` and then\n// conditionally use `useLayoutEffect` on the client and `useEffect` on the\n// server. On the client, `useLayoutEffect` will patch up the id to the correct\n// value. On the server, `useEffect` will not run.\n//\n// This ensures that we won't encounter a mismatch in ids between server and\n// client, at the cost of runtime patching of the id value in\n// `useLayoutEffect`\n\n\nimport { useEffect, useLayoutEffect, useState } from 'react';\nimport setupGetInstanceId from '../tools/setupGetInstanceId';\nvar getId = setupGetInstanceId();\nvar useIsomorphicLayoutEffect = canUseDOM() ? useLayoutEffect : useEffect;\n\nfunction canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n\nvar serverHandoffCompleted = false;\n/**\n * Generate a unique ID with an optional prefix prepended to it\n * @param {string} [prefix]\n * @returns {string}\n */\n\nexport function useId() {\n var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'id';\n\n var _useState = useState(function () {\n if (serverHandoffCompleted) {\n return \"\".concat(prefix, \"-\").concat(getId());\n }\n\n return null;\n }),\n _useState2 = _slicedToArray(_useState, 2),\n id = _useState2[0],\n setId = _useState2[1];\n\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n setId(\"\".concat(prefix, \"-\").concat(getId()));\n }\n }, [getId]);\n useEffect(function () {\n if (serverHandoffCompleted === false) {\n serverHandoffCompleted = true;\n }\n }, []);\n return id;\n}","function _defineProperty(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\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 _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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport ChevronRight16 from '@carbon/icons-react/es/chevron--right/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport cx from 'classnames';\nimport React, { useState } from 'react';\nimport { match, keys } from '../../internal/keyboard';\nimport { useId } from '../../internal/useId';\nimport deprecate from '../../prop-types/deprecate.js';\nvar prefix = settings.prefix;\n\nvar defaultRenderExpando = function defaultRenderExpando(props) {\n return /*#__PURE__*/React.createElement(\"button\", _extends({\n type: \"button\"\n }, props));\n};\n\nfunction AccordionItem(_ref) {\n var _cx;\n\n var children = _ref.children,\n customClassName = _ref.className,\n iconDescription = _ref.iconDescription,\n _ref$open = _ref.open,\n open = _ref$open === void 0 ? false : _ref$open,\n onHeadingClick = _ref.onHeadingClick,\n _ref$renderExpando = _ref.renderExpando,\n Expando = _ref$renderExpando === void 0 ? defaultRenderExpando : _ref$renderExpando,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? 'title' : _ref$title,\n disabled = _ref.disabled,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"iconDescription\", \"open\", \"onHeadingClick\", \"renderExpando\", \"title\", \"disabled\"]);\n\n var _useState = useState(open),\n _useState2 = _slicedToArray(_useState, 2),\n isOpen = _useState2[0],\n setIsOpen = _useState2[1];\n\n var _useState3 = useState(open),\n _useState4 = _slicedToArray(_useState3, 2),\n prevIsOpen = _useState4[0],\n setPrevIsOpen = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n animation = _useState6[0],\n setAnimation = _useState6[1];\n\n var id = useId('accordion-item');\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item--active\"), isOpen), _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item--\").concat(animation), animation), _defineProperty(_cx, \"\".concat(prefix, \"--accordion__item--disabled\"), disabled), _defineProperty(_cx, customClassName, !!customClassName), _cx));\n\n if (open !== prevIsOpen) {\n setIsOpen(open);\n setPrevIsOpen(open);\n } // When the AccordionItem heading is clicked, toggle the open state of the\n // panel\n\n\n function onClick(event) {\n var nextValue = !isOpen;\n setAnimation(isOpen ? 'collapsing' : 'expanding');\n setIsOpen(nextValue);\n\n if (onHeadingClick) {\n // TODO: normalize signature, potentially:\n // onHeadingClick :: (event: Event, state: { isOpen: Boolean }) => any\n onHeadingClick({\n isOpen: nextValue,\n event: event\n });\n }\n } // If the AccordionItem is open, and the user hits the ESC key, then close it\n\n\n function onKeyDown(event) {\n if (isOpen && match(event, keys.Escape)) {\n setIsOpen(false);\n }\n }\n\n function handleAnimationEnd(event) {\n if (rest.handleAnimationEnd) {\n rest.handleAnimationEnd(event);\n }\n\n setAnimation('');\n }\n\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className\n }, rest, {\n onAnimationEnd: handleAnimationEnd\n }), /*#__PURE__*/React.createElement(Expando, {\n disabled: disabled,\n \"aria-controls\": id,\n \"aria-expanded\": isOpen,\n className: \"\".concat(prefix, \"--accordion__heading\"),\n onClick: onClick,\n onKeyDown: onKeyDown,\n type: \"button\"\n }, /*#__PURE__*/React.createElement(ChevronRight16, {\n className: \"\".concat(prefix, \"--accordion__arrow\")\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--accordion__title\")\n }, title)), /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n className: \"\".concat(prefix, \"--accordion__content\")\n }, children));\n}\n\nexport default AccordionItem;","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport AccordionItem from '../../internal/vendor/carbon-components-react/components/Accordion/AccordionItem';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport Link from '../../internal/vendor/carbon-components-react/components/Link/Link';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Footer nav group component.\n */\n\nvar FooterNavGroup = function FooterNavGroup(_ref) {\n var title = _ref.title,\n links = _ref.links;\n\n if (!title || !(links === null || links === void 0 ? void 0 : links.length)) {\n return null;\n }\n\n return React.createElement(AccordionItem, {\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer-nav-group\"),\n title: title,\n className: \"\".concat(prefix, \"--footer-nav-group\")\n }, React.createElement(\"h2\", {\n className: \"\".concat(prefix, \"--footer-nav-group__title\")\n }, title), React.createElement(\"ul\", null, renderListItems(links)));\n};\n/**\n * Loops through and renders a list of links for footer nav group\n *\n * @param {Array} links A list of links to be rendered\n * @returns {object} JSX object\n */\n\n\nfunction renderListItems(links) {\n return links.map(function (_ref2, index) {\n var title = _ref2.title,\n url = _ref2.url;\n\n if (!title || !url) {\n return null;\n }\n\n return React.createElement(\"li\", {\n className: \"\".concat(prefix, \"--footer-nav-group__item\"),\n key: index\n }, React.createElement(Link, {\n className: \"\".concat(prefix, \"--footer-nav-group__link \").concat(prefix, \"--footer__link\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer-nav-group__link\"),\n href: url\n }, title));\n });\n}\n\nFooterNavGroup.defaultProps = {\n title: null,\n links: null\n};\nexport default FooterNavGroup;","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport Accordion from '../../internal/vendor/carbon-components-react/components/Accordion/Accordion';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport FooterNavGroup from './FooterNavGroup';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Footer nav component.\n */\n\nvar FooterNav = function FooterNav(_ref) {\n var groups = _ref.groups;\n\n if (!(groups === null || groups === void 0 ? void 0 : groups.length)) {\n return null;\n }\n\n return React.createElement(\"nav\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer-nav\"),\n className: \"\".concat(prefix, \"--footer-nav\")\n }, React.createElement(Accordion, {\n className: \"\".concat(prefix, \"--footer-nav__container\")\n }, renderGroups(groups)));\n};\n/**\n * Loops through and renders a list of nav groups for the footer nav\n *\n * @param {Array} groups A list of groups to be rendered\n * @returns {object} JSX object\n */\n\n\nfunction renderGroups(groups) {\n return groups.map(function (_ref2, index) {\n var title = _ref2.title,\n links = _ref2.links;\n return React.createElement(FooterNavGroup, {\n title: title,\n links: links,\n key: index\n });\n });\n}\n\nFooterNav.defaultProps = {\n groups: null\n};\nexport default FooterNav;","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\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}","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\n return self;\n}","function t(t) {\n return null != t && \"object\" == typeof t && 1 === t.nodeType;\n}\n\nfunction e(t, e) {\n return (!e || \"hidden\" !== t) && \"visible\" !== t && \"clip\" !== t;\n}\n\nfunction n(t, n) {\n if (t.clientHeight < t.scrollHeight || t.clientWidth < t.scrollWidth) {\n var r = getComputedStyle(t, null);\n return e(r.overflowY, n) || e(r.overflowX, n) || function (t) {\n var e = function (t) {\n if (!t.ownerDocument || !t.ownerDocument.defaultView) return null;\n\n try {\n return t.ownerDocument.defaultView.frameElement;\n } catch (t) {\n return null;\n }\n }(t);\n\n return !!e && (e.clientHeight < t.scrollHeight || e.clientWidth < t.scrollWidth);\n }(t);\n }\n\n return !1;\n}\n\nfunction r(t, e, n, r, i, o, l, d) {\n return o < t && l > e || o > t && l < e ? 0 : o <= t && d <= n || l >= e && d >= n ? o - t - r : l > e && d < n || o < t && d > n ? l - e + i : 0;\n}\n\nexport default function (e, i) {\n var o = window,\n l = i.scrollMode,\n d = i.block,\n u = i.inline,\n h = i.boundary,\n a = i.skipOverflowHiddenElements,\n c = \"function\" == typeof h ? h : function (t) {\n return t !== h;\n };\n if (!t(e)) throw new TypeError(\"Invalid target\");\n\n for (var f = document.scrollingElement || document.documentElement, s = [], p = e; t(p) && c(p);) {\n if ((p = p.parentNode) === f) {\n s.push(p);\n break;\n }\n\n p === document.body && n(p) && !n(document.documentElement) || n(p, a) && s.push(p);\n }\n\n for (var g = o.visualViewport ? o.visualViewport.width : innerWidth, m = o.visualViewport ? o.visualViewport.height : innerHeight, w = window.scrollX || pageXOffset, v = window.scrollY || pageYOffset, W = e.getBoundingClientRect(), b = W.height, H = W.width, y = W.top, M = W.right, E = W.bottom, V = W.left, x = \"start\" === d || \"nearest\" === d ? y : \"end\" === d ? E : y + b / 2, I = \"center\" === u ? V + H / 2 : \"end\" === u ? M : V, C = [], T = 0; T < s.length; T++) {\n var k = s[T],\n B = k.getBoundingClientRect(),\n D = B.height,\n O = B.width,\n R = B.top,\n X = B.right,\n Y = B.bottom,\n L = B.left;\n if (\"if-needed\" === l && y >= 0 && V >= 0 && E <= m && M <= g && y >= R && E <= Y && V >= L && M <= X) return C;\n var S = getComputedStyle(k),\n j = parseInt(S.borderLeftWidth, 10),\n N = parseInt(S.borderTopWidth, 10),\n q = parseInt(S.borderRightWidth, 10),\n z = parseInt(S.borderBottomWidth, 10),\n A = 0,\n F = 0,\n G = \"offsetWidth\" in k ? k.offsetWidth - k.clientWidth - j - q : 0,\n J = \"offsetHeight\" in k ? k.offsetHeight - k.clientHeight - N - z : 0;\n if (f === k) A = \"start\" === d ? x : \"end\" === d ? x - m : \"nearest\" === d ? r(v, v + m, m, N, z, v + x, v + x + b, b) : x - m / 2, F = \"start\" === u ? I : \"center\" === u ? I - g / 2 : \"end\" === u ? I - g : r(w, w + g, g, j, q, w + I, w + I + H, H), A = Math.max(0, A + v), F = Math.max(0, F + w);else {\n A = \"start\" === d ? x - R - N : \"end\" === d ? x - Y + z + J : \"nearest\" === d ? r(R, Y, D, N, z + J, x, x + b, b) : x - (R + D / 2) + J / 2, F = \"start\" === u ? I - L - j : \"center\" === u ? I - (L + O / 2) + G / 2 : \"end\" === u ? I - X + q + G : r(L, X, O, j, q + G, I, I + H, H);\n var K = k.scrollLeft,\n P = k.scrollTop;\n x += P - (A = Math.max(0, Math.min(P + A, k.scrollHeight - D + J))), I += K - (F = Math.max(0, Math.min(K + F, k.scrollWidth - O + G)));\n }\n C.push({\n el: k,\n top: A,\n left: F\n });\n }\n\n return C;\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 { cloneElement, Component, useState, useRef, useEffect } from 'react';\nimport { isForwardRef } from 'react-is';\nimport computeScrollIntoView from 'compute-scroll-into-view';\nvar idCounter = 0;\n/**\n * Accepts a parameter and returns it if it's a function\n * or a noop function if it's not. This allows us to\n * accept a callback, but not worry about it if it's not\n * passed.\n * @param {Function} cb the callback\n * @return {Function} a function\n */\n\nfunction cbToCb(cb) {\n return typeof cb === 'function' ? cb : noop;\n}\n\nfunction noop() {}\n/**\n * Scroll node into view if necessary\n * @param {HTMLElement} node the element that should scroll into view\n * @param {HTMLElement} menuNode the menu element of the component\n */\n\n\nfunction scrollIntoView(node, menuNode) {\n if (node === null) {\n return;\n }\n\n var actions = computeScrollIntoView(node, {\n boundary: menuNode,\n block: 'nearest',\n scrollMode: 'if-needed'\n });\n actions.forEach(function (_ref) {\n var el = _ref.el,\n top = _ref.top,\n left = _ref.left;\n el.scrollTop = top;\n el.scrollLeft = left;\n });\n}\n/**\n * @param {HTMLElement} parent the parent node\n * @param {HTMLElement} child the child node\n * @return {Boolean} whether the parent is the child or the child is in the parent\n */\n\n\nfunction isOrContainsNode(parent, child) {\n return parent === child || parent.contains && parent.contains(child);\n}\n/**\n * Simple debounce implementation. Will call the given\n * function once after the time given has passed since\n * it was last called.\n * @param {Function} fn the function to call after the time\n * @param {Number} time the time to wait\n * @return {Function} the debounced function\n */\n\n\nfunction debounce(fn, time) {\n var timeoutId;\n\n function cancel() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n }\n\n function wrapper() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n cancel();\n timeoutId = setTimeout(function () {\n timeoutId = null;\n fn.apply(void 0, args);\n }, time);\n }\n\n wrapper.cancel = cancel;\n return wrapper;\n}\n/**\n * This is intended to be used to compose event handlers.\n * They are executed in order until one of them sets\n * `event.preventDownshiftDefault = true`.\n * @param {...Function} fns the event handler functions\n * @return {Function} the event handler to add to an element\n */\n\n\nfunction callAllEventHandlers() {\n for (var _len2 = arguments.length, fns = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n fns[_key2] = arguments[_key2];\n }\n\n return function (event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return fns.some(function (fn) {\n if (fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return event.preventDownshiftDefault || event.hasOwnProperty('nativeEvent') && event.nativeEvent.preventDownshiftDefault;\n });\n };\n}\n\nfunction handleRefs() {\n for (var _len4 = arguments.length, refs = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n refs[_key4] = arguments[_key4];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n });\n };\n}\n/**\n * This generates a unique ID for an instance of Downshift\n * @return {String} the unique ID\n */\n\n\nfunction generateId() {\n return String(idCounter++);\n}\n/**\n * Resets idCounter to 0. Used for SSR.\n */\n\n\nfunction resetIdCounter() {\n idCounter = 0;\n}\n/**\n * Default implementation for status message. Only added when menu is open.\n * Will specift if there are results in the list, and if so, how many,\n * and what keys are relevant.\n *\n * @param {Object} param the downshift state and other relevant properties\n * @return {String} the a11y status message\n */\n\n\nfunction getA11yStatusMessage(_ref2) {\n var isOpen = _ref2.isOpen,\n resultCount = _ref2.resultCount,\n previousResultCount = _ref2.previousResultCount;\n\n if (!isOpen) {\n return '';\n }\n\n if (!resultCount) {\n return 'No results are available.';\n }\n\n if (resultCount !== previousResultCount) {\n return resultCount + \" result\" + (resultCount === 1 ? ' is' : 's are') + \" available, use up and down arrow keys to navigate. Press Enter key to select.\";\n }\n\n return '';\n}\n/**\n * Takes an argument and if it's an array, returns the first item in the array\n * otherwise returns the argument\n * @param {*} arg the maybe-array\n * @param {*} defaultValue the value if arg is falsey not defined\n * @return {*} the arg or it's first item\n */\n\n\nfunction unwrapArray(arg, defaultValue) {\n arg = Array.isArray(arg) ?\n /* istanbul ignore next (preact) */\n arg[0] : arg;\n\n if (!arg && defaultValue) {\n return defaultValue;\n } else {\n return arg;\n }\n}\n/**\n * @param {Object} element (P)react element\n * @return {Boolean} whether it's a DOM element\n */\n\n\nfunction isDOMElement(element) {\n // then we assume this is react\n return typeof element.type === 'string';\n}\n/**\n * @param {Object} element (P)react element\n * @return {Object} the props\n */\n\n\nfunction getElementProps(element) {\n return element.props;\n}\n/**\n * Throws a helpful error message for required properties. Useful\n * to be used as a default in destructuring or object params.\n * @param {String} fnName the function name\n * @param {String} propName the prop name\n */\n\n\nfunction requiredProp(fnName, propName) {\n // eslint-disable-next-line no-console\n console.error(\"The property \\\"\" + propName + \"\\\" is required in \\\"\" + fnName + \"\\\"\");\n}\n\nvar stateKeys = ['highlightedIndex', 'inputValue', 'isOpen', 'selectedItem', 'type'];\n/**\n * @param {Object} state the state object\n * @return {Object} state that is relevant to downshift\n */\n\nfunction pickState(state) {\n if (state === void 0) {\n state = {};\n }\n\n var result = {};\n stateKeys.forEach(function (k) {\n if (state.hasOwnProperty(k)) {\n result[k] = state[k];\n }\n });\n return result;\n}\n/**\n * This will perform a shallow merge of the given state object\n * with the state coming from props\n * (for the controlled component scenario)\n * This is used in state updater functions so they're referencing\n * the right state regardless of where it comes from.\n *\n * @param {Object} state The state of the component/hook.\n * @param {Object} props The props that may contain controlled values.\n * @returns {Object} The merged controlled state.\n */\n\n\nfunction getState(state, props) {\n return Object.keys(state).reduce(function (prevState, key) {\n prevState[key] = isControlledProp(props, key) ? props[key] : state[key];\n return prevState;\n }, {});\n}\n/**\n * This determines whether a prop is a \"controlled prop\" meaning it is\n * state which is controlled by the outside of this component rather\n * than within this component.\n *\n * @param {Object} props The props that may contain controlled values.\n * @param {String} key the key to check\n * @return {Boolean} whether it is a controlled controlled prop\n */\n\n\nfunction isControlledProp(props, key) {\n return props[key] !== undefined;\n}\n/**\n * Normalizes the 'key' property of a KeyboardEvent in IE/Edge\n * @param {Object} event a keyboardEvent object\n * @return {String} keyboard key\n */\n\n\nfunction normalizeArrowKey(event) {\n var key = event.key,\n keyCode = event.keyCode;\n /* istanbul ignore next (ie) */\n\n if (keyCode >= 37 && keyCode <= 40 && key.indexOf('Arrow') !== 0) {\n return \"Arrow\" + key;\n }\n\n return key;\n}\n/**\n * Simple check if the value passed is object literal\n * @param {*} obj any things\n * @return {Boolean} whether it's object literal\n */\n\n\nfunction isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * Returns the new index in the list, in a circular way. If next value is out of bonds from the total,\n * it will wrap to either 0 or itemCount - 1.\n *\n * @param {number} moveAmount Number of positions to move. Negative to move backwards, positive forwards.\n * @param {number} baseIndex The initial position to move from.\n * @param {number} itemCount The total number of items.\n * @param {Function} getItemNodeFromIndex Used to check if item is disabled.\n * @param {boolean} circular Specify if navigation is circular. Default is true.\n * @returns {number} The new index after the move.\n */\n\n\nfunction getNextWrappingIndex(moveAmount, baseIndex, itemCount, getItemNodeFromIndex, circular) {\n if (circular === void 0) {\n circular = true;\n }\n\n var itemsLastIndex = itemCount - 1;\n\n if (typeof baseIndex !== 'number' || baseIndex < 0 || baseIndex >= itemCount) {\n baseIndex = moveAmount > 0 ? -1 : itemsLastIndex + 1;\n }\n\n var newIndex = baseIndex + moveAmount;\n\n if (newIndex < 0) {\n newIndex = circular ? itemsLastIndex : 0;\n } else if (newIndex > itemsLastIndex) {\n newIndex = circular ? 0 : itemsLastIndex;\n }\n\n var nonDisabledNewIndex = getNextNonDisabledIndex(moveAmount, newIndex, itemCount, getItemNodeFromIndex, circular);\n return nonDisabledNewIndex === -1 ? baseIndex : nonDisabledNewIndex;\n}\n/**\n * Returns the next index in the list of an item that is not disabled.\n *\n * @param {number} moveAmount Number of positions to move. Negative to move backwards, positive forwards.\n * @param {number} baseIndex The initial position to move from.\n * @param {number} itemCount The total number of items.\n * @param {Function} getItemNodeFromIndex Used to check if item is disabled.\n * @param {boolean} circular Specify if navigation is circular. Default is true.\n * @returns {number} The new index. Returns baseIndex if item is not disabled. Returns next non-disabled item otherwise. If no non-disabled found it will return -1.\n */\n\n\nfunction getNextNonDisabledIndex(moveAmount, baseIndex, itemCount, getItemNodeFromIndex, circular) {\n var currentElementNode = getItemNodeFromIndex(baseIndex);\n\n if (!currentElementNode || !currentElementNode.hasAttribute('disabled')) {\n return baseIndex;\n }\n\n if (moveAmount > 0) {\n for (var index = baseIndex + 1; index < itemCount; index++) {\n if (!getItemNodeFromIndex(index).hasAttribute('disabled')) {\n return index;\n }\n }\n } else {\n for (var _index = baseIndex - 1; _index >= 0; _index--) {\n if (!getItemNodeFromIndex(_index).hasAttribute('disabled')) {\n return _index;\n }\n }\n }\n\n if (circular) {\n return moveAmount > 0 ? getNextNonDisabledIndex(1, 0, itemCount, getItemNodeFromIndex, false) : getNextNonDisabledIndex(-1, itemCount - 1, itemCount, getItemNodeFromIndex, false);\n }\n\n return -1;\n}\n/**\n * Checks if event target is within the downshift elements.\n *\n * @param {EventTarget} target Target to check.\n * @param {HTMLElement[]} downshiftElements The elements that form downshift (list, toggle button etc).\n * @param {Document} document The document.\n * @param {boolean} checkActiveElement Whether to also check activeElement.\n *\n * @returns {boolean} Whether or not the target is within downshift elements.\n */\n\n\nfunction targetWithinDownshift(target, downshiftElements, document, checkActiveElement) {\n if (checkActiveElement === void 0) {\n checkActiveElement = true;\n }\n\n return downshiftElements.some(function (contextNode) {\n return contextNode && (isOrContainsNode(contextNode, target) || checkActiveElement && isOrContainsNode(contextNode, document.activeElement));\n });\n}\n\nvar cleanupStatus = debounce(function () {\n getStatusDiv().textContent = '';\n}, 500);\n/**\n * @param {String} status the status message\n * @param {Object} documentProp document passed by the user.\n */\n\nfunction setStatus(status, documentProp) {\n var div = getStatusDiv(documentProp);\n\n if (!status) {\n return;\n }\n\n div.textContent = status;\n cleanupStatus();\n}\n/**\n * Get the status node or create it if it does not already exist.\n * @param {Object} documentProp document passed by the user.\n * @return {HTMLElement} the status node.\n */\n\n\nfunction getStatusDiv(documentProp) {\n if (documentProp === void 0) {\n documentProp = document;\n }\n\n var statusDiv = documentProp.getElementById('a11y-status-message');\n\n if (statusDiv) {\n return statusDiv;\n }\n\n statusDiv = documentProp.createElement('div');\n statusDiv.setAttribute('id', 'a11y-status-message');\n statusDiv.setAttribute('role', 'status');\n statusDiv.setAttribute('aria-live', 'polite');\n statusDiv.setAttribute('aria-relevant', 'additions text');\n Object.assign(statusDiv.style, {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n width: '1px'\n });\n documentProp.body.appendChild(statusDiv);\n return statusDiv;\n}\n\nvar unknown = process.env.NODE_ENV !== \"production\" ? '__autocomplete_unknown__' : 0;\nvar mouseUp = process.env.NODE_ENV !== \"production\" ? '__autocomplete_mouseup__' : 1;\nvar itemMouseEnter = process.env.NODE_ENV !== \"production\" ? '__autocomplete_item_mouseenter__' : 2;\nvar keyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_arrow_up__' : 3;\nvar keyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_arrow_down__' : 4;\nvar keyDownEscape = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_escape__' : 5;\nvar keyDownEnter = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_enter__' : 6;\nvar keyDownHome = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_home__' : 7;\nvar keyDownEnd = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_end__' : 8;\nvar clickItem = process.env.NODE_ENV !== \"production\" ? '__autocomplete_click_item__' : 9;\nvar blurInput = process.env.NODE_ENV !== \"production\" ? '__autocomplete_blur_input__' : 10;\nvar changeInput = process.env.NODE_ENV !== \"production\" ? '__autocomplete_change_input__' : 11;\nvar keyDownSpaceButton = process.env.NODE_ENV !== \"production\" ? '__autocomplete_keydown_space_button__' : 12;\nvar clickButton = process.env.NODE_ENV !== \"production\" ? '__autocomplete_click_button__' : 13;\nvar blurButton = process.env.NODE_ENV !== \"production\" ? '__autocomplete_blur_button__' : 14;\nvar controlledPropUpdatedSelectedItem = process.env.NODE_ENV !== \"production\" ? '__autocomplete_controlled_prop_updated_selected_item__' : 15;\nvar touchEnd = process.env.NODE_ENV !== \"production\" ? '__autocomplete_touchend__' : 16;\nvar stateChangeTypes = /*#__PURE__*/Object.freeze({\n __proto__: null,\n unknown: unknown,\n mouseUp: mouseUp,\n itemMouseEnter: itemMouseEnter,\n keyDownArrowUp: keyDownArrowUp,\n keyDownArrowDown: keyDownArrowDown,\n keyDownEscape: keyDownEscape,\n keyDownEnter: keyDownEnter,\n keyDownHome: keyDownHome,\n keyDownEnd: keyDownEnd,\n clickItem: clickItem,\n blurInput: blurInput,\n changeInput: changeInput,\n keyDownSpaceButton: keyDownSpaceButton,\n clickButton: clickButton,\n blurButton: blurButton,\n controlledPropUpdatedSelectedItem: controlledPropUpdatedSelectedItem,\n touchEnd: touchEnd\n});\n\nvar Downshift = /*#__PURE__*/function () {\n var Downshift = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Downshift, _Component);\n\n function Downshift(_props) {\n var _this = _Component.call(this, _props) || this;\n\n _this.id = _this.props.id || \"downshift-\" + generateId();\n _this.menuId = _this.props.menuId || _this.id + \"-menu\";\n _this.labelId = _this.props.labelId || _this.id + \"-label\";\n _this.inputId = _this.props.inputId || _this.id + \"-input\";\n\n _this.getItemId = _this.props.getItemId || function (index) {\n return _this.id + \"-item-\" + index;\n };\n\n _this.input = null;\n _this.items = [];\n _this.itemCount = null;\n _this.previousResultCount = 0;\n _this.timeoutIds = [];\n\n _this.internalSetTimeout = function (fn, time) {\n var id = setTimeout(function () {\n _this.timeoutIds = _this.timeoutIds.filter(function (i) {\n return i !== id;\n });\n fn();\n }, time);\n\n _this.timeoutIds.push(id);\n };\n\n _this.setItemCount = function (count) {\n _this.itemCount = count;\n };\n\n _this.unsetItemCount = function () {\n _this.itemCount = null;\n };\n\n _this.setHighlightedIndex = function (highlightedIndex, otherStateToSet) {\n if (highlightedIndex === void 0) {\n highlightedIndex = _this.props.defaultHighlightedIndex;\n }\n\n if (otherStateToSet === void 0) {\n otherStateToSet = {};\n }\n\n otherStateToSet = pickState(otherStateToSet);\n\n _this.internalSetState(_extends({\n highlightedIndex: highlightedIndex\n }, otherStateToSet));\n };\n\n _this.clearSelection = function (cb) {\n _this.internalSetState({\n selectedItem: null,\n inputValue: '',\n highlightedIndex: _this.props.defaultHighlightedIndex,\n isOpen: _this.props.defaultIsOpen\n }, cb);\n };\n\n _this.selectItem = function (item, otherStateToSet, cb) {\n otherStateToSet = pickState(otherStateToSet);\n\n _this.internalSetState(_extends({\n isOpen: _this.props.defaultIsOpen,\n highlightedIndex: _this.props.defaultHighlightedIndex,\n selectedItem: item,\n inputValue: _this.props.itemToString(item)\n }, otherStateToSet), cb);\n };\n\n _this.selectItemAtIndex = function (itemIndex, otherStateToSet, cb) {\n var item = _this.items[itemIndex];\n\n if (item == null) {\n return;\n }\n\n _this.selectItem(item, otherStateToSet, cb);\n };\n\n _this.selectHighlightedItem = function (otherStateToSet, cb) {\n return _this.selectItemAtIndex(_this.getState().highlightedIndex, otherStateToSet, cb);\n };\n\n _this.internalSetState = function (stateToSet, cb) {\n var isItemSelected, onChangeArg;\n var onStateChangeArg = {};\n var isStateToSetFunction = typeof stateToSet === 'function'; // we want to call `onInputValueChange` before the `setState` call\n // so someone controlling the `inputValue` state gets notified of\n // the input change as soon as possible. This avoids issues with\n // preserving the cursor position.\n // See https://github.com/downshift-js/downshift/issues/217 for more info.\n\n if (!isStateToSetFunction && stateToSet.hasOwnProperty('inputValue')) {\n _this.props.onInputValueChange(stateToSet.inputValue, _extends({}, _this.getStateAndHelpers(), {}, stateToSet));\n }\n\n return _this.setState(function (state) {\n state = _this.getState(state);\n var newStateToSet = isStateToSetFunction ? stateToSet(state) : stateToSet; // Your own function that could modify the state that will be set.\n\n newStateToSet = _this.props.stateReducer(state, newStateToSet); // checks if an item is selected, regardless of if it's different from\n // what was selected before\n // used to determine if onSelect and onChange callbacks should be called\n\n isItemSelected = newStateToSet.hasOwnProperty('selectedItem'); // this keeps track of the object we want to call with setState\n\n var nextState = {}; // this is just used to tell whether the state changed\n\n var nextFullState = {}; // we need to call on change if the outside world is controlling any of our state\n // and we're trying to update that state. OR if the selection has changed and we're\n // trying to update the selection\n\n if (isItemSelected && newStateToSet.selectedItem !== state.selectedItem) {\n onChangeArg = newStateToSet.selectedItem;\n }\n\n newStateToSet.type = newStateToSet.type || unknown;\n Object.keys(newStateToSet).forEach(function (key) {\n // onStateChangeArg should only have the state that is\n // actually changing\n if (state[key] !== newStateToSet[key]) {\n onStateChangeArg[key] = newStateToSet[key];\n } // the type is useful for the onStateChangeArg\n // but we don't actually want to set it in internal state.\n // this is an undocumented feature for now... Not all internalSetState\n // calls support it and I'm not certain we want them to yet.\n // But it enables users controlling the isOpen state to know when\n // the isOpen state changes due to mouseup events which is quite handy.\n\n\n if (key === 'type') {\n return;\n }\n\n nextFullState[key] = newStateToSet[key]; // if it's coming from props, then we don't care to set it internally\n\n if (!isControlledProp(_this.props, key)) {\n nextState[key] = newStateToSet[key];\n }\n }); // if stateToSet is a function, then we weren't able to call onInputValueChange\n // earlier, so we'll call it now that we know what the inputValue state will be.\n\n if (isStateToSetFunction && newStateToSet.hasOwnProperty('inputValue')) {\n _this.props.onInputValueChange(newStateToSet.inputValue, _extends({}, _this.getStateAndHelpers(), {}, newStateToSet));\n }\n\n return nextState;\n }, function () {\n // call the provided callback if it's a function\n cbToCb(cb)(); // only call the onStateChange and onChange callbacks if\n // we have relevant information to pass them.\n\n var hasMoreStateThanType = Object.keys(onStateChangeArg).length > 1;\n\n if (hasMoreStateThanType) {\n _this.props.onStateChange(onStateChangeArg, _this.getStateAndHelpers());\n }\n\n if (isItemSelected) {\n _this.props.onSelect(stateToSet.selectedItem, _this.getStateAndHelpers());\n }\n\n if (onChangeArg !== undefined) {\n _this.props.onChange(onChangeArg, _this.getStateAndHelpers());\n } // this is currently undocumented and therefore subject to change\n // We'll try to not break it, but just be warned.\n\n\n _this.props.onUserAction(onStateChangeArg, _this.getStateAndHelpers());\n });\n };\n\n _this.rootRef = function (node) {\n return _this._rootNode = node;\n };\n\n _this.getRootProps = function (_temp, _temp2) {\n var _extends2;\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$refKey = _ref.refKey,\n refKey = _ref$refKey === void 0 ? 'ref' : _ref$refKey,\n ref = _ref.ref,\n rest = _objectWithoutPropertiesLoose(_ref, [\"refKey\", \"ref\"]);\n\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n _ref2$suppressRefErro = _ref2.suppressRefError,\n suppressRefError = _ref2$suppressRefErro === void 0 ? false : _ref2$suppressRefErro; // this is used in the render to know whether the user has called getRootProps.\n // It uses that to know whether to apply the props automatically\n\n\n _this.getRootProps.called = true;\n _this.getRootProps.refKey = refKey;\n _this.getRootProps.suppressRefError = suppressRefError;\n\n var _this$getState = _this.getState(),\n isOpen = _this$getState.isOpen;\n\n return _extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, _this.rootRef), _extends2.role = 'combobox', _extends2['aria-expanded'] = isOpen, _extends2['aria-haspopup'] = 'listbox', _extends2['aria-owns'] = isOpen ? _this.menuId : null, _extends2['aria-labelledby'] = _this.labelId, _extends2), rest);\n };\n\n _this.keyDownHandlers = {\n ArrowDown: function ArrowDown(event) {\n var _this2 = this;\n\n event.preventDefault();\n\n if (this.getState().isOpen) {\n var amount = event.shiftKey ? 5 : 1;\n this.moveHighlightedIndex(amount, {\n type: keyDownArrowDown\n });\n } else {\n this.internalSetState({\n isOpen: true,\n type: keyDownArrowDown\n }, function () {\n var itemCount = _this2.getItemCount();\n\n if (itemCount > 0) {\n var _this2$getState = _this2.getState(),\n highlightedIndex = _this2$getState.highlightedIndex;\n\n var nextHighlightedIndex = getNextWrappingIndex(1, highlightedIndex, itemCount, function (index) {\n return _this2.getItemNodeFromIndex(index);\n });\n\n _this2.setHighlightedIndex(nextHighlightedIndex, {\n type: keyDownArrowDown\n });\n }\n });\n }\n },\n ArrowUp: function ArrowUp(event) {\n var _this3 = this;\n\n event.preventDefault();\n\n if (this.getState().isOpen) {\n var amount = event.shiftKey ? -5 : -1;\n this.moveHighlightedIndex(amount, {\n type: keyDownArrowUp\n });\n } else {\n this.internalSetState({\n isOpen: true,\n type: keyDownArrowUp\n }, function () {\n var itemCount = _this3.getItemCount();\n\n if (itemCount > 0) {\n var _this3$getState = _this3.getState(),\n highlightedIndex = _this3$getState.highlightedIndex;\n\n var nextHighlightedIndex = getNextWrappingIndex(-1, highlightedIndex, itemCount, function (index) {\n return _this3.getItemNodeFromIndex(index);\n });\n\n _this3.setHighlightedIndex(nextHighlightedIndex, {\n type: keyDownArrowUp\n });\n }\n });\n }\n },\n Enter: function Enter(event) {\n if (event.which === 229) {\n return;\n }\n\n var _this$getState2 = this.getState(),\n isOpen = _this$getState2.isOpen,\n highlightedIndex = _this$getState2.highlightedIndex;\n\n if (isOpen && highlightedIndex != null) {\n event.preventDefault();\n var item = this.items[highlightedIndex];\n var itemNode = this.getItemNodeFromIndex(highlightedIndex);\n\n if (item == null || itemNode && itemNode.hasAttribute('disabled')) {\n return;\n }\n\n this.selectHighlightedItem({\n type: keyDownEnter\n });\n }\n },\n Escape: function Escape(event) {\n event.preventDefault();\n this.reset({\n type: keyDownEscape,\n selectedItem: null,\n inputValue: ''\n });\n }\n };\n _this.buttonKeyDownHandlers = _extends({}, _this.keyDownHandlers, {\n ' ': function _(event) {\n event.preventDefault();\n this.toggleMenu({\n type: keyDownSpaceButton\n });\n }\n });\n _this.inputKeyDownHandlers = _extends({}, _this.keyDownHandlers, {\n Home: function Home(event) {\n var _this4 = this;\n\n event.preventDefault();\n var itemCount = this.getItemCount();\n\n var _this$getState3 = this.getState(),\n isOpen = _this$getState3.isOpen;\n\n if (itemCount <= 0 || !isOpen) {\n return;\n } // get next non-disabled starting downwards from 0 if that's disabled.\n\n\n var newHighlightedIndex = getNextNonDisabledIndex(1, 0, itemCount, function (index) {\n return _this4.getItemNodeFromIndex(index);\n }, false);\n this.setHighlightedIndex(newHighlightedIndex, {\n type: keyDownHome\n });\n },\n End: function End(event) {\n var _this5 = this;\n\n event.preventDefault();\n var itemCount = this.getItemCount();\n\n var _this$getState4 = this.getState(),\n isOpen = _this$getState4.isOpen;\n\n if (itemCount <= 0 || !isOpen) {\n return;\n } // get next non-disabled starting upwards from last index if that's disabled.\n\n\n var newHighlightedIndex = getNextNonDisabledIndex(-1, itemCount - 1, itemCount, function (index) {\n return _this5.getItemNodeFromIndex(index);\n }, false);\n this.setHighlightedIndex(newHighlightedIndex, {\n type: keyDownEnd\n });\n }\n });\n\n _this.getToggleButtonProps = function (_temp3) {\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n onClick = _ref3.onClick,\n onPress = _ref3.onPress,\n onKeyDown = _ref3.onKeyDown,\n onKeyUp = _ref3.onKeyUp,\n onBlur = _ref3.onBlur,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"onClick\", \"onPress\", \"onKeyDown\", \"onKeyUp\", \"onBlur\"]);\n\n var _this$getState5 = _this.getState(),\n isOpen = _this$getState5.isOpen;\n\n var enabledEventHandlers = {\n onClick: callAllEventHandlers(onClick, _this.buttonHandleClick),\n onKeyDown: callAllEventHandlers(onKeyDown, _this.buttonHandleKeyDown),\n onKeyUp: callAllEventHandlers(onKeyUp, _this.buttonHandleKeyUp),\n onBlur: callAllEventHandlers(onBlur, _this.buttonHandleBlur)\n };\n var eventHandlers = rest.disabled ? {} : enabledEventHandlers;\n return _extends({\n type: 'button',\n role: 'button',\n 'aria-label': isOpen ? 'close menu' : 'open menu',\n 'aria-haspopup': true,\n 'data-toggle': true\n }, eventHandlers, {}, rest);\n };\n\n _this.buttonHandleKeyUp = function (event) {\n // Prevent click event from emitting in Firefox\n event.preventDefault();\n };\n\n _this.buttonHandleKeyDown = function (event) {\n var key = normalizeArrowKey(event);\n\n if (_this.buttonKeyDownHandlers[key]) {\n _this.buttonKeyDownHandlers[key].call(_assertThisInitialized(_this), event);\n }\n };\n\n _this.buttonHandleClick = function (event) {\n event.preventDefault(); // handle odd case for Safari and Firefox which\n // don't give the button the focus properly.\n\n /* istanbul ignore if (can't reasonably test this) */\n\n if (_this.props.environment.document.activeElement === _this.props.environment.document.body) {\n event.target.focus();\n } // to simplify testing components that use downshift, we'll not wrap this in a setTimeout\n // if the NODE_ENV is test. With the proper build system, this should be dead code eliminated\n // when building for production and should therefore have no impact on production code.\n\n\n if (process.env.NODE_ENV === 'test') {\n _this.toggleMenu({\n type: clickButton\n });\n } else {\n // Ensure that toggle of menu occurs after the potential blur event in iOS\n _this.internalSetTimeout(function () {\n return _this.toggleMenu({\n type: clickButton\n });\n });\n }\n };\n\n _this.buttonHandleBlur = function (event) {\n var blurTarget = event.target; // Save blur target for comparison with activeElement later\n // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not body element\n\n _this.internalSetTimeout(function () {\n if (!_this.isMouseDown && (_this.props.environment.document.activeElement == null || _this.props.environment.document.activeElement.id !== _this.inputId) && _this.props.environment.document.activeElement !== blurTarget // Do nothing if we refocus the same element again (to solve issue in Safari on iOS)\n ) {\n _this.reset({\n type: blurButton\n });\n }\n });\n };\n\n _this.getLabelProps = function (props) {\n return _extends({\n htmlFor: _this.inputId,\n id: _this.labelId\n }, props);\n };\n\n _this.getInputProps = function (_temp4) {\n var _ref4 = _temp4 === void 0 ? {} : _temp4,\n onKeyDown = _ref4.onKeyDown,\n onBlur = _ref4.onBlur,\n onChange = _ref4.onChange,\n onInput = _ref4.onInput,\n onChangeText = _ref4.onChangeText,\n rest = _objectWithoutPropertiesLoose(_ref4, [\"onKeyDown\", \"onBlur\", \"onChange\", \"onInput\", \"onChangeText\"]);\n\n var onChangeKey;\n var eventHandlers = {};\n /* istanbul ignore next (preact) */\n\n onChangeKey = 'onChange';\n\n var _this$getState6 = _this.getState(),\n inputValue = _this$getState6.inputValue,\n isOpen = _this$getState6.isOpen,\n highlightedIndex = _this$getState6.highlightedIndex;\n\n if (!rest.disabled) {\n var _eventHandlers;\n\n eventHandlers = (_eventHandlers = {}, _eventHandlers[onChangeKey] = callAllEventHandlers(onChange, onInput, _this.inputHandleChange), _eventHandlers.onKeyDown = callAllEventHandlers(onKeyDown, _this.inputHandleKeyDown), _eventHandlers.onBlur = callAllEventHandlers(onBlur, _this.inputHandleBlur), _eventHandlers);\n }\n /* istanbul ignore if (react-native) */\n\n\n return _extends({\n 'aria-autocomplete': 'list',\n 'aria-activedescendant': isOpen && typeof highlightedIndex === 'number' && highlightedIndex >= 0 ? _this.getItemId(highlightedIndex) : null,\n 'aria-controls': isOpen ? _this.menuId : null,\n 'aria-labelledby': _this.labelId,\n // https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion\n // revert back since autocomplete=\"nope\" is ignored on latest Chrome and Opera\n autoComplete: 'off',\n value: inputValue,\n id: _this.inputId\n }, eventHandlers, {}, rest);\n };\n\n _this.inputHandleKeyDown = function (event) {\n var key = normalizeArrowKey(event);\n\n if (key && _this.inputKeyDownHandlers[key]) {\n _this.inputKeyDownHandlers[key].call(_assertThisInitialized(_this), event);\n }\n };\n\n _this.inputHandleChange = function (event) {\n _this.internalSetState({\n type: changeInput,\n isOpen: true,\n inputValue: event.target.value,\n highlightedIndex: _this.props.defaultHighlightedIndex\n });\n };\n\n _this.inputHandleBlur = function () {\n // Need setTimeout, so that when the user presses Tab, the activeElement is the next focused element, not the body element\n _this.internalSetTimeout(function () {\n var downshiftButtonIsActive = _this.props.environment.document && !!_this.props.environment.document.activeElement && !!_this.props.environment.document.activeElement.dataset && _this.props.environment.document.activeElement.dataset.toggle && _this._rootNode && _this._rootNode.contains(_this.props.environment.document.activeElement);\n\n if (!_this.isMouseDown && !downshiftButtonIsActive) {\n _this.reset({\n type: blurInput\n });\n }\n });\n };\n\n _this.menuRef = function (node) {\n _this._menuNode = node;\n };\n\n _this.getMenuProps = function (_temp5, _temp6) {\n var _extends3;\n\n var _ref5 = _temp5 === void 0 ? {} : _temp5,\n _ref5$refKey = _ref5.refKey,\n refKey = _ref5$refKey === void 0 ? 'ref' : _ref5$refKey,\n ref = _ref5.ref,\n props = _objectWithoutPropertiesLoose(_ref5, [\"refKey\", \"ref\"]);\n\n var _ref6 = _temp6 === void 0 ? {} : _temp6,\n _ref6$suppressRefErro = _ref6.suppressRefError,\n suppressRefError = _ref6$suppressRefErro === void 0 ? false : _ref6$suppressRefErro;\n\n _this.getMenuProps.called = true;\n _this.getMenuProps.refKey = refKey;\n _this.getMenuProps.suppressRefError = suppressRefError;\n return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, _this.menuRef), _extends3.role = 'listbox', _extends3['aria-labelledby'] = props && props['aria-label'] ? null : _this.labelId, _extends3.id = _this.menuId, _extends3), props);\n };\n\n _this.getItemProps = function (_temp7) {\n var _enabledEventHandlers;\n\n var _ref7 = _temp7 === void 0 ? {} : _temp7,\n onMouseMove = _ref7.onMouseMove,\n onMouseDown = _ref7.onMouseDown,\n onClick = _ref7.onClick,\n onPress = _ref7.onPress,\n index = _ref7.index,\n _ref7$item = _ref7.item,\n item = _ref7$item === void 0 ? process.env.NODE_ENV === 'production' ?\n /* istanbul ignore next */\n undefined : requiredProp('getItemProps', 'item') : _ref7$item,\n rest = _objectWithoutPropertiesLoose(_ref7, [\"onMouseMove\", \"onMouseDown\", \"onClick\", \"onPress\", \"index\", \"item\"]);\n\n if (index === undefined) {\n _this.items.push(item);\n\n index = _this.items.indexOf(item);\n } else {\n _this.items[index] = item;\n }\n\n var onSelectKey = 'onClick';\n var customClickHandler = onClick;\n var enabledEventHandlers = (_enabledEventHandlers = {\n // onMouseMove is used over onMouseEnter here. onMouseMove\n // is only triggered on actual mouse movement while onMouseEnter\n // can fire on DOM changes, interrupting keyboard navigation\n onMouseMove: callAllEventHandlers(onMouseMove, function () {\n if (index === _this.getState().highlightedIndex) {\n return;\n }\n\n _this.setHighlightedIndex(index, {\n type: itemMouseEnter\n }); // We never want to manually scroll when changing state based\n // on `onMouseMove` because we will be moving the element out\n // from under the user which is currently scrolling/moving the\n // cursor\n\n\n _this.avoidScrolling = true;\n\n _this.internalSetTimeout(function () {\n return _this.avoidScrolling = false;\n }, 250);\n }),\n onMouseDown: callAllEventHandlers(onMouseDown, function (event) {\n // This prevents the activeElement from being changed\n // to the item so it can remain with the current activeElement\n // which is a more common use case.\n event.preventDefault();\n })\n }, _enabledEventHandlers[onSelectKey] = callAllEventHandlers(customClickHandler, function () {\n _this.selectItemAtIndex(index, {\n type: clickItem\n });\n }), _enabledEventHandlers); // Passing down the onMouseDown handler to prevent redirect\n // of the activeElement if clicking on disabled items\n\n var eventHandlers = rest.disabled ? {\n onMouseDown: enabledEventHandlers.onMouseDown\n } : enabledEventHandlers;\n return _extends({\n id: _this.getItemId(index),\n role: 'option',\n 'aria-selected': _this.getState().highlightedIndex === index\n }, eventHandlers, {}, rest);\n };\n\n _this.clearItems = function () {\n _this.items = [];\n };\n\n _this.reset = function (otherStateToSet, cb) {\n if (otherStateToSet === void 0) {\n otherStateToSet = {};\n }\n\n otherStateToSet = pickState(otherStateToSet);\n\n _this.internalSetState(function (_ref8) {\n var selectedItem = _ref8.selectedItem;\n return _extends({\n isOpen: _this.props.defaultIsOpen,\n highlightedIndex: _this.props.defaultHighlightedIndex,\n inputValue: _this.props.itemToString(selectedItem)\n }, otherStateToSet);\n }, cb);\n };\n\n _this.toggleMenu = function (otherStateToSet, cb) {\n if (otherStateToSet === void 0) {\n otherStateToSet = {};\n }\n\n otherStateToSet = pickState(otherStateToSet);\n\n _this.internalSetState(function (_ref9) {\n var isOpen = _ref9.isOpen;\n return _extends({\n isOpen: !isOpen\n }, isOpen && {\n highlightedIndex: _this.props.defaultHighlightedIndex\n }, {}, otherStateToSet);\n }, function () {\n var _this$getState7 = _this.getState(),\n isOpen = _this$getState7.isOpen,\n highlightedIndex = _this$getState7.highlightedIndex;\n\n if (isOpen) {\n if (_this.getItemCount() > 0 && typeof highlightedIndex === 'number') {\n _this.setHighlightedIndex(highlightedIndex, otherStateToSet);\n }\n }\n\n cbToCb(cb)();\n });\n };\n\n _this.openMenu = function (cb) {\n _this.internalSetState({\n isOpen: true\n }, cb);\n };\n\n _this.closeMenu = function (cb) {\n _this.internalSetState({\n isOpen: false\n }, cb);\n };\n\n _this.updateStatus = debounce(function () {\n var state = _this.getState();\n\n var item = _this.items[state.highlightedIndex];\n\n var resultCount = _this.getItemCount();\n\n var status = _this.props.getA11yStatusMessage(_extends({\n itemToString: _this.props.itemToString,\n previousResultCount: _this.previousResultCount,\n resultCount: resultCount,\n highlightedItem: item\n }, state));\n\n _this.previousResultCount = resultCount;\n setStatus(status, _this.props.environment.document);\n }, 200); // fancy destructuring + defaults + aliases\n // this basically says each value of state should either be set to\n // the initial value or the default value if the initial value is not provided\n\n var _this$props = _this.props,\n defaultHighlightedIndex = _this$props.defaultHighlightedIndex,\n _this$props$initialHi = _this$props.initialHighlightedIndex,\n _highlightedIndex = _this$props$initialHi === void 0 ? defaultHighlightedIndex : _this$props$initialHi,\n defaultIsOpen = _this$props.defaultIsOpen,\n _this$props$initialIs = _this$props.initialIsOpen,\n _isOpen = _this$props$initialIs === void 0 ? defaultIsOpen : _this$props$initialIs,\n _this$props$initialIn = _this$props.initialInputValue,\n _inputValue = _this$props$initialIn === void 0 ? '' : _this$props$initialIn,\n _this$props$initialSe = _this$props.initialSelectedItem,\n _selectedItem = _this$props$initialSe === void 0 ? null : _this$props$initialSe;\n\n var _state = _this.getState({\n highlightedIndex: _highlightedIndex,\n isOpen: _isOpen,\n inputValue: _inputValue,\n selectedItem: _selectedItem\n });\n\n if (_state.selectedItem != null && _this.props.initialInputValue === undefined) {\n _state.inputValue = _this.props.itemToString(_state.selectedItem);\n }\n\n _this.state = _state;\n return _this;\n }\n\n var _proto = Downshift.prototype;\n /**\n * Clear all running timeouts\n */\n\n _proto.internalClearTimeouts = function internalClearTimeouts() {\n this.timeoutIds.forEach(function (id) {\n clearTimeout(id);\n });\n this.timeoutIds = [];\n }\n /**\n * Gets the state based on internal state or props\n * If a state value is passed via props, then that\n * is the value given, otherwise it's retrieved from\n * stateToMerge\n *\n * @param {Object} stateToMerge defaults to this.state\n * @return {Object} the state\n */\n ;\n\n _proto.getState = function getState$1(stateToMerge) {\n if (stateToMerge === void 0) {\n stateToMerge = this.state;\n }\n\n return getState(stateToMerge, this.props);\n };\n\n _proto.getItemCount = function getItemCount() {\n // things read better this way. They're in priority order:\n // 1. `this.itemCount`\n // 2. `this.props.itemCount`\n // 3. `this.items.length`\n var itemCount = this.items.length;\n\n if (this.itemCount != null) {\n itemCount = this.itemCount;\n } else if (this.props.itemCount !== undefined) {\n itemCount = this.props.itemCount;\n }\n\n return itemCount;\n };\n\n _proto.getItemNodeFromIndex = function getItemNodeFromIndex(index) {\n return this.props.environment.document.getElementById(this.getItemId(index));\n };\n\n _proto.scrollHighlightedItemIntoView = function scrollHighlightedItemIntoView() {\n /* istanbul ignore else (react-native) */\n {\n var node = this.getItemNodeFromIndex(this.getState().highlightedIndex);\n this.props.scrollIntoView(node, this._menuNode);\n }\n };\n\n _proto.moveHighlightedIndex = function moveHighlightedIndex(amount, otherStateToSet) {\n var _this6 = this;\n\n var itemCount = this.getItemCount();\n\n var _this$getState8 = this.getState(),\n highlightedIndex = _this$getState8.highlightedIndex;\n\n if (itemCount > 0) {\n var nextHighlightedIndex = getNextWrappingIndex(amount, highlightedIndex, itemCount, function (index) {\n return _this6.getItemNodeFromIndex(index);\n });\n this.setHighlightedIndex(nextHighlightedIndex, otherStateToSet);\n }\n };\n\n _proto.getStateAndHelpers = function getStateAndHelpers() {\n var _this$getState9 = this.getState(),\n highlightedIndex = _this$getState9.highlightedIndex,\n inputValue = _this$getState9.inputValue,\n selectedItem = _this$getState9.selectedItem,\n isOpen = _this$getState9.isOpen;\n\n var itemToString = this.props.itemToString;\n var id = this.id;\n var getRootProps = this.getRootProps,\n getToggleButtonProps = this.getToggleButtonProps,\n getLabelProps = this.getLabelProps,\n getMenuProps = this.getMenuProps,\n getInputProps = this.getInputProps,\n getItemProps = this.getItemProps,\n openMenu = this.openMenu,\n closeMenu = this.closeMenu,\n toggleMenu = this.toggleMenu,\n selectItem = this.selectItem,\n selectItemAtIndex = this.selectItemAtIndex,\n selectHighlightedItem = this.selectHighlightedItem,\n setHighlightedIndex = this.setHighlightedIndex,\n clearSelection = this.clearSelection,\n clearItems = this.clearItems,\n reset = this.reset,\n setItemCount = this.setItemCount,\n unsetItemCount = this.unsetItemCount,\n setState = this.internalSetState;\n return {\n // prop getters\n getRootProps: getRootProps,\n getToggleButtonProps: getToggleButtonProps,\n getLabelProps: getLabelProps,\n getMenuProps: getMenuProps,\n getInputProps: getInputProps,\n getItemProps: getItemProps,\n // actions\n reset: reset,\n openMenu: openMenu,\n closeMenu: closeMenu,\n toggleMenu: toggleMenu,\n selectItem: selectItem,\n selectItemAtIndex: selectItemAtIndex,\n selectHighlightedItem: selectHighlightedItem,\n setHighlightedIndex: setHighlightedIndex,\n clearSelection: clearSelection,\n clearItems: clearItems,\n setItemCount: setItemCount,\n unsetItemCount: unsetItemCount,\n setState: setState,\n // props\n itemToString: itemToString,\n // derived\n id: id,\n // state\n highlightedIndex: highlightedIndex,\n inputValue: inputValue,\n isOpen: isOpen,\n selectedItem: selectedItem\n };\n } //////////////////////////// ROOT\n ;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this7 = this;\n /* istanbul ignore if (react-native) */\n\n\n if (process.env.NODE_ENV !== 'production' && !false && this.getMenuProps.called && !this.getMenuProps.suppressRefError) {\n validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps);\n }\n /* istanbul ignore if (react-native) */\n\n\n {\n // this.isMouseDown helps us track whether the mouse is currently held down.\n // This is useful when the user clicks on an item in the list, but holds the mouse\n // down long enough for the list to disappear (because the blur event fires on the input)\n // this.isMouseDown is used in the blur handler on the input to determine whether the blur event should\n // trigger hiding the menu.\n var onMouseDown = function onMouseDown() {\n _this7.isMouseDown = true;\n };\n\n var onMouseUp = function onMouseUp(event) {\n _this7.isMouseDown = false; // if the target element or the activeElement is within a downshift node\n // then we don't want to reset downshift\n\n var contextWithinDownshift = targetWithinDownshift(event.target, [_this7._rootNode, _this7._menuNode], _this7.props.environment.document);\n\n if (!contextWithinDownshift && _this7.getState().isOpen) {\n _this7.reset({\n type: mouseUp\n }, function () {\n return _this7.props.onOuterClick(_this7.getStateAndHelpers());\n });\n }\n }; // Touching an element in iOS gives focus and hover states, but touching out of\n // the element will remove hover, and persist the focus state, resulting in the\n // blur event not being triggered.\n // this.isTouchMove helps us track whether the user is tapping or swiping on a touch screen.\n // If the user taps outside of Downshift, the component should be reset,\n // but not if the user is swiping\n\n\n var onTouchStart = function onTouchStart() {\n _this7.isTouchMove = false;\n };\n\n var onTouchMove = function onTouchMove() {\n _this7.isTouchMove = true;\n };\n\n var onTouchEnd = function onTouchEnd(event) {\n var contextWithinDownshift = targetWithinDownshift(event.target, [_this7._rootNode, _this7._menuNode], _this7.props.environment.document, false);\n\n if (!_this7.isTouchMove && !contextWithinDownshift && _this7.getState().isOpen) {\n _this7.reset({\n type: touchEnd\n }, function () {\n return _this7.props.onOuterClick(_this7.getStateAndHelpers());\n });\n }\n };\n\n var environment = this.props.environment;\n environment.addEventListener('mousedown', onMouseDown);\n environment.addEventListener('mouseup', onMouseUp);\n environment.addEventListener('touchstart', onTouchStart);\n environment.addEventListener('touchmove', onTouchMove);\n environment.addEventListener('touchend', onTouchEnd);\n\n this.cleanup = function () {\n _this7.internalClearTimeouts();\n\n _this7.updateStatus.cancel();\n\n environment.removeEventListener('mousedown', onMouseDown);\n environment.removeEventListener('mouseup', onMouseUp);\n environment.removeEventListener('touchstart', onTouchStart);\n environment.removeEventListener('touchmove', onTouchMove);\n environment.removeEventListener('touchend', onTouchEnd);\n };\n }\n };\n\n _proto.shouldScroll = function shouldScroll(prevState, prevProps) {\n var _ref10 = this.props.highlightedIndex === undefined ? this.getState() : this.props,\n currentHighlightedIndex = _ref10.highlightedIndex;\n\n var _ref11 = prevProps.highlightedIndex === undefined ? prevState : prevProps,\n prevHighlightedIndex = _ref11.highlightedIndex;\n\n var scrollWhenOpen = currentHighlightedIndex && this.getState().isOpen && !prevState.isOpen;\n return scrollWhenOpen || currentHighlightedIndex !== prevHighlightedIndex;\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== 'production') {\n validateControlledUnchanged(prevProps, this.props);\n /* istanbul ignore if (react-native) */\n\n if (this.getMenuProps.called && !this.getMenuProps.suppressRefError) {\n validateGetMenuPropsCalledCorrectly(this._menuNode, this.getMenuProps);\n }\n }\n\n if (isControlledProp(this.props, 'selectedItem') && this.props.selectedItemChanged(prevProps.selectedItem, this.props.selectedItem)) {\n this.internalSetState({\n type: controlledPropUpdatedSelectedItem,\n inputValue: this.props.itemToString(this.props.selectedItem)\n });\n }\n\n if (!this.avoidScrolling && this.shouldScroll(prevState, prevProps)) {\n this.scrollHighlightedItemIntoView();\n }\n /* istanbul ignore else (react-native) */\n\n\n this.updateStatus();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cleanup(); // avoids memory leak\n };\n\n _proto.render = function render() {\n var children = unwrapArray(this.props.children, noop); // because the items are rerendered every time we call the children\n // we clear this out each render and it will be populated again as\n // getItemProps is called.\n\n this.clearItems(); // we reset this so we know whether the user calls getRootProps during\n // this render. If they do then we don't need to do anything,\n // if they don't then we need to clone the element they return and\n // apply the props for them.\n\n this.getRootProps.called = false;\n this.getRootProps.refKey = undefined;\n this.getRootProps.suppressRefError = undefined; // we do something similar for getMenuProps\n\n this.getMenuProps.called = false;\n this.getMenuProps.refKey = undefined;\n this.getMenuProps.suppressRefError = undefined; // we do something similar for getLabelProps\n\n this.getLabelProps.called = false; // and something similar for getInputProps\n\n this.getInputProps.called = false;\n var element = unwrapArray(children(this.getStateAndHelpers()));\n\n if (!element) {\n return null;\n }\n\n if (this.getRootProps.called || this.props.suppressRefError) {\n if (process.env.NODE_ENV !== 'production' && !this.getRootProps.suppressRefError && !this.props.suppressRefError) {\n validateGetRootPropsCalledCorrectly(element, this.getRootProps);\n }\n\n return element;\n } else if (isDOMElement(element)) {\n // they didn't apply the root props, but we can clone\n // this and apply the props ourselves\n return cloneElement(element, this.getRootProps(getElementProps(element)));\n }\n /* istanbul ignore else */\n\n\n if (process.env.NODE_ENV !== 'production') {\n // they didn't apply the root props, but they need to\n // otherwise we can't query around the autocomplete\n throw new Error('downshift: If you return a non-DOM element, you must apply the getRootProps function');\n }\n /* istanbul ignore next */\n\n\n return undefined;\n };\n\n return Downshift;\n }(Component);\n\n Downshift.defaultProps = {\n defaultHighlightedIndex: null,\n defaultIsOpen: false,\n getA11yStatusMessage: getA11yStatusMessage,\n itemToString: function itemToString(i) {\n if (i == null) {\n return '';\n }\n\n if (process.env.NODE_ENV !== 'production' && isPlainObject(i) && !i.hasOwnProperty('toString')) {\n // eslint-disable-next-line no-console\n console.warn('downshift: An object was passed to the default implementation of `itemToString`. You should probably provide your own `itemToString` implementation. Please refer to the `itemToString` API documentation.', 'The object that was passed:', i);\n }\n\n return String(i);\n },\n onStateChange: noop,\n onInputValueChange: noop,\n onUserAction: noop,\n onChange: noop,\n onSelect: noop,\n onOuterClick: noop,\n selectedItemChanged: function selectedItemChanged(prevItem, item) {\n return prevItem !== item;\n },\n environment: typeof window === 'undefined'\n /* istanbul ignore next (ssr) */\n ? {} : window,\n stateReducer: function stateReducer(state, stateToSet) {\n return stateToSet;\n },\n suppressRefError: false,\n scrollIntoView: scrollIntoView\n };\n Downshift.stateChangeTypes = stateChangeTypes;\n return Downshift;\n}();\n\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\nfunction validateGetMenuPropsCalledCorrectly(node, _ref12) {\n var refKey = _ref12.refKey;\n\n if (!node) {\n // eslint-disable-next-line no-console\n console.error(\"downshift: The ref prop \\\"\" + refKey + \"\\\" from getMenuProps was not applied correctly on your menu element.\");\n }\n}\n\nfunction validateGetRootPropsCalledCorrectly(element, _ref13) {\n var refKey = _ref13.refKey;\n var refKeySpecified = refKey !== 'ref';\n var isComposite = !isDOMElement(element);\n\n if (isComposite && !refKeySpecified && !isForwardRef(element)) {\n // eslint-disable-next-line no-console\n console.error('downshift: You returned a non-DOM element. You must specify a refKey in getRootProps');\n } else if (!isComposite && refKeySpecified) {\n // eslint-disable-next-line no-console\n console.error(\"downshift: You returned a DOM element. You should not specify a refKey in getRootProps. You specified \\\"\" + refKey + \"\\\"\");\n }\n\n if (!isForwardRef(element) && !getElementProps(element)[refKey]) {\n // eslint-disable-next-line no-console\n console.error(\"downshift: You must apply the ref prop \\\"\" + refKey + \"\\\" from getRootProps onto your root element.\");\n }\n}\n\nfunction validateControlledUnchanged(prevProps, nextProps) {\n var warningDescription = \"This prop should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled Downshift element for the lifetime of the component. More info: https://github.com/downshift-js/downshift#control-props\";\n ['selectedItem', 'isOpen', 'inputValue', 'highlightedIndex'].forEach(function (propKey) {\n if (prevProps[propKey] !== undefined && nextProps[propKey] === undefined) {\n // eslint-disable-next-line no-console\n console.error(\"downshift: A component has changed the controlled prop \\\"\" + propKey + \"\\\" to be uncontrolled. \" + warningDescription);\n } else if (prevProps[propKey] === undefined && nextProps[propKey] !== undefined) {\n // eslint-disable-next-line no-console\n console.error(\"downshift: A component has changed the uncontrolled prop \\\"\" + propKey + \"\\\" to be controlled. \" + warningDescription);\n }\n });\n}\n\nvar dropdownDefaultStateValues = {\n highlightedIndex: -1,\n isOpen: false,\n selectedItem: null,\n inputValue: ''\n};\n\nfunction callOnChangeProps(action, state, newState) {\n var props = action.props,\n type = action.type;\n var changes = {};\n Object.keys(state).forEach(function (key) {\n invokeOnChangeHandler(key, props, state, newState);\n\n if (newState[key] !== state[key]) {\n changes[key] = newState[key];\n }\n });\n\n if (props.onStateChange && Object.keys(changes).length) {\n props.onStateChange(_extends({\n type: type\n }, changes));\n }\n}\n\nfunction invokeOnChangeHandler(key, props, state, newState) {\n var handler = \"on\" + capitalizeString(key) + \"Change\";\n\n if (props[handler] && newState[key] !== undefined && newState[key] !== state[key]) {\n props[handler](newState);\n }\n}\n/**\n * Default state reducer that returns the changes.\n *\n * @param {Object} s state.\n * @param {Object} a action with changes.\n * @returns {Object} changes.\n */\n\n\nfunction stateReducer(s, a) {\n return a.changes;\n}\n/**\n * Returns a message to be added to aria-live region when item is selected.\n *\n * @param {Object} selectionParameters Parameters required to build the message.\n * @returns {string} The a11y message.\n */\n\n\nfunction getA11ySelectionMessage(selectionParameters) {\n var selectedItem = selectionParameters.selectedItem,\n itemToStringLocal = selectionParameters.itemToString;\n return selectedItem ? itemToStringLocal(selectedItem) + \" has been selected.\" : '';\n}\n/**\n * Debounced call for updating the a11y message.\n */\n\n\nvar updateA11yStatus = debounce(function (getA11yMessage, document) {\n setStatus(getA11yMessage(), document);\n}, 200);\n\nfunction getElementIds(_ref) {\n var id = _ref.id,\n labelId = _ref.labelId,\n menuId = _ref.menuId,\n getItemId = _ref.getItemId,\n toggleButtonId = _ref.toggleButtonId;\n var uniqueId = id === undefined ? \"downshift-\" + generateId() : id;\n return {\n labelId: labelId || uniqueId + \"-label\",\n menuId: menuId || uniqueId + \"-menu\",\n getItemId: getItemId || function (index) {\n return uniqueId + \"-item-\" + index;\n },\n toggleButtonId: toggleButtonId || uniqueId + \"-toggle-button\"\n };\n}\n\nfunction getItemIndex(index, item, items) {\n if (index !== undefined) {\n return index;\n }\n\n if (items.length === 0) {\n return -1;\n }\n\n return items.indexOf(item);\n}\n\nfunction itemToString(item) {\n return item ? String(item) : '';\n}\n\nfunction getPropTypesValidator(caller, propTypes) {\n // istanbul ignore next\n return function (options) {\n if (options === void 0) {\n options = {};\n }\n\n Object.keys(propTypes).forEach(function (key) {\n PropTypes.checkPropTypes(propTypes, options, key, caller.name);\n });\n };\n}\n\nfunction isAcceptedCharacterKey(key) {\n return /^\\S{1}$/.test(key);\n}\n\nfunction capitalizeString(string) {\n return \"\" + string.slice(0, 1).toUpperCase() + string.slice(1);\n}\n/**\n * Computes the controlled state using a the previous state, props,\n * two reducers, one from downshift and an optional one from the user.\n * Also calls the onChange handlers for state values that have changed.\n *\n * @param {Function} reducer Reducer function from downshift.\n * @param {Object} initialState Initial state of the hook.\n * @param {Object} props The hook props.\n * @returns {Array} An array with the state and an action dispatcher.\n */\n\n\nfunction useControlledState(reducer, initialState, props) {\n var _useState = useState(initialState),\n uncontrolledState = _useState[0],\n setState = _useState[1];\n\n var state = getState(uncontrolledState, props);\n\n var dispatch = function dispatch(action) {\n var stateReducerFromProps = action.props.stateReducer;\n var changes = reducer(state, action);\n var newState = stateReducerFromProps(state, _extends({}, action, {\n changes: changes\n }));\n callOnChangeProps(action, state, newState);\n setState(newState);\n };\n\n return [getState(state, props), function dispatchWithProps(action) {\n return dispatch(_extends({\n props: props\n }, action));\n }];\n}\n\nvar defaultProps = {\n itemToString: itemToString,\n stateReducer: stateReducer,\n getA11ySelectionMessage: getA11ySelectionMessage,\n scrollIntoView: scrollIntoView,\n circularNavigation: false,\n environment: typeof window === 'undefined'\n /* istanbul ignore next (ssr) */\n ? {} : window\n};\n\nfunction getDefaultValue(props, propKey, defaultStateValues) {\n if (defaultStateValues === void 0) {\n defaultStateValues = dropdownDefaultStateValues;\n }\n\n var defaultPropKey = \"default\" + capitalizeString(propKey);\n\n if (defaultPropKey in props) {\n return props[defaultPropKey];\n }\n\n return defaultStateValues[propKey];\n}\n\nfunction getInitialValue(props, propKey, defaultStateValues) {\n if (defaultStateValues === void 0) {\n defaultStateValues = dropdownDefaultStateValues;\n }\n\n if (propKey in props) {\n return props[propKey];\n }\n\n var initialPropKey = \"initial\" + capitalizeString(propKey);\n\n if (initialPropKey in props) {\n return props[initialPropKey];\n }\n\n return getDefaultValue(props, propKey, defaultStateValues);\n}\n\nfunction getInitialState(props) {\n var selectedItem = getInitialValue(props, 'selectedItem');\n var isOpen = getInitialValue(props, 'isOpen');\n var highlightedIndex = getInitialValue(props, 'highlightedIndex');\n var inputValue = getInitialValue(props, 'inputValue');\n return {\n highlightedIndex: highlightedIndex < 0 && selectedItem ? props.items.indexOf(selectedItem) : highlightedIndex,\n isOpen: isOpen,\n selectedItem: selectedItem,\n inputValue: inputValue\n };\n}\n\nfunction getHighlightedIndexOnOpen(props, state, offset, getItemNodeFromIndex) {\n var items = props.items,\n initialHighlightedIndex = props.initialHighlightedIndex,\n defaultHighlightedIndex = props.defaultHighlightedIndex;\n var selectedItem = state.selectedItem,\n highlightedIndex = state.highlightedIndex; // initialHighlightedIndex will give value to highlightedIndex on initial state only.\n\n if (initialHighlightedIndex !== undefined && highlightedIndex === initialHighlightedIndex) {\n return initialHighlightedIndex;\n }\n\n if (defaultHighlightedIndex !== undefined) {\n return defaultHighlightedIndex;\n }\n\n if (selectedItem) {\n if (offset === 0) {\n return items.indexOf(selectedItem);\n }\n\n return getNextWrappingIndex(offset, items.indexOf(selectedItem), items.length, getItemNodeFromIndex, false);\n }\n\n if (offset === 0) {\n return -1;\n }\n\n return offset < 0 ? items.length - 1 : 0;\n}\n\nfunction getItemIndexByCharacterKey(keysSoFar, highlightedIndex, items, itemToStringParam, getItemNodeFromIndex) {\n var lowerCasedItemStrings = items.map(function (item) {\n return itemToStringParam(item).toLowerCase();\n });\n var lowerCasedKeysSoFar = keysSoFar.toLowerCase();\n\n var isValid = function isValid(itemString, index) {\n var element = getItemNodeFromIndex(index);\n return itemString.startsWith(lowerCasedKeysSoFar) && !(element && element.hasAttribute('disabled'));\n };\n\n for (var index = highlightedIndex + 1; index < lowerCasedItemStrings.length; index++) {\n var itemString = lowerCasedItemStrings[index];\n\n if (isValid(itemString, index)) {\n return index;\n }\n }\n\n for (var _index = 0; _index < highlightedIndex; _index++) {\n var _itemString = lowerCasedItemStrings[_index];\n\n if (isValid(_itemString, _index)) {\n return _index;\n }\n }\n\n return highlightedIndex;\n}\n\nvar propTypes = {\n items: PropTypes.array.isRequired,\n itemToString: PropTypes.func,\n getA11yStatusMessage: PropTypes.func,\n getA11ySelectionMessage: PropTypes.func,\n circularNavigation: PropTypes.bool,\n highlightedIndex: PropTypes.number,\n defaultHighlightedIndex: PropTypes.number,\n initialHighlightedIndex: PropTypes.number,\n isOpen: PropTypes.bool,\n defaultIsOpen: PropTypes.bool,\n initialIsOpen: PropTypes.bool,\n selectedItem: PropTypes.any,\n initialSelectedItem: PropTypes.any,\n defaultSelectedItem: PropTypes.any,\n id: PropTypes.string,\n labelId: PropTypes.string,\n menuId: PropTypes.string,\n getItemId: PropTypes.func,\n toggleButtonId: PropTypes.string,\n stateReducer: PropTypes.func,\n onSelectedItemChange: PropTypes.func,\n onHighlightedIndexChange: PropTypes.func,\n onStateChange: PropTypes.func,\n onIsOpenChange: PropTypes.func,\n environment: PropTypes.shape({\n addEventListener: PropTypes.func,\n removeEventListener: PropTypes.func,\n document: PropTypes.shape({\n getElementById: PropTypes.func,\n activeElement: PropTypes.any,\n body: PropTypes.any\n })\n })\n};\n/**\n * Default implementation for status message. Only added when menu is open.\n * Will specift if there are results in the list, and if so, how many,\n * and what keys are relevant.\n *\n * @param {Object} param the downshift state and other relevant properties\n * @return {String} the a11y status message\n */\n\nfunction getA11yStatusMessage$1(_ref) {\n var isOpen = _ref.isOpen,\n resultCount = _ref.resultCount,\n previousResultCount = _ref.previousResultCount;\n\n if (!isOpen) {\n return '';\n }\n\n if (!resultCount) {\n return 'No results are available.';\n }\n\n if (resultCount !== previousResultCount) {\n return resultCount + \" result\" + (resultCount === 1 ? ' is' : 's are') + \" available, use up and down arrow keys to navigate. Press Enter or Space Bar keys to select.\";\n }\n\n return '';\n}\n\nvar defaultProps$1 = _extends({}, defaultProps, {\n getA11yStatusMessage: getA11yStatusMessage$1\n});\n\nvar MenuKeyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_arrow_down__' : 0;\nvar MenuKeyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_arrow_up__' : 1;\nvar MenuKeyDownEscape = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_escape__' : 2;\nvar MenuKeyDownHome = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_home__' : 3;\nvar MenuKeyDownEnd = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_end__' : 4;\nvar MenuKeyDownEnter = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_enter__' : 5;\nvar MenuKeyDownSpaceButton = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_space_button__' : 6;\nvar MenuKeyDownCharacter = process.env.NODE_ENV !== \"production\" ? '__menu_keydown_character__' : 7;\nvar MenuBlur = process.env.NODE_ENV !== \"production\" ? '__menu_blur__' : 8;\nvar MenuMouseLeave = process.env.NODE_ENV !== \"production\" ? '__menu_mouse_leave__' : 9;\nvar ItemMouseMove = process.env.NODE_ENV !== \"production\" ? '__item_mouse_move__' : 10;\nvar ItemClick = process.env.NODE_ENV !== \"production\" ? '__item_click__' : 11;\nvar ToggleButtonClick = process.env.NODE_ENV !== \"production\" ? '__togglebutton_click__' : 12;\nvar ToggleButtonKeyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__togglebutton_keydown_arrow_down__' : 13;\nvar ToggleButtonKeyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__togglebutton_keydown_arrow_up__' : 14;\nvar ToggleButtonKeyDownCharacter = process.env.NODE_ENV !== \"production\" ? '__togglebutton_keydown_character__' : 15;\nvar FunctionToggleMenu = process.env.NODE_ENV !== \"production\" ? '__function_toggle_menu__' : 16;\nvar FunctionOpenMenu = process.env.NODE_ENV !== \"production\" ? '__function_open_menu__' : 17;\nvar FunctionCloseMenu = process.env.NODE_ENV !== \"production\" ? '__function_close_menu__' : 18;\nvar FunctionSetHighlightedIndex = process.env.NODE_ENV !== \"production\" ? '__function_set_highlighted_index__' : 19;\nvar FunctionSelectItem = process.env.NODE_ENV !== \"production\" ? '__function_select_item__' : 20;\nvar FunctionSetInputValue = process.env.NODE_ENV !== \"production\" ? '__function_set_input_value__' : 21;\nvar FunctionReset = process.env.NODE_ENV !== \"production\" ? '__function_reset__' : 22;\nvar stateChangeTypes$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MenuKeyDownArrowDown: MenuKeyDownArrowDown,\n MenuKeyDownArrowUp: MenuKeyDownArrowUp,\n MenuKeyDownEscape: MenuKeyDownEscape,\n MenuKeyDownHome: MenuKeyDownHome,\n MenuKeyDownEnd: MenuKeyDownEnd,\n MenuKeyDownEnter: MenuKeyDownEnter,\n MenuKeyDownSpaceButton: MenuKeyDownSpaceButton,\n MenuKeyDownCharacter: MenuKeyDownCharacter,\n MenuBlur: MenuBlur,\n MenuMouseLeave: MenuMouseLeave,\n ItemMouseMove: ItemMouseMove,\n ItemClick: ItemClick,\n ToggleButtonClick: ToggleButtonClick,\n ToggleButtonKeyDownArrowDown: ToggleButtonKeyDownArrowDown,\n ToggleButtonKeyDownArrowUp: ToggleButtonKeyDownArrowUp,\n ToggleButtonKeyDownCharacter: ToggleButtonKeyDownCharacter,\n FunctionToggleMenu: FunctionToggleMenu,\n FunctionOpenMenu: FunctionOpenMenu,\n FunctionCloseMenu: FunctionCloseMenu,\n FunctionSetHighlightedIndex: FunctionSetHighlightedIndex,\n FunctionSelectItem: FunctionSelectItem,\n FunctionSetInputValue: FunctionSetInputValue,\n FunctionReset: FunctionReset\n});\n/* eslint-disable complexity */\n\nfunction downshiftSelectReducer(state, action) {\n var type = action.type,\n props = action.props,\n shiftKey = action.shiftKey;\n var changes;\n\n switch (type) {\n case ItemMouseMove:\n changes = {\n highlightedIndex: action.index\n };\n break;\n\n case ItemClick:\n changes = {\n isOpen: getDefaultValue(props, 'isOpen'),\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n selectedItem: props.items[action.index]\n };\n break;\n\n case ToggleButtonKeyDownCharacter:\n {\n var lowercasedKey = action.key;\n var inputValue = \"\" + state.inputValue + lowercasedKey;\n var itemIndex = getItemIndexByCharacterKey(inputValue, state.selectedItem ? props.items.indexOf(state.selectedItem) : -1, props.items, props.itemToString, action.getItemNodeFromIndex);\n changes = _extends({\n inputValue: inputValue\n }, itemIndex >= 0 && {\n selectedItem: props.items[itemIndex]\n });\n }\n break;\n\n case ToggleButtonKeyDownArrowDown:\n changes = {\n highlightedIndex: getHighlightedIndexOnOpen(props, state, 1, action.getItemNodeFromIndex),\n isOpen: true\n };\n break;\n\n case ToggleButtonKeyDownArrowUp:\n changes = {\n highlightedIndex: getHighlightedIndexOnOpen(props, state, -1, action.getItemNodeFromIndex),\n isOpen: true\n };\n break;\n\n case MenuKeyDownEnter:\n case MenuKeyDownSpaceButton:\n changes = _extends({\n isOpen: getDefaultValue(props, 'isOpen'),\n highlightedIndex: getDefaultValue(props, 'highlightedIndex')\n }, state.highlightedIndex >= 0 && {\n selectedItem: props.items[state.highlightedIndex]\n });\n break;\n\n case MenuKeyDownHome:\n changes = {\n highlightedIndex: getNextNonDisabledIndex(1, 0, props.items.length, action.getItemNodeFromIndex, false)\n };\n break;\n\n case MenuKeyDownEnd:\n changes = {\n highlightedIndex: getNextNonDisabledIndex(-1, props.items.length - 1, props.items.length, action.getItemNodeFromIndex, false)\n };\n break;\n\n case MenuKeyDownEscape:\n changes = {\n isOpen: false,\n highlightedIndex: -1\n };\n break;\n\n case MenuBlur:\n changes = {\n isOpen: false,\n highlightedIndex: -1\n };\n break;\n\n case MenuKeyDownCharacter:\n {\n var _lowercasedKey = action.key;\n\n var _inputValue = \"\" + state.inputValue + _lowercasedKey;\n\n var highlightedIndex = getItemIndexByCharacterKey(_inputValue, state.highlightedIndex, props.items, props.itemToString, action.getItemNodeFromIndex);\n changes = _extends({\n inputValue: _inputValue\n }, highlightedIndex >= 0 && {\n highlightedIndex: highlightedIndex\n });\n }\n break;\n\n case MenuKeyDownArrowDown:\n changes = {\n highlightedIndex: getNextWrappingIndex(shiftKey ? 5 : 1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n };\n break;\n\n case MenuKeyDownArrowUp:\n changes = {\n highlightedIndex: getNextWrappingIndex(shiftKey ? -5 : -1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n };\n break;\n\n case MenuMouseLeave:\n changes = {\n highlightedIndex: -1\n };\n break;\n\n case ToggleButtonClick:\n case FunctionToggleMenu:\n changes = {\n isOpen: !state.isOpen,\n highlightedIndex: state.isOpen ? -1 : getHighlightedIndexOnOpen(props, state, 0)\n };\n break;\n\n case FunctionOpenMenu:\n changes = {\n isOpen: true,\n highlightedIndex: getHighlightedIndexOnOpen(props, state, 0)\n };\n break;\n\n case FunctionCloseMenu:\n changes = {\n isOpen: false\n };\n break;\n\n case FunctionSetHighlightedIndex:\n changes = {\n highlightedIndex: action.highlightedIndex\n };\n break;\n\n case FunctionSelectItem:\n changes = {\n selectedItem: action.selectedItem\n };\n break;\n\n case FunctionSetInputValue:\n changes = {\n inputValue: action.inputValue\n };\n break;\n\n case FunctionReset:\n changes = {\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n isOpen: getDefaultValue(props, 'isOpen'),\n selectedItem: getDefaultValue(props, 'selectedItem'),\n inputValue: getDefaultValue(props, 'inputValue')\n };\n break;\n\n default:\n throw new Error('Reducer called without proper action type.');\n }\n\n return _extends({}, state, {}, changes);\n}\n/* eslint-enable complexity */\n\n\nvar validatePropTypes = process.env.NODE_ENV === 'production' ?\n/* istanbul ignore next */\nnull : getPropTypesValidator(useSelect, propTypes);\nuseSelect.stateChangeTypes = stateChangeTypes$1;\n\nfunction useSelect(userProps) {\n if (userProps === void 0) {\n userProps = {};\n }\n /* istanbul ignore else */\n\n\n if (process.env.NODE_ENV !== 'production') {\n validatePropTypes(userProps);\n } // Props defaults and destructuring.\n\n\n var props = _extends({}, defaultProps$1, {}, userProps);\n\n var items = props.items,\n scrollIntoView = props.scrollIntoView,\n environment = props.environment,\n initialIsOpen = props.initialIsOpen,\n defaultIsOpen = props.defaultIsOpen,\n itemToString = props.itemToString,\n getA11ySelectionMessage = props.getA11ySelectionMessage,\n getA11yStatusMessage = props.getA11yStatusMessage; // Initial state depending on controlled props.\n\n var initialState = getInitialState(props); // Reducer init.\n\n var _useControlledState = useControlledState(downshiftSelectReducer, initialState, props),\n _useControlledState$ = _useControlledState[0],\n isOpen = _useControlledState$.isOpen,\n highlightedIndex = _useControlledState$.highlightedIndex,\n selectedItem = _useControlledState$.selectedItem,\n inputValue = _useControlledState$.inputValue,\n dispatch = _useControlledState[1]; // Refs\n\n\n var toggleButtonRef = useRef(null);\n var menuRef = useRef(null);\n var isInitialMount = useRef(true);\n var shouldScroll = useRef(true);\n var clearTimeout = useRef(null);\n var mouseAndTouchTrackers = useRef({\n isMouseDown: false,\n isTouchMove: false\n });\n var elementIds = useRef(getElementIds(props));\n var previousResultCountRef = useRef(); // Some utils.\n\n var getItemNodeFromIndex = function getItemNodeFromIndex(index) {\n return environment.document.getElementById(elementIds.current.getItemId(index));\n }; // Effects.\n\n /* Sets a11y status message on changes in state. */\n\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n var previousResultCount = previousResultCountRef.current;\n updateA11yStatus(function () {\n return getA11yStatusMessage({\n isOpen: isOpen,\n highlightedIndex: highlightedIndex,\n selectedItem: selectedItem,\n inputValue: inputValue,\n highlightedItem: items[highlightedIndex],\n resultCount: items.length,\n itemToString: itemToString,\n previousResultCount: previousResultCount\n });\n }, environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen, highlightedIndex, selectedItem, inputValue]);\n /* Sets a11y status message on changes in selectedItem. */\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n var previousResultCount = previousResultCountRef.current;\n updateA11yStatus(function () {\n return getA11ySelectionMessage({\n isOpen: isOpen,\n highlightedIndex: highlightedIndex,\n selectedItem: selectedItem,\n inputValue: inputValue,\n highlightedItem: items[highlightedIndex],\n resultCount: items.length,\n itemToString: itemToString,\n previousResultCount: previousResultCount\n });\n }, environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedItem]);\n /* Sets cleanup for the keysSoFar after 500ms. */\n\n useEffect(function () {\n // init the clean function here as we need access to dispatch.\n if (isInitialMount.current) {\n clearTimeout.current = debounce(function (outerDispatch) {\n outerDispatch({\n type: FunctionSetInputValue,\n inputValue: ''\n });\n }, 500);\n }\n\n if (!inputValue) {\n return;\n }\n\n clearTimeout.current(dispatch); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [inputValue]);\n /* Controls the focus on the menu or the toggle button. */\n\n useEffect(function () {\n // Don't focus menu on first render.\n if (isInitialMount.current) {\n // Unless it was initialised as open.\n if ((initialIsOpen || defaultIsOpen || isOpen) && menuRef.current) {\n menuRef.current.focus();\n }\n\n return;\n } // Focus menu on open.\n // istanbul ignore next\n\n\n if (isOpen && menuRef.current) {\n menuRef.current.focus(); // Focus toggleButton on close.\n } else if (environment.document.activeElement === menuRef.current && toggleButtonRef.current) {\n toggleButtonRef.current.focus();\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, [isOpen]);\n /* Scroll on highlighted item if change comes from keyboard. */\n\n useEffect(function () {\n if (highlightedIndex < 0 || !isOpen || !items.length) {\n return;\n }\n\n if (shouldScroll.current === false) {\n shouldScroll.current = true;\n } else {\n scrollIntoView(getItemNodeFromIndex(highlightedIndex), menuRef.current);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, [highlightedIndex]);\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n previousResultCountRef.current = items.length;\n });\n /* Make initial ref false. */\n\n useEffect(function () {\n isInitialMount.current = false;\n }, []);\n /* Add mouse/touch events to document. */\n\n useEffect(function () {\n // The same strategy for checking if a click occurred inside or outside downsift\n // as in downshift.js.\n var onMouseDown = function onMouseDown() {\n mouseAndTouchTrackers.current.isMouseDown = true;\n };\n\n var onMouseUp = function onMouseUp(event) {\n mouseAndTouchTrackers.current.isMouseDown = false;\n\n if (isOpen && !targetWithinDownshift(event.target, [toggleButtonRef.current, menuRef.current], environment.document)) {\n dispatch({\n type: MenuBlur\n });\n }\n };\n\n var onTouchStart = function onTouchStart() {\n mouseAndTouchTrackers.current.isTouchMove = false;\n };\n\n var onTouchMove = function onTouchMove() {\n mouseAndTouchTrackers.current.isTouchMove = true;\n };\n\n var onTouchEnd = function onTouchEnd(event) {\n if (isOpen && !mouseAndTouchTrackers.current.isTouchMove && !targetWithinDownshift(event.target, [toggleButtonRef.current, menuRef.current], environment.document, false)) {\n dispatch({\n type: MenuBlur\n });\n }\n };\n\n environment.addEventListener('mousedown', onMouseDown);\n environment.addEventListener('mouseup', onMouseUp);\n environment.addEventListener('touchstart', onTouchStart);\n environment.addEventListener('touchmove', onTouchMove);\n environment.addEventListener('touchend', onTouchEnd);\n return function () {\n environment.removeEventListener('mousedown', onMouseDown);\n environment.removeEventListener('mouseup', onMouseUp);\n environment.removeEventListener('touchstart', onTouchStart);\n environment.removeEventListener('touchmove', onTouchMove);\n environment.removeEventListener('touchend', onTouchEnd);\n };\n }); // Event handler functions.\n\n var toggleButtonKeyDownHandlers = {\n ArrowDown: function ArrowDown(event) {\n event.preventDefault();\n dispatch({\n type: ToggleButtonKeyDownArrowDown,\n getItemNodeFromIndex: getItemNodeFromIndex,\n shiftKey: event.shiftKey\n });\n },\n ArrowUp: function ArrowUp(event) {\n event.preventDefault();\n dispatch({\n type: ToggleButtonKeyDownArrowUp,\n getItemNodeFromIndex: getItemNodeFromIndex,\n shiftKey: event.shiftKey\n });\n }\n };\n var menuKeyDownHandlers = {\n ArrowDown: function ArrowDown(event) {\n event.preventDefault();\n dispatch({\n type: MenuKeyDownArrowDown,\n getItemNodeFromIndex: getItemNodeFromIndex,\n shiftKey: event.shiftKey\n });\n },\n ArrowUp: function ArrowUp(event) {\n event.preventDefault();\n dispatch({\n type: MenuKeyDownArrowUp,\n getItemNodeFromIndex: getItemNodeFromIndex,\n shiftKey: event.shiftKey\n });\n },\n Home: function Home(event) {\n event.preventDefault();\n dispatch({\n type: MenuKeyDownHome,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n },\n End: function End(event) {\n event.preventDefault();\n dispatch({\n type: MenuKeyDownEnd,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n },\n Escape: function Escape() {\n dispatch({\n type: MenuKeyDownEscape\n });\n },\n Enter: function Enter(event) {\n event.preventDefault();\n dispatch({\n type: MenuKeyDownEnter\n });\n },\n ' ': function _(event) {\n event.preventDefault();\n dispatch({\n type: MenuKeyDownSpaceButton\n });\n }\n }; // Event handlers.\n\n var menuHandleKeyDown = function menuHandleKeyDown(event) {\n var key = normalizeArrowKey(event);\n\n if (key && menuKeyDownHandlers[key]) {\n menuKeyDownHandlers[key](event);\n } else if (isAcceptedCharacterKey(key)) {\n dispatch({\n type: MenuKeyDownCharacter,\n key: key,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n }\n };\n\n var menuHandleBlur = function menuHandleBlur() {\n var shouldBlur = !mouseAndTouchTrackers.current.isMouseDown;\n /* istanbul ignore else */\n\n if (shouldBlur) {\n dispatch({\n type: MenuBlur\n });\n }\n };\n\n var menuHandleMouseLeave = function menuHandleMouseLeave() {\n dispatch({\n type: MenuMouseLeave\n });\n };\n\n var toggleButtonHandleClick = function toggleButtonHandleClick() {\n dispatch({\n type: ToggleButtonClick\n });\n };\n\n var toggleButtonHandleKeyDown = function toggleButtonHandleKeyDown(event) {\n var key = normalizeArrowKey(event);\n\n if (key && toggleButtonKeyDownHandlers[key]) {\n toggleButtonKeyDownHandlers[key](event);\n } else if (isAcceptedCharacterKey(key)) {\n dispatch({\n type: ToggleButtonKeyDownCharacter,\n key: key,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n }\n };\n\n var itemHandleMouseMove = function itemHandleMouseMove(index) {\n if (index === highlightedIndex) {\n return;\n }\n\n shouldScroll.current = false;\n dispatch({\n type: ItemMouseMove,\n index: index\n });\n };\n\n var itemHandleClick = function itemHandleClick(index) {\n dispatch({\n type: ItemClick,\n index: index\n });\n }; // Action functions.\n\n\n return {\n // prop getters.\n getToggleButtonProps: function getToggleButtonProps(_temp2) {\n var _extends3;\n\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n onClick = _ref2.onClick,\n onKeyDown = _ref2.onKeyDown,\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n ref = _ref2.ref,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"onClick\", \"onKeyDown\", \"refKey\", \"ref\"]);\n\n var toggleProps = _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (toggleButtonNode) {\n toggleButtonRef.current = toggleButtonNode;\n }), _extends3.id = elementIds.current.toggleButtonId, _extends3['aria-haspopup'] = 'listbox', _extends3['aria-expanded'] = isOpen, _extends3['aria-labelledby'] = elementIds.current.labelId + \" \" + elementIds.current.toggleButtonId, _extends3), rest);\n\n if (!rest.disabled) {\n toggleProps.onClick = callAllEventHandlers(onClick, toggleButtonHandleClick);\n toggleProps.onKeyDown = callAllEventHandlers(onKeyDown, toggleButtonHandleKeyDown);\n }\n\n return toggleProps;\n },\n getLabelProps: function getLabelProps(labelProps) {\n return _extends({\n id: elementIds.current.labelId,\n htmlFor: elementIds.current.toggleButtonId\n }, labelProps);\n },\n getMenuProps: function getMenuProps(_temp) {\n var _extends2;\n\n var _ref = _temp === void 0 ? {} : _temp,\n onMouseLeave = _ref.onMouseLeave,\n _ref$refKey = _ref.refKey,\n refKey = _ref$refKey === void 0 ? 'ref' : _ref$refKey,\n onKeyDown = _ref.onKeyDown,\n onBlur = _ref.onBlur,\n ref = _ref.ref,\n rest = _objectWithoutPropertiesLoose(_ref, [\"onMouseLeave\", \"refKey\", \"onKeyDown\", \"onBlur\", \"ref\"]);\n\n return _extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) {\n menuRef.current = menuNode;\n }), _extends2.id = elementIds.current.menuId, _extends2.role = 'listbox', _extends2['aria-labelledby'] = elementIds.current.labelId, _extends2.tabIndex = -1, _extends2), isOpen && highlightedIndex > -1 && {\n 'aria-activedescendant': elementIds.current.getItemId(highlightedIndex)\n }, {\n onMouseLeave: callAllEventHandlers(onMouseLeave, menuHandleMouseLeave),\n onKeyDown: callAllEventHandlers(onKeyDown, menuHandleKeyDown),\n onBlur: callAllEventHandlers(onBlur, menuHandleBlur)\n }, rest);\n },\n getItemProps: function getItemProps(_temp3) {\n var _ref3 = _temp3 === void 0 ? {} : _temp3,\n item = _ref3.item,\n index = _ref3.index,\n onMouseMove = _ref3.onMouseMove,\n onClick = _ref3.onClick,\n rest = _objectWithoutPropertiesLoose(_ref3, [\"item\", \"index\", \"onMouseMove\", \"onClick\"]);\n\n var itemIndex = getItemIndex(index, item, items);\n\n if (itemIndex < 0) {\n throw new Error('Pass either item or item index in getItemProps!');\n }\n\n var itemProps = _extends({\n role: 'option',\n 'aria-selected': \"\" + (itemIndex === highlightedIndex),\n id: elementIds.current.getItemId(itemIndex)\n }, rest);\n\n if (!rest.disabled) {\n itemProps.onMouseMove = callAllEventHandlers(onMouseMove, function () {\n return itemHandleMouseMove(itemIndex);\n });\n itemProps.onClick = callAllEventHandlers(onClick, function () {\n return itemHandleClick(itemIndex);\n });\n }\n\n return itemProps;\n },\n // actions.\n toggleMenu: function toggleMenu() {\n dispatch({\n type: FunctionToggleMenu\n });\n },\n openMenu: function openMenu() {\n dispatch({\n type: FunctionOpenMenu\n });\n },\n closeMenu: function closeMenu() {\n dispatch({\n type: FunctionCloseMenu\n });\n },\n setHighlightedIndex: function setHighlightedIndex(newHighlightedIndex) {\n dispatch({\n type: FunctionSetHighlightedIndex,\n highlightedIndex: newHighlightedIndex\n });\n },\n selectItem: function selectItem(newSelectedItem) {\n dispatch({\n type: FunctionSelectItem,\n selectedItem: newSelectedItem\n });\n },\n reset: function reset() {\n dispatch({\n type: FunctionReset\n });\n },\n setInputValue: function setInputValue(newInputValue) {\n dispatch({\n type: FunctionSetInputValue,\n inputValue: newInputValue\n });\n },\n // state.\n highlightedIndex: highlightedIndex,\n isOpen: isOpen,\n selectedItem: selectedItem,\n inputValue: inputValue\n };\n}\n\nvar InputKeyDownArrowDown = process.env.NODE_ENV !== \"production\" ? '__input_keydown_arrow_down__' : 0;\nvar InputKeyDownArrowUp = process.env.NODE_ENV !== \"production\" ? '__input_keydown_arrow_up__' : 1;\nvar InputKeyDownEscape = process.env.NODE_ENV !== \"production\" ? '__input_keydown_escape__' : 2;\nvar InputKeyDownHome = process.env.NODE_ENV !== \"production\" ? '__input_keydown_home__' : 3;\nvar InputKeyDownEnd = process.env.NODE_ENV !== \"production\" ? '__input_keydown_end__' : 4;\nvar InputKeyDownEnter = process.env.NODE_ENV !== \"production\" ? '__input_keydown_enter__' : 5;\nvar InputChange = process.env.NODE_ENV !== \"production\" ? '__input_change__' : 6;\nvar InputBlur = process.env.NODE_ENV !== \"production\" ? '__input_blur__' : 7;\nvar MenuMouseLeave$1 = process.env.NODE_ENV !== \"production\" ? '__menu_mouse_leave__' : 8;\nvar ItemMouseMove$1 = process.env.NODE_ENV !== \"production\" ? '__item_mouse_move__' : 9;\nvar ItemClick$1 = process.env.NODE_ENV !== \"production\" ? '__item_click__' : 10;\nvar ToggleButtonClick$1 = process.env.NODE_ENV !== \"production\" ? '__togglebutton_click__' : 11;\nvar FunctionToggleMenu$1 = process.env.NODE_ENV !== \"production\" ? '__function_toggle_menu__' : 12;\nvar FunctionOpenMenu$1 = process.env.NODE_ENV !== \"production\" ? '__function_open_menu__' : 13;\nvar FunctionCloseMenu$1 = process.env.NODE_ENV !== \"production\" ? '__function_close_menu__' : 14;\nvar FunctionSetHighlightedIndex$1 = process.env.NODE_ENV !== \"production\" ? '__function_set_highlighted_index__' : 15;\nvar FunctionSelectItem$1 = process.env.NODE_ENV !== \"production\" ? '__function_select_item__' : 16;\nvar FunctionSetInputValue$1 = process.env.NODE_ENV !== \"production\" ? '__function_set_input_value__' : 17;\nvar FunctionReset$1 = process.env.NODE_ENV !== \"production\" ? '__function_reset__' : 18;\nvar ControlledPropUpdatedSelectedItem = process.env.NODE_ENV !== \"production\" ? '__controlled_prop_updated_selected_item__' : 19;\nvar stateChangeTypes$2 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n InputKeyDownArrowDown: InputKeyDownArrowDown,\n InputKeyDownArrowUp: InputKeyDownArrowUp,\n InputKeyDownEscape: InputKeyDownEscape,\n InputKeyDownHome: InputKeyDownHome,\n InputKeyDownEnd: InputKeyDownEnd,\n InputKeyDownEnter: InputKeyDownEnter,\n InputChange: InputChange,\n InputBlur: InputBlur,\n MenuMouseLeave: MenuMouseLeave$1,\n ItemMouseMove: ItemMouseMove$1,\n ItemClick: ItemClick$1,\n ToggleButtonClick: ToggleButtonClick$1,\n FunctionToggleMenu: FunctionToggleMenu$1,\n FunctionOpenMenu: FunctionOpenMenu$1,\n FunctionCloseMenu: FunctionCloseMenu$1,\n FunctionSetHighlightedIndex: FunctionSetHighlightedIndex$1,\n FunctionSelectItem: FunctionSelectItem$1,\n FunctionSetInputValue: FunctionSetInputValue$1,\n FunctionReset: FunctionReset$1,\n ControlledPropUpdatedSelectedItem: ControlledPropUpdatedSelectedItem\n});\n\nfunction getElementIds$1(_ref) {\n var id = _ref.id,\n inputId = _ref.inputId,\n rest = _objectWithoutPropertiesLoose(_ref, [\"id\", \"inputId\"]);\n\n var uniqueId = id === undefined ? \"downshift-\" + generateId() : id;\n return _extends({\n inputId: inputId || uniqueId + \"-input\"\n }, getElementIds(_extends({\n id: id\n }, rest)));\n}\n\nfunction getInitialState$1(props) {\n var initialState = getInitialState(props);\n var selectedItem = initialState.selectedItem;\n var inputValue = initialState.inputValue;\n\n if (inputValue === '' && selectedItem && props.defaultInputValue === undefined && props.initialInputValue === undefined && props.inputValue === undefined) {\n inputValue = props.itemToString(selectedItem);\n }\n\n return _extends({}, initialState, {\n inputValue: inputValue\n });\n}\n\nvar propTypes$1 = {\n items: PropTypes.array.isRequired,\n itemToString: PropTypes.func,\n getA11yStatusMessage: PropTypes.func,\n getA11ySelectionMessage: PropTypes.func,\n circularNavigation: PropTypes.bool,\n highlightedIndex: PropTypes.number,\n defaultHighlightedIndex: PropTypes.number,\n initialHighlightedIndex: PropTypes.number,\n isOpen: PropTypes.bool,\n defaultIsOpen: PropTypes.bool,\n initialIsOpen: PropTypes.bool,\n selectedItem: PropTypes.any,\n initialSelectedItem: PropTypes.any,\n defaultSelectedItem: PropTypes.any,\n inputValue: PropTypes.string,\n defaultInputValue: PropTypes.string,\n initialInputValue: PropTypes.string,\n id: PropTypes.string,\n labelId: PropTypes.string,\n menuId: PropTypes.string,\n getItemId: PropTypes.func,\n inputId: PropTypes.string,\n toggleButtonId: PropTypes.string,\n stateReducer: PropTypes.func,\n onSelectedItemChange: PropTypes.func,\n onHighlightedIndexChange: PropTypes.func,\n onStateChange: PropTypes.func,\n onIsOpenChange: PropTypes.func,\n onInputValueChange: PropTypes.func,\n environment: PropTypes.shape({\n addEventListener: PropTypes.func,\n removeEventListener: PropTypes.func,\n document: PropTypes.shape({\n getElementById: PropTypes.func,\n activeElement: PropTypes.any,\n body: PropTypes.any\n })\n })\n};\n/**\n * The useCombobox version of useControlledState, which also\n * checks if the controlled prop selectedItem changed between\n * renders. If so, it will also update inputValue with its\n * string equivalent. It uses the common useControlledState to\n * compute the rest of the state.\n *\n * @param {Function} reducer Reducer function from downshift.\n * @param {Object} initialState Initial state of the hook.\n * @param {Object} props The hook props.\n * @returns {Array} An array with the state and an action dispatcher.\n */\n\nfunction useControlledState$1(reducer, initialState, props) {\n var _useControlledStateCo = useControlledState(reducer, initialState, props),\n newState = _useControlledStateCo[0],\n dispatch = _useControlledStateCo[1];\n\n var previousSelectedItemRef = useRef(null);\n var selectedItem = props.selectedItem,\n itemToString = props.itemToString; // ToDo: if needed, make same approach as selectedItemChanged from Downshift.\n\n if (isControlledProp(props, 'selectedItem') && previousSelectedItemRef.current !== selectedItem) {\n dispatch({\n type: ControlledPropUpdatedSelectedItem,\n inputValue: itemToString(selectedItem)\n });\n }\n\n previousSelectedItemRef.current = selectedItem;\n return [newState, dispatch];\n}\n\nvar defaultProps$2 = _extends({}, defaultProps, {\n getA11yStatusMessage: getA11yStatusMessage,\n circularNavigation: true\n});\n/* eslint-disable complexity */\n\n\nfunction downshiftUseComboboxReducer(state, action) {\n var type = action.type,\n props = action.props,\n shiftKey = action.shiftKey;\n var changes;\n\n switch (type) {\n case ItemMouseMove$1:\n changes = {\n highlightedIndex: action.index\n };\n break;\n\n case ItemClick$1:\n changes = {\n isOpen: getDefaultValue(props, 'isOpen'),\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n selectedItem: props.items[action.index],\n inputValue: props.itemToString(props.items[action.index])\n };\n break;\n\n case InputKeyDownArrowDown:\n if (state.isOpen) {\n changes = {\n highlightedIndex: getNextWrappingIndex(shiftKey ? 5 : 1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n };\n } else {\n changes = {\n highlightedIndex: getHighlightedIndexOnOpen(props, state, 1, action.getItemNodeFromIndex),\n isOpen: true\n };\n }\n\n break;\n\n case InputKeyDownArrowUp:\n if (state.isOpen) {\n changes = {\n highlightedIndex: getNextWrappingIndex(shiftKey ? -5 : -1, state.highlightedIndex, props.items.length, action.getItemNodeFromIndex, props.circularNavigation)\n };\n } else {\n changes = {\n highlightedIndex: getHighlightedIndexOnOpen(props, state, -1, action.getItemNodeFromIndex),\n isOpen: true\n };\n }\n\n break;\n\n case InputKeyDownEnter:\n changes = _extends({}, state.highlightedIndex >= 0 && {\n selectedItem: props.items[state.highlightedIndex],\n isOpen: getDefaultValue(props, 'isOpen'),\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n inputValue: props.itemToString(props.items[state.highlightedIndex])\n });\n break;\n\n case InputKeyDownEscape:\n changes = {\n isOpen: false,\n selectedItem: null,\n highlightedIndex: -1,\n inputValue: ''\n };\n break;\n\n case InputKeyDownHome:\n changes = {\n highlightedIndex: getNextNonDisabledIndex(1, 0, props.items.length, action.getItemNodeFromIndex, false)\n };\n break;\n\n case InputKeyDownEnd:\n changes = {\n highlightedIndex: getNextNonDisabledIndex(-1, props.items.length - 1, props.items.length, action.getItemNodeFromIndex, false)\n };\n break;\n\n case InputBlur:\n changes = _extends({\n isOpen: false\n }, state.highlightedIndex >= 0 && {\n selectedItem: props.items[state.highlightedIndex],\n inputValue: props.itemToString(props.items[state.highlightedIndex]),\n highlightedIndex: -1\n });\n break;\n\n case InputChange:\n changes = {\n isOpen: true,\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n inputValue: action.inputValue\n };\n break;\n\n case MenuMouseLeave$1:\n changes = {\n highlightedIndex: -1\n };\n break;\n\n case ToggleButtonClick$1:\n case FunctionToggleMenu$1:\n changes = {\n isOpen: !state.isOpen,\n highlightedIndex: state.isOpen ? -1 : getHighlightedIndexOnOpen(props, state, 0)\n };\n break;\n\n case FunctionOpenMenu$1:\n changes = {\n isOpen: true,\n highlightedIndex: getHighlightedIndexOnOpen(props, state, 0)\n };\n break;\n\n case FunctionCloseMenu$1:\n changes = {\n isOpen: false\n };\n break;\n\n case FunctionSetHighlightedIndex$1:\n changes = {\n highlightedIndex: action.highlightedIndex\n };\n break;\n\n case FunctionSelectItem$1:\n changes = {\n selectedItem: action.selectedItem\n };\n break;\n\n case ControlledPropUpdatedSelectedItem:\n case FunctionSetInputValue$1:\n changes = {\n inputValue: action.inputValue\n };\n break;\n\n case FunctionReset$1:\n changes = {\n highlightedIndex: getDefaultValue(props, 'highlightedIndex'),\n isOpen: getDefaultValue(props, 'isOpen'),\n selectedItem: getDefaultValue(props, 'selectedItem'),\n inputValue: getDefaultValue(props, 'inputValue')\n };\n break;\n\n default:\n throw new Error('Reducer called without proper action type.');\n }\n\n return _extends({}, state, {}, changes);\n}\n/* eslint-enable complexity */\n\n\nvar validatePropTypes$1 = process.env.NODE_ENV === 'production' ?\n/* istanbul ignore next */\nnull : getPropTypesValidator(useCombobox, propTypes$1);\nuseCombobox.stateChangeTypes = stateChangeTypes$2;\n\nfunction useCombobox(userProps) {\n if (userProps === void 0) {\n userProps = {};\n }\n /* istanbul ignore else */\n\n\n if (process.env.NODE_ENV !== 'production') {\n validatePropTypes$1(userProps);\n } // Props defaults and destructuring.\n\n\n var props = _extends({}, defaultProps$2, {}, userProps);\n\n var initialIsOpen = props.initialIsOpen,\n defaultIsOpen = props.defaultIsOpen,\n items = props.items,\n scrollIntoView = props.scrollIntoView,\n environment = props.environment,\n getA11yStatusMessage = props.getA11yStatusMessage,\n getA11ySelectionMessage = props.getA11ySelectionMessage,\n itemToString = props.itemToString; // Initial state depending on controlled props.\n\n var initialState = getInitialState$1(props); // Reducer init.\n\n var _useControlledState = useControlledState$1(downshiftUseComboboxReducer, initialState, props),\n _useControlledState$ = _useControlledState[0],\n isOpen = _useControlledState$.isOpen,\n highlightedIndex = _useControlledState$.highlightedIndex,\n selectedItem = _useControlledState$.selectedItem,\n inputValue = _useControlledState$.inputValue,\n dispatch = _useControlledState[1];\n /* Refs */\n\n\n var menuRef = useRef(null);\n var itemRefs = useRef();\n var inputRef = useRef(null);\n var toggleButtonRef = useRef(null);\n var comboboxRef = useRef(null);\n itemRefs.current = [];\n var shouldScroll = useRef(true);\n var isInitialMount = useRef(true);\n var mouseAndTouchTrackers = useRef({\n isMouseDown: false,\n isTouchMove: false\n });\n var elementIds = useRef(getElementIds$1(props));\n var previousResultCountRef = useRef();\n /* Effects */\n\n /* Sets a11y status message on changes in state. */\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n var previousResultCount = previousResultCountRef.current;\n updateA11yStatus(function () {\n return getA11yStatusMessage({\n isOpen: isOpen,\n highlightedIndex: highlightedIndex,\n selectedItem: selectedItem,\n inputValue: inputValue,\n highlightedItem: items[highlightedIndex],\n resultCount: items.length,\n itemToString: itemToString,\n previousResultCount: previousResultCount\n });\n }, environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen, highlightedIndex, selectedItem, inputValue]);\n /* Sets a11y status message on changes in selectedItem. */\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n var previousResultCount = previousResultCountRef.current;\n updateA11yStatus(function () {\n return getA11ySelectionMessage({\n isOpen: isOpen,\n highlightedIndex: highlightedIndex,\n selectedItem: selectedItem,\n inputValue: inputValue,\n highlightedItem: items[highlightedIndex],\n resultCount: items.length,\n itemToString: itemToString,\n previousResultCount: previousResultCount\n });\n }, environment.document); // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedItem]);\n /* Scroll on highlighted item if change comes from keyboard. */\n\n useEffect(function () {\n if (highlightedIndex < 0 || !isOpen || !itemRefs.current.length) {\n return;\n }\n\n if (shouldScroll.current === false) {\n shouldScroll.current = true;\n } else {\n scrollIntoView(itemRefs.current[highlightedIndex], menuRef.current);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, [highlightedIndex]);\n /* Controls the focus on the menu or the toggle button. */\n\n useEffect(function () {\n // Don't focus menu on first render.\n if (isInitialMount.current) {\n // Unless it was initialised as open.\n if (initialIsOpen || defaultIsOpen || isOpen) {\n if (inputRef.current) {\n inputRef.current.focus();\n }\n }\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, [isOpen]);\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n previousResultCountRef.current = items.length;\n });\n useEffect(function () {\n isInitialMount.current = false;\n }, []);\n /* Add mouse/touch events to document. */\n\n useEffect(function () {\n // The same strategy for checking if a click occurred inside or outside downsift\n // as in downshift.js.\n var onMouseDown = function onMouseDown() {\n mouseAndTouchTrackers.current.isMouseDown = true;\n };\n\n var onMouseUp = function onMouseUp(event) {\n mouseAndTouchTrackers.current.isMouseDown = false;\n\n if (isOpen && !targetWithinDownshift(event.target, [comboboxRef.current, menuRef.current, toggleButtonRef.current], environment.document)) {\n dispatch({\n type: InputBlur\n });\n }\n };\n\n var onTouchStart = function onTouchStart() {\n mouseAndTouchTrackers.current.isTouchMove = false;\n };\n\n var onTouchMove = function onTouchMove() {\n mouseAndTouchTrackers.current.isTouchMove = true;\n };\n\n var onTouchEnd = function onTouchEnd(event) {\n if (isOpen && !mouseAndTouchTrackers.current.isTouchMove && !targetWithinDownshift(event.target, [comboboxRef.current, menuRef.current, toggleButtonRef.current], environment.document, false)) {\n dispatch({\n type: InputBlur\n });\n }\n };\n\n environment.addEventListener('mousedown', onMouseDown);\n environment.addEventListener('mouseup', onMouseUp);\n environment.addEventListener('touchstart', onTouchStart);\n environment.addEventListener('touchmove', onTouchMove);\n environment.addEventListener('touchend', onTouchEnd);\n return function () {\n environment.removeEventListener('mousedown', onMouseDown);\n environment.removeEventListener('mouseup', onMouseUp);\n environment.removeEventListener('touchstart', onTouchStart);\n environment.removeEventListener('touchmove', onTouchMove);\n environment.removeEventListener('touchend', onTouchEnd);\n };\n });\n\n var getItemNodeFromIndex = function getItemNodeFromIndex(index) {\n return itemRefs.current[index];\n };\n /* Event handler functions */\n\n\n var inputKeyDownHandlers = {\n ArrowDown: function ArrowDown(event) {\n event.preventDefault();\n dispatch({\n type: InputKeyDownArrowDown,\n shiftKey: event.shiftKey,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n },\n ArrowUp: function ArrowUp(event) {\n event.preventDefault();\n dispatch({\n type: InputKeyDownArrowUp,\n shiftKey: event.shiftKey,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n },\n Home: function Home(event) {\n event.preventDefault();\n dispatch({\n type: InputKeyDownHome,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n },\n End: function End(event) {\n event.preventDefault();\n dispatch({\n type: InputKeyDownEnd,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n },\n Escape: function Escape() {\n dispatch({\n type: InputKeyDownEscape\n });\n },\n Enter: function Enter(event) {\n // if IME composing, wait for next Enter keydown event.\n if (event.which === 229) {\n return;\n }\n\n event.preventDefault();\n dispatch({\n type: InputKeyDownEnter,\n getItemNodeFromIndex: getItemNodeFromIndex\n });\n }\n }; // Event handlers.\n\n var inputHandleKeyDown = function inputHandleKeyDown(event) {\n var key = normalizeArrowKey(event);\n\n if (key && inputKeyDownHandlers[key]) {\n inputKeyDownHandlers[key](event);\n }\n };\n\n var inputHandleChange = function inputHandleChange(event) {\n dispatch({\n type: InputChange,\n inputValue: event.target.value\n });\n };\n\n var inputHandleBlur = function inputHandleBlur() {\n /* istanbul ignore else */\n if (!mouseAndTouchTrackers.current.isMouseDown) {\n dispatch({\n type: InputBlur\n });\n }\n };\n\n var menuHandleMouseLeave = function menuHandleMouseLeave() {\n dispatch({\n type: MenuMouseLeave$1\n });\n };\n\n var itemHandleMouseMove = function itemHandleMouseMove(index) {\n if (index === highlightedIndex) {\n return;\n }\n\n shouldScroll.current = false;\n dispatch({\n type: ItemMouseMove$1,\n index: index\n });\n };\n\n var itemHandleClick = function itemHandleClick(index) {\n dispatch({\n type: ItemClick$1,\n index: index\n });\n };\n\n var toggleButtonHandleClick = function toggleButtonHandleClick() {\n dispatch({\n type: ToggleButtonClick$1\n });\n\n if (!isOpen && inputRef.current) {\n inputRef.current.focus();\n }\n }; // Getter props.\n\n\n return {\n // prop getters.\n getItemProps: function getItemProps(_temp2) {\n var _extends3, _ref3;\n\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n item = _ref2.item,\n index = _ref2.index,\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n ref = _ref2.ref,\n onMouseMove = _ref2.onMouseMove,\n onClick = _ref2.onClick,\n onPress = _ref2.onPress,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"item\", \"index\", \"refKey\", \"ref\", \"onMouseMove\", \"onClick\", \"onPress\"]);\n\n var itemIndex = getItemIndex(index, item, items);\n\n if (itemIndex < 0) {\n throw new Error('Pass either item or item index in getItemProps!');\n }\n\n var onSelectKey = 'onClick';\n var customClickHandler = onClick;\n return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (itemNode) {\n if (itemNode) {\n itemRefs.current.push(itemNode);\n }\n }), _extends3.role = 'option', _extends3['aria-selected'] = \"\" + (itemIndex === highlightedIndex), _extends3.id = elementIds.current.getItemId(itemIndex), _extends3), !rest.disabled && (_ref3 = {\n onMouseMove: callAllEventHandlers(onMouseMove, function () {\n itemHandleMouseMove(itemIndex);\n })\n }, _ref3[onSelectKey] = callAllEventHandlers(customClickHandler, function () {\n itemHandleClick(itemIndex);\n }), _ref3), {}, rest);\n },\n getLabelProps: function getLabelProps(labelProps) {\n return _extends({\n id: elementIds.current.labelId,\n htmlFor: elementIds.current.inputId\n }, labelProps);\n },\n getMenuProps: function getMenuProps(_temp) {\n var _extends2;\n\n var _ref = _temp === void 0 ? {} : _temp,\n onMouseLeave = _ref.onMouseLeave,\n _ref$refKey = _ref.refKey,\n refKey = _ref$refKey === void 0 ? 'ref' : _ref$refKey,\n ref = _ref.ref,\n rest = _objectWithoutPropertiesLoose(_ref, [\"onMouseLeave\", \"refKey\", \"ref\"]);\n\n return _extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (menuNode) {\n menuRef.current = menuNode;\n }), _extends2.id = elementIds.current.menuId, _extends2.role = 'listbox', _extends2['aria-labelledby'] = elementIds.current.labelId, _extends2.onMouseLeave = callAllEventHandlers(onMouseLeave, menuHandleMouseLeave), _extends2), rest);\n },\n getInputProps: function getInputProps(_temp4) {\n var _extends5;\n\n var _ref5 = _temp4 === void 0 ? {} : _temp4,\n onKeyDown = _ref5.onKeyDown,\n onChange = _ref5.onChange,\n onInput = _ref5.onInput,\n onBlur = _ref5.onBlur,\n onChangeText = _ref5.onChangeText,\n _ref5$refKey = _ref5.refKey,\n refKey = _ref5$refKey === void 0 ? 'ref' : _ref5$refKey,\n ref = _ref5.ref,\n rest = _objectWithoutPropertiesLoose(_ref5, [\"onKeyDown\", \"onChange\", \"onInput\", \"onBlur\", \"onChangeText\", \"refKey\", \"ref\"]);\n /* istanbul ignore next (preact) */\n\n\n var onChangeKey = 'onChange';\n var eventHandlers = {};\n\n if (!rest.disabled) {\n var _eventHandlers;\n\n eventHandlers = (_eventHandlers = {}, _eventHandlers[onChangeKey] = callAllEventHandlers(onChange, onInput, inputHandleChange), _eventHandlers.onKeyDown = callAllEventHandlers(onKeyDown, inputHandleKeyDown), _eventHandlers.onBlur = callAllEventHandlers(onBlur, inputHandleBlur), _eventHandlers);\n }\n /* istanbul ignore if (react-native) */\n\n\n return _extends((_extends5 = {}, _extends5[refKey] = handleRefs(ref, function (inputNode) {\n inputRef.current = inputNode;\n }), _extends5.id = elementIds.current.inputId, _extends5['aria-autocomplete'] = 'list', _extends5['aria-controls'] = elementIds.current.menuId, _extends5), isOpen && highlightedIndex > -1 && {\n 'aria-activedescendant': elementIds.current.getItemId(highlightedIndex)\n }, {\n 'aria-labelledby': elementIds.current.labelId,\n // https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion\n // revert back since autocomplete=\"nope\" is ignored on latest Chrome and Opera\n autoComplete: 'off',\n value: inputValue\n }, eventHandlers, {}, rest);\n },\n getComboboxProps: function getComboboxProps(_temp5) {\n var _extends6;\n\n var _ref6 = _temp5 === void 0 ? {} : _temp5,\n _ref6$refKey = _ref6.refKey,\n refKey = _ref6$refKey === void 0 ? 'ref' : _ref6$refKey,\n ref = _ref6.ref,\n rest = _objectWithoutPropertiesLoose(_ref6, [\"refKey\", \"ref\"]);\n\n return _extends((_extends6 = {}, _extends6[refKey] = handleRefs(ref, function (comboboxNode) {\n comboboxRef.current = comboboxNode;\n }), _extends6.role = 'combobox', _extends6['aria-haspopup'] = 'listbox', _extends6['aria-owns'] = elementIds.current.menuId, _extends6['aria-expanded'] = isOpen, _extends6), rest);\n },\n getToggleButtonProps: function getToggleButtonProps(_temp3) {\n var _extends4;\n\n var _ref4 = _temp3 === void 0 ? {} : _temp3,\n onClick = _ref4.onClick,\n onPress = _ref4.onPress,\n _ref4$refKey = _ref4.refKey,\n refKey = _ref4$refKey === void 0 ? 'ref' : _ref4$refKey,\n ref = _ref4.ref,\n rest = _objectWithoutPropertiesLoose(_ref4, [\"onClick\", \"onPress\", \"refKey\", \"ref\"]);\n\n return _extends((_extends4 = {}, _extends4[refKey] = handleRefs(ref, function (toggleButtonNode) {\n toggleButtonRef.current = toggleButtonNode;\n }), _extends4.id = elementIds.current.toggleButtonId, _extends4.tabIndex = -1, _extends4), !rest.disabled && _extends({}, {\n onClick: callAllEventHandlers(onClick, toggleButtonHandleClick)\n }), {}, rest);\n },\n // actions.\n toggleMenu: function toggleMenu() {\n dispatch({\n type: FunctionToggleMenu$1\n });\n },\n openMenu: function openMenu() {\n dispatch({\n type: FunctionOpenMenu$1\n });\n },\n closeMenu: function closeMenu() {\n dispatch({\n type: FunctionCloseMenu$1\n });\n },\n setHighlightedIndex: function setHighlightedIndex(newHighlightedIndex) {\n dispatch({\n type: FunctionSetHighlightedIndex$1,\n highlightedIndex: newHighlightedIndex\n });\n },\n setInputValue: function setInputValue(newInputValue) {\n dispatch({\n type: FunctionSetInputValue$1,\n inputValue: newInputValue\n });\n },\n selectItem: function selectItem(newSelectedItem) {\n dispatch({\n type: FunctionSelectItem$1,\n selectedItem: newSelectedItem\n });\n },\n reset: function reset() {\n dispatch({\n type: FunctionReset$1\n });\n },\n // state.\n highlightedIndex: highlightedIndex,\n isOpen: isOpen,\n selectedItem: selectedItem,\n inputValue: inputValue\n };\n}\n\nvar defaultStateValues = {\n activeIndex: -1,\n selectedItems: []\n};\n/**\n * Returns the initial value for a state key in the following order:\n * 1. controlled prop, 2. initial prop, 3. default prop, 4. default\n * value from Downshift.\n *\n * @param {Object} props Props passed to the hook.\n * @param {string} propKey Props key to generate the value for.\n * @returns {any} The initial value for that prop.\n */\n\nfunction getInitialValue$1(props, propKey) {\n return getInitialValue(props, propKey, defaultStateValues);\n}\n/**\n * Returns the default value for a state key in the following order:\n * 1. controlled prop, 2. default prop, 3. default value from Downshift.\n *\n * @param {Object} props Props passed to the hook.\n * @param {string} propKey Props key to generate the value for.\n * @returns {any} The initial value for that prop.\n */\n\n\nfunction getDefaultValue$1(props, propKey) {\n return getDefaultValue(props, propKey, defaultStateValues);\n}\n/**\n * Gets the initial state based on the provided props. It uses initial, default\n * and controlled props related to state in order to compute the initial value.\n *\n * @param {Object} props Props passed to the hook.\n * @returns {Object} The initial state.\n */\n\n\nfunction getInitialState$2(props) {\n var activeIndex = getInitialValue$1(props, 'activeIndex');\n var selectedItems = getInitialValue$1(props, 'selectedItems');\n return {\n activeIndex: activeIndex,\n selectedItems: selectedItems\n };\n}\n/**\n * Returns true if dropdown keydown operation is permitted. Should not be\n * allowed on keydown with modifier keys (ctrl, alt, shift, meta), on\n * input element with text content that is either highlighted or selection\n * cursor is not at the starting position.\n *\n * @param {KeyboardEvent} event The event from keydown.\n * @returns {boolean} Whether the operation is allowed.\n */\n\n\nfunction isKeyDownOperationPermitted(event) {\n if (event.shiftKey || event.metaKey || event.ctrlKey || event.altKey) {\n return false;\n }\n\n var element = event.target;\n\n if (element instanceof HTMLInputElement && // if element is a text input\n element.value !== '' && ( // and we have text in it\n // and cursor is either not at the start or is currently highlighting text.\n element.selectionStart !== 0 || element.selectionEnd !== 0)) {\n return false;\n }\n\n return true;\n}\n/**\n * Returns a message to be added to aria-live region when item is removed.\n *\n * @param {Object} selectionParameters Parameters required to build the message.\n * @returns {string} The a11y message.\n */\n\n\nfunction getA11yRemovalMessage(selectionParameters) {\n var removedSelectedItem = selectionParameters.removedSelectedItem,\n itemToStringLocal = selectionParameters.itemToString;\n return itemToStringLocal(removedSelectedItem) + \" has been removed.\";\n}\n\nvar propTypes$2 = {\n selectedItems: PropTypes.array,\n initialSelectedItems: PropTypes.array,\n defaultSelectedItems: PropTypes.array,\n itemToString: PropTypes.func,\n getA11yRemovalMessage: PropTypes.func,\n stateReducer: PropTypes.func,\n activeIndex: PropTypes.number,\n initialActiveIndex: PropTypes.number,\n defaultActiveIndex: PropTypes.number,\n onActiveIndexChange: PropTypes.func,\n onSelectedItemsChange: PropTypes.func,\n keyNavigationNext: PropTypes.string,\n keyNavigationPrevious: PropTypes.string,\n environment: PropTypes.shape({\n addEventListener: PropTypes.func,\n removeEventListener: PropTypes.func,\n document: PropTypes.shape({\n getElementById: PropTypes.func,\n activeElement: PropTypes.any,\n body: PropTypes.any\n })\n })\n};\nvar defaultProps$3 = {\n itemToString: defaultProps.itemToString,\n stateReducer: defaultProps.stateReducer,\n environment: defaultProps.environment,\n getA11yRemovalMessage: getA11yRemovalMessage,\n keyNavigationNext: 'ArrowRight',\n keyNavigationPrevious: 'ArrowLeft'\n};\nvar SelectedItemClick = process.env.NODE_ENV !== \"production\" ? '__selected_item_click__' : 0;\nvar SelectedItemKeyDownDelete = process.env.NODE_ENV !== \"production\" ? '__selected_item_keydown_delete__' : 1;\nvar SelectedItemKeyDownBackspace = process.env.NODE_ENV !== \"production\" ? '__selected_item_keydown_backspace__' : 2;\nvar SelectedItemKeyDownNavigationNext = process.env.NODE_ENV !== \"production\" ? '__selected_item_keydown_navigation_next__' : 3;\nvar SelectedItemKeyDownNavigationPrevious = process.env.NODE_ENV !== \"production\" ? '__selected_item_keydown_navigation_previous__' : 4;\nvar DropdownKeyDownNavigationPrevious = process.env.NODE_ENV !== \"production\" ? '__dropdown_keydown_navigation_previous__' : 5;\nvar DropdownKeyDownBackspace = process.env.NODE_ENV !== \"production\" ? '__dropdown_keydown_backspace__' : 6;\nvar DropdownClick = process.env.NODE_ENV !== \"production\" ? '__dropdown_click__' : 7;\nvar FunctionAddSelectedItem = process.env.NODE_ENV !== \"production\" ? '__function_add_selected_item__' : 8;\nvar FunctionRemoveSelectedItem = process.env.NODE_ENV !== \"production\" ? '__function_remove_selected_item__' : 9;\nvar FunctionSetSelectedItems = process.env.NODE_ENV !== \"production\" ? '__function_set_selected_items__' : 10;\nvar FunctionSetActiveIndex = process.env.NODE_ENV !== \"production\" ? '__function_set_active_index__' : 11;\nvar FunctionReset$2 = process.env.NODE_ENV !== \"production\" ? '__function_reset__' : 12;\nvar stateChangeTypes$3 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n SelectedItemClick: SelectedItemClick,\n SelectedItemKeyDownDelete: SelectedItemKeyDownDelete,\n SelectedItemKeyDownBackspace: SelectedItemKeyDownBackspace,\n SelectedItemKeyDownNavigationNext: SelectedItemKeyDownNavigationNext,\n SelectedItemKeyDownNavigationPrevious: SelectedItemKeyDownNavigationPrevious,\n DropdownKeyDownNavigationPrevious: DropdownKeyDownNavigationPrevious,\n DropdownKeyDownBackspace: DropdownKeyDownBackspace,\n DropdownClick: DropdownClick,\n FunctionAddSelectedItem: FunctionAddSelectedItem,\n FunctionRemoveSelectedItem: FunctionRemoveSelectedItem,\n FunctionSetSelectedItems: FunctionSetSelectedItems,\n FunctionSetActiveIndex: FunctionSetActiveIndex,\n FunctionReset: FunctionReset$2\n});\n/* eslint-disable complexity */\n\nfunction downshiftMultipleSelectionReducer(state, action) {\n var type = action.type,\n index = action.index,\n props = action.props,\n selectedItem = action.selectedItem;\n var activeIndex = state.activeIndex,\n selectedItems = state.selectedItems;\n var changes;\n\n switch (type) {\n case SelectedItemClick:\n changes = {\n activeIndex: index\n };\n break;\n\n case SelectedItemKeyDownNavigationPrevious:\n changes = {\n activeIndex: activeIndex - 1 < 0 ? 0 : activeIndex - 1\n };\n break;\n\n case SelectedItemKeyDownNavigationNext:\n changes = {\n activeIndex: activeIndex + 1 >= selectedItems.length ? -1 : activeIndex + 1\n };\n break;\n\n case SelectedItemKeyDownBackspace:\n case SelectedItemKeyDownDelete:\n {\n var newActiveIndex = activeIndex;\n\n if (selectedItems.length === 1) {\n newActiveIndex = -1;\n } else if (activeIndex === selectedItems.length - 1) {\n newActiveIndex = selectedItems.length - 2;\n }\n\n changes = _extends({\n selectedItems: [].concat(selectedItems.slice(0, activeIndex), selectedItems.slice(activeIndex + 1))\n }, {\n activeIndex: newActiveIndex\n });\n break;\n }\n\n case DropdownKeyDownNavigationPrevious:\n changes = {\n activeIndex: selectedItems.length - 1\n };\n break;\n\n case DropdownKeyDownBackspace:\n changes = {\n selectedItems: selectedItems.slice(0, selectedItems.length - 1)\n };\n break;\n\n case FunctionAddSelectedItem:\n changes = {\n selectedItems: [].concat(selectedItems, [selectedItem])\n };\n break;\n\n case DropdownClick:\n changes = {\n activeIndex: -1\n };\n break;\n\n case FunctionRemoveSelectedItem:\n {\n var _newActiveIndex = activeIndex;\n var selectedItemIndex = selectedItems.indexOf(selectedItem);\n\n if (selectedItems.length === 1) {\n _newActiveIndex = -1;\n } else if (selectedItemIndex === selectedItems.length - 1) {\n _newActiveIndex = selectedItems.length - 2;\n }\n\n changes = _extends({\n selectedItems: [].concat(selectedItems.slice(0, selectedItemIndex), selectedItems.slice(selectedItemIndex + 1))\n }, {\n activeIndex: _newActiveIndex\n });\n break;\n }\n\n case FunctionSetSelectedItems:\n {\n var newSelectedItems = action.selectedItems;\n changes = {\n selectedItems: newSelectedItems\n };\n break;\n }\n\n case FunctionSetActiveIndex:\n {\n var _newActiveIndex2 = action.activeIndex;\n changes = {\n activeIndex: _newActiveIndex2\n };\n break;\n }\n\n case FunctionReset$2:\n changes = {\n activeIndex: getDefaultValue$1(props, 'activeIndex'),\n selectedItems: getDefaultValue$1(props, 'selectedItems')\n };\n break;\n\n default:\n throw new Error('Reducer called without proper action type.');\n }\n\n return _extends({}, state, {}, changes);\n}\n\nuseMultipleSelection.stateChangeTypes = stateChangeTypes$3;\n\nfunction useMultipleSelection(userProps) {\n var _selectedItemKeyDownH, _dropdownKeyDownHandl;\n\n if (userProps === void 0) {\n userProps = {};\n } // Props defaults and destructuring.\n\n\n var props = _extends({}, defaultProps$3, {}, userProps);\n\n var getA11yRemovalMessage = props.getA11yRemovalMessage,\n itemToString = props.itemToString,\n environment = props.environment,\n keyNavigationNext = props.keyNavigationNext,\n keyNavigationPrevious = props.keyNavigationPrevious; // Reducer init.\n\n var _useControlledState = useControlledState(downshiftMultipleSelectionReducer, getInitialState$2(props), props),\n _useControlledState$ = _useControlledState[0],\n activeIndex = _useControlledState$.activeIndex,\n selectedItems = _useControlledState$.selectedItems,\n dispatch = _useControlledState[1]; // Refs.\n\n\n var isInitialMount = useRef(true);\n var dropdownRef = useRef(null);\n var previousSelectedItemsRef = useRef(selectedItems);\n var selectedItemRefs = useRef();\n selectedItemRefs.current = []; // Effects.\n\n /* Sets a11y status message on changes in selectedItem. */\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n if (selectedItems.length < previousSelectedItemsRef.current.length) {\n var removedSelectedItem = previousSelectedItemsRef.current.find(function (item) {\n return selectedItems.indexOf(item) < 0;\n });\n setStatus(getA11yRemovalMessage({\n itemToString: itemToString,\n resultCount: selectedItems.length,\n removedSelectedItem: removedSelectedItem,\n activeIndex: activeIndex,\n activeSelectedItem: selectedItems[activeIndex]\n }), environment.document);\n }\n\n previousSelectedItemsRef.current = selectedItems; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedItems.length]); // Sets focus on active item.\n\n useEffect(function () {\n if (isInitialMount.current) {\n return;\n }\n\n if (activeIndex === -1 && dropdownRef.current) {\n dropdownRef.current.focus();\n } else if (selectedItemRefs.current[activeIndex]) {\n selectedItemRefs.current[activeIndex].focus();\n }\n }, [activeIndex]); // Make initial ref false.\n\n useEffect(function () {\n isInitialMount.current = false;\n }, []); // Event handler functions.\n\n var selectedItemKeyDownHandlers = (_selectedItemKeyDownH = {}, _selectedItemKeyDownH[keyNavigationPrevious] = function () {\n dispatch({\n type: SelectedItemKeyDownNavigationPrevious\n });\n }, _selectedItemKeyDownH[keyNavigationNext] = function () {\n dispatch({\n type: SelectedItemKeyDownNavigationNext\n });\n }, _selectedItemKeyDownH.Delete = function Delete() {\n dispatch({\n type: SelectedItemKeyDownDelete\n });\n }, _selectedItemKeyDownH.Backspace = function Backspace() {\n dispatch({\n type: SelectedItemKeyDownBackspace\n });\n }, _selectedItemKeyDownH);\n var dropdownKeyDownHandlers = (_dropdownKeyDownHandl = {}, _dropdownKeyDownHandl[keyNavigationPrevious] = function (event) {\n if (isKeyDownOperationPermitted(event)) {\n dispatch({\n type: DropdownKeyDownNavigationPrevious\n });\n }\n }, _dropdownKeyDownHandl.Backspace = function Backspace(event) {\n if (isKeyDownOperationPermitted(event)) {\n dispatch({\n type: DropdownKeyDownBackspace\n });\n }\n }, _dropdownKeyDownHandl); // Event handlers.\n\n var selectedItemHandleClick = function selectedItemHandleClick(index) {\n dispatch({\n type: SelectedItemClick,\n index: index\n });\n };\n\n var selectedItemHandleKeyDown = function selectedItemHandleKeyDown(event) {\n var key = normalizeArrowKey(event);\n\n if (key && selectedItemKeyDownHandlers[key]) {\n selectedItemKeyDownHandlers[key](event);\n }\n };\n\n var dropdownHandleKeyDown = function dropdownHandleKeyDown(event) {\n var key = normalizeArrowKey(event);\n\n if (key && dropdownKeyDownHandlers[key]) {\n dropdownKeyDownHandlers[key](event);\n }\n };\n\n var dropdownHandleClick = function dropdownHandleClick() {\n dispatch({\n type: DropdownClick\n });\n }; // Getter props.\n\n\n return {\n getSelectedItemProps: function getSelectedItemProps(_temp) {\n var _extends2;\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$refKey = _ref.refKey,\n refKey = _ref$refKey === void 0 ? 'ref' : _ref$refKey,\n ref = _ref.ref,\n onClick = _ref.onClick,\n onKeyDown = _ref.onKeyDown,\n selectedItem = _ref.selectedItem,\n index = _ref.index,\n rest = _objectWithoutPropertiesLoose(_ref, [\"refKey\", \"ref\", \"onClick\", \"onKeyDown\", \"selectedItem\", \"index\"]);\n\n var itemIndex = getItemIndex(index, selectedItem, selectedItems);\n\n if (itemIndex < 0) {\n throw new Error('Pass either selectedItem or index in getSelectedItemProps!');\n }\n\n return _extends((_extends2 = {}, _extends2[refKey] = handleRefs(ref, function (selectedItemNode) {\n if (selectedItemNode) {\n selectedItemRefs.current.push(selectedItemNode);\n }\n }), _extends2.tabIndex = index === activeIndex ? 0 : -1, _extends2.onClick = callAllEventHandlers(onClick, function () {\n selectedItemHandleClick(index);\n }), _extends2.onKeyDown = callAllEventHandlers(onKeyDown, selectedItemHandleKeyDown), _extends2), rest);\n },\n getDropdownProps: function getDropdownProps(_temp2) {\n var _extends3;\n\n var _ref2 = _temp2 === void 0 ? {} : _temp2,\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n ref = _ref2.ref,\n onKeyDown = _ref2.onKeyDown,\n onClick = _ref2.onClick,\n _ref2$preventKeyActio = _ref2.preventKeyAction,\n preventKeyAction = _ref2$preventKeyActio === void 0 ? false : _ref2$preventKeyActio,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"refKey\", \"ref\", \"onKeyDown\", \"onClick\", \"preventKeyAction\"]);\n\n return _extends((_extends3 = {}, _extends3[refKey] = handleRefs(ref, function (dropdownNode) {\n if (dropdownNode) {\n dropdownRef.current = dropdownNode;\n }\n }), _extends3), !preventKeyAction && {\n onKeyDown: callAllEventHandlers(onKeyDown, dropdownHandleKeyDown),\n onClick: callAllEventHandlers(onClick, dropdownHandleClick)\n }, {}, rest);\n },\n addSelectedItem: function addSelectedItem(selectedItem) {\n dispatch({\n type: FunctionAddSelectedItem,\n selectedItem: selectedItem\n });\n },\n removeSelectedItem: function removeSelectedItem(selectedItem) {\n dispatch({\n type: FunctionRemoveSelectedItem,\n selectedItem: selectedItem\n });\n },\n setSelectedItems: function setSelectedItems(newSelectedItems) {\n dispatch({\n type: FunctionSetSelectedItems,\n selectedItems: newSelectedItems\n });\n },\n setActiveIndex: function setActiveIndex(newActiveIndex) {\n dispatch({\n type: FunctionSetActiveIndex,\n activeIndex: newActiveIndex\n });\n },\n reset: function reset() {\n dispatch({\n type: FunctionReset$2\n });\n },\n selectedItems: selectedItems,\n activeIndex: activeIndex\n };\n}\n\nexport default Downshift;\nexport { resetIdCounter, useCombobox, useMultipleSelection, useSelect };","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M13 24L4 15 5.414 13.586 13 21.171 26.586 7.586 28 9 13 24z\"\n});\n\nvar Checkmark16 = /*#__PURE__*/React.forwardRef(function Checkmark16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Checkmark16;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M8,1C4.2,1,1,4.2,1,8s3.2,7,7,7s7-3.1,7-7S11.9,1,8,1z M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2\\tc-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8c0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M7.5,4h1v5h-1C7.5,9,7.5,4,7.5,4z M8,12.2c-0.4,0-0.8-0.4-0.8-0.8s0.3-0.8,0.8-0.8\\tc0.4,0,0.8,0.4,0.8,0.8S8.4,12.2,8,12.2z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n});\n\nvar WarningFilled16 = /*#__PURE__*/React.forwardRef(function WarningFilled16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, _ref3, children);\n});\nexport default WarningFilled16;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport PropTypes from 'prop-types';\nexport var ListBoxType = PropTypes.oneOf(['default', 'inline']);\nexport var ListBoxSize = PropTypes.oneOf(['sm', 'xl']);","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport cx from 'classnames';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { ListBoxType, ListBoxSize } from './ListBoxPropTypes';\nvar prefix = settings.prefix;\n\nvar handleOnKeyDown = function handleOnKeyDown(event) {\n if (event.keyCode === 27) {\n event.stopPropagation();\n }\n};\n\nvar handleClick = function handleClick(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n/**\n * `ListBox` is a generic container component that handles creating the\n * container class name in response to certain props.\n */\n\n\nvar ListBox = /*#__PURE__*/React.forwardRef(function ListBox(_ref, ref) {\n var _cx;\n\n var children = _ref.children,\n containerClassName = _ref.className,\n disabled = _ref.disabled,\n type = _ref.type,\n size = _ref.size,\n invalid = _ref.invalid,\n invalidText = _ref.invalidText,\n warn = _ref.warn,\n warnText = _ref.warnText,\n light = _ref.light,\n isOpen = _ref.isOpen,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"disabled\", \"type\", \"size\", \"invalid\", \"invalidText\", \"warn\", \"warnText\", \"light\", \"isOpen\"]);\n\n var showWarning = !invalid && warn;\n var className = cx((_cx = {}, _defineProperty(_cx, containerClassName, !!containerClassName), _defineProperty(_cx, \"\".concat(prefix, \"--list-box\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--list-box--\").concat(size), size), _defineProperty(_cx, \"\".concat(prefix, \"--list-box--inline\"), type === 'inline'), _defineProperty(_cx, \"\".concat(prefix, \"--list-box--disabled\"), disabled), _defineProperty(_cx, \"\".concat(prefix, \"--list-box--light\"), light), _defineProperty(_cx, \"\".concat(prefix, \"--list-box--expanded\"), isOpen), _defineProperty(_cx, \"\".concat(prefix, \"--list-box--warning\"), showWarning), _cx));\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", _extends({}, rest, {\n className: className,\n ref: ref,\n onKeyDown: handleOnKeyDown,\n onClick: handleClick,\n \"data-invalid\": invalid || undefined\n }), children), invalid ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--form-requirement\")\n }, invalidText) : null, showWarning ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--form-requirement\")\n }, warnText) : null);\n});\nListBox.displayName = 'ListBox';\nListBox.defaultProps = {\n disabled: false,\n type: 'default'\n};\nexport default ListBox;","function _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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix; // No longer used, left export for backward-compatibility\n\nexport var translationIds = {};\n/**\n * `ListBoxField` is responsible for creating the containing node for valid\n * elements inside of a field. It also provides a11y-related attributes like\n * `role` to make sure a user can focus the given field.\n */\n\nfunction ListBoxField(_ref) {\n var children = _ref.children,\n disabled = _ref.disabled,\n tabIndex = _ref.tabIndex,\n rest = _objectWithoutProperties(_ref, [\"children\", \"disabled\", \"tabIndex\"]);\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"\".concat(prefix, \"--list-box__field\"),\n tabIndex: !disabled && tabIndex || -1\n }, rest), children);\n}\n\nexport default ListBoxField;","function _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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport ListBoxMenuItem from './ListBoxMenuItem';\nvar prefix = settings.prefix;\n/**\n * `ListBoxMenu` is a simple container node that isolates the `list-box__menu`\n * class into a single component. It is also being used to validate given\n * `children` components.\n */\n\nvar ListBoxMenu = /*#__PURE__*/React.forwardRef(function ListBoxMenu(_ref, ref) {\n var children = _ref.children,\n id = _ref.id,\n rest = _objectWithoutProperties(_ref, [\"children\", \"id\"]);\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n id: id,\n className: \"\".concat(prefix, \"--list-box__menu\"),\n role: \"listbox\"\n }, rest), children);\n});\nListBoxMenu.displayName = 'ListBoxMenu';\nexport default ListBoxMenu;","var _defaultTranslations;\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport cx from 'classnames';\nimport React from 'react';\nimport ChevronDown16 from '@carbon/icons-react/es/chevron--down/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\nexport var translationIds = {\n 'close.menu': 'close.menu',\n 'open.menu': 'open.menu'\n};\nvar defaultTranslations = (_defaultTranslations = {}, _defineProperty(_defaultTranslations, translationIds['close.menu'], 'Close menu'), _defineProperty(_defaultTranslations, translationIds['open.menu'], 'Open menu'), _defaultTranslations);\n/**\n * `ListBoxMenuIcon` is used to orient the icon up or down depending on the\n * state of the menu for a given `ListBox`\n */\n\nvar ListBoxMenuIcon = function ListBoxMenuIcon(_ref) {\n var isOpen = _ref.isOpen,\n t = _ref.translateWithId;\n var className = cx(\"\".concat(prefix, \"--list-box__menu-icon\"), _defineProperty({}, \"\".concat(prefix, \"--list-box__menu-icon--open\"), isOpen));\n var description = isOpen ? t('close.menu') : t('open.menu');\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React.createElement(ChevronDown16, {\n name: \"chevron--down\",\n \"aria-label\": description\n }, /*#__PURE__*/React.createElement(\"title\", null, description)));\n};\n\nListBoxMenuIcon.defaultProps = {\n translateWithId: function translateWithId(id) {\n return defaultTranslations[id];\n }\n};\nexport default ListBoxMenuIcon;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"\n});\n\nvar ChevronDown16 = /*#__PURE__*/React.forwardRef(function ChevronDown16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ChevronDown16;","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport cx from 'classnames';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * `ListBoxMenuItem` is a helper component for managing the container class\n * name, alongside any classes for any corresponding states, for a generic list\n * box menu item.\n */\n\nvar ListBoxMenuItem = function ListBoxMenuItem(_ref) {\n var _cx;\n\n var children = _ref.children,\n isActive = _ref.isActive,\n isHighlighted = _ref.isHighlighted,\n rest = _objectWithoutProperties(_ref, [\"children\", \"isActive\", \"isHighlighted\"]);\n\n var className = cx((_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--list-box__menu-item\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--list-box__menu-item--active\"), isActive), _defineProperty(_cx, \"\".concat(prefix, \"--list-box__menu-item--highlighted\"), isHighlighted), _cx));\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: className\n }, rest), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--list-box__menu-item__option\")\n }, children));\n};\n\nListBoxMenuItem.defaultProps = {\n isActive: false,\n isHighlighted: false\n};\nexport default ListBoxMenuItem;","var _defaultTranslations;\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport cx from 'classnames';\nimport React from 'react';\nimport Close16 from '@carbon/icons-react/es/close/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { match, keys } from '../../internal/keyboard';\nvar prefix = settings.prefix;\n/**\n * `ListBoxSelection` is used to provide controls for clearing a selection, in\n * addition to conditionally rendering a badge if the control has more than one\n * selection.\n */\n\nvar ListBoxSelection = function ListBoxSelection(_ref) {\n var _cx;\n\n var clearSelection = _ref.clearSelection,\n selectionCount = _ref.selectionCount,\n t = _ref.translateWithId,\n disabled = _ref.disabled,\n onClearSelection = _ref.onClearSelection;\n var className = cx(\"\".concat(prefix, \"--list-box__selection\"), (_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--tag--filter\"), selectionCount), _defineProperty(_cx, \"\".concat(prefix, \"--list-box__selection--multi\"), selectionCount), _cx));\n\n var handleOnClick = function handleOnClick(event) {\n event.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n clearSelection(event);\n\n if (onClearSelection) {\n onClearSelection(event);\n }\n };\n\n var handleOnKeyDown = function handleOnKeyDown(event) {\n event.stopPropagation();\n\n if (disabled) {\n return;\n } // When a user hits ENTER, we'll clear the selection\n\n\n if (match(event, keys.Enter)) {\n clearSelection(event);\n\n if (onClearSelection) {\n onClearSelection(event);\n }\n }\n };\n\n var description = selectionCount ? t('clear.all') : t('clear.selection');\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"button\",\n className: className,\n tabIndex: disabled ? -1 : 0,\n onClick: handleOnClick,\n onKeyDown: handleOnKeyDown,\n \"aria-label\": \"Clear Selection\",\n title: description\n }, selectionCount, /*#__PURE__*/React.createElement(Close16, null));\n};\n\nexport var translationIds = {\n 'clear.all': 'clear.all',\n 'clear.selection': 'clear.selection'\n};\nvar defaultTranslations = (_defaultTranslations = {}, _defineProperty(_defaultTranslations, translationIds['clear.all'], 'Clear all selected items'), _defineProperty(_defaultTranslations, translationIds['clear.selection'], 'Clear selected item'), _defaultTranslations);\nListBoxSelection.defaultProps = {\n translateWithId: function translateWithId(id) {\n return defaultTranslations[id];\n }\n};\nexport default ListBoxSelection;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4z\"\n});\n\nvar Close16 = /*#__PURE__*/React.forwardRef(function Close16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Close16;","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport * as _PropTypes from './ListBoxPropTypes';\nexport { _PropTypes as PropTypes };\nimport ListBox from './ListBox';\nimport ListBoxField from './ListBoxField';\nimport ListBoxMenu from './ListBoxMenu';\nimport ListBoxMenuIcon from './ListBoxMenuIcon';\nimport ListBoxMenuItem from './ListBoxMenuItem';\nimport ListBoxSelection from './ListBoxSelection';\nListBox.Field = ListBoxField;\nListBox.Menu = ListBoxMenu;\nListBox.MenuIcon = ListBoxMenuIcon;\nListBox.MenuItem = ListBoxMenuItem;\nListBox.Selection = ListBoxSelection;\nexport default ListBox;","function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _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}\n\nfunction _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}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Create an adapter that converts an object of props with potentially deprecated\n * prop names to the replacement prop names in a newer version. Useful for guarding\n * against breaking changes when a prop has been renamed\n *\n * @param {Array} spec - an array of options which specify a text or regex\n * matcher alongside a replacement if there is a match\n * @returns {Function}\n */\n\n\nfunction createPropAdapter(spec) {\n // if props aren't passed in we should default the prop to empty object\n return function () {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var output = {};\n Object.keys(input).forEach(function (key) {\n var match = spec.find(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n regex = _ref2[0];\n\n return key.match(regex);\n });\n\n if (match) {\n var _match = _slicedToArray(match, 2),\n regex = _match[0],\n replacer = _match[1];\n\n output[key.replace(regex, replacer)] = input[key];\n return;\n }\n\n output[key] = input[key];\n });\n return output;\n };\n}\n/**\n * TODO: REMOVE IN v11\n * props staring with \"default...\" were changed to \"initial...\" in Downshift v3\n *\n * @see https://github.com/downshift-js/downshift/releases/tag/v3.0.0\n */\n\n\nvar mapDownshiftProps = createPropAdapter([[/^default/g, 'initial']]);\nexport { mapDownshiftProps };","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport cx from 'classnames';\nimport Downshift from 'downshift';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport Checkmark16 from '@carbon/icons-react/es/checkmark/16';\nimport WarningFilled16 from '@carbon/icons-react/es/warning--filled/16';\nimport ListBox, { PropTypes as ListBoxPropTypes } from '../ListBox';\nimport { match, keys } from '../../internal/keyboard';\nimport setupGetInstanceId from '../../tools/setupGetInstanceId';\nimport { mapDownshiftProps } from '../../tools/createPropAdapter';\nvar prefix = settings.prefix;\n\nvar defaultItemToString = function defaultItemToString(item) {\n if (typeof item === 'string') {\n return item;\n }\n\n return item && item.label;\n};\n\nvar defaultShouldFilterItem = function defaultShouldFilterItem() {\n return true;\n};\n\nvar getInputValue = function getInputValue(props, state) {\n if (props.selectedItem) {\n return props.itemToString(props.selectedItem);\n } // TODO: consistent `initialSelectedItem` behavior with other listbox components in v11\n\n\n if (props.initialSelectedItem) {\n return props.itemToString(props.initialSelectedItem);\n }\n\n return state.inputValue || '';\n};\n\nvar findHighlightedIndex = function findHighlightedIndex(_ref, inputValue) {\n var items = _ref.items,\n itemToString = _ref.itemToString;\n\n if (!inputValue) {\n return -1;\n }\n\n var searchValue = inputValue.toLowerCase();\n\n for (var i = 0; i < items.length; i++) {\n var item = itemToString(items[i]).toLowerCase();\n\n if (item.indexOf(searchValue) !== -1) {\n return i;\n }\n }\n\n return -1;\n};\n\nvar getInstanceId = setupGetInstanceId();\n\nvar ComboBox = /*#__PURE__*/function (_React$Component) {\n _inherits(ComboBox, _React$Component);\n\n var _super = _createSuper(ComboBox);\n\n _createClass(ComboBox, null, [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n var prevSelectedItem = state.prevSelectedItem,\n doneInitialSelectedItem = state.doneInitialSelectedItem;\n var selectedItem = nextProps.selectedItem;\n\n if (!doneInitialSelectedItem || prevSelectedItem !== selectedItem) {\n return {\n doneInitialSelectedItem: true,\n prevSelectedItem: selectedItem,\n inputValue: getInputValue(nextProps, state)\n };\n }\n\n return null;\n }\n }]);\n\n function ComboBox(props) {\n var _this;\n\n _classCallCheck(this, ComboBox);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"filterItems\", function (items, itemToString, inputValue) {\n return items.filter(function (item) {\n return _this.props.shouldFilterItem({\n item: item,\n itemToString: itemToString,\n inputValue: inputValue\n });\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnChange\", function (selectedItem) {\n if (_this.props.onChange) {\n _this.props.onChange({\n selectedItem: selectedItem\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnInputValueChange\", function (inputValue) {\n var onInputChange = _this.props.onInputChange;\n\n _this.setState(function () {\n return {\n // Default to empty string if we have a false-y `inputValue`\n inputValue: inputValue || ''\n };\n }, function () {\n if (onInputChange) {\n onInputChange(inputValue);\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleSelectionClear\", function () {\n var _this$textInput;\n\n if ((_this$textInput = _this.textInput) === null || _this$textInput === void 0 ? void 0 : _this$textInput.current) {\n _this.textInput.current.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOnStateChange\", function (newState, _ref2) {\n var setHighlightedIndex = _ref2.setHighlightedIndex;\n\n if (Object.prototype.hasOwnProperty.call(newState, 'inputValue')) {\n var inputValue = newState.inputValue;\n\n var items = _this.filterItems(_this.props.items, _this.props.itemToString, inputValue);\n\n setHighlightedIndex(findHighlightedIndex(_objectSpread(_objectSpread({}, _this.props), {}, {\n items: items\n }), inputValue));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onToggleClick\", function (isOpen) {\n return function (event) {\n if (_this.props.onToggleClick) {\n _this.props.onToggleClick(event);\n }\n\n if (event.target === _this.textInput.current && isOpen) {\n event.preventDownshiftDefault = true;\n event.persist();\n }\n };\n });\n\n _this.textInput = /*#__PURE__*/React.createRef();\n _this.comboBoxInstanceId = getInstanceId();\n _this.state = {\n inputValue: getInputValue(props, {})\n };\n return _this;\n }\n\n _createClass(ComboBox, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n containerClassName = _this$props.className,\n disabled = _this$props.disabled,\n id = _this$props.id,\n items = _this$props.items,\n itemToString = _this$props.itemToString,\n itemToElement = _this$props.itemToElement,\n titleText = _this$props.titleText,\n helperText = _this$props.helperText,\n placeholder = _this$props.placeholder,\n initialSelectedItem = _this$props.initialSelectedItem,\n selectedItem = _this$props.selectedItem,\n ariaLabel = _this$props.ariaLabel,\n translateWithId = _this$props.translateWithId,\n invalid = _this$props.invalid,\n invalidText = _this$props.invalidText,\n light = _this$props.light,\n type = _this$props.type,\n size = _this$props.size,\n shouldFilterItem = _this$props.shouldFilterItem,\n onChange = _this$props.onChange,\n onInputChange = _this$props.onInputChange,\n onToggleClick = _this$props.onToggleClick,\n downshiftProps = _this$props.downshiftProps,\n direction = _this$props.direction,\n rest = _objectWithoutProperties(_this$props, [\"className\", \"disabled\", \"id\", \"items\", \"itemToString\", \"itemToElement\", \"titleText\", \"helperText\", \"placeholder\", \"initialSelectedItem\", \"selectedItem\", \"ariaLabel\", \"translateWithId\", \"invalid\", \"invalidText\", \"light\", \"type\", \"size\", \"shouldFilterItem\", \"onChange\", \"onInputChange\", \"onToggleClick\", \"downshiftProps\", \"direction\"]);\n\n var className = cx(\"\".concat(prefix, \"--combo-box\"), containerClassName, _defineProperty({}, \"\".concat(prefix, \"--list-box--up\"), direction === 'top'));\n var titleClasses = cx(\"\".concat(prefix, \"--label\"), _defineProperty({}, \"\".concat(prefix, \"--label--disabled\"), disabled));\n var comboBoxHelperId = !helperText ? undefined : \"combobox-helper-text-\".concat(this.comboBoxInstanceId);\n var helperClasses = cx(\"\".concat(prefix, \"--form__helper-text\"), _defineProperty({}, \"\".concat(prefix, \"--form__helper-text--disabled\"), disabled));\n var wrapperClasses = cx(\"\".concat(prefix, \"--list-box__wrapper\"));\n var inputClasses = cx(\"\".concat(prefix, \"--text-input\"), _defineProperty({}, \"\".concat(prefix, \"--text-input--empty\"), !this.state.inputValue)); // needs to be Capitalized for react to render it correctly\n\n var ItemToElement = itemToElement;\n return /*#__PURE__*/React.createElement(Downshift, _extends({}, mapDownshiftProps(downshiftProps), {\n onChange: this.handleOnChange,\n onInputValueChange: this.handleOnInputValueChange,\n onStateChange: this.handleOnStateChange,\n inputValue: this.state.inputValue || '',\n itemToString: itemToString,\n initialSelectedItem: initialSelectedItem,\n inputId: id,\n selectedItem: selectedItem\n }), function (_ref3) {\n var getToggleButtonProps = _ref3.getToggleButtonProps,\n getInputProps = _ref3.getInputProps,\n getItemProps = _ref3.getItemProps,\n getLabelProps = _ref3.getLabelProps,\n isOpen = _ref3.isOpen,\n inputValue = _ref3.inputValue,\n selectedItem = _ref3.selectedItem,\n highlightedIndex = _ref3.highlightedIndex,\n clearSelection = _ref3.clearSelection,\n toggleMenu = _ref3.toggleMenu,\n getMenuProps = _ref3.getMenuProps;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperClasses\n }, titleText && /*#__PURE__*/React.createElement(\"label\", _extends({\n className: titleClasses\n }, getLabelProps()), titleText), /*#__PURE__*/React.createElement(ListBox, {\n className: className,\n disabled: disabled,\n invalid: invalid,\n \"aria-label\": ariaLabel,\n invalidText: invalidText,\n isOpen: isOpen,\n light: light,\n size: size\n }, /*#__PURE__*/React.createElement(ListBox.Field, getToggleButtonProps({\n disabled: disabled,\n onClick: _this2.onToggleClick(isOpen)\n }), /*#__PURE__*/React.createElement(\"input\", _extends({\n disabled: disabled,\n className: inputClasses,\n type: \"text\",\n tabIndex: \"0\",\n \"aria-autocomplete\": \"list\",\n ref: _this2.textInput\n }, rest, getInputProps({\n disabled: disabled,\n placeholder: placeholder,\n onKeyDown: function onKeyDown(event) {\n if (match(event, keys.Space)) {\n event.stopPropagation();\n }\n\n if (match(event, keys.Enter)) {\n toggleMenu();\n }\n }\n }))), invalid && /*#__PURE__*/React.createElement(WarningFilled16, {\n className: \"\".concat(prefix, \"--list-box__invalid-icon\")\n }), inputValue && /*#__PURE__*/React.createElement(ListBox.Selection, {\n clearSelection: clearSelection,\n translateWithId: translateWithId,\n disabled: disabled,\n onClearSelection: _this2.handleSelectionClear\n }), /*#__PURE__*/React.createElement(ListBox.MenuIcon, {\n isOpen: isOpen,\n translateWithId: translateWithId\n })), isOpen && /*#__PURE__*/React.createElement(ListBox.Menu, getMenuProps({\n 'aria-label': ariaLabel\n }), _this2.filterItems(items, itemToString, inputValue).map(function (item, index) {\n var itemProps = getItemProps({\n item: item,\n index: index\n });\n return /*#__PURE__*/React.createElement(ListBox.MenuItem, _extends({\n key: itemProps.id,\n isActive: selectedItem === item,\n tabIndex: \"-1\",\n isHighlighted: highlightedIndex === index || selectedItem && selectedItem.id === item.id || false,\n title: itemToElement ? item.text : itemToString(item)\n }, itemProps), itemToElement ? /*#__PURE__*/React.createElement(ItemToElement, _extends({\n key: itemProps.id\n }, item)) : itemToString(item), selectedItem === item && /*#__PURE__*/React.createElement(Checkmark16, {\n className: \"\".concat(prefix, \"--list-box__menu-item__selected-icon\")\n }));\n }))), helperText && !invalid && /*#__PURE__*/React.createElement(\"div\", {\n id: comboBoxHelperId,\n className: helperClasses\n }, helperText));\n });\n }\n }]);\n\n return ComboBox;\n}(React.Component);\n\n_defineProperty(ComboBox, \"propTypes\", {\n /**\n * 'aria-label' of the ListBox component.\n */\n ariaLabel: PropTypes.string,\n\n /**\n * An optional className to add to the container node\n */\n className: PropTypes.string,\n\n /**\n * Specify the direction of the combobox dropdown. Can be either top or bottom.\n */\n direction: PropTypes.oneOf(['top', 'bottom']),\n\n /**\n * Specify if the control should be disabled, or not\n */\n disabled: PropTypes.bool,\n\n /**\n * Additional props passed to Downshift\n */\n downshiftProps: PropTypes.shape(Downshift.propTypes),\n\n /**\n * Provide helper text that is used alongside the control label for\n * additional help\n */\n helperText: PropTypes.string,\n\n /**\n * Specify a custom `id` for the input\n */\n id: PropTypes.string.isRequired,\n\n /**\n * Allow users to pass in an arbitrary item or a string (in case their items are an array of strings)\n * from their collection that are pre-selected\n */\n initialSelectedItem: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n\n /**\n * Specify if the currently selected value is invalid.\n */\n invalid: PropTypes.bool,\n\n /**\n * Message which is displayed if the value is invalid.\n */\n invalidText: PropTypes.string,\n\n /**\n * Optional function to render items as custom components instead of strings.\n * Defaults to null and is overriden by a getter\n */\n itemToElement: PropTypes.func,\n\n /**\n * Helper function passed to downshift that allows the library to render a\n * given item to a string label. By default, it extracts the `label` field\n * from a given item to serve as the item label in the list\n */\n itemToString: PropTypes.func,\n\n /**\n * We try to stay as generic as possible here to allow individuals to pass\n * in a collection of whatever kind of data structure they prefer\n */\n items: PropTypes.array.isRequired,\n\n /**\n * should use \"light theme\" (white background)?\n */\n light: PropTypes.bool,\n\n /**\n * `onChange` is a utility for this controlled component to communicate to a\n * consuming component when a specific dropdown item is selected.\n * @param {{ selectedItem }}\n */\n onChange: PropTypes.func.isRequired,\n\n /**\n * Callback function to notify consumer when the text input changes.\n * This provides support to change available items based on the text.\n * @param {string} inputText\n */\n onInputChange: PropTypes.func,\n\n /**\n * Callback function that fires when the combobox menu toggle is clicked\n * @param {MouseEvent} event\n */\n onToggleClick: PropTypes.func,\n\n /**\n * Used to provide a placeholder text node before a user enters any input.\n * This is only present if the control has no items selected\n */\n placeholder: PropTypes.string.isRequired,\n\n /**\n * For full control of the selection\n */\n selectedItem: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n\n /**\n * Specify your own filtering logic by passing in a `shouldFilterItem`\n * function that takes in the current input and an item and passes back\n * whether or not the item should be filtered.\n */\n shouldFilterItem: PropTypes.func,\n\n /**\n * Specify the size of the ListBox. Currently supports either `sm`, `lg` or `xl` as an option.\n */\n size: ListBoxPropTypes.ListBoxSize,\n\n /**\n * Provide text to be used in a `<label>` element that is tied to the\n * combobox via ARIA attributes.\n */\n titleText: PropTypes.string,\n\n /**\n * Specify a custom translation function that takes in a message identifier\n * and returns the localized string for the message\n */\n translateWithId: PropTypes.func,\n\n /**\n * Currently supports either the default type, or an inline variant\n */\n type: ListBoxPropTypes.ListBoxType\n});\n\n_defineProperty(ComboBox, \"defaultProps\", {\n disabled: false,\n itemToString: defaultItemToString,\n itemToElement: null,\n shouldFilterItem: defaultShouldFilterItem,\n type: 'default',\n ariaLabel: 'Choose an item',\n light: false,\n direction: 'bottom'\n});\n\nexport { ComboBox as default };","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport ChevronDown16 from '@carbon/icons-react/es/chevron--down/16';\nimport WarningFilled16 from '@carbon/icons-react/es/warning--filled/16';\nimport deprecate from '../../prop-types/deprecate';\nvar prefix = settings.prefix;\nvar Select = /*#__PURE__*/React.forwardRef(function Select(_ref, ref) {\n var _classNames, _classNames2, _classNames3;\n\n var className = _ref.className,\n id = _ref.id,\n inline = _ref.inline,\n labelText = _ref.labelText,\n disabled = _ref.disabled,\n children = _ref.children,\n noLabel = _ref.noLabel,\n iconDescription = _ref.iconDescription,\n hideLabel = _ref.hideLabel,\n invalid = _ref.invalid,\n invalidText = _ref.invalidText,\n helperText = _ref.helperText,\n light = _ref.light,\n size = _ref.size,\n other = _objectWithoutProperties(_ref, [\"className\", \"id\", \"inline\", \"labelText\", \"disabled\", \"children\", \"noLabel\", \"iconDescription\", \"hideLabel\", \"invalid\", \"invalidText\", \"helperText\", \"light\", \"size\"]);\n\n var selectClasses = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--select\"), true), _defineProperty(_classNames, \"\".concat(prefix, \"--select--inline\"), inline), _defineProperty(_classNames, \"\".concat(prefix, \"--select--light\"), light), _defineProperty(_classNames, \"\".concat(prefix, \"--select--invalid\"), invalid), _defineProperty(_classNames, \"\".concat(prefix, \"--select--disabled\"), disabled), _defineProperty(_classNames, className, className), _classNames));\n var labelClasses = classNames(\"\".concat(prefix, \"--label\"), (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefix, \"--visually-hidden\"), hideLabel), _defineProperty(_classNames2, \"\".concat(prefix, \"--label--disabled\"), disabled), _classNames2));\n var inputClasses = classNames((_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefix, \"--select-input\"), true), _defineProperty(_classNames3, \"\".concat(prefix, \"--select-input--\").concat(size), size), _classNames3));\n var errorId = \"\".concat(id, \"-error-msg\");\n var error = invalid ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--form-requirement\"),\n id: errorId\n }, invalidText) : null;\n var helperTextClasses = classNames(\"\".concat(prefix, \"--form__helper-text\"), _defineProperty({}, \"\".concat(prefix, \"--form__helper-text--disabled\"), disabled));\n var helper = helperText ? /*#__PURE__*/React.createElement(\"div\", {\n className: helperTextClasses\n }, helperText) : null;\n var ariaProps = {};\n\n if (invalid) {\n ariaProps['aria-describedby'] = errorId;\n }\n\n var input = function () {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"select\", _extends({}, other, ariaProps, {\n id: id,\n className: inputClasses,\n disabled: disabled || undefined,\n \"aria-invalid\": invalid || undefined,\n ref: ref\n }), children), /*#__PURE__*/React.createElement(ChevronDown16, {\n className: \"\".concat(prefix, \"--select__arrow\")\n }), invalid && /*#__PURE__*/React.createElement(WarningFilled16, {\n className: \"\".concat(prefix, \"--select__invalid-icon\")\n }));\n }();\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--form-item\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: selectClasses\n }, !noLabel && /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: id,\n className: labelClasses\n }, labelText), inline && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--select-input--inline__wrapper\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--select-input__wrapper\"),\n \"data-invalid\": invalid || null\n }, input), error), !inline && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--select-input__wrapper\"),\n \"data-invalid\": invalid || null\n }, input), !inline && error ? error : helper));\n});\nSelect.displayName = 'Select';\nSelect.defaultProps = {\n disabled: false,\n labelText: 'Select',\n inline: false,\n invalid: false,\n invalidText: '',\n helperText: '',\n light: false\n};\nexport default Select;","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n\nvar SelectItem = function SelectItem(_ref) {\n var _classNames;\n\n var className = _ref.className,\n value = _ref.value,\n disabled = _ref.disabled,\n hidden = _ref.hidden,\n text = _ref.text,\n other = _objectWithoutProperties(_ref, [\"className\", \"value\", \"disabled\", \"hidden\", \"text\"]);\n\n var selectItemClasses = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--select-option\"), true), _defineProperty(_classNames, className, className), _classNames));\n return /*#__PURE__*/React.createElement(\"option\", _extends({}, other, {\n className: selectItemClasses,\n value: value,\n disabled: disabled,\n hidden: hidden\n }), text);\n};\n\nSelectItem.defaultProps = {\n disabled: false,\n hidden: false,\n value: '',\n text: ''\n};\nexport default SelectItem;","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useState, useEffect, useRef } from 'react';\nimport ComboBox from '../../internal/vendor/carbon-components-react/components/ComboBox/ComboBox';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport root from 'window-or-global';\nimport Select from '../../internal/vendor/carbon-components-react/components/Select/Select';\nimport SelectItem from '../../internal/vendor/carbon-components-react/components/SelectItem/SelectItem';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Footer language selector component.\n */\n\nvar LanguageSelector = function LanguageSelector(_ref) {\n var items = _ref.items,\n initialSelectedItem = _ref.initialSelectedItem,\n callback = _ref.callback,\n labelText = _ref.labelText;\n\n var _useClickOutside = useClickOutside(),\n ref = _useClickOutside.ref;\n\n var _useState = useState(initialSelectedItem || items[0]),\n _useState2 = _slicedToArray(_useState, 2),\n selectedItem = _useState2[0],\n setSelectedItem = _useState2[1];\n\n var _useState3 = useState(initialSelectedItem || items[0]),\n _useState4 = _slicedToArray(_useState3, 2),\n lastSelectedItem = _useState4[0],\n setLastSelectedItem = _useState4[1];\n /**\n * Sets the selected item and then runs the callback function\n *\n * @param {object} selectedItem Selected item object\n * @private\n */\n\n\n function _setSelectedItem(selectedItem) {\n var item = selectedItem !== null ? selectedItem : '';\n setSelectedItem(item);\n callback(item);\n\n if (selectedItem !== null) {\n setLastSelectedItem(selectedItem);\n }\n }\n /**\n * Identifies the click outisde the language selector and resets its value to the previously selected\n */\n\n\n function useClickOutside() {\n var ref = useRef(null);\n\n var handleClickOutside = function handleClickOutside(event) {\n if (ref.current && !ref.current.contains(event.target)) {\n setSelectedItem(lastSelectedItem);\n }\n };\n\n useEffect(function () {\n root.document.addEventListener('click', handleClickOutside, true);\n return function () {\n root.document.removeEventListener('click', handleClickOutside, true);\n };\n });\n return {\n ref: ref\n };\n }\n\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--language-selector__container\"),\n ref: ref\n }, React.createElement(ComboBox, {\n id: \"dds-language-selector\",\n \"data-autoid\": \"\".concat(stablePrefix, \"--language-selector\"),\n className: \"\".concat(prefix, \"--language-selector\"),\n onChange: function onChange(_ref2) {\n var selectedItem = _ref2.selectedItem;\n return _setSelectedItem(selectedItem);\n },\n items: items,\n itemToString: function itemToString(item) {\n return item ? item.text : '';\n },\n initialSelectedItem: initialSelectedItem,\n selectedItem: selectedItem,\n direction: \"top\",\n placeholder: labelText,\n titleText: labelText\n }), React.createElement(Select, {\n defaultValue: selectedItem.id,\n \"data-autoid\": \"\".concat(stablePrefix, \"--language-selector__select\"),\n className: \"\".concat(prefix, \"--language-selector\"),\n onChange: function onChange(evt) {\n return _setSelectedItem(evt);\n },\n text: selectedItem.text,\n labelText: labelText\n }, renderSelectItems(items)));\n};\n/**\n * Iterate through and render a list of select items\n *\n * @param {Array} items A list of items to be rendered\n * @returns {object} JSX object\n */\n\n\nfunction renderSelectItems(items) {\n var selectItems = [];\n items.map(function (item) {\n selectItems.push(React.createElement(SelectItem, {\n value: item.id,\n text: item.text\n }));\n });\n return selectItems;\n}\n\nLanguageSelector.defaultProps = {\n items: null,\n initialSelectedItem: null,\n callback: function callback() {},\n labelText: 'Choose a language'\n};\nexport default LanguageSelector;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport cx from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport Link from '../../internal/vendor/carbon-components-react/components/Link/Link';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Footer legal nav component.\n */\n\nvar LegalNav = function LegalNav(_ref) {\n var links = _ref.links,\n type = _ref.type,\n button = _ref.button;\n\n if (!(links === null || links === void 0 ? void 0 : links.length)) {\n return null;\n }\n\n var listStyle = cx(_defineProperty({}, \"\".concat(prefix, \"--legal-nav__micro\"), type === 'micro'));\n return React.createElement(\"aside\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer-legal-nav\"),\n className: \"\".concat(prefix, \"--legal-nav__container\")\n }, React.createElement(\"nav\", {\n className: \"\".concat(prefix, \"--legal-nav\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--legal-nav__list \").concat(listStyle)\n }, React.createElement(\"ul\", {\n className: \"\".concat(prefix, \"--legal-nav__holder\")\n }, links.map(function (_ref2, index) {\n var title = _ref2.title,\n url = _ref2.url;\n\n if (!title || !url) {\n return null;\n }\n\n return React.createElement(\"li\", {\n className: \"\".concat(prefix, \"--legal-nav__list-item\"),\n key: index\n }, React.createElement(Link, {\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer-legal-nav__link\"),\n className: \"\".concat(prefix, \"--footer__link\"),\n href: url\n }, title));\n }), React.createElement(\"li\", {\n className: \"\".concat(prefix, \"--legal-nav__list-item\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--privacy-cp\")\n })), button)));\n};\n\nLegalNav.defaultProps = {\n links: null\n};\nexport default LegalNav;","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { ButtonKinds } from '../../prop-types/types';\nimport deprecate from '../../prop-types/deprecate';\nvar prefix = settings.prefix;\nvar Button = /*#__PURE__*/React.forwardRef(function Button(_ref, ref) {\n var _classNames;\n\n var children = _ref.children,\n as = _ref.as,\n className = _ref.className,\n disabled = _ref.disabled,\n small = _ref.small,\n size = _ref.size,\n kind = _ref.kind,\n href = _ref.href,\n tabIndex = _ref.tabIndex,\n type = _ref.type,\n ButtonImageElement = _ref.renderIcon,\n iconDescription = _ref.iconDescription,\n hasIconOnly = _ref.hasIconOnly,\n tooltipPosition = _ref.tooltipPosition,\n tooltipAlignment = _ref.tooltipAlignment,\n other = _objectWithoutProperties(_ref, [\"children\", \"as\", \"className\", \"disabled\", \"small\", \"size\", \"kind\", \"href\", \"tabIndex\", \"type\", \"renderIcon\", \"iconDescription\", \"hasIconOnly\", \"tooltipPosition\", \"tooltipAlignment\"]);\n\n var buttonClasses = classNames(className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--btn\"), true), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--field\"), size === 'field'), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--sm\"), size === 'small' || size === 'sm' || small), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--lg\"), size === 'lg'), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--xl\"), size === 'xl'), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--\").concat(kind), kind), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefix, \"--btn--icon-only\"), hasIconOnly), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip__trigger\"), hasIconOnly), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip--a11y\"), hasIconOnly), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip--\").concat(tooltipPosition), hasIconOnly && tooltipPosition), _defineProperty(_classNames, \"\".concat(prefix, \"--tooltip--align-\").concat(tooltipAlignment), hasIconOnly && tooltipAlignment), _classNames));\n var commonProps = {\n tabIndex: tabIndex,\n className: buttonClasses,\n ref: ref\n };\n var buttonImage = !ButtonImageElement ? null : /*#__PURE__*/React.createElement(ButtonImageElement, {\n \"aria-label\": iconDescription,\n className: \"\".concat(prefix, \"--btn__icon\"),\n \"aria-hidden\": \"true\"\n });\n var component = 'button';\n var otherProps = {\n disabled: disabled,\n type: type\n };\n var anchorProps = {\n href: href\n };\n var assistiveText = hasIconOnly ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--assistive-text\")\n }, iconDescription) : null;\n\n if (as) {\n component = as;\n otherProps = _objectSpread(_objectSpread({}, otherProps), anchorProps);\n } else if (href && !disabled) {\n component = 'a';\n otherProps = anchorProps;\n }\n\n return /*#__PURE__*/React.createElement(component, _objectSpread(_objectSpread(_objectSpread({}, other), commonProps), otherProps), assistiveText, children, buttonImage);\n});\nButton.displayName = 'Button';\nButton.defaultProps = {\n tabIndex: 0,\n type: 'button',\n disabled: false,\n kind: 'primary',\n size: 'default',\n tooltipAlignment: 'center',\n tooltipPosition: 'top'\n};\nexport default Button;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14.0158,14.0158,0,0,0,16,2ZM4.02,16.394l1.3384.4458L7,19.3027v1.2831a1,1,0,0,0,.2929.7071L10,24v2.3765A11.9941,11.9941,0,0,1,4.02,16.394ZM16,28a11.9682,11.9682,0,0,1-2.5718-.2847L14,26l1.8046-4.5116a1,1,0,0,0-.0964-.9261l-1.4113-2.117A1,1,0,0,0,13.4648,18h-4.93L7.2866,16.1274,9.4141,14H11v2h2V13.2656l3.8682-6.7695-1.7364-.9922L14.2769,7H11.5352l-1.086-1.6289A11.861,11.861,0,0,1,20,4.7V8a1,1,0,0,0,1,1h1.4648a1,1,0,0,0,.8321-.4453l.8769-1.3154A12.0331,12.0331,0,0,1,26.8945,11H22.82a1,1,0,0,0-.9806.8039l-.7221,4.4708a1,1,0,0,0,.54,1.0539L25,19l.6851,4.0557A11.9793,11.9793,0,0,1,16,28Z\"\n});\n\nvar EarthFilled20 = /*#__PURE__*/React.forwardRef(function EarthFilled20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default EarthFilled20;","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\nvar ButtonSet = /*#__PURE__*/React.forwardRef(function ButtonSet(_ref, ref) {\n var children = _ref.children,\n className = _ref.className,\n stacked = _ref.stacked,\n rest = _objectWithoutProperties(_ref, [\"children\", \"className\", \"stacked\"]);\n\n var buttonSetClasses = classNames(className, \"\".concat(prefix, \"--btn-set\"), _defineProperty({}, \"\".concat(prefix, \"--btn-set--stacked\"), stacked));\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, rest, {\n className: buttonSetClasses,\n ref: ref\n }), children);\n});\nButtonSet.displayName = 'ButtonSet';\nexport default ButtonSet;","/**\n * Adds or removes a CSS class to an element.\n * @param {Element} element An element.\n * @param {string} name A CSS class name.\n * @param {boolean} add `true` to add the given CSS class to given the element. Otherwise to remove.\n */\nexport default function toggleClass(element, name, add) {\n if (element.classList.contains(name) === !add) {\n element.classList[add ? 'add' : 'remove'](name);\n }\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../Button';\nimport ButtonSet from '../ButtonSet';\nimport classNames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport Close20 from '@carbon/icons-react/es/close/20';\nimport toggleClass from '../../tools/toggleClass';\nimport requiredIfGivenPropIsTruthy from '../../prop-types/requiredIfGivenPropIsTruthy';\nimport wrapFocus from '../../internal/wrapFocus';\nvar prefix = settings.prefix;\n\nvar ComposedModal = /*#__PURE__*/function (_Component) {\n _inherits(ComposedModal, _Component);\n\n var _super = _createSuper(ComposedModal);\n\n function ComposedModal() {\n var _this;\n\n _classCallCheck(this, ComposedModal);\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), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_this), \"outerModal\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"innerModal\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"button\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"startSentinel\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"endSentinel\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (evt) {\n // Esc key\n if (evt.which === 27) {\n _this.closeModal(evt);\n }\n\n _this.props.onKeyDown(evt);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (evt) {\n if (!_this.innerModal.current.contains(evt.target) && _this.props.preventCloseOnClickOutside) {\n return;\n }\n\n if (_this.innerModal.current && !_this.innerModal.current.contains(evt.target)) {\n _this.closeModal(evt);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleBlur\", function (_ref) {\n var oldActiveNode = _ref.target,\n currentActiveNode = _ref.relatedTarget;\n var _this$props = _this.props,\n open = _this$props.open,\n selectorsFloatingMenus = _this$props.selectorsFloatingMenus;\n\n if (open && currentActiveNode && oldActiveNode) {\n var bodyNode = _this.innerModal.current;\n var startSentinelNode = _this.startSentinel.current;\n var endSentinelNode = _this.endSentinel.current;\n wrapFocus({\n bodyNode: bodyNode,\n startSentinelNode: startSentinelNode,\n endSentinelNode: endSentinelNode,\n currentActiveNode: currentActiveNode,\n oldActiveNode: oldActiveNode,\n selectorsFloatingMenus: selectorsFloatingMenus\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusButton\", function (focusContainerElement) {\n if (focusContainerElement) {\n var primaryFocusElement = focusContainerElement.querySelector(_this.props.selectorPrimaryFocus);\n\n if (primaryFocusElement) {\n primaryFocusElement.focus();\n return;\n }\n\n if (_this.button.current) {\n _this.button.current.focus();\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleTransitionEnd\", function (evt) {\n if (_this.outerModal.current.offsetWidth && _this.outerModal.current.offsetHeight && _this.beingOpen) {\n _this.focusButton(evt.currentTarget);\n\n _this.beingOpen = false;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"closeModal\", function (evt) {\n var onClose = _this.props.onClose;\n\n if (!onClose || onClose(evt) !== false) {\n _this.setState({\n open: false\n });\n }\n });\n\n return _this;\n }\n\n _createClass(ComposedModal, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (!prevState.open && this.state.open) {\n this.beingOpen = true;\n } else if (prevState.open && !this.state.open) {\n this.beingOpen = false;\n }\n\n if (prevState.open !== this.state.open) {\n toggleClass(document.body, \"\".concat(prefix, \"--body--with-modal-open\"), this.state.open);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n toggleClass(document.body, \"\".concat(prefix, \"--body--with-modal-open\"), false);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n toggleClass(document.body, \"\".concat(prefix, \"--body--with-modal-open\"), this.props.open);\n\n if (!this.props.open) {\n return;\n }\n\n if (this.innerModal.current) {\n this.focusButton(this.innerModal.current);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames,\n _classNames2,\n _this2 = this;\n\n var open = this.state.open;\n\n var _this$props2 = this.props,\n className = _this$props2.className,\n containerClassName = _this$props2.containerClassName,\n children = _this$props2.children,\n danger = _this$props2.danger,\n preventCloseOnClickOutside = _this$props2.preventCloseOnClickOutside,\n selectorPrimaryFocus = _this$props2.selectorPrimaryFocus,\n size = _this$props2.size,\n other = _objectWithoutProperties(_this$props2, [\"className\", \"containerClassName\", \"children\", \"danger\", \"preventCloseOnClickOutside\", \"selectorPrimaryFocus\", \"size\"]);\n\n var modalClass = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--modal\"), true), _defineProperty(_classNames, 'is-visible', open), _defineProperty(_classNames, className, className), _defineProperty(_classNames, \"\".concat(prefix, \"--modal--danger\"), danger), _classNames));\n var containerClass = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefix, \"--modal-container\"), true), _defineProperty(_classNames2, \"\".concat(prefix, \"--modal-container--\").concat(size), size), _defineProperty(_classNames2, containerClassName, containerClassName), _classNames2));\n var childrenWithProps = React.Children.toArray(children).map(function (child) {\n switch (child.type) {\n case /*#__PURE__*/React.createElement(ModalHeader).type:\n return /*#__PURE__*/React.cloneElement(child, {\n closeModal: _this2.closeModal\n });\n\n case /*#__PURE__*/React.createElement(ModalFooter).type:\n return /*#__PURE__*/React.cloneElement(child, {\n closeModal: _this2.closeModal,\n inputref: _this2.button\n });\n\n default:\n return child;\n }\n });\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, other, {\n role: \"presentation\",\n ref: this.outerModal,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n onTransitionEnd: open ? this.handleTransitionEnd : undefined,\n className: modalClass\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: this.startSentinel,\n tabIndex: \"0\",\n role: \"link\",\n className: \"\".concat(prefix, \"--visually-hidden\")\n }, \"Focus sentinel\"), /*#__PURE__*/React.createElement(\"div\", {\n ref: this.innerModal,\n className: containerClass,\n role: \"dialog\"\n }, childrenWithProps), /*#__PURE__*/React.createElement(\"span\", {\n ref: this.endSentinel,\n tabIndex: \"0\",\n role: \"link\",\n className: \"\".concat(prefix, \"--visually-hidden\")\n }, \"Focus sentinel\"));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref2, state) {\n var open = _ref2.open;\n var prevOpen = state.prevOpen;\n return prevOpen === open ? null : {\n open: open,\n prevOpen: open\n };\n }\n }]);\n\n return ComposedModal;\n}(Component);\n\n_defineProperty(ComposedModal, \"defaultProps\", {\n onKeyDown: function onKeyDown() {},\n selectorPrimaryFocus: '[data-modal-primary-focus]'\n});\n\n_defineProperty(ComposedModal, \"propTypes\", {\n /**\n * Specify the content to be placed in the ComposedModal\n */\n children: PropTypes.node,\n\n /**\n * Specify an optional className to be applied to the modal root node\n */\n className: PropTypes.string,\n\n /**\n * Specify an optional className to be applied to the modal node\n */\n containerClassName: PropTypes.string,\n\n /**\n * Specify whether the primary button should be replaced with danger button.\n * Note that this prop is not applied if you render primary/danger button by yourself\n */\n danger: PropTypes.bool,\n\n /**\n * Specify an optional handler for closing modal.\n * Returning `false` here prevents closing modal.\n */\n onClose: PropTypes.func,\n\n /**\n * Specify an optional handler for the `onKeyDown` event. Called for all\n * `onKeyDown` events that do not close the modal\n */\n onKeyDown: PropTypes.func,\n\n /**\n * Specify whether the Modal is currently open\n */\n open: PropTypes.bool,\n preventCloseOnClickOutside: PropTypes.bool,\n\n /**\n * Specify a CSS selector that matches the DOM element that should be\n * focused when the Modal opens\n */\n selectorPrimaryFocus: PropTypes.string,\n\n /**\n * Specify the CSS selectors that match the floating menus\n */\n selectorsFloatingMenus: PropTypes.string,\n\n /**\n * Specify the size variant.\n */\n size: PropTypes.oneOf(['xs', 'sm', 'lg'])\n});\n\nexport { ComposedModal as default };\nexport var ModalHeader = /*#__PURE__*/function (_Component2) {\n _inherits(ModalHeader, _Component2);\n\n var _super2 = _createSuper(ModalHeader);\n\n function ModalHeader() {\n var _this3;\n\n _classCallCheck(this, ModalHeader);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this3 = _super2.call.apply(_super2, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this3), \"handleCloseButtonClick\", function (evt) {\n _this3.props.closeModal(evt);\n\n _this3.props.buttonOnClick();\n });\n\n return _this3;\n }\n\n _createClass(ModalHeader, [{\n key: \"render\",\n value: function render() {\n var _classNames3, _classNames4, _classNames5, _classNames6, _classNames7;\n\n var _this$props3 = this.props,\n className = _this$props3.className,\n labelClassName = _this$props3.labelClassName,\n titleClassName = _this$props3.titleClassName,\n closeClassName = _this$props3.closeClassName,\n closeIconClassName = _this$props3.closeIconClassName,\n label = _this$props3.label,\n title = _this$props3.title,\n children = _this$props3.children,\n iconDescription = _this$props3.iconDescription,\n closeModal = _this$props3.closeModal,\n buttonOnClick = _this$props3.buttonOnClick,\n preventCloseOnClickOutside = _this$props3.preventCloseOnClickOutside,\n other = _objectWithoutProperties(_this$props3, [\"className\", \"labelClassName\", \"titleClassName\", \"closeClassName\", \"closeIconClassName\", \"label\", \"title\", \"children\", \"iconDescription\", \"closeModal\", \"buttonOnClick\", \"preventCloseOnClickOutside\"]);\n\n var headerClass = classNames((_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefix, \"--modal-header\"), true), _defineProperty(_classNames3, className, className), _classNames3));\n var labelClass = classNames((_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(prefix, \"--modal-header__label \").concat(prefix, \"--type-delta\"), true), _defineProperty(_classNames4, labelClassName, labelClassName), _classNames4));\n var titleClass = classNames((_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(prefix, \"--modal-header__heading \").concat(prefix, \"--type-beta\"), true), _defineProperty(_classNames5, titleClassName, titleClassName), _classNames5));\n var closeClass = classNames((_classNames6 = {}, _defineProperty(_classNames6, \"\".concat(prefix, \"--modal-close\"), true), _defineProperty(_classNames6, closeClassName, closeClassName), _classNames6));\n var closeIconClass = classNames((_classNames7 = {}, _defineProperty(_classNames7, \"\".concat(prefix, \"--modal-close__icon\"), true), _defineProperty(_classNames7, closeIconClassName, closeIconClassName), _classNames7));\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: headerClass\n }, other), label && /*#__PURE__*/React.createElement(\"p\", {\n className: labelClass\n }, label), title && /*#__PURE__*/React.createElement(\"p\", {\n className: titleClass\n }, title), children, /*#__PURE__*/React.createElement(\"button\", {\n onClick: this.handleCloseButtonClick,\n className: closeClass,\n title: iconDescription,\n \"aria-label\": iconDescription,\n type: \"button\"\n }, /*#__PURE__*/React.createElement(Close20, {\n className: closeIconClass\n })));\n }\n }]);\n\n return ModalHeader;\n}(Component);\n\n_defineProperty(ModalHeader, \"propTypes\", {\n /**\n * Provide an optional function to be called when the close button is\n * clicked\n */\n buttonOnClick: PropTypes.func,\n\n /**\n * Specify the content to be placed in the ModalHeader\n */\n children: PropTypes.node,\n\n /**\n * Specify an optional className to be applied to the modal header\n */\n className: PropTypes.string,\n\n /**\n * Specify an optional className to be applied to the modal close node\n */\n closeClassName: PropTypes.string,\n\n /**\n * Specify an optional className to be applied to the modal close icon node\n */\n closeIconClassName: PropTypes.string,\n\n /**\n * Provide an optional function to be called when the modal is closed\n */\n closeModal: PropTypes.func,\n\n /**\n * Specify a description for the close icon that can be read by screen\n * readers\n */\n iconDescription: PropTypes.string,\n\n /**\n * Specify an optional label to be displayed\n */\n label: PropTypes.node,\n\n /**\n * Specify an optional className to be applied to the modal header label\n */\n labelClassName: PropTypes.string,\n\n /**\n * Specify an optional title to be displayed\n */\n title: PropTypes.node,\n\n /**\n * Specify an optional className to be applied to the modal heading\n */\n titleClassName: PropTypes.string\n});\n\n_defineProperty(ModalHeader, \"defaultProps\", {\n iconDescription: 'Close',\n buttonOnClick: function buttonOnClick() {}\n});\n\nexport function ModalBody(props) {\n var _classNames8;\n\n var className = props.className,\n children = props.children,\n hasForm = props.hasForm,\n hasScrollingContent = props.hasScrollingContent,\n preventCloseOnClickOutside = props.preventCloseOnClickOutside,\n other = _objectWithoutProperties(props, [\"className\", \"children\", \"hasForm\", \"hasScrollingContent\", \"preventCloseOnClickOutside\"]);\n\n var contentClass = classNames((_classNames8 = {}, _defineProperty(_classNames8, \"\".concat(prefix, \"--modal-content\"), true), _defineProperty(_classNames8, \"\".concat(prefix, \"--modal-content--with-form\"), hasForm), _defineProperty(_classNames8, className, className), _classNames8));\n var hasScrollingContentProps = hasScrollingContent ? {\n tabIndex: 0,\n role: 'region'\n } : {};\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: contentClass\n }, hasScrollingContentProps, other), children), hasScrollingContent && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--modal-content--overflow-indicator\")\n }));\n}\nexport var ModalFooter = /*#__PURE__*/function (_Component3) {\n _inherits(ModalFooter, _Component3);\n\n var _super3 = _createSuper(ModalFooter);\n\n function ModalFooter() {\n var _this4;\n\n _classCallCheck(this, ModalFooter);\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n _this4 = _super3.call.apply(_super3, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this4), \"handleRequestClose\", function (evt) {\n _this4.props.closeModal(evt);\n\n _this4.props.onRequestClose(evt);\n });\n\n return _this4;\n }\n\n _createClass(ModalFooter, [{\n key: \"render\",\n value: function render() {\n var _classNames9;\n\n var _this$props4 = this.props,\n className = _this$props4.className,\n primaryClassName = _this$props4.primaryClassName,\n secondaryClassName = _this$props4.secondaryClassName,\n secondaryButtonText = _this$props4.secondaryButtonText,\n primaryButtonText = _this$props4.primaryButtonText,\n primaryButtonDisabled = _this$props4.primaryButtonDisabled,\n closeModal = _this$props4.closeModal,\n onRequestClose = _this$props4.onRequestClose,\n onRequestSubmit = _this$props4.onRequestSubmit,\n children = _this$props4.children,\n danger = _this$props4.danger,\n inputref = _this$props4.inputref,\n other = _objectWithoutProperties(_this$props4, [\"className\", \"primaryClassName\", \"secondaryClassName\", \"secondaryButtonText\", \"primaryButtonText\", \"primaryButtonDisabled\", \"closeModal\", \"onRequestClose\", \"onRequestSubmit\", \"children\", \"danger\", \"inputref\"]);\n\n var footerClass = classNames((_classNames9 = {}, _defineProperty(_classNames9, \"\".concat(prefix, \"--modal-footer\"), true), _defineProperty(_classNames9, className, className), _classNames9));\n var primaryClass = classNames(_defineProperty({}, primaryClassName, primaryClassName));\n var secondaryClass = classNames(_defineProperty({}, secondaryClassName, secondaryClassName));\n return /*#__PURE__*/React.createElement(ButtonSet, _extends({\n className: footerClass\n }, other), secondaryButtonText && /*#__PURE__*/React.createElement(Button, {\n className: secondaryClass,\n onClick: this.handleRequestClose,\n kind: \"secondary\"\n }, secondaryButtonText), primaryButtonText && /*#__PURE__*/React.createElement(Button, {\n onClick: onRequestSubmit,\n className: primaryClass,\n disabled: primaryButtonDisabled,\n kind: danger ? 'danger' : 'primary',\n ref: inputref\n }, primaryButtonText), children);\n }\n }]);\n\n return ModalFooter;\n}(Component);\n\n_defineProperty(ModalFooter, \"propTypes\", {\n /**\n * Pass in content that will be rendered in the Modal Footer\n */\n children: PropTypes.node,\n\n /**\n * Specify a custom className to be applied to the Modal Footer container\n */\n className: PropTypes.string,\n\n /**\n * Specify an optional function that is called whenever the modal is closed\n */\n closeModal: PropTypes.func,\n\n /**\n * Specify whether the primary button should be replaced with danger button.\n * Note that this prop is not applied if you render primary/danger button by yourself\n */\n danger: PropTypes.bool,\n\n /**\n * The `ref` callback for the primary button.\n */\n inputref: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.any\n })]),\n\n /**\n * Specify an optional function for when the modal is requesting to be\n * closed\n */\n onRequestClose: PropTypes.func,\n\n /**\n * Specify an optional function for when the modal is requesting to be\n * submitted\n */\n onRequestSubmit: PropTypes.func,\n\n /**\n * Specify whether the primary button should be disabled\n */\n primaryButtonDisabled: PropTypes.bool,\n\n /**\n * Specify the text for the primary button\n */\n primaryButtonText: PropTypes.string,\n\n /**\n * Specify a custom className to be applied to the primary button\n */\n primaryClassName: PropTypes.string,\n\n /**\n * Specify the text for the secondary button\n */\n secondaryButtonText: PropTypes.string,\n\n /**\n * Specify a custom className to be applied to the secondary button\n */\n secondaryClassName: PropTypes.string\n});\n\n_defineProperty(ModalFooter, \"defaultProps\", {\n onRequestClose: function onRequestClose() {},\n onRequestSubmit: function onRequestSubmit() {}\n});","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport root from 'window-or-global';\n/**\n * Utility to grab all alternative languages on the page. this scrapes the page\n * of all <link rel=\"alternate\" hreflang=\"\" href=\"\" /> elements and returns\n * as a readable object\n *\n * @example\n * import { altlangs } from '@carbon/ibmdotcom-utilities';\n *\n * const langs = altlangs();\n *\n * console.log(langs); // { 'us-en': 'https://www.ibm.com/us-en', ... }\n *\n * @returns {object} object of available languages and corresponding URLs\n *\n */\n\nfunction altlangs() {\n var links = [];\n var langs = {};\n\n if (root.document) {\n links = root.document.querySelectorAll('link[rel=\"alternate\"]');\n links.forEach(function (link) {\n langs[link.getAttribute('hreflang')] = link.getAttribute('href');\n });\n }\n\n return langs;\n}\n\nexport default altlangs;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M14 26L15.41 24.59 7.83 17 28 17 28 15 7.83 15 15.41 7.41 14 6 4 16 14 26z\"\n});\n\nvar ArrowLeft20 = /*#__PURE__*/React.forwardRef(function ArrowLeft20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ArrowLeft20;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M16,2A14,14,0,1,0,30,16,14.0158,14.0158,0,0,0,16,2ZM4.02,16.394l1.3384.4458L7,19.3027v1.2831a1,1,0,0,0,.2929.7071L10,24v2.3765A11.9941,11.9941,0,0,1,4.02,16.394ZM16,28a11.9682,11.9682,0,0,1-2.5718-.2847L14,26l1.8046-4.5116a1,1,0,0,0-.0964-.9261l-1.4113-2.117A1,1,0,0,0,13.4648,18h-4.93L7.2866,16.1274,9.4141,14H11v2h2V13.2656l3.8682-6.7695-1.7364-.9922L14.2769,7H11.5352l-1.086-1.6289A11.861,11.861,0,0,1,20,4.7V8a1,1,0,0,0,1,1h1.4648a1,1,0,0,0,.8321-.4453l.8769-1.3154A12.0331,12.0331,0,0,1,26.8945,11H22.82a1,1,0,0,0-.9806.8039l-.7221,4.4708a1,1,0,0,0,.54,1.0539L25,19l.6851,4.0557A11.9793,11.9793,0,0,1,16,28Z\"\n});\n\nvar EarthFilled16 = /*#__PURE__*/React.forwardRef(function EarthFilled16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default EarthFilled16;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M15,14.3L10.7,10c1.9-2.3,1.6-5.8-0.7-7.7S4.2,0.7,2.3,3S0.7,8.8,3,10.7c2,1.7,5,1.7,7,0l4.3,4.3L15,14.3z M2,6.5\\tC2,4,4,2,6.5,2S11,4,11,6.5S9,11,6.5,11S2,9,2,6.5z\"\n});\n\nvar Search16 = /*#__PURE__*/React.forwardRef(function Search16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Search16;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport Search16 from '@carbon/icons-react/es/search/16';\nimport Close16 from '@carbon/icons-react/es/close/16';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport { composeEventHandlers } from '../../tools/events';\nimport { keys, match } from '../../internal/keyboard';\nimport deprecate from '../../prop-types/deprecate';\nvar prefix = settings.prefix;\n\nvar Search = /*#__PURE__*/function (_Component) {\n _inherits(Search, _Component);\n\n var _super = _createSuper(Search);\n\n function Search() {\n var _this;\n\n _classCallCheck(this, Search);\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), \"state\", {\n hasContent: _this.props.value || _this.props.defaultValue || false,\n prevValue: _this.props.value\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clearInput\", function (evt) {\n if (!_this.props.value) {\n _this.input.value = '';\n\n _this.props.onChange(evt);\n } else {\n var clearedEvt = Object.assign({}, evt.target, {\n target: {\n value: ''\n }\n });\n\n _this.props.onChange(clearedEvt);\n }\n\n _this.setState({\n hasContent: false\n }, function () {\n return _this.input.focus();\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleChange\", function (evt) {\n _this.setState({\n hasContent: evt.target.value !== ''\n });\n\n _this.props.onChange(evt);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (evt) {\n if (match(evt, keys.Escape)) {\n _this.clearInput(evt);\n }\n });\n\n return _this;\n }\n\n _createClass(Search, [{\n key: \"render\",\n value: function render() {\n var _classNames,\n _classNames2,\n _this2 = this;\n\n var _this$props = this.props,\n className = _this$props.className,\n type = _this$props.type,\n _this$props$id = _this$props.id,\n id = _this$props$id === void 0 ? this._inputId = this._inputId || \"search__input__id_\".concat(Math.random().toString(36).substr(2)) : _this$props$id,\n placeHolderText = _this$props.placeHolderText,\n labelText = _this$props.labelText,\n closeButtonLabelText = _this$props.closeButtonLabelText,\n small = _this$props.small,\n _this$props$size = _this$props.size,\n size = _this$props$size === void 0 ? !small ? 'xl' : 'sm' : _this$props$size,\n light = _this$props.light,\n disabled = _this$props.disabled,\n onChange = _this$props.onChange,\n onKeyDown = _this$props.onKeyDown,\n other = _objectWithoutProperties(_this$props, [\"className\", \"type\", \"id\", \"placeHolderText\", \"labelText\", \"closeButtonLabelText\", \"small\", \"size\", \"light\", \"disabled\", \"onChange\", \"onKeyDown\"]);\n\n var hasContent = this.state.hasContent;\n var searchClasses = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--search\"), true), _defineProperty(_classNames, \"\".concat(prefix, \"--search--\").concat(size), size), _defineProperty(_classNames, \"\".concat(prefix, \"--search--light\"), light), _defineProperty(_classNames, \"\".concat(prefix, \"--search--disabled\"), disabled), _defineProperty(_classNames, className, className), _classNames));\n var clearClasses = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefix, \"--search-close\"), true), _defineProperty(_classNames2, \"\".concat(prefix, \"--search-close--hidden\"), !hasContent), _classNames2));\n var searchId = \"\".concat(id, \"-search\");\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"search\",\n \"aria-labelledby\": searchId,\n className: searchClasses\n }, /*#__PURE__*/React.createElement(Search16, {\n className: \"\".concat(prefix, \"--search-magnifier\")\n }), /*#__PURE__*/React.createElement(\"label\", {\n id: searchId,\n htmlFor: id,\n className: \"\".concat(prefix, \"--label\")\n }, labelText), /*#__PURE__*/React.createElement(\"input\", _extends({\n role: \"searchbox\",\n autoComplete: \"off\"\n }, other, {\n type: type,\n disabled: disabled,\n className: \"\".concat(prefix, \"--search-input\"),\n id: id,\n placeholder: placeHolderText,\n onChange: composeEventHandlers([onChange, this.handleChange]),\n onKeyDown: composeEventHandlers([onKeyDown, this.handleKeyDown]),\n ref: function ref(input) {\n _this2.input = input;\n }\n })), /*#__PURE__*/React.createElement(\"button\", {\n className: clearClasses,\n disabled: disabled,\n onClick: this.clearInput,\n type: \"button\",\n \"aria-label\": closeButtonLabelText\n }, /*#__PURE__*/React.createElement(Close16, null)));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref, state) {\n var value = _ref.value;\n var prevValue = state.prevValue;\n return prevValue === value ? null : {\n hasContent: !!value,\n prevValue: value\n };\n }\n }]);\n\n return Search;\n}(Component);\n\n_defineProperty(Search, \"propTypes\", {\n /**\n * Specify an optional className to be applied to the container node\n */\n className: PropTypes.string,\n\n /**\n * Specify a label to be read by screen readers on the \"close\" button\n */\n closeButtonLabelText: PropTypes.string,\n\n /**\n * Optionally provide the default value of the `<input>`\n */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Specify whether the `<input>` should be disabled\n */\n disabled: PropTypes.bool,\n\n /**\n * Specify a custom `id` for the input\n */\n id: PropTypes.string,\n\n /**\n * Provide the label text for the Search icon\n */\n labelText: PropTypes.node.isRequired,\n\n /**\n * Specify light version or default version of this control\n */\n light: PropTypes.bool,\n\n /**\n * Optional callback called when the search value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * Provide a handler that is invoked on the key down event for the input\n */\n onKeyDown: PropTypes.func,\n\n /**\n * Provide an optional placeholder text for the Search.\n * Note: if the label and placeholder differ,\n * VoiceOver on Mac will read both\n */\n placeHolderText: PropTypes.string,\n\n /**\n * Specify the search size\n */\n size: PropTypes.oneOf(['sm', 'lg', 'xl']),\n\n /**\n * Specify whether the Search should be a small variant\n */\n\n /**\n * Specify whether the load was successful\n */\n small: deprecate(PropTypes.bool, \"\\nThe prop `small` for Search has been deprecated in favor of `size`. Please use `size=\\\"sm\\\"` instead.\"),\n\n /**\n * Optional prop to specify the type of the `<input>`\n */\n type: PropTypes.string,\n\n /**\n * Specify the value of the `<input>`\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n});\n\n_defineProperty(Search, \"defaultProps\", {\n type: 'text',\n placeHolderText: '',\n closeButtonLabelText: 'Clear search input',\n onChange: function onChange() {}\n});\n\nexport { Search as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect, useRef } from 'react';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport ipcinfoCookie from '@carbon/ibmdotcom-utilities/es/utilities/ipcinfoCookie/ipcinfoCookie';\nimport Search from '../../internal/vendor/carbon-components-react/components/Search/Search';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * LocaleModalCountries component\n *\n * @param {object} props props object\n * @param {object} props.regionList object of country and language codes\n * @param {Function} props.setClearResults set flag to determine whether to reset the filtered results\n * @param {string} props.currentRegion current region\n * @returns {*} LocaleModal component\n */\n\nvar LocaleModalCountries = function LocaleModalCountries(_ref) {\n var regionList = _ref.regionList,\n setClearResults = _ref.setClearResults,\n currentRegion = _ref.currentRegion,\n modalLabels = _objectWithoutProperties(_ref, [\"regionList\", \"setClearResults\", \"currentRegion\"]);\n\n var localList = useRef(null);\n useEffect(function () {\n localList.current.scrollTop = 0;\n }, [currentRegion, regionList]);\n useEffect(function () {\n var localeFilter = document.getElementById(\"\".concat(prefix, \"--locale-modal__filter\"));\n var localeText = document.querySelector(\".\".concat(prefix, \"--locale-modal__search-text\"));\n var closeBtn = document.querySelector(\".\".concat(prefix, \"--search .\").concat(prefix, \"--search-close\"));\n var localeHidden = \"\".concat(prefix, \"--locale-modal__locales-hidden\");\n localeFilter === null || localeFilter === void 0 ? void 0 : localeFilter.addEventListener('keyup', filterLocale.bind(null, setClearResults, localeFilter, localeHidden, localeText, modalLabels));\n /**\n * Show all links when close button clicked\n *\n */\n\n closeBtn === null || closeBtn === void 0 ? void 0 : closeBtn.addEventListener('click', setClearResults.bind(null, true));\n return function () {\n closeBtn === null || closeBtn === void 0 ? void 0 : closeBtn.removeEventListener('click', setClearResults.bind(null, true));\n localeFilter === null || localeFilter === void 0 ? void 0 : localeFilter.removeEventListener('keyup', filterLocale.bind(null, setClearResults, localeFilter, localeHidden, localeText, modalLabels));\n };\n });\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--locale-modal__filter\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--locale-modal__search\")\n }, React.createElement(Search, {\n \"data-autoid\": \"\".concat(stablePrefix, \"--locale-modal__filter\"),\n placeHolderText: modalLabels.searchPlaceholder,\n labelText: modalLabels.searchLabel,\n closeButtonLabelText: modalLabels.searchClearText,\n id: \"\".concat(prefix, \"--locale-modal__filter\"),\n tabIndex: \"0\"\n }), React.createElement(\"p\", {\n className: \"\".concat(prefix, \"--locale-modal__search-text\")\n }, modalLabels.availabilityText)), React.createElement(\"ul\", {\n className: \"\".concat(prefix, \"--locale-modal__list\"),\n ref: localList\n }, regionList === null || regionList === void 0 ? void 0 : regionList.map(function (region) {\n return currentRegion === region.name && region.countries.map(function (country, index) {\n return React.createElement(\"li\", {\n key: index\n }, React.createElement(\"a\", {\n className: \"\".concat(prefix, \"--locale-modal__locales\"),\n onClick: function onClick() {\n return _setCookie(country.locale);\n },\n href: country.href,\n \"data-region\": country.region\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--locale-modal__locales__name\")\n }, country.name), React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--locale-modal__locales__name\")\n }, country.language)));\n });\n })));\n};\n/**\n * @property {object} propTypes LocaleModalCountries propTypes\n * @description Defined property types for component\n * @type {{regionList: Array, availabilityText: string, unavailabilityText: string, placeHolderText: string, labelText: string}}\n */\n\n\nLocaleModalCountries.defaultProps = {\n searchLabel: 'Search by location or language'\n};\n/**\n * method to handle when country/region has been selected\n * sets the ipcInfo cookie with selected locale\n *\n * @param {object} locale selected country/region\n * @private\n */\n\nexport var _setCookie = function _setCookie(locale) {\n var localeSplit = locale.split('-');\n var localeObj = {\n cc: localeSplit[1],\n lc: localeSplit[0]\n };\n ipcinfoCookie.set(localeObj);\n};\n/**\n * Filter locale links based on search input\n *\n */\n\nexport var filterLocale = function filterLocale(setClearResults, localeFilter, localeHidden, localeText, modalLabels) {\n var localeItems = document.querySelectorAll(\".\".concat(prefix, \"--locale-modal__list a:not(.\").concat(prefix, \"--locale-modal__locales-filtered)\"));\n setClearResults(false);\n var filterVal = localeFilter.value.toUpperCase();\n\n _toConsumableArray(localeItems).map(function (item) {\n var locale = item.getElementsByTagName('div');\n var country = locale[0].textContent || locale[0].innerText;\n var language = locale[1].textContent || locale[1].innerText;\n\n if (country.toUpperCase().indexOf(filterVal) > -1 || language.toUpperCase().indexOf(filterVal) > -1) {\n item.classList.remove(localeHidden);\n } else {\n item.classList.add(localeHidden);\n }\n });\n /**\n * Update locale copy when no results\n *\n */\n\n\n var localeItemsHidden = document.querySelectorAll(\".\".concat(localeHidden));\n localeText.innerHTML = localeItems.length === localeItemsHidden.length ? modalLabels.unavailabilityText : modalLabels.availabilityText;\n};\nexport default LocaleModalCountries;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M8,1C4.1,1,1,4.1,1,8c0,3.9,3.1,7,7,7s7-3.1,7-7C15,4.1,11.9,1,8,1z M7,11L4.3,8.3l0.9-0.8L7,9.3l4-3.9l0.9,0.8L7,11z\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M7,11L4.3,8.3l0.9-0.8L7,9.3l4-3.9l0.9,0.8L7,11z\",\n \"data-icon-path\": \"inner-path\",\n opacity: \"0\"\n});\n\nvar CheckmarkFilled16 = /*#__PURE__*/React.forwardRef(function CheckmarkFilled16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, _ref3, children);\n});\nexport default CheckmarkFilled16;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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 _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\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\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\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\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _defineProperty(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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport CheckmarkFilled from '@carbon/icons-react/es/checkmark--filled/16';\nimport ChevronDown16 from '@carbon/icons-react/es/chevron--down/16';\nimport { keys, matches } from '../../internal/keyboard';\nimport deprecate from '../../prop-types/deprecate';\nvar prefix = settings.prefix;\nexport var Tile = /*#__PURE__*/function (_Component) {\n _inherits(Tile, _Component);\n\n var _super = _createSuper(Tile);\n\n function Tile() {\n _classCallCheck(this, Tile);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Tile, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n className = _this$props.className,\n light = _this$props.light,\n other = _objectWithoutProperties(_this$props, [\"children\", \"className\", \"light\"]);\n\n var tileClasses = classNames(\"\".concat(prefix, \"--tile\"), _defineProperty({}, \"\".concat(prefix, \"--tile--light\"), light), className);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: tileClasses\n }, other), children);\n }\n }]);\n\n return Tile;\n}(Component);\n\n_defineProperty(Tile, \"propTypes\", {\n /**\n * The child nodes.\n */\n children: PropTypes.node,\n\n /**\n * The CSS class names.\n */\n className: PropTypes.string,\n\n /**\n * `true` to use the light version. For use on $ui-01 backgrounds only.\n * Don't use this to make tile background color same as container background color.\n */\n light: PropTypes.bool\n});\n\n_defineProperty(Tile, \"defaultProps\", {\n light: false\n});\n\nexport var ClickableTile = /*#__PURE__*/function (_Component2) {\n _inherits(ClickableTile, _Component2);\n\n var _super2 = _createSuper(ClickableTile);\n\n function ClickableTile() {\n var _this;\n\n _classCallCheck(this, ClickableTile);\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 = _super2.call.apply(_super2, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (evt) {\n evt.persist();\n\n _this.setState({\n clicked: !_this.state.clicked\n }, function () {\n _this.props.handleClick(evt);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (evt) {\n evt.persist();\n\n if (matches(evt, [keys.Enter, keys.Space])) {\n _this.setState({\n clicked: !_this.state.clicked\n }, function () {\n _this.props.handleKeyDown(evt);\n });\n } else {\n _this.props.handleKeyDown(evt);\n }\n });\n\n return _this;\n }\n\n _createClass(ClickableTile, [{\n key: \"render\",\n value: function render() {\n var _classNames2;\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n href = _this$props2.href,\n className = _this$props2.className,\n handleClick = _this$props2.handleClick,\n handleKeyDown = _this$props2.handleKeyDown,\n clicked = _this$props2.clicked,\n light = _this$props2.light,\n other = _objectWithoutProperties(_this$props2, [\"children\", \"href\", \"className\", \"handleClick\", \"handleKeyDown\", \"clicked\", \"light\"]);\n\n var classes = classNames(\"\".concat(prefix, \"--tile\"), \"\".concat(prefix, \"--tile--clickable\"), (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefix, \"--tile--is-clicked\"), this.state.clicked), _defineProperty(_classNames2, \"\".concat(prefix, \"--tile--light\"), light), _classNames2), className);\n return /*#__PURE__*/React.createElement(\"a\", _extends({\n href: href,\n className: classes\n }, other, {\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown\n }), children);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n // eslint-disable-next-line react/prop-types\n value: function getDerivedStateFromProps(_ref, state) {\n var clicked = _ref.clicked;\n var prevClicked = state.prevClicked;\n return prevClicked === clicked ? null : {\n clicked: clicked,\n prevClicked: clicked\n };\n }\n }]);\n\n return ClickableTile;\n}(Component);\n\n_defineProperty(ClickableTile, \"propTypes\", {\n /**\n * The child nodes.\n */\n children: PropTypes.node,\n\n /**\n * The CSS class names.\n */\n className: PropTypes.string,\n\n /**\n * Specify the function to run when the ClickableTile is clicked\n */\n handleClick: PropTypes.func,\n\n /**\n * Specify the function to run when the ClickableTile is interacted with via a keyboard\n */\n handleKeyDown: PropTypes.func,\n\n /**\n * The href for the link.\n */\n href: PropTypes.string,\n\n /**\n * `true` to use the light version. For use on $ui-01 backgrounds only.\n * Don't use this to make tile background color same as container background color.\n */\n light: PropTypes.bool,\n\n /**\n * The rel property for the link.\n */\n rel: PropTypes.string\n});\n\n_defineProperty(ClickableTile, \"defaultProps\", {\n clicked: false,\n handleClick: function handleClick() {},\n handleKeyDown: function handleKeyDown() {},\n light: false\n});\n\nexport var SelectableTile = /*#__PURE__*/function (_Component3) {\n _inherits(SelectableTile, _Component3);\n\n var _super3 = _createSuper(SelectableTile);\n\n function SelectableTile() {\n var _this2;\n\n _classCallCheck(this, SelectableTile);\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 = _super3.call.apply(_super3, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this2), \"state\", {\n selected: _this2.props.selected\n });\n\n _defineProperty(_assertThisInitialized(_this2), \"handleClick\", function (evt) {\n evt.preventDefault();\n evt.persist();\n\n _this2.setState({\n selected: !_this2.state.selected\n }, function () {\n _this2.props.handleClick(evt);\n\n _this2.props.onChange(evt);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this2), \"handleKeyDown\", function (evt) {\n evt.persist();\n\n if (matches(evt, [keys.Enter, keys.Space])) {\n evt.preventDefault();\n\n _this2.setState({\n selected: !_this2.state.selected\n }, function () {\n _this2.props.handleKeyDown(evt);\n\n _this2.props.onChange(evt);\n });\n } else {\n _this2.props.handleKeyDown(evt);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this2), \"handleOnChange\", function (event) {\n _this2.setState({\n selected: event.target.checked\n });\n\n _this2.props.onChange(event);\n });\n\n return _this2;\n }\n\n _createClass(SelectableTile, [{\n key: \"render\",\n value: function render() {\n var _classNames3,\n _this3 = this;\n\n var _this$props3 = this.props,\n children = _this$props3.children,\n id = _this$props3.id,\n tabIndex = _this$props3.tabIndex,\n value = _this$props3.value,\n name = _this$props3.name,\n title = _this$props3.title,\n iconDescription = _this$props3.iconDescription,\n className = _this$props3.className,\n handleClick = _this$props3.handleClick,\n handleKeyDown = _this$props3.handleKeyDown,\n onChange = _this$props3.onChange,\n light = _this$props3.light,\n other = _objectWithoutProperties(_this$props3, [\"children\", \"id\", \"tabIndex\", \"value\", \"name\", \"title\", \"iconDescription\", \"className\", \"handleClick\", \"handleKeyDown\", \"onChange\", \"light\"]);\n\n var classes = classNames(\"\".concat(prefix, \"--tile\"), \"\".concat(prefix, \"--tile--selectable\"), (_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefix, \"--tile--is-selected\"), this.state.selected), _defineProperty(_classNames3, \"\".concat(prefix, \"--tile--light\"), light), _classNames3), className);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"input\", {\n ref: function ref(input) {\n _this3.input = input;\n },\n tabIndex: -1,\n id: id,\n className: \"\".concat(prefix, \"--tile-input\"),\n value: value,\n onChange: this.handleOnChange,\n type: \"checkbox\",\n name: name,\n title: title,\n checked: this.state.selected\n }), /*#__PURE__*/React.createElement(\"label\", _extends({\n htmlFor: id,\n className: classes,\n tabIndex: tabIndex\n }, other, {\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--tile__checkmark\")\n }, /*#__PURE__*/React.createElement(CheckmarkFilled, null)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--tile-content\")\n }, children)));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref2, state) {\n var selected = _ref2.selected;\n var prevSelected = state.prevSelected;\n return prevSelected === selected ? null : {\n selected: selected,\n prevSelected: selected\n };\n }\n }]);\n\n return SelectableTile;\n}(Component);\n\n_defineProperty(SelectableTile, \"propTypes\", {\n /**\n * The child nodes.\n */\n children: PropTypes.node,\n\n /**\n * The CSS class names.\n */\n className: PropTypes.string,\n\n /**\n * Specify the function to run when the SelectableTile is clicked\n */\n handleClick: PropTypes.func,\n\n /**\n * Specify the function to run when the SelectableTile is interacted with via a keyboard\n */\n handleKeyDown: PropTypes.func,\n\n /**\n * The description of the checkmark icon.\n */\n iconDescription: deprecate(PropTypes.string, 'The `iconDescription` prop for `RadioTile` is no longer needed and has ' + 'been deprecated. It will be moved in the next major release.'),\n\n /**\n * The ID of the `<input>`.\n */\n id: PropTypes.string,\n\n /**\n * `true` to use the light version. For use on $ui-01 backgrounds only.\n * Don't use this to make tile background color same as container background color.\n */\n light: PropTypes.bool,\n\n /**\n * The `name` of the `<input>`.\n */\n name: PropTypes.string,\n\n /**\n * The empty handler of the `<input>`.\n */\n onChange: PropTypes.func,\n\n /**\n * `true` to select this tile.\n */\n selected: PropTypes.bool,\n\n /**\n * Specify the tab index of the wrapper element\n */\n tabIndex: PropTypes.number,\n\n /**\n * The `title` of the `<input>`.\n */\n title: PropTypes.string,\n\n /**\n * The value of the `<input>`.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired\n});\n\n_defineProperty(SelectableTile, \"defaultProps\", {\n value: 'value',\n title: 'title',\n selected: false,\n handleClick: function handleClick() {},\n handleKeyDown: function handleKeyDown() {},\n onChange: function onChange() {},\n tabIndex: 0,\n light: false\n});\n\nexport var ExpandableTile = /*#__PURE__*/function (_Component4) {\n _inherits(ExpandableTile, _Component4);\n\n var _super4 = _createSuper(ExpandableTile);\n\n function ExpandableTile() {\n var _this4;\n\n _classCallCheck(this, ExpandableTile);\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n _this4 = _super4.call.apply(_super4, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this4), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_this4), \"componentDidMount\", function () {\n if (_this4.tile) {\n var getStyle = window.getComputedStyle(_this4.tile, null);\n\n if (_this4.aboveTheFold) {\n _this4.setState({\n tileMaxHeight: _this4.aboveTheFold.getBoundingClientRect().height,\n tilePadding: parseInt(getStyle.getPropertyValue('padding-top'), 10) + parseInt(getStyle.getPropertyValue('padding-bottom'), 10)\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this4), \"componentDidUpdate\", function (prevProps) {\n if (prevProps.expanded !== _this4.props.expanded) _this4.setMaxHeight();\n });\n\n _defineProperty(_assertThisInitialized(_this4), \"setMaxHeight\", function () {\n if (_this4.state.expanded ? _this4.tileContent : _this4.aboveTheFold) {\n _this4.setState({\n tileMaxHeight: _this4.state.expanded ? _this4.tileContent.getBoundingClientRect().height : _this4.aboveTheFold.getBoundingClientRect().height\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this4), \"handleClick\", function (evt) {\n if (!_this4.props.onBeforeClick(evt)) return;\n evt.persist();\n\n _this4.setState({\n expanded: !_this4.state.expanded\n }, function () {\n _this4.setMaxHeight();\n\n _this4.props.handleClick(evt);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this4), \"handleKeyDown\", function (evt) {\n if (matches(evt, [keys.Enter, keys.Space])) {\n evt.persist();\n\n _this4.setState({\n expanded: !_this4.state.expanded\n }, function () {\n _this4.setMaxHeight();\n\n _this4.props.handleClick(evt);\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this4), \"getChildren\", function () {\n return React.Children.toArray(_this4.props.children);\n });\n\n return _this4;\n }\n\n _createClass(ExpandableTile, [{\n key: \"render\",\n value: function render() {\n var _classNames4,\n _this5 = this;\n\n var _this$props4 = this.props,\n tabIndex = _this$props4.tabIndex,\n className = _this$props4.className,\n expanded = _this$props4.expanded,\n tileMaxHeight = _this$props4.tileMaxHeight,\n tilePadding = _this$props4.tilePadding,\n handleClick = _this$props4.handleClick,\n tileCollapsedIconText = _this$props4.tileCollapsedIconText,\n tileExpandedIconText = _this$props4.tileExpandedIconText,\n onBeforeClick = _this$props4.onBeforeClick,\n light = _this$props4.light,\n other = _objectWithoutProperties(_this$props4, [\"tabIndex\", \"className\", \"expanded\", \"tileMaxHeight\", \"tilePadding\", \"handleClick\", \"tileCollapsedIconText\", \"tileExpandedIconText\", \"onBeforeClick\", \"light\"]);\n\n var isExpanded = this.state.expanded;\n var classes = classNames(\"\".concat(prefix, \"--tile\"), \"\".concat(prefix, \"--tile--expandable\"), (_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(prefix, \"--tile--is-expanded\"), isExpanded), _defineProperty(_classNames4, \"\".concat(prefix, \"--tile--light\"), light), _classNames4), className);\n var tileStyle = {\n maxHeight: isExpanded ? null : this.state.tileMaxHeight + this.state.tilePadding\n };\n var childrenAsArray = this.getChildren();\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n React.createElement(\"button\", _extends({\n type: \"button\",\n ref: function ref(tile) {\n _this5.tile = tile;\n },\n style: tileStyle,\n className: classes,\n \"aria-expanded\": isExpanded,\n title: isExpanded ? tileExpandedIconText : tileCollapsedIconText\n }, other, {\n onClick: this.handleClick,\n tabIndex: tabIndex\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: function ref(tileContent) {\n _this5.tileContent = tileContent;\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: function ref(aboveTheFold) {\n _this5.aboveTheFold = aboveTheFold;\n },\n className: \"\".concat(prefix, \"--tile-content\")\n }, childrenAsArray[0]), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--tile__chevron\")\n }, /*#__PURE__*/React.createElement(ChevronDown16, null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--tile-content\")\n }, childrenAsArray[1])))\n );\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps( // eslint-disable-next-line react/prop-types\n _ref3, state) {\n var expanded = _ref3.expanded,\n tileMaxHeight = _ref3.tileMaxHeight,\n tilePadding = _ref3.tilePadding;\n var prevExpanded = state.prevExpanded,\n prevTileMaxHeight = state.prevTileMaxHeight,\n prevTilePadding = state.prevTilePadding,\n currentExpanded = state.expanded,\n currentTileMaxHeight = state.tileMaxHeight,\n currentTilePadding = state.tilePadding;\n var expandedChanged = prevExpanded !== expanded;\n var tileMaxHeightChanged = prevTileMaxHeight !== tileMaxHeight;\n var tilePaddingChanged = prevTilePadding !== tilePadding;\n return !expandedChanged && !tileMaxHeightChanged && !tilePaddingChanged ? null : {\n expanded: !expandedChanged ? currentExpanded : expanded,\n tileMaxHeight: !tileMaxHeightChanged ? currentTileMaxHeight : tileMaxHeight,\n tilePadding: !tilePaddingChanged ? currentTilePadding : tilePadding,\n prevExpanded: expanded,\n prevTileMaxHeight: tileMaxHeight,\n prevTilePadding: tilePadding\n };\n }\n }]);\n\n return ExpandableTile;\n}(Component);\n\n_defineProperty(ExpandableTile, \"propTypes\", {\n /**\n * The child nodes.\n */\n children: PropTypes.node,\n\n /**\n * The CSS class names.\n */\n className: PropTypes.string,\n\n /**\n * `true` if the tile is expanded.\n */\n expanded: PropTypes.bool,\n\n /**\n * Specify the function to run when the ExpandableTile is clicked\n */\n handleClick: PropTypes.func,\n\n /**\n * An ID that can be provided to aria-labelledby\n */\n id: PropTypes.string,\n\n /**\n * `true` to use the light version. For use on $ui-01 backgrounds only.\n * Don't use this to make tile background color same as container background color.\n */\n light: PropTypes.bool,\n\n /**\n * optional handler to decide whether to ignore a click. returns false if click should be ignored\n */\n onBeforeClick: PropTypes.func,\n\n /**\n * The `tabindex` attribute.\n */\n tabIndex: PropTypes.number,\n\n /**\n * The description of the \"collapsed\" icon that can be read by screen readers.\n */\n tileCollapsedIconText: PropTypes.string,\n\n /**\n * The description of the \"expanded\" icon that can be read by screen readers.\n */\n tileExpandedIconText: PropTypes.string\n});\n\n_defineProperty(ExpandableTile, \"defaultProps\", {\n tabIndex: 0,\n expanded: false,\n tileMaxHeight: 0,\n tilePadding: 0,\n onBeforeClick: function onBeforeClick() {\n return true;\n },\n handleClick: function handleClick() {},\n tileCollapsedIconText: 'Interact to expand Tile',\n tileExpandedIconText: 'Interact to collapse Tile',\n light: false\n});\n\nexport var TileAboveTheFoldContent = /*#__PURE__*/function (_Component5) {\n _inherits(TileAboveTheFoldContent, _Component5);\n\n var _super5 = _createSuper(TileAboveTheFoldContent);\n\n function TileAboveTheFoldContent() {\n _classCallCheck(this, TileAboveTheFoldContent);\n\n return _super5.apply(this, arguments);\n }\n\n _createClass(TileAboveTheFoldContent, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--tile-content__above-the-fold\")\n }, children);\n }\n }]);\n\n return TileAboveTheFoldContent;\n}(Component);\n\n_defineProperty(TileAboveTheFoldContent, \"propTypes\", {\n /**\n * The child nodes.\n */\n children: PropTypes.node\n});\n\nexport var TileBelowTheFoldContent = /*#__PURE__*/function (_Component6) {\n _inherits(TileBelowTheFoldContent, _Component6);\n\n var _super6 = _createSuper(TileBelowTheFoldContent);\n\n function TileBelowTheFoldContent() {\n _classCallCheck(this, TileBelowTheFoldContent);\n\n return _super6.apply(this, arguments);\n }\n\n _createClass(TileBelowTheFoldContent, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--tile-content__below-the-fold\")\n }, children);\n }\n }]);\n\n return TileBelowTheFoldContent;\n}(Component);\n\n_defineProperty(TileBelowTheFoldContent, \"propTypes\", {\n /**\n * The child nodes.\n */\n children: PropTypes.node\n});","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M24.59 16.59L17 24.17 17 4 15 4 15 24.17 7.41 16.59 6 18 16 28 26 18 24.59 16.59z\"\n});\n\nvar ArrowDown20 = /*#__PURE__*/React.forwardRef(function ArrowDown20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default ArrowDown20;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M26 24v4H6V24H4v4H4a2 2 0 002 2H26a2 2 0 002-2h0V24zM26 14L24.59 12.59 17 20.17 17 2 15 2 15 20.17 7.41 12.59 6 14 16 24 26 14z\"\n});\n\nvar Download20 = /*#__PURE__*/React.forwardRef(function Download20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Download20;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M26,28H6a2.0027,2.0027,0,0,1-2-2V6A2.0027,2.0027,0,0,1,6,4H16V6H6V26H26V16h2V26A2.0027,2.0027,0,0,1,26,28Z\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M20 2L20 4 26.586 4 18 12.586 19.414 14 28 5.414 28 12 30 12 30 2 20 2z\"\n});\n\nvar Launch20 = /*#__PURE__*/React.forwardRef(function Launch20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, _ref3, children);\n});\nexport default Launch20;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport classNames from 'classnames';\nimport Close20 from '@carbon/icons-react/es/close/20';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Close button for Expressive Modal.\n */\n\nvar ExpressiveModalCloseBtn = function ExpressiveModalCloseBtn(_ref) {\n var btnClassName = _ref.btnClassName,\n iconDescription = _ref.iconDescription,\n iconClassName = _ref.iconClassName,\n props = _objectWithoutProperties(_ref, [\"btnClassName\", \"iconDescription\", \"iconClassName\"]);\n\n return React.createElement(\"button\", _extends({\n \"data-autoid\": \"\".concat(stablePrefix, \"--expressive-modal__close\"),\n className: classNames(\"\".concat(prefix, \"--modal-close\"), btnClassName),\n title: iconDescription,\n type: \"button\"\n }, props), React.createElement(Close20, {\n \"aria-label\": iconDescription,\n className: classNames(\"\".concat(prefix, \"--modal-close__icon\"), iconClassName)\n }));\n};\n\nExpressiveModalCloseBtn.defaultProps = {\n iconDescription: 'Close'\n};\nexport default ExpressiveModalCloseBtn;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport ComposedModal from '../../internal/vendor/carbon-components-react/components/ComposedModal/ComposedModal';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport ExpressiveModalCloseBtn from './ExpressiveModalCloseBtn';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Expressive Modal.\n */\n\nvar ExpressiveModal = function ExpressiveModal(_ref) {\n var open = _ref.open,\n className = _ref.className,\n children = _ref.children,\n fullwidth = _ref.fullwidth,\n onClose = _ref.onClose,\n props = _objectWithoutProperties(_ref, [\"open\", \"className\", \"children\", \"fullwidth\", \"onClose\"]);\n\n var _useState = useState(open),\n _useState2 = _slicedToArray(_useState, 2),\n isOpen = _useState2[0],\n setIsOpen = _useState2[1];\n\n useEffect(manageOpenState, [open]);\n return React.createElement(ComposedModal, _extends({\n onClose: onClose,\n open: isOpen,\n \"data-autoid\": \"\".concat(stablePrefix, \"--expressive-modal\"),\n className: classNames(\"\".concat(prefix, \"--modal--expressive\"), className, _defineProperty({}, \"\".concat(prefix, \"--modal--expressive--fullwidth\"), fullwidth)),\n selectorPrimaryFocus: \".\".concat(prefix, \"--modal-close\")\n }, props), React.createElement(ExpressiveModalCloseBtn, {\n onClick: closeModal\n }), children);\n /**\n * Close modal\n */\n\n function closeModal() {\n if ((onClose === null || onClose === void 0 ? void 0 : onClose()) !== false) {\n setIsOpen(false);\n }\n }\n /**\n * Manage open prop and isOpen state\n */\n\n\n function manageOpenState() {\n setIsOpen(open);\n }\n};\n\nExpressiveModal.defaultProps = {\n open: false\n};\nexport default ExpressiveModal;","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar _htmlTagRegex = /<.*?>/g;\nvar _cleanStringRegex = /\\n|\\s{2,}|&([a-zA-Z]+);/g;\n/**\n * Removes any html tags from a string and keeps inner text if any\n *\n * @param {string} str String to be checked for html tags\n * @returns {string} String with html tags stripped out\n * @private\n */\n\nvar _removeHtmlTags = function _removeHtmlTags(str) {\n return str.replace(_htmlTagRegex, '');\n};\n/**\n * Cleans string by replacing multiple spaces with a single space\n * and removing single new lines.\n *\n * @param {string} str String to be checked\n * @returns {string} String with multiple spaces and single new lines removed\n * @private\n */\n\n\nvar _cleanString = function _cleanString(str) {\n return str.replace(_cleanStringRegex, ' ');\n};\n/**\n *\n * @param {string} str html string passed in to remove html tags and entities\n * @param {object} [options={}] Object with options for the conversion\n * @param {boolean} [options.removeEntities=true] Defines if should remove html entities\n * @returns {string} String removed of html tags\n * @example\n * import { removeHtmlTagEntities } from '@carbon/ibmdotcom-utilities';\n *\n * markdownToHtml('<p>example string</p> <p>here</>')\n * // 'example string here'\n */\n\n\nfunction removeHtmlTagEntities(str) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$removeEntities = _ref.removeEntities,\n removeEntities = _ref$removeEntities === void 0 ? true : _ref$removeEntities;\n\n var removedTags = _removeHtmlTags(str);\n\n removedTags = removeEntities ? _cleanString(removedTags) : removedTags;\n return removedTags;\n}\n\nexport default removeHtmlTagEntities;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect, useState, useRef } from 'react';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport { ExpressiveModal } from '../ExpressiveModal';\nimport { Image } from '../Image';\nimport { ModalBody } from '../../internal/vendor/carbon-components-react/components/ComposedModal/ComposedModal';\nimport removeHtmlTagEntities from '@carbon/ibmdotcom-utilities/es/utilities/removeHtmlTagEntities/removeHtmlTagEntities';\nimport root from 'window-or-global';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport uniqueid from '@carbon/ibmdotcom-utilities/es/utilities/uniqueid/uniqueid';\nimport { VideoPlayer } from '../VideoPlayer';\nimport VideoPlayerAPI from '@carbon/ibmdotcom-services/es/services/VideoPlayer/VideoPlayer';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * LightboxMediaViewer Component.\n */\n\nvar LightboxMediaViewer = function LightboxMediaViewer(_ref) {\n var media = _ref.media,\n onClose = _ref.onClose,\n modalProps = _objectWithoutProperties(_ref, [\"media\", \"onClose\"]);\n\n var _useState = useState({\n title: '',\n alt: '',\n description: ''\n }),\n _useState2 = _slicedToArray(_useState, 2),\n videoData = _useState2[0],\n setVideoData = _useState2[1];\n /**\n * Generates an ID for video title to be used by aria-labelledby.\n */\n\n\n var titleId = uniqueid('dds-');\n /**\n * Generates an ID for video description, to be used by aria-describedby.\n */\n\n var descriptionId = uniqueid('dds-');\n var containerRef = useRef(null);\n /**\n * Adds aria-labelledby attribute to dialog container with video title.\n */\n\n useEffect(function () {\n var containerNode = containerRef.current;\n var dialogNode = containerNode.querySelector('div[role=\"dialog\"]');\n\n if (dialogNode && (media.title || videoData.title)) {\n dialogNode.setAttribute('aria-labelledby', titleId);\n }\n }, [titleId, media.title, videoData.title]);\n /**\n * Adds aria-describedby attribute to dialog container with video description.\n */\n\n useEffect(function () {\n var containerNode = containerRef.current;\n var dialogNode = containerNode.querySelector('div[role=\"dialog\"]');\n\n if (dialogNode && (media.description || videoData.description)) {\n dialogNode.setAttribute('aria-describedby', descriptionId);\n }\n }, [descriptionId, media.description, videoData.description]);\n useEffect(function () {\n var stale = false;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var data;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(media.type === 'video')) {\n _context.next = 7;\n break;\n }\n\n _context.next = 3;\n return VideoPlayerAPI.api(media.src);\n\n case 3:\n data = _context.sent;\n\n if (!stale) {\n setVideoData({\n title: media.title ? media.title : data.name,\n alt: media.title ? media.title : data.name,\n description: media.description ? media.description : data.description\n });\n }\n\n _context.next = 8;\n break;\n\n case 7:\n setVideoData({\n title: media.title,\n alt: media.alt,\n description: media.description\n });\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n\n return function () {\n stale = true;\n };\n }, [media]);\n var videoDesc = removeHtmlTagEntities(videoData.description);\n return React.createElement(\"section\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--lightbox-media-viewer\"),\n className: \"\".concat(prefix, \"--lightbox-media-viewer\"),\n ref: containerRef\n }, React.createElement(ExpressiveModal, _extends({\n fullwidth: true\n }, modalProps, {\n onClose: closeModal\n }), React.createElement(ModalBody, null, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--lightbox-media-viewer__container\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--lightbox-media-viewer__row\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--lightbox-media-viewer__media \").concat(prefix, \"--no-gutter\")\n }, media.type === 'video' ? React.createElement(VideoPlayer, {\n videoId: media.src,\n autoPlay: true\n }) : React.createElement(Image, {\n defaultSrc: media.src,\n alt: videoData.alt\n })), React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--lightbox-media-viewer__media-description \").concat(prefix, \"--no-gutter\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--lightbox-media-viewer__content\")\n }, videoData.title && React.createElement(\"div\", {\n id: titleId,\n \"data-autoid\": \"\".concat(stablePrefix, \"--lightbox-media-viewer__content__title\"),\n className: \"\".concat(prefix, \"--lightbox-media-viewer__content__title\")\n }, videoData.title), videoData.description && React.createElement(\"div\", {\n id: descriptionId,\n \"data-autoid\": \"\".concat(stablePrefix, \"--lightbox-media-viewer__content__desc\"),\n className: \"\".concat(prefix, \"--lightbox-media-viewer__content__desc\")\n }, videoDesc))))))));\n /**\n * Stop video on modal close\n */\n\n function closeModal() {\n if ((onClose === null || onClose === void 0 ? void 0 : onClose()) !== false) {\n root.kWidget.addReadyCallback(function (videoId) {\n var kdp = document.getElementById(videoId);\n kdp.sendNotification('doStop');\n });\n }\n }\n};\n\nexport default LightboxMediaViewer;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M11,23a1,1,0,0,1-1-1V10a1,1,0,0,1,1.4473-.8945l12,6a1,1,0,0,1,0,1.789l-12,6A1.001,1.001,0,0,1,11,23Zm1-11.3821v8.7642L20.7642,16Z\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M16,4A12,12,0,1,1,4,16,12,12,0,0,1,16,4m0-2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Z\"\n});\n\nvar PlayOutline20 = /*#__PURE__*/React.forwardRef(function PlayOutline20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, _ref3, children);\n});\nexport default PlayOutline20;","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Utility handles smoothScroll on the anchor element after onClick\n *\n * @example\n * import { smoothScroll } from '@carbon/ibmdotcom-utilities';\n *\n * Here e is event param and seletor is param where you want to apply smoothscroll\n * <a href=\"#anchorlinkname\" onClick={smoothScroll({ e, selector })}>lorem ipsum</a>\n *\n * You can use this for jump to target element by providing event object.\n * it will scroll into view of target by selecting attribute and assigning to id.\n *\n * @param {*} e event object\n * @param {*} selector menu item selector id\n * @param {number} offset top offset for the scroll\n * @returns {null} Returns null if no scroll is needed\n */\nvar smoothScroll = function smoothScroll(e, selector) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var getSelector;\n\n if (e !== null) {\n e.preventDefault();\n getSelector = e.currentTarget.getAttribute('href');\n } else if (selector) {\n getSelector = selector;\n } else {\n return null;\n }\n\n window.scroll({\n top: document.querySelector(getSelector).getBoundingClientRect().top - offset + window.scrollY,\n behavior: 'smooth'\n });\n};\n\nexport default smoothScroll;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ArrowDown20 from '@carbon/icons-react/es/arrow--down/20';\nimport ArrowLeft20 from '@carbon/icons-react/es/arrow--left/20';\nimport ArrowRight20 from '@carbon/icons-react/es/arrow--right/20';\nimport Download20 from '@carbon/icons-react/es/download/20';\nimport Launch20 from '@carbon/icons-react/es/launch/20';\nimport { LightboxMediaViewer } from '../LightboxMediaViewer';\nimport PlayOutline20 from '@carbon/icons-react/es/play--outline/20';\nimport React from 'react';\nimport smoothScroll from '@carbon/ibmdotcom-utilities/es/utilities/smoothScroll/smoothScroll';\n/**\n * The logic behind the CTA component\n */\n\nvar CTALogic = /*#__PURE__*/function () {\n function CTALogic() {\n _classCallCheck(this, CTALogic);\n }\n\n _createClass(CTALogic, null, [{\n key: \"getVideoId\",\n\n /**\n * extract video id from props\n *\n * @param {string} style cta type ( external | jump | local)\n * @param {object} otherProps cta type ( external | jump | local)\n * @returns {*} behaviour object\n */\n value: function getVideoId(style, otherProps) {\n switch (style) {\n case 'text':\n return [{\n src: otherProps.media.src\n }];\n\n case 'card':\n return [{\n src: otherProps.media.src\n }];\n\n case 'feature':\n return [{\n src: otherProps.card.cta.media.src\n }];\n\n case 'button':\n {\n var videoIds = otherProps.buttons.map(function (button, key) {\n if (button.type === 'video' && button.media) return {\n src: button.media.src,\n key: key\n };\n }).filter(function (id) {\n return id && id;\n });\n return videoIds;\n }\n\n default:\n return [];\n }\n }\n /**\n * jump to target element onClick\n *\n * @param {*} e event object\n * @param {string} type cta type ( external | jump | local)\n * @returns {*} behaviour object\n */\n\n }, {\n key: \"jump\",\n value: function jump(e, type) {\n return type === 'jump' ? smoothScroll(e) : null;\n }\n /**\n * sets target\n *\n * @param {string} type cta type ( external | jump | local)\n * @returns {string} target value\n */\n\n }, {\n key: \"external\",\n value: function external(type) {\n return type === 'external' ? '_blank' : null;\n }\n /**\n * sets icon based on link type\n *\n * @param {string} type cta type ( external | jump | local)\n * @returns {*} cta type component\n */\n\n }, {\n key: \"iconSelector\",\n value: function iconSelector(type, iconPlacement) {\n switch (type) {\n case 'download':\n return Download20;\n\n case 'external':\n return Launch20;\n\n case 'jump':\n return ArrowDown20;\n\n case 'video':\n return PlayOutline20;\n\n case 'default':\n return null;\n\n default:\n return iconPlacement === 'left' ? ArrowLeft20 : ArrowRight20;\n }\n }\n /**\n * Opens the LightBoxMediaViewer component when CTA is clicked\n *\n * @param {boolean} renderLightBox determine whether to render the lightbox\n * @param {Function} openLightBox func to toggle the lightbox\n * @param {object} media media object to render within the lightbox\n * @returns {*} lightbox component\n */\n\n }, {\n key: \"launchLightBox\",\n value: function launchLightBox(renderLightBox, openLightBox, media) {\n return renderLightBox && React.createElement(LightboxMediaViewer, {\n media: media,\n open: true,\n onClose: function onClose() {\n return openLightBox(false);\n }\n });\n }\n /**\n *\n * @param {*} e event\n * @param {Function} openLightBox function to toggle lightbox\n *\n * @returns {*} set lightbox state\n */\n\n }, {\n key: \"setLightBox\",\n value: function setLightBox(e, openLightBox) {\n e.preventDefault();\n return openLightBox(true);\n }\n }]);\n\n return CTALogic;\n}();\n\nexport default CTALogic;","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport DOMPurify from 'isomorphic-dompurify';\nimport marked from 'marked';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\nvar _htmlTagRegex = /<.*?>/g;\nvar _cleanStringRegex = /\\n|\\s{2,}|&([a-zA-Z]+);/g;\n/**\n * Removes any html tags from a string and keeps inner text if any\n *\n * @param {string} str String to be checked for html tags\n * @returns {string} String with html tags stripped out\n * @private\n */\n\nvar _removeHtmlTags = function _removeHtmlTags(str) {\n return str.replace(_htmlTagRegex, '');\n};\n/**\n * Cleans string by replacing multiple spaces with a single space\n * and removing single new lines.\n *\n * @param {string} str String to be checked\n * @returns {string} String with multiple spaces and single new lines removed\n * @private\n */\n\n\nvar _cleanString = function _cleanString(str) {\n return str.replace(_cleanStringRegex, ' ');\n};\n/**\n * Converts markdown syntaxes into html\n *\n * @param {string} str String to convert to html\n * @param {object} [options={}] Object with options for the conversion\n * @param {boolean} [options.allowHtml=false] Defines if should allow or remove html tags\n * @param {object} [options.renderer] Custom renderers\n * @param {Set<string>} [options.customTags] List of custom element tags the `renderer` uses.\n * @returns {string} String converted to html\n * @example\n * import { markdownToHtml } from '@carbon/ibmdotcom-utilities';\n *\n * markdownToHtml('Lorem *ipsum* dolor __sit__.')\n * // 'Lorem <em class=\"bx--type-light\">ipsum</em> dolor <strong class=\"bx--type-semibold\">sit</strong>.'\n */\n\n\nfunction markdownToHtml(str) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$allowHtml = _ref.allowHtml,\n allowHtml = _ref$allowHtml === void 0 ? false : _ref$allowHtml,\n _ref$renderer = _ref.renderer,\n renderer = _ref$renderer === void 0 ? {} : _ref$renderer,\n customTags = _ref.customTags;\n\n var converted = allowHtml ? str : _removeHtmlTags(str);\n /**\n * Custom rendering options to add Carbon styles\n *\n */\n\n var defaultRenderer = {\n link: function link(href, title, text) {\n var linkTitle = title ? \"title=\\\"\".concat(title, \"\\\"\") : null;\n return \"<a class=\\\"\".concat(prefix, \"--link\\\" href=\\\"\").concat(href, \"\\\" \").concat(linkTitle, \">\").concat(text, \"</a>\");\n },\n list: function list(body, ordered) {\n var listType = ordered ? 'ol' : 'ul';\n var listClass = ordered ? \"\".concat(prefix, \"--list--ordered\") : \"\".concat(prefix, \"--list--unordered\");\n return \"<\".concat(listType, \" class=\\\"\").concat(listClass, \"\\\">\").concat(body, \"</\").concat(listType, \">\");\n },\n listitem: function listitem(text) {\n return \"<li class=\\\"\".concat(prefix, \"--list__item\\\">\").concat(text, \"</li>\");\n }\n };\n marked.use({\n renderer: Object.assign(defaultRenderer, renderer)\n });\n\n if (customTags) {\n DOMPurify.addHook('uponSanitizeElement', function (node, _ref2) {\n var allowedTags = _ref2.allowedTags,\n tagName = _ref2.tagName;\n\n if (customTags.has(tagName) && !allowedTags[tagName]) {\n allowedTags[tagName] = true;\n }\n });\n }\n\n var convertedMarkdown = DOMPurify.sanitize(marked(converted));\n\n if (customTags) {\n DOMPurify.removeHook('uponSanitizeElement');\n }\n\n return _cleanString(convertedMarkdown);\n}\n\nexport default markdownToHtml;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ClickableTile, Tile } from '../../internal/vendor/carbon-components-react/components/Tile/Tile';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport CTALogic from '../CTA/CTALogic';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport { Image } from '../Image';\nimport markdownToHtml from '@carbon/ibmdotcom-utilities/es/utilities/markdownToHtml/markdownToHtml';\nimport on from 'carbon-components/es/globals/js/misc/on';\nimport PropTypes from 'prop-types';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Card Link Component.\n */\n\nexport var Card = function Card(_ref) {\n var _classNames;\n\n var inverse = _ref.inverse,\n image = _ref.image,\n eyebrow = _ref.eyebrow,\n heading = _ref.heading,\n customClassName = _ref.customClassName,\n copy = _ref.copy,\n cta = _ref.cta,\n pictogram = _ref.pictogram,\n onClick = _ref.onClick,\n props = _objectWithoutProperties(_ref, [\"inverse\", \"image\", \"eyebrow\", \"heading\", \"customClassName\", \"copy\", \"cta\", \"pictogram\", \"onClick\"]);\n\n var refWrapper = useRef(null);\n var TileType = props.disabled ? Tile : ClickableTile;\n var handleClick = useCallback(function (e) {\n if (!onClick || onClick(e) !== false) {\n (cta === null || cta === void 0 ? void 0 : cta.type) === 'jump' ? CTALogic.jump(e, cta.type) : false;\n }\n }, [cta, onClick]);\n useEffect(function () {\n var hClick;\n var wrapperNode = refWrapper.current;\n var tileNode = wrapperNode.closest('.bx--tile');\n\n if (tileNode) {\n // Manually attach an event listener given `onClick()` of Carbon `<Tile>` runs after `<Tile>` changes its state\n hClick = on(tileNode, 'click', handleClick);\n }\n\n return function () {\n if (hClick) {\n hClick = hClick.release();\n }\n };\n }, [handleClick]);\n return React.createElement(TileType, _extends({\n \"data-autoid\": \"\".concat(stablePrefix, \"--card\"),\n className: classNames(\"\".concat(prefix, \"--card\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--card--inverse\"), inverse), _defineProperty(_classNames, \"\".concat(prefix, \"--card__CTA--disabled\"), props.disabled), _classNames), customClassName),\n href: cta === null || cta === void 0 ? void 0 : cta.href,\n target: CTALogic.external(cta === null || cta === void 0 ? void 0 : cta.type)\n }, props), image && React.createElement(Image, _extends({}, image, {\n classname: \"\".concat(prefix, \"--card__img\")\n })), React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--card__wrapper\"),\n ref: refWrapper\n }, eyebrow && React.createElement(\"p\", {\n className: \"\".concat(prefix, \"--card__eyebrow\")\n }, eyebrow), heading && React.createElement(\"h3\", {\n className: \"\".concat(prefix, \"--card__heading\")\n }, heading), optionalContent(copy), renderFooter(cta, pictogram)));\n};\n/**\n * Card Link optional content\n *\n * @param {string} copy paragraph of text\n * @returns {object} JSX object\n */\n\nfunction optionalContent(copy) {\n return !copy ? null : React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--card__copy\"),\n dangerouslySetInnerHTML: {\n __html: markdownToHtml(copy, {\n bold: false\n })\n }\n });\n}\n/**\n * Render footer with icon\n *\n * @param {object} cta cta object\n * @returns {object} JSX object\n */\n\n\nfunction renderFooter(cta, pictogram) {\n var _classNames2, _cta$icon;\n\n return cta && React.createElement(\"div\", {\n className: classNames(\"\".concat(prefix, \"--card__footer\"), (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefix, \"--card__footer__icon-left\"), (cta === null || cta === void 0 ? void 0 : cta.iconPlacement) === 'left'), _defineProperty(_classNames2, \"\".concat(prefix, \"--card__footer__copy\"), cta === null || cta === void 0 ? void 0 : cta.copy), _classNames2))\n }, (cta === null || cta === void 0 ? void 0 : cta.copy) && !pictogram && React.createElement(\"span\", {\n className: \"\".concat(prefix, \"--card__cta__copy\")\n }, cta === null || cta === void 0 ? void 0 : cta.copy), (cta === null || cta === void 0 ? void 0 : (_cta$icon = cta.icon) === null || _cta$icon === void 0 ? void 0 : _cta$icon.src) && !pictogram && React.createElement(cta.icon.src, _extends({\n className: \"\".concat(prefix, \"--card__cta\")\n }, cta === null || cta === void 0 ? void 0 : cta.icon)), pictogram && pictogram);\n}\n\nexport var cardPropTypes = {\n /**\n * Concise yet descriptive string of text describing the linked resource.\n */\n heading: PropTypes.string,\n\n /**\n * Eyebrow text to be passed as a property to the Card component.\n * Style for Card component has been set to \"text\".\n */\n eyebrow: PropTypes.string,\n\n /**\n * Paragraph of text that further describing the resource with added detail.\n */\n copy: PropTypes.string,\n\n /**\n * Disable card link\n */\n disabled: PropTypes.bool,\n\n /**\n * Pictogram located at the bottom left side of the Card. This prop disables the CTA.copy and CTA.icon (experimental)\n */\n pictogram: PropTypes.node,\n\n /**\n * CTA options. Has the following structure in summary:\n *\n * | Name | Data Type | Description |\n * | --------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------- |\n * | `href` | String | Valid URL for a the location of an internal or external resource |\n * | `icon` | String | Provide an optional icon to the footer from [Carbon's icon library](https://www.carbondesignsystem.com/guidelines/icons/library) |\n * | `iconPlacement` | String | Option to place icon left or right of cta text |\n * | `copy` | String | Optional text for CTA |\n * | `type` | String | type of CTA (local or external) when Card type is static |\n *\n * See the [`<CTA>`'s README](http://ibmdotcom-react.mybluemix.net/?path=/docs/components-cta--default#props) for full usage details.\n */\n cta: PropTypes.shape({\n copy: PropTypes.string,\n href: PropTypes.string,\n type: PropTypes.oneOf(['jump', 'local', 'external', 'download']),\n icon: PropTypes.shape({\n src: PropTypes.elementType\n }),\n iconPlacement: PropTypes.oneOf(['left', 'right'])\n }),\n\n /**\n * Contains source and alt text properties.\n * See [`<Image>`'s README](http://ibmdotcom-react.mybluemix.net/?path=/docs/components-image--default#props) for full usage details.\n */\n image: PropTypes.shape({\n classname: PropTypes.string,\n sources: PropTypes.arrayOf(PropTypes.shape({\n src: PropTypes.string,\n breakpoint: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n })),\n defaultSrc: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n longDescription: PropTypes.string\n }),\n\n /**\n * `true` to sets the high contrast for Card.\n */\n inverse: PropTypes.bool,\n\n /**\n * Classname to be assigned to the Card component.\n */\n customClassName: PropTypes.string,\n\n /**\n * A handler for `click` event on the card.\n */\n onClick: PropTypes.func\n};","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport default function on(element) {\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 element.addEventListener.apply(element, args);\n return {\n release: function release() {\n element.removeEventListener.apply(element, args);\n return null;\n }\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Card } from '../Card';\nimport cx from 'classnames';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar prefix = settings.prefix;\n/**\n * CardLink component\n */\n\nvar CardLink = function CardLink(_ref) {\n var card = _ref.card,\n customClassName = _ref.customClassName;\n var cardLinkClassname = cx(\"\".concat(prefix, \"--card__CTA\"), customClassName);\n return React.createElement(Card, _extends({\n customClassName: cardLinkClassname\n }, card));\n};\n\nCardLink.defaultProps = {\n disabled: false\n};\nexport default CardLink;","/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport '@carbon/icon-helpers';\nimport React from 'react';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M2,16H2A14,14,0,1,0,16,2,14,14,0,0,0,2,16Zm23.15,7.75L8.25,6.85a12,12,0,0,1,16.9,16.9ZM8.24,25.16A12,12,0,0,1,6.84,8.27L23.73,25.16a12,12,0,0,1-15.49,0Z\"\n});\n\nvar Error20 = /*#__PURE__*/React.forwardRef(function Error20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\nexport default Error20;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect } from 'react';\nimport ArrowRight20 from '@carbon/icons-react/es/arrow--right/20';\nimport { CardLink } from '../CardLink';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport Error20 from '@carbon/icons-react/es/error/20';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * LocaleModalRegions component\n *\n * @param {object} props props object\n * @param {object} props.regionList object of regions\n * @param {Function} props.setCurrentRegion sets state for region name\n * @param {boolean} props.setIsFiltering true when search filter is visible\n * @param {Function} props.setClearResults set flag to determine whether to reset the filtered results\n * @param {string} props.closeModalLabel label for the close button\n * @param {string} props.returnButtonLabel label for the return button\n * @returns {*} LocaleModalRegions component\n */\n\nvar LocaleModalRegions = function LocaleModalRegions(_ref) {\n var regionList = _ref.regionList,\n setCurrentRegion = _ref.setCurrentRegion,\n setIsFiltering = _ref.setIsFiltering,\n setClearResults = _ref.setClearResults,\n returnButtonLabel = _ref.returnButtonLabel,\n closeModalLabel = _ref.closeModalLabel;\n useEffect(function () {\n var regionLink = document.querySelectorAll(\".\".concat(prefix, \"--card\"));\n\n _toConsumableArray(regionLink).forEach(function (link) {\n link.setAttribute('tabindex', '0');\n link.addEventListener('click', function () {\n var searchInput = document.getElementById(\"\".concat(prefix, \"--locale-modal__filter\"));\n searchInput.focus();\n setCurrentRegion(link.getElementsByTagName('h3')[0].innerHTML);\n setIsFiltering(true);\n /**\n * go back to region selection\n *\n */\n\n var localeBackBtn = document.querySelectorAll(\".\".concat(prefix, \"--locale-modal__back .\").concat(prefix, \"--modal-header__label,\\n .\").concat(prefix, \"--locale-modal__back .\").concat(prefix, \"--modal-close\"));\n addLocaleBackBtnListeners(localeBackBtn, returnButtonLabel, setIsFiltering, setClearResults, closeModalLabel);\n });\n });\n });\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--grid \").concat(prefix, \"--no-gutter \").concat(prefix, \"--locale-modal__regions\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--row\")\n }, regionList && regionList.map(function (region) {\n var hasCountries = region.countries.length !== 0;\n return React.createElement(\"div\", {\n key: \"\".concat(region.name),\n className: \"\".concat(prefix, \"--col-sm-4 \").concat(prefix, \"--col-md-8 \").concat(prefix, \"--col-lg-8 \").concat(prefix, \"--col-xlg-8 \").concat(prefix, \"--no-gutter\")\n }, React.createElement(CardLink, {\n \"data-autoid\": \"\".concat(stablePrefix, \"--locale-modal__geo-btn-\").concat(region.key),\n key: region.key,\n card: {\n 'data-region': region.key,\n heading: region.name,\n cta: {\n type: 'local',\n href: hasCountries ? '#' : null,\n icon: {\n src: hasCountries ? ArrowRight20 : Error20\n }\n },\n handleClick: function handleClick(e) {\n return e.preventDefault();\n }\n }\n }));\n })));\n};\n/**\n * Removes tabindex and role as it goes back\n *\n * @param {*} btn btn element\n */\n\n\nexport var localeBackActive = function localeBackActive(btn, setIsFiltering, setClearResults) {\n setIsFiltering(false);\n setClearResults(true);\n var filter = document.getElementById(\"\".concat(prefix, \"--locale-modal__filter\"));\n\n if (filter) {\n filter.value = '';\n }\n\n btn.removeAttribute('tabindex');\n btn.removeAttribute('role');\n btn.removeAttribute('aria-label');\n};\n/**\n * Add listeners and appropriate role, tab-index and aria-label to the buttons provided\n *\n * @param {Array} buttons buttons to be processed\n * @param {Function} returnButtonLabel hook from props\n * @param {Function} setIsFiltering hook from props\n * @param {Function} setClearResults hook from props\n * @param {Function} closeModalLabel hook from props\n */\n\nexport var addLocaleBackBtnListeners = function addLocaleBackBtnListeners(buttons, returnButtonLabel, setIsFiltering, setClearResults, closeModalLabel) {\n _toConsumableArray(buttons).forEach(function (btn) {\n btn.setAttribute('tabindex', '0');\n btn.setAttribute('role', 'button');\n btn.setAttribute('aria-label', btn.tagName.toLowerCase() === 'button' ? closeModalLabel : returnButtonLabel);\n btn.addEventListener('click', function click() {\n localeBackActive(btn, setIsFiltering, setClearResults);\n btn.removeEventListener('click', click);\n });\n btn.addEventListener('keyup', function keyup(e) {\n if (e.keyCode === 32 || e.keyCode === 13) {\n localeBackActive(btn, setIsFiltering, setClearResults);\n btn.removeEventListener('keyup', keyup);\n }\n });\n });\n};\n/**\n * @property {object} propTypes LocaleModalRegions propTypes\n * @description Defined property types for component\n * @type {{}}\n */\n\nexport default LocaleModalRegions;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport ComposedModal, { ModalBody, ModalHeader } from '../../internal/vendor/carbon-components-react/components/ComposedModal/ComposedModal';\nimport React, { useEffect, useState } from 'react';\nimport altlangs from '@carbon/ibmdotcom-utilities/es/utilities/altlangs/altlangs';\nimport ArrowLeft20 from '@carbon/icons-react/es/arrow--left/20';\nimport cx from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport EarthFilled16 from '@carbon/icons-react/es/earth--filled/16';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale';\nimport LocaleModalCountries from './LocaleModalCountries';\nimport LocaleModalRegions from './LocaleModalRegions';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * LocaleModal component.\n */\n\nvar LocaleModal = function LocaleModal(_ref) {\n var isOpen = _ref.isOpen,\n setIsOpen = _ref.setIsOpen,\n localeData = _ref.localeData,\n localeDisplay = _ref.localeDisplay;\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n list = _useState2[0],\n setList = _useState2[1];\n\n var _useState3 = useState(),\n _useState4 = _slicedToArray(_useState3, 2),\n langDisplay = _useState4[0],\n setLangDisplay = _useState4[1];\n\n var _useState5 = useState({}),\n _useState6 = _slicedToArray(_useState5, 2),\n modalLabels = _useState6[0],\n setModalLabels = _useState6[1];\n\n var _useState7 = useState(false),\n _useState8 = _slicedToArray(_useState7, 2),\n isFiltering = _useState8[0],\n setIsFiltering = _useState8[1];\n\n var _useState9 = useState(false),\n _useState10 = _slicedToArray(_useState9, 2),\n clearResults = _useState10[0],\n setClearResults = _useState10[1];\n\n var _useState11 = useState(),\n _useState12 = _slicedToArray(_useState11, 2),\n currentRegion = _useState12[0],\n setCurrentRegion = _useState12[1];\n\n var filterClass = cx(_defineProperty({}, \"\".concat(prefix, \"--locale-modal__filtering\"), isFiltering));\n useEffect(function () {\n var stale = false;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var list, getLangDisplay, pair, locale;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(localeData && localeDisplay)) {\n _context.next = 5;\n break;\n }\n\n list = Object.assign({}, localeData);\n getLangDisplay = localeDisplay;\n _context.next = 17;\n break;\n\n case 5:\n _context.next = 7;\n return Promise.all([LocaleAPI.getLocale(), LocaleAPI.getLangDisplay()]);\n\n case 7:\n pair = _context.sent;\n\n if (stale) {\n _context.next = 17;\n break;\n }\n\n locale = pair[0];\n getLangDisplay = pair[1];\n _context.t0 = locale;\n\n if (!_context.t0) {\n _context.next = 16;\n break;\n }\n\n _context.next = 15;\n return LocaleAPI.getList(locale);\n\n case 15:\n _context.t0 = _context.sent;\n\n case 16:\n list = _context.t0;\n\n case 17:\n setLangDisplay(getLangDisplay);\n setList(list);\n setModalLabels(list.localeModal);\n\n case 20:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))(); // reset the country search results when clicking close icon or back to region button\n\n\n if (clearResults) {\n var localeItems = document.querySelectorAll(\".\".concat(prefix, \"--locale-modal__locales\"));\n var localeHidden = \"\".concat(prefix, \"--locale-modal__locales-hidden\");\n\n _toConsumableArray(localeItems).map(function (item) {\n item.classList.remove(localeHidden);\n });\n }\n\n return function () {\n stale = true;\n };\n }, [clearResults, localeData, localeDisplay]);\n useEffect(function () {\n var _document$querySelect;\n\n (_document$querySelect = document.querySelector(\".\".concat(prefix, \"--modal-header__heading\"))) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.setAttribute('tabindex', '0');\n var localeModalContainer = document.querySelector(\".\".concat(prefix, \"--locale-modal-container .\").concat(prefix, \"--modal-container\"));\n localeModalContainer === null || localeModalContainer === void 0 ? void 0 : localeModalContainer.setAttribute('role', 'dialog');\n localeModalContainer === null || localeModalContainer === void 0 ? void 0 : localeModalContainer.setAttribute('aria-labelledby', modalLabels.headerTitle);\n localeModalContainer === null || localeModalContainer === void 0 ? void 0 : localeModalContainer.setAttribute('tabindex', '-1');\n localeModalContainer === null || localeModalContainer === void 0 ? void 0 : localeModalContainer.setAttribute('aria-modal', 'true');\n });\n return React.createElement(ComposedModal, {\n open: isOpen,\n onClose: function onClose() {\n _close(setIsOpen);\n },\n className: \"\".concat(prefix, \"--locale-modal-container\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--locale-modal\"),\n selectorPrimaryFocus: \".\".concat(prefix, \"--modal-close\")\n }, isFiltering ? React.createElement(ModalHeader, {\n \"data-autoid\": \"\".concat(stablePrefix, \"--locale-modal__region-back\"),\n label: [React.createElement(ArrowLeft20, {\n className: \"\".concat(prefix, \"--locale-modal__label-arrow\"),\n key: \"arrow-left\"\n }), modalLabels.headerTitle],\n title: currentRegion,\n className: \"\".concat(prefix, \"--locale-modal__back\")\n }) : React.createElement(ModalHeader, {\n label: [langDisplay, React.createElement(EarthFilled16, {\n key: \"earthfilled\",\n className: \"\".concat(prefix, \"--locale-modal__label-globe\")\n })],\n title: modalLabels.headerTitle,\n iconDescription: modalLabels.modalClose\n }), React.createElement(ModalBody, {\n className: \"\".concat(prefix, \"--locale-modal \").concat(filterClass)\n }, React.createElement(LocaleModalRegions, {\n regionList: sortList(list),\n setCurrentRegion: setCurrentRegion,\n setIsFiltering: setIsFiltering,\n setClearResults: setClearResults,\n returnButtonLabel: modalLabels.headerTitle,\n closeModalLabel: modalLabels.modalClose\n }), React.createElement(LocaleModalCountries, _extends({\n regionList: sortList(list),\n setClearResults: setClearResults,\n currentRegion: currentRegion\n }, modalLabels))));\n};\n\nLocaleModal.defaultProps = {\n isOpen: false,\n setIsOpen: function setIsOpen() {},\n localeData: null,\n localeDisplay: null\n};\n/**\n * New region/country list based lang attributes available on page\n *\n * @param {object} list country list\n *\n * @returns {object} list item\n */\n\nexport var sortList = function sortList(list) {\n var pageLangs = altlangs();\n var filterList = [];\n list.regionList && list.regionList.map(function (region, index) {\n filterList.push({\n name: region.name,\n key: region.key,\n countries: []\n });\n\n var _loop = function _loop() {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n\n region.countryList.map(function (country) {\n country.locale.map(function (loc) {\n if (loc[0].includes(key)) {\n filterList[index].countries.push({\n region: region.key,\n name: country.name,\n locale: loc[0],\n language: loc[1],\n href: value\n });\n }\n });\n });\n };\n\n for (var _i = 0, _Object$entries = Object.entries(pageLangs); _i < _Object$entries.length; _i++) {\n _loop();\n }\n\n filterList[index].countries.sort(function (a, b) {\n return a.name > b.name ? 1 : -1;\n });\n });\n return filterList;\n};\n/**\n * Sets modal state to closed\n *\n * @private\n */\n\nexport var _close = function _close(setIsOpen) {\n setIsOpen(false);\n var footerBtn = document.querySelector(\".\".concat(prefix, \"--locale-btn__container .\").concat(prefix, \"--btn--secondary\"));\n setTimeout(function () {\n footerBtn === null || footerBtn === void 0 ? void 0 : footerBtn.focus();\n }, 100);\n};\nexport default LocaleModal;","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useState } from 'react';\nimport Button from '../../internal/vendor/carbon-components-react/components/Button/Button';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport EarthFilled20 from '@carbon/icons-react/es/earth--filled/20';\nimport LocaleModal from '../LocaleModal/LocaleModal';\nimport settings from 'carbon-components/es/globals/js/settings';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Renders the locale button.\n */\n\nvar LocaleButton = function LocaleButton(_ref) {\n var displayLang = _ref.displayLang,\n aria = _ref.aria;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isOpen = _useState2[0],\n setIsOpen = _useState2[1];\n\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--locale-btn__container\")\n }, React.createElement(Button, {\n \"data-autoid\": \"\".concat(stablePrefix, \"--locale-btn\"),\n className: \"\".concat(prefix, \"--locale-btn\"),\n kind: \"secondary\",\n onClick: open,\n renderIcon: EarthFilled20,\n iconDescription: \"Earth Filled Icon\",\n \"aria-label\": aria\n }, displayLang), isOpen && React.createElement(LocaleModal, {\n isOpen: isOpen,\n setIsOpen: setIsOpen\n }));\n /**\n * Sets modal state to open\n *\n * @private\n */\n\n function open() {\n setIsOpen(true);\n }\n};\n\nexport default LocaleButton;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport FooterLogo from './FooterLogo';\nimport FooterNav from './FooterNav';\nimport { globalInit } from '@carbon/ibmdotcom-services/es/services/global/global';\nimport LanguageSelector from './LanguageSelector';\nimport LegalNav from './LegalNav';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale';\nimport LocaleButton from './LocaleButton';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport TranslationAPI from '@carbon/ibmdotcom-services/es/services/Translation/Translation';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * Footer component.\n */\n\nvar Footer = function Footer(_ref) {\n var _classNames;\n\n var type = _ref.type,\n navigation = _ref.navigation,\n langCode = _ref.langCode,\n disableLocaleButton = _ref.disableLocaleButton,\n languageOnly = _ref.languageOnly,\n labelText = _ref.labelText,\n languageItems = _ref.languageItems,\n languageInitialItem = _ref.languageInitialItem,\n languageCallback = _ref.languageCallback;\n\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n footerMenuData = _useState2[0],\n setFooterMenuData = _useState2[1];\n\n var _useState3 = useState([]),\n _useState4 = _slicedToArray(_useState3, 2),\n footerLegalData = _useState4[0],\n setFooterLegalData = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n displayLang = _useState6[0],\n setDisplayLang = _useState6[1];\n\n var _useState7 = useState(''),\n _useState8 = _slicedToArray(_useState7, 2),\n localeButtonAria = _useState8[0],\n setLocaleButtonAria = _useState8[1];\n\n useEffect(function () {\n // initialize global execution calls\n globalInit();\n }, []);\n useEffect(function () {\n var stale = false;\n\n if (!navigation) {\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var response;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return TranslationAPI.getTranslation();\n\n case 3:\n response = _context.sent;\n\n if (!stale) {\n setFooterMenuData(response.footerMenu);\n setFooterLegalData(response.footerThin);\n }\n\n _context.next = 10;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context[\"catch\"](0);\n console.error('Error populating footer data:', _context.t0);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7]]);\n }))();\n }\n\n return function () {\n stale = true;\n };\n }, [navigation]);\n useEffect(function () {\n var stale = false;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var response, locale, list;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return LocaleAPI.getLangDisplay(langCode);\n\n case 2:\n response = _context2.sent;\n\n if (!stale) {\n _context2.next = 5;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 5:\n setDisplayLang(response);\n _context2.next = 8;\n return LocaleAPI.getLocale();\n\n case 8:\n locale = _context2.sent;\n\n if (!stale) {\n _context2.next = 11;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 11:\n _context2.next = 13;\n return LocaleAPI.getList(locale);\n\n case 13:\n list = _context2.sent;\n\n if (!stale) {\n _context2.next = 16;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 16:\n setLocaleButtonAria(list.localeModal.headerTitle);\n\n case 17:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n\n return function () {\n stale = true;\n };\n }, [langCode]);\n\n if (navigation) {\n footerMenuData = navigation.footerMenu;\n footerLegalData = navigation.footerThin;\n }\n\n return React.createElement(\"footer\", {\n \"data-autoid\": \"\".concat(stablePrefix, \"--footer\"),\n className: classNames(\"\".concat(prefix, \"--footer\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefix, \"--footer--short\"), type === 'short'), _defineProperty(_classNames, \"\".concat(prefix, \"--footer--micro\"), type === 'micro'), _classNames))\n }, React.createElement(\"section\", {\n className: \"\".concat(prefix, \"--footer__main\")\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--footer__main-container\")\n }, type !== 'micro' && React.createElement(FooterLogo, null), (type === 'tall' || type === undefined) && React.createElement(FooterNav, {\n groups: footerMenuData\n }), type !== 'micro' && _loadLocaleLanguage(disableLocaleButton, localeButtonAria, displayLang, languageOnly, labelText, languageItems, languageInitialItem, languageCallback))), React.createElement(LegalNav, {\n links: footerLegalData,\n type: type,\n button: type === 'micro' ? _loadLocaleLanguage(disableLocaleButton, localeButtonAria, displayLang, languageOnly, labelText, languageItems, languageInitialItem, languageCallback) : null\n }));\n};\n/**\n * Loads in the locale modal, language selector, or null\n *\n * @param {boolean} disableLocaleButton Flag to disable to locale button\n * @param {string} localeButtonAria String for the aria label\n * @param {string} displayLang display language for locale button\n * @param {boolean} languageOnly Switches to the language selector\n * @param {string} labelText Label text for locale/language selector\n * @param {Array} languageItems Array of language data for the dropdown\n * @param {object} languageInitialItem Initial language selected\n * @param {Function} languageCallback Callback function when language is selected\n * @returns {null|*} JSX or null\n * @private\n */\n\n\nfunction _loadLocaleLanguage(disableLocaleButton, localeButtonAria, displayLang, languageOnly, labelText, languageItems, languageInitialItem, languageCallback) {\n if (languageOnly) {\n return React.createElement(LanguageSelector, {\n items: languageItems,\n initialSelectedItem: languageInitialItem,\n callback: languageCallback,\n labelText: labelText\n });\n } else if (!disableLocaleButton) {\n return React.createElement(LocaleButton, {\n aria: localeButtonAria,\n displayLang: displayLang\n });\n } else {\n return null;\n }\n}\n\n/**\n * @property {object} defaultProps default Footer props\n * @type {{navigation: null, langCode: null, disableLocaleButton: boolean,\n * type: string}}\n */\nFooter.defaultProps = {\n navigation: null,\n type: 'tall',\n langCode: null,\n disableLocaleButton: false,\n languageOnly: false,\n languageItems: [],\n languageCallback: function languageCallback() {}\n};\nexport default Footer;","import React from 'react'\nimport PropTypes from 'prop-types'\nimport HeaderIBM from './HeaderIBM'\nimport { Footer } from '@carbon/ibmdotcom-react'\nimport '@styles/IBM.scss'\nimport '@styles/styles.css'\n\n\nconst Layout = ({ children }) => {\n return (\n <>\n <HeaderIBM />\n <main>\n {children}\n </main>\n <Footer\n type=\"short\"\n disableLocaleButton={true}\n />\n </>\n )\n}\n\nLayout.propTypes = {\n children: PropTypes.node.isRequired,\n}\n\n\nexport default Layout","// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","/**\n * Module dependencies\n */\nvar debug = require('debug')('jsonp');\n/**\n * Module exports.\n */\n\n\nmodule.exports = jsonp;\n/**\n * Callback index.\n */\n\nvar count = 0;\n/**\n * Noop function.\n */\n\nfunction noop() {}\n/**\n * JSONP handler\n *\n * Options:\n * - param {String} qs parameter (`callback`)\n * - prefix {String} qs parameter (`__jp`)\n * - name {String} qs parameter (`prefix` + incr)\n * - timeout {Number} how long after a timeout error is emitted (`60000`)\n *\n * @param {String} url\n * @param {Object|Function} optional options / callback\n * @param {Function} optional callback\n */\n\n\nfunction jsonp(url, opts, fn) {\n if ('function' == typeof opts) {\n fn = opts;\n opts = {};\n }\n\n if (!opts) opts = {};\n var prefix = opts.prefix || '__jp'; // use the callback name that was passed if one was provided.\n // otherwise generate a unique name by incrementing our counter.\n\n var id = opts.name || prefix + count++;\n var param = opts.param || 'callback';\n var timeout = null != opts.timeout ? opts.timeout : 60000;\n var enc = encodeURIComponent;\n var target = document.getElementsByTagName('script')[0] || document.head;\n var script;\n var timer;\n\n if (timeout) {\n timer = setTimeout(function () {\n cleanup();\n if (fn) fn(new Error('Timeout'));\n }, timeout);\n }\n\n function cleanup() {\n if (script.parentNode) script.parentNode.removeChild(script);\n window[id] = noop;\n if (timer) clearTimeout(timer);\n }\n\n function cancel() {\n if (window[id]) {\n cleanup();\n }\n }\n\n window[id] = function (data) {\n debug('jsonp got', data);\n cleanup();\n if (fn) fn(null, data);\n }; // add qs component\n\n\n url += (~url.indexOf('?') ? '&' : '?') + param + '=' + enc(id);\n url = url.replace('?&', '?');\n debug('jsonp req \"%s\"', url); // create script\n\n script = document.createElement('script');\n script.src = url;\n target.parentNode.insertBefore(script, target);\n return cancel;\n}","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/** Used as references for various `Number` constants. */\n\nvar NAN = 0 / 0;\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n\nvar now = function now() {\n return root.Date.now();\n};\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\n\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\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 */\n\n\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\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 */\n\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\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 */\n\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = debounce;","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Settings.\n * @exports CarbonComponents.settings\n * @type Object\n * @property {boolean} [disableAutoInit]\n * Disables automatic instantiation of components.\n * By default (`CarbonComponents.disableAutoInit` is `false`),\n * carbon-components attempts to instantiate components automatically\n * by searching for elements with `data-component-name` (e.g. `data-loading`) attribute\n * or upon DOM events (e.g. clicking) on such elements.\n * See each components' static `.init()` methods for details.\n * @property {string} [prefix=bx]\n * Brand prefix. Should be in sync with `$prefix` Sass variable in carbon-components/src/globals/scss/_vars.scss.\n * // @todo given that the default value is so long, is it appropriate to put in the JSDoc?\n * @property {string} [selectorTabbable]\n * A selector selecting tabbable/focusable nodes.\n * By default selectorTabbable references links, areas, inputs, buttons, selects, textareas,\n * iframes, objects, embeds, or elements explicitly using tabindex or contenteditable attributes\n * as long as the element is not `disabled` or the `tabindex=\"-1\"`.\n * @property {string} [selectorFocusable]\n * CSS selector that selects major nodes that are click focusable\n * This property is identical to selectorTabbable with the exception of\n * the `:not([tabindex='-1'])` pseudo class\n */\nvar settings = {\n prefix: 'bx',\n selectorTabbable: \"\\n a[href], area[href], input:not([disabled]):not([tabindex='-1']),\\n button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']),\\n textarea:not([disabled]):not([tabindex='-1']),\\n iframe, object, embed, *[tabindex]:not([tabindex='-1']), *[contenteditable=true]\\n \",\n selectorFocusable: \"\\n a[href], area[href], input:not([disabled]),\\n button:not([disabled]),select:not([disabled]),\\n textarea:not([disabled]),\\n iframe, object, embed, *[tabindex], *[contenteditable=true]\\n \"\n};\nvar settings_1 = settings;\nexport default settings_1;","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","\"use strict\";\n\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nmodule.exports = function (_ref) {\n var data = _ref.data;\n var multiSection = _ref.multiSection;\n\n function nextNonEmptySectionIndex(sectionIndex) {\n if (sectionIndex === null) {\n sectionIndex = 0;\n } else {\n sectionIndex++;\n }\n\n while (sectionIndex < data.length && data[sectionIndex] === 0) {\n sectionIndex++;\n }\n\n return sectionIndex === data.length ? null : sectionIndex;\n }\n\n function prevNonEmptySectionIndex(sectionIndex) {\n if (sectionIndex === null) {\n sectionIndex = data.length - 1;\n } else {\n sectionIndex--;\n }\n\n while (sectionIndex >= 0 && data[sectionIndex] === 0) {\n sectionIndex--;\n }\n\n return sectionIndex === -1 ? null : sectionIndex;\n }\n\n function next(position) {\n var _position = _slicedToArray(position, 2);\n\n var sectionIndex = _position[0];\n var itemIndex = _position[1];\n\n if (multiSection) {\n if (itemIndex === null || itemIndex === data[sectionIndex] - 1) {\n sectionIndex = nextNonEmptySectionIndex(sectionIndex);\n\n if (sectionIndex === null) {\n return [null, null];\n }\n\n return [sectionIndex, 0];\n }\n\n return [sectionIndex, itemIndex + 1];\n }\n\n if (data === 0 || itemIndex === data - 1) {\n return [null, null];\n }\n\n if (itemIndex === null) {\n return [null, 0];\n }\n\n return [null, itemIndex + 1];\n }\n\n function prev(position) {\n var _position2 = _slicedToArray(position, 2);\n\n var sectionIndex = _position2[0];\n var itemIndex = _position2[1];\n\n if (multiSection) {\n if (itemIndex === null || itemIndex === 0) {\n sectionIndex = prevNonEmptySectionIndex(sectionIndex);\n\n if (sectionIndex === null) {\n return [null, null];\n }\n\n return [sectionIndex, data[sectionIndex] - 1];\n }\n\n return [sectionIndex, itemIndex - 1];\n }\n\n if (data === 0 || itemIndex === 0) {\n return [null, null];\n }\n\n if (itemIndex === null) {\n return [null, data - 1];\n }\n\n return [null, itemIndex - 1];\n }\n\n function isLast(position) {\n return next(position)[1] === null;\n }\n\n return {\n next: next,\n prev: prev,\n isLast: isLast\n };\n};","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport { settings } from 'carbon-components';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nfunction Column(_ref) {\n var _ref$as = _ref.as,\n BaseComponent = _ref$as === void 0 ? 'div' : _ref$as,\n children = _ref.children,\n containerClassName = _ref.className,\n sm = _ref.sm,\n md = _ref.md,\n lg = _ref.lg,\n xlg = _ref.xlg,\n max = _ref.max,\n rest = _objectWithoutProperties(_ref, [\"as\", \"children\", \"className\", \"sm\", \"md\", \"lg\", \"xlg\", \"max\"]);\n\n var columnClassName = getClassNameForBreakpoints([sm, md, lg, xlg, max]);\n var className = cx(containerClassName, columnClassName, _defineProperty({}, \"\".concat(prefix, \"--col\"), columnClassName.length === 0));\n return /*#__PURE__*/React.createElement(BaseComponent, _extends({\n className: className\n }, rest), children);\n}\n\nvar breakpointNames = ['sm', 'md', 'lg', 'xlg', 'max'];\n/**\n * @typedef {object} Breakpoint\n * @property {boolean|number} [span]\n * @property {number} [offset]\n */\n\n/**\n * Build the appropriate className for the given set of breakpoints.\n * @param {Array<boolean|number|Breakpoint>} breakpoints\n * @returns {string}\n */\n\nfunction getClassNameForBreakpoints(breakpoints) {\n var classNames = [];\n\n for (var i = 0; i < breakpoints.length; i++) {\n var breakpoint = breakpoints[i];\n\n if (breakpoint === undefined || breakpoint === null) {\n continue;\n }\n\n var name = breakpointNames[i]; // If our breakpoint is a boolean, the user has specified that the column\n // should be \"auto\" at this size\n\n if (breakpoint === true) {\n classNames.push(\"\".concat(prefix, \"--col-\").concat(name));\n continue;\n } // If our breakpoint is a number, the user has specified the number of\n // columns they'd like this column to span\n\n\n if (typeof breakpoint === 'number') {\n classNames.push(\"\".concat(prefix, \"--col-\").concat(name, \"-\").concat(breakpoint));\n continue;\n }\n\n var span = breakpoint.span,\n offset = breakpoint.offset;\n\n if (typeof span === 'number') {\n classNames.push(\"\".concat(prefix, \"--col-\").concat(name, \"-\").concat(span));\n }\n\n if (span === true) {\n classNames.push(\"\".concat(prefix, \"--col-\").concat(name));\n }\n\n if (typeof offset === 'number') {\n classNames.push(\"\".concat(prefix, \"--offset-\").concat(name, \"-\").concat(offset));\n }\n }\n\n return classNames.join(' ');\n}\n\nexport default Column;","function _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 _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\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/**\n * Copyright IBM Corp. 2016, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport { settings } from 'carbon-components';\nimport cx from 'classnames';\nimport React from 'react';\nvar prefix = settings.prefix;\n\nfunction Grid(_ref) {\n var _cx;\n\n var _ref$as = _ref.as,\n BaseComponent = _ref$as === void 0 ? 'div' : _ref$as,\n _ref$condensed = _ref.condensed,\n condensed = _ref$condensed === void 0 ? false : _ref$condensed,\n _ref$narrow = _ref.narrow,\n narrow = _ref$narrow === void 0 ? false : _ref$narrow,\n _ref$fullWidth = _ref.fullWidth,\n fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,\n containerClassName = _ref.className,\n children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"as\", \"condensed\", \"narrow\", \"fullWidth\", \"className\", \"children\"]);\n\n var className = cx(containerClassName, (_cx = {}, _defineProperty(_cx, \"\".concat(prefix, \"--grid\"), true), _defineProperty(_cx, \"\".concat(prefix, \"--grid--condensed\"), condensed), _defineProperty(_cx, \"\".concat(prefix, \"--grid--narrow\"), narrow), _defineProperty(_cx, \"\".concat(prefix, \"--grid--full-width\"), fullWidth), _cx));\n return /*#__PURE__*/React.createElement(BaseComponent, _extends({\n className: className\n }, rest), children);\n}\n\nexport default Grid;","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\nmodule.exports = _nonIterableSpread;","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _arrays = require('shallow-equal/arrays');\n\nvar _arrays2 = _interopRequireDefault(_arrays);\n\nvar _reactAutowhatever = require('react-autowhatever');\n\nvar _reactAutowhatever2 = _interopRequireDefault(_reactAutowhatever);\n\nvar _theme = require('./theme');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar alwaysTrue = function alwaysTrue() {\n return true;\n};\n\nvar defaultShouldRenderSuggestions = function defaultShouldRenderSuggestions(value) {\n return value.trim().length > 0;\n};\n\nvar defaultRenderSuggestionsContainer = function defaultRenderSuggestionsContainer(_ref) {\n var containerProps = _ref.containerProps,\n children = _ref.children;\n return _react2.default.createElement('div', containerProps, children);\n};\n\nvar Autosuggest = function (_Component) {\n _inherits(Autosuggest, _Component);\n\n function Autosuggest(_ref2) {\n var alwaysRenderSuggestions = _ref2.alwaysRenderSuggestions;\n\n _classCallCheck(this, Autosuggest);\n\n var _this = _possibleConstructorReturn(this, (Autosuggest.__proto__ || Object.getPrototypeOf(Autosuggest)).call(this));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n isFocused: false,\n isCollapsed: !alwaysRenderSuggestions,\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null\n };\n _this.justPressedUpDown = false;\n _this.justMouseEntered = false;\n _this.pressedSuggestion = null;\n return _this;\n }\n\n _createClass(Autosuggest, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('mousedown', this.onDocumentMouseDown);\n document.addEventListener('mouseup', this.onDocumentMouseUp);\n this.input = this.autowhatever.input;\n this.suggestionsContainer = this.autowhatever.itemsContainer;\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if ((0, _arrays2.default)(nextProps.suggestions, this.props.suggestions)) {\n if (nextProps.highlightFirstSuggestion && nextProps.suggestions.length > 0 && this.justPressedUpDown === false && this.justMouseEntered === false) {\n this.highlightFirstSuggestion();\n }\n } else {\n if (this.willRenderSuggestions(nextProps)) {\n if (this.state.isCollapsed && !this.justSelectedSuggestion) {\n this.revealSuggestions();\n }\n } else {\n this.resetHighlightedSuggestion();\n }\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n var _props = this.props,\n suggestions = _props.suggestions,\n onSuggestionHighlighted = _props.onSuggestionHighlighted,\n highlightFirstSuggestion = _props.highlightFirstSuggestion;\n\n if (!(0, _arrays2.default)(suggestions, prevProps.suggestions) && suggestions.length > 0 && highlightFirstSuggestion) {\n this.highlightFirstSuggestion();\n return;\n }\n\n if (onSuggestionHighlighted) {\n var highlightedSuggestion = this.getHighlightedSuggestion();\n var prevHighlightedSuggestion = prevState.highlightedSuggestion;\n\n if (highlightedSuggestion != prevHighlightedSuggestion) {\n onSuggestionHighlighted({\n suggestion: highlightedSuggestion\n });\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('mousedown', this.onDocumentMouseDown);\n document.removeEventListener('mouseup', this.onDocumentMouseUp);\n }\n }, {\n key: 'updateHighlightedSuggestion',\n value: function updateHighlightedSuggestion(sectionIndex, suggestionIndex, prevValue) {\n var _this2 = this;\n\n this.setState(function (state) {\n var valueBeforeUpDown = state.valueBeforeUpDown;\n\n if (suggestionIndex === null) {\n valueBeforeUpDown = null;\n } else if (valueBeforeUpDown === null && typeof prevValue !== 'undefined') {\n valueBeforeUpDown = prevValue;\n }\n\n return {\n highlightedSectionIndex: sectionIndex,\n highlightedSuggestionIndex: suggestionIndex,\n highlightedSuggestion: suggestionIndex === null ? null : _this2.getSuggestion(sectionIndex, suggestionIndex),\n valueBeforeUpDown: valueBeforeUpDown\n };\n });\n }\n }, {\n key: 'resetHighlightedSuggestion',\n value: function resetHighlightedSuggestion() {\n var shouldResetValueBeforeUpDown = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.setState(function (state) {\n var valueBeforeUpDown = state.valueBeforeUpDown;\n return {\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: shouldResetValueBeforeUpDown ? null : valueBeforeUpDown\n };\n });\n }\n }, {\n key: 'revealSuggestions',\n value: function revealSuggestions() {\n this.setState({\n isCollapsed: false\n });\n }\n }, {\n key: 'closeSuggestions',\n value: function closeSuggestions() {\n this.setState({\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null,\n isCollapsed: true\n });\n }\n }, {\n key: 'getSuggestion',\n value: function getSuggestion(sectionIndex, suggestionIndex) {\n var _props2 = this.props,\n suggestions = _props2.suggestions,\n multiSection = _props2.multiSection,\n getSectionSuggestions = _props2.getSectionSuggestions;\n\n if (multiSection) {\n return getSectionSuggestions(suggestions[sectionIndex])[suggestionIndex];\n }\n\n return suggestions[suggestionIndex];\n }\n }, {\n key: 'getHighlightedSuggestion',\n value: function getHighlightedSuggestion() {\n var _state = this.state,\n highlightedSectionIndex = _state.highlightedSectionIndex,\n highlightedSuggestionIndex = _state.highlightedSuggestionIndex;\n\n if (highlightedSuggestionIndex === null) {\n return null;\n }\n\n return this.getSuggestion(highlightedSectionIndex, highlightedSuggestionIndex);\n }\n }, {\n key: 'getSuggestionValueByIndex',\n value: function getSuggestionValueByIndex(sectionIndex, suggestionIndex) {\n var getSuggestionValue = this.props.getSuggestionValue;\n return getSuggestionValue(this.getSuggestion(sectionIndex, suggestionIndex));\n }\n }, {\n key: 'getSuggestionIndices',\n value: function getSuggestionIndices(suggestionElement) {\n var sectionIndex = suggestionElement.getAttribute('data-section-index');\n var suggestionIndex = suggestionElement.getAttribute('data-suggestion-index');\n return {\n sectionIndex: typeof sectionIndex === 'string' ? parseInt(sectionIndex, 10) : null,\n suggestionIndex: parseInt(suggestionIndex, 10)\n };\n }\n }, {\n key: 'findSuggestionElement',\n value: function findSuggestionElement(startNode) {\n var node = startNode;\n\n do {\n if (node.getAttribute('data-suggestion-index') !== null) {\n return node;\n }\n\n node = node.parentNode;\n } while (node !== null);\n\n console.error('Clicked element:', startNode); // eslint-disable-line no-console\n\n throw new Error(\"Couldn't find suggestion element\");\n }\n }, {\n key: 'maybeCallOnChange',\n value: function maybeCallOnChange(event, newValue, method) {\n var _props$inputProps = this.props.inputProps,\n value = _props$inputProps.value,\n onChange = _props$inputProps.onChange;\n\n if (newValue !== value) {\n onChange(event, {\n newValue: newValue,\n method: method\n });\n }\n }\n }, {\n key: 'willRenderSuggestions',\n value: function willRenderSuggestions(props) {\n var suggestions = props.suggestions,\n inputProps = props.inputProps,\n shouldRenderSuggestions = props.shouldRenderSuggestions;\n var value = inputProps.value;\n return suggestions.length > 0 && shouldRenderSuggestions(value);\n }\n }, {\n key: 'getQuery',\n value: function getQuery() {\n var inputProps = this.props.inputProps;\n var value = inputProps.value;\n var valueBeforeUpDown = this.state.valueBeforeUpDown;\n return (valueBeforeUpDown === null ? value : valueBeforeUpDown).trim();\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var _props3 = this.props,\n suggestions = _props3.suggestions,\n renderInputComponent = _props3.renderInputComponent,\n onSuggestionsFetchRequested = _props3.onSuggestionsFetchRequested,\n renderSuggestion = _props3.renderSuggestion,\n inputProps = _props3.inputProps,\n multiSection = _props3.multiSection,\n renderSectionTitle = _props3.renderSectionTitle,\n id = _props3.id,\n getSectionSuggestions = _props3.getSectionSuggestions,\n theme = _props3.theme,\n getSuggestionValue = _props3.getSuggestionValue,\n alwaysRenderSuggestions = _props3.alwaysRenderSuggestions,\n highlightFirstSuggestion = _props3.highlightFirstSuggestion;\n var _state2 = this.state,\n isFocused = _state2.isFocused,\n isCollapsed = _state2.isCollapsed,\n highlightedSectionIndex = _state2.highlightedSectionIndex,\n highlightedSuggestionIndex = _state2.highlightedSuggestionIndex,\n valueBeforeUpDown = _state2.valueBeforeUpDown;\n var shouldRenderSuggestions = alwaysRenderSuggestions ? alwaysTrue : this.props.shouldRenderSuggestions;\n var value = inputProps.value,\n _onFocus = inputProps.onFocus,\n _onKeyDown = inputProps.onKeyDown;\n var willRenderSuggestions = this.willRenderSuggestions(this.props);\n var isOpen = alwaysRenderSuggestions || isFocused && !isCollapsed && willRenderSuggestions;\n var items = isOpen ? suggestions : [];\n\n var autowhateverInputProps = _extends({}, inputProps, {\n onFocus: function onFocus(event) {\n if (!_this3.justSelectedSuggestion && !_this3.justClickedOnSuggestionsContainer) {\n var shouldRender = shouldRenderSuggestions(value);\n\n _this3.setState({\n isFocused: true,\n isCollapsed: !shouldRender\n });\n\n _onFocus && _onFocus(event);\n\n if (shouldRender) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'input-focused'\n });\n }\n }\n },\n onBlur: function onBlur(event) {\n if (_this3.justClickedOnSuggestionsContainer) {\n _this3.input.focus();\n\n return;\n }\n\n _this3.blurEvent = event;\n\n if (!_this3.justSelectedSuggestion) {\n _this3.onBlur();\n\n _this3.onSuggestionsClearRequested();\n }\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var shouldRender = shouldRenderSuggestions(value);\n\n _this3.maybeCallOnChange(event, value, 'type');\n\n if (_this3.suggestionsContainer) {\n _this3.suggestionsContainer.scrollTop = 0;\n }\n\n _this3.setState(_extends({}, highlightFirstSuggestion ? {} : {\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null\n }, {\n valueBeforeUpDown: null,\n isCollapsed: !shouldRender\n }));\n\n if (shouldRender) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'input-changed'\n });\n } else {\n _this3.onSuggestionsClearRequested();\n }\n },\n onKeyDown: function onKeyDown(event, data) {\n var keyCode = event.keyCode;\n\n switch (keyCode) {\n case 40: // ArrowDown\n\n case 38:\n // ArrowUp\n if (isCollapsed) {\n if (shouldRenderSuggestions(value)) {\n onSuggestionsFetchRequested({\n value: value,\n reason: 'suggestions-revealed'\n });\n\n _this3.revealSuggestions();\n }\n } else if (suggestions.length > 0) {\n var newHighlightedSectionIndex = data.newHighlightedSectionIndex,\n newHighlightedItemIndex = data.newHighlightedItemIndex;\n var newValue = void 0;\n\n if (newHighlightedItemIndex === null) {\n // valueBeforeUpDown can be null if, for example, user\n // hovers on the first suggestion and then pressed Up.\n // If that happens, use the original input value.\n newValue = valueBeforeUpDown === null ? value : valueBeforeUpDown;\n } else {\n newValue = _this3.getSuggestionValueByIndex(newHighlightedSectionIndex, newHighlightedItemIndex);\n }\n\n _this3.updateHighlightedSuggestion(newHighlightedSectionIndex, newHighlightedItemIndex, value);\n\n _this3.maybeCallOnChange(event, newValue, keyCode === 40 ? 'down' : 'up');\n }\n\n event.preventDefault(); // Prevents the cursor from moving\n\n _this3.justPressedUpDown = true;\n setTimeout(function () {\n _this3.justPressedUpDown = false;\n });\n break;\n // Enter\n\n case 13:\n {\n // See #388\n if (event.keyCode === 229) {\n break;\n }\n\n var highlightedSuggestion = _this3.getHighlightedSuggestion();\n\n if (isOpen && !alwaysRenderSuggestions) {\n _this3.closeSuggestions();\n }\n\n if (highlightedSuggestion != null) {\n var _newValue = getSuggestionValue(highlightedSuggestion);\n\n _this3.maybeCallOnChange(event, _newValue, 'enter');\n\n _this3.onSuggestionSelected(event, {\n suggestion: highlightedSuggestion,\n suggestionValue: _newValue,\n suggestionIndex: highlightedSuggestionIndex,\n sectionIndex: highlightedSectionIndex,\n method: 'enter'\n });\n\n _this3.justSelectedSuggestion = true;\n setTimeout(function () {\n _this3.justSelectedSuggestion = false;\n });\n }\n\n break;\n }\n // Escape\n\n case 27:\n {\n if (isOpen) {\n // If input.type === 'search', the browser clears the input\n // when Escape is pressed. We want to disable this default\n // behaviour so that, when suggestions are shown, we just hide\n // them, without clearing the input.\n event.preventDefault();\n }\n\n var willCloseSuggestions = isOpen && !alwaysRenderSuggestions;\n\n if (valueBeforeUpDown === null) {\n // Didn't interact with Up/Down\n if (!willCloseSuggestions) {\n var _newValue2 = '';\n\n _this3.maybeCallOnChange(event, _newValue2, 'escape');\n\n if (shouldRenderSuggestions(_newValue2)) {\n onSuggestionsFetchRequested({\n value: _newValue2,\n reason: 'escape-pressed'\n });\n } else {\n _this3.onSuggestionsClearRequested();\n }\n }\n } else {\n // Interacted with Up/Down\n _this3.maybeCallOnChange(event, valueBeforeUpDown, 'escape');\n }\n\n if (willCloseSuggestions) {\n _this3.onSuggestionsClearRequested();\n\n _this3.closeSuggestions();\n } else {\n _this3.resetHighlightedSuggestion();\n }\n\n break;\n }\n }\n\n _onKeyDown && _onKeyDown(event);\n }\n });\n\n var renderSuggestionData = {\n query: this.getQuery()\n };\n return _react2.default.createElement(_reactAutowhatever2.default, {\n multiSection: multiSection,\n items: items,\n renderInputComponent: renderInputComponent,\n renderItemsContainer: this.renderSuggestionsContainer,\n renderItem: renderSuggestion,\n renderItemData: renderSuggestionData,\n renderSectionTitle: renderSectionTitle,\n getSectionItems: getSectionSuggestions,\n highlightedSectionIndex: highlightedSectionIndex,\n highlightedItemIndex: highlightedSuggestionIndex,\n inputProps: autowhateverInputProps,\n itemProps: this.itemProps,\n theme: (0, _theme.mapToAutowhateverTheme)(theme),\n id: id,\n ref: this.storeAutowhateverRef\n });\n }\n }]);\n\n return Autosuggest;\n}(_react.Component);\n\nAutosuggest.propTypes = {\n suggestions: _propTypes2.default.array.isRequired,\n onSuggestionsFetchRequested: function onSuggestionsFetchRequested(props, propName) {\n var onSuggestionsFetchRequested = props[propName];\n\n if (typeof onSuggestionsFetchRequested !== 'function') {\n throw new Error(\"'onSuggestionsFetchRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsFetchRequestedProp\");\n }\n },\n onSuggestionsClearRequested: function onSuggestionsClearRequested(props, propName) {\n var onSuggestionsClearRequested = props[propName];\n\n if (props.alwaysRenderSuggestions === false && typeof onSuggestionsClearRequested !== 'function') {\n throw new Error(\"'onSuggestionsClearRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsClearRequestedProp\");\n }\n },\n onSuggestionSelected: _propTypes2.default.func,\n onSuggestionHighlighted: _propTypes2.default.func,\n renderInputComponent: _propTypes2.default.func,\n renderSuggestionsContainer: _propTypes2.default.func,\n getSuggestionValue: _propTypes2.default.func.isRequired,\n renderSuggestion: _propTypes2.default.func.isRequired,\n inputProps: function inputProps(props, propName) {\n var inputProps = props[propName];\n\n if (!inputProps.hasOwnProperty('value')) {\n throw new Error(\"'inputProps' must have 'value'.\");\n }\n\n if (!inputProps.hasOwnProperty('onChange')) {\n throw new Error(\"'inputProps' must have 'onChange'.\");\n }\n },\n shouldRenderSuggestions: _propTypes2.default.func,\n alwaysRenderSuggestions: _propTypes2.default.bool,\n multiSection: _propTypes2.default.bool,\n renderSectionTitle: function renderSectionTitle(props, propName) {\n var renderSectionTitle = props[propName];\n\n if (props.multiSection === true && typeof renderSectionTitle !== 'function') {\n throw new Error(\"'renderSectionTitle' must be implemented. See: https://github.com/moroshko/react-autosuggest#renderSectionTitleProp\");\n }\n },\n getSectionSuggestions: function getSectionSuggestions(props, propName) {\n var getSectionSuggestions = props[propName];\n\n if (props.multiSection === true && typeof getSectionSuggestions !== 'function') {\n throw new Error(\"'getSectionSuggestions' must be implemented. See: https://github.com/moroshko/react-autosuggest#getSectionSuggestionsProp\");\n }\n },\n focusInputOnSuggestionClick: _propTypes2.default.bool,\n highlightFirstSuggestion: _propTypes2.default.bool,\n theme: _propTypes2.default.object,\n id: _propTypes2.default.string\n};\nAutosuggest.defaultProps = {\n renderSuggestionsContainer: defaultRenderSuggestionsContainer,\n shouldRenderSuggestions: defaultShouldRenderSuggestions,\n alwaysRenderSuggestions: false,\n multiSection: false,\n focusInputOnSuggestionClick: true,\n highlightFirstSuggestion: false,\n theme: _theme.defaultTheme,\n id: '1'\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this4 = this;\n\n this.onDocumentMouseDown = function (event) {\n _this4.justClickedOnSuggestionsContainer = false;\n var node = event.detail && event.detail.target || // This is for testing only. Please show me a better way to emulate this.\n event.target;\n\n while (node !== null && node !== document) {\n if (node.getAttribute('data-suggestion-index') !== null) {\n // Suggestion was clicked\n return;\n }\n\n if (node === _this4.suggestionsContainer) {\n // Something else inside suggestions container was clicked\n _this4.justClickedOnSuggestionsContainer = true;\n return;\n }\n\n node = node.parentNode;\n }\n };\n\n this.storeAutowhateverRef = function (autowhatever) {\n if (autowhatever !== null) {\n _this4.autowhatever = autowhatever;\n }\n };\n\n this.onSuggestionMouseEnter = function (event, _ref3) {\n var sectionIndex = _ref3.sectionIndex,\n itemIndex = _ref3.itemIndex;\n\n _this4.updateHighlightedSuggestion(sectionIndex, itemIndex);\n\n if (event.target === _this4.pressedSuggestion) {\n _this4.justSelectedSuggestion = true;\n }\n\n _this4.justMouseEntered = true;\n setTimeout(function () {\n _this4.justMouseEntered = false;\n });\n };\n\n this.highlightFirstSuggestion = function () {\n _this4.updateHighlightedSuggestion(_this4.props.multiSection ? 0 : null, 0);\n };\n\n this.onDocumentMouseUp = function () {\n if (_this4.pressedSuggestion && !_this4.justSelectedSuggestion) {\n _this4.input.focus();\n }\n\n _this4.pressedSuggestion = null;\n };\n\n this.onSuggestionMouseDown = function (event) {\n // Checking if this.justSelectedSuggestion is already true to not duplicate touch events in chrome\n // See: https://github.com/facebook/react/issues/9809#issuecomment-413978405\n if (!_this4.justSelectedSuggestion) {\n _this4.justSelectedSuggestion = true;\n _this4.pressedSuggestion = event.target;\n }\n };\n\n this.onSuggestionsClearRequested = function () {\n var onSuggestionsClearRequested = _this4.props.onSuggestionsClearRequested;\n onSuggestionsClearRequested && onSuggestionsClearRequested();\n };\n\n this.onSuggestionSelected = function (event, data) {\n var _props4 = _this4.props,\n alwaysRenderSuggestions = _props4.alwaysRenderSuggestions,\n onSuggestionSelected = _props4.onSuggestionSelected,\n onSuggestionsFetchRequested = _props4.onSuggestionsFetchRequested;\n onSuggestionSelected && onSuggestionSelected(event, data);\n\n if (alwaysRenderSuggestions) {\n onSuggestionsFetchRequested({\n value: data.suggestionValue,\n reason: 'suggestion-selected'\n });\n } else {\n _this4.onSuggestionsClearRequested();\n }\n\n _this4.resetHighlightedSuggestion();\n };\n\n this.onSuggestionClick = function (event) {\n var _props5 = _this4.props,\n alwaysRenderSuggestions = _props5.alwaysRenderSuggestions,\n focusInputOnSuggestionClick = _props5.focusInputOnSuggestionClick;\n\n var _getSuggestionIndices = _this4.getSuggestionIndices(_this4.findSuggestionElement(event.target)),\n sectionIndex = _getSuggestionIndices.sectionIndex,\n suggestionIndex = _getSuggestionIndices.suggestionIndex;\n\n var clickedSuggestion = _this4.getSuggestion(sectionIndex, suggestionIndex);\n\n var clickedSuggestionValue = _this4.props.getSuggestionValue(clickedSuggestion);\n\n _this4.maybeCallOnChange(event, clickedSuggestionValue, 'click');\n\n _this4.onSuggestionSelected(event, {\n suggestion: clickedSuggestion,\n suggestionValue: clickedSuggestionValue,\n suggestionIndex: suggestionIndex,\n sectionIndex: sectionIndex,\n method: 'click'\n });\n\n if (!alwaysRenderSuggestions) {\n _this4.closeSuggestions();\n }\n\n if (focusInputOnSuggestionClick === true) {\n _this4.input.focus();\n } else {\n _this4.onBlur();\n }\n\n setTimeout(function () {\n _this4.justSelectedSuggestion = false;\n });\n };\n\n this.onBlur = function () {\n var _props6 = _this4.props,\n inputProps = _props6.inputProps,\n shouldRenderSuggestions = _props6.shouldRenderSuggestions;\n var value = inputProps.value,\n onBlur = inputProps.onBlur;\n\n var highlightedSuggestion = _this4.getHighlightedSuggestion();\n\n var shouldRender = shouldRenderSuggestions(value);\n\n _this4.setState({\n isFocused: false,\n highlightedSectionIndex: null,\n highlightedSuggestionIndex: null,\n highlightedSuggestion: null,\n valueBeforeUpDown: null,\n isCollapsed: !shouldRender\n });\n\n onBlur && onBlur(_this4.blurEvent, {\n highlightedSuggestion: highlightedSuggestion\n });\n };\n\n this.onSuggestionMouseLeave = function (event) {\n _this4.resetHighlightedSuggestion(false); // shouldResetValueBeforeUpDown\n\n\n if (_this4.justSelectedSuggestion && event.target === _this4.pressedSuggestion) {\n _this4.justSelectedSuggestion = false;\n }\n };\n\n this.onSuggestionTouchStart = function () {\n _this4.justSelectedSuggestion = true; // todo: event.preventDefault when https://github.com/facebook/react/issues/2043\n // todo: gets released so onSuggestionMouseDown won't fire in chrome\n };\n\n this.onSuggestionTouchMove = function () {\n _this4.justSelectedSuggestion = false;\n _this4.pressedSuggestion = null;\n\n _this4.input.focus();\n };\n\n this.itemProps = function (_ref4) {\n var sectionIndex = _ref4.sectionIndex,\n itemIndex = _ref4.itemIndex;\n return {\n 'data-section-index': sectionIndex,\n 'data-suggestion-index': itemIndex,\n onMouseEnter: _this4.onSuggestionMouseEnter,\n onMouseLeave: _this4.onSuggestionMouseLeave,\n onMouseDown: _this4.onSuggestionMouseDown,\n onTouchStart: _this4.onSuggestionTouchStart,\n onTouchMove: _this4.onSuggestionTouchMove,\n onClick: _this4.onSuggestionClick\n };\n };\n\n this.renderSuggestionsContainer = function (_ref5) {\n var containerProps = _ref5.containerProps,\n children = _ref5.children;\n var renderSuggestionsContainer = _this4.props.renderSuggestionsContainer;\n return renderSuggestionsContainer({\n containerProps: containerProps,\n children: children,\n query: _this4.getQuery()\n });\n };\n};\n\nexports.default = Autosuggest;","'use strict';\n\nvar utils = require('./../utils');\n\nvar buildURL = require('../helpers/buildURL');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n\nvar mergeConfig = require('./mergeConfig');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config); // Set config.method\n\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n } // Hook up interceptors middleware\n\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","require(\"core-js/modules/es.string.trim-end\");\n\n/**\n * marked - a markdown parser\n * Copyright (c) 2011-2020, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.marked = factory());\n})(this, function () {\n 'use strict';\n\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 function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o) {\n var i = 0;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n i = o[Symbol.iterator]();\n return i.next.bind(i);\n }\n\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n\n var defaults = createCommonjsModule(function (module) {\n function getDefaults() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n\n function changeDefaults(newDefaults) {\n module.exports.defaults = newDefaults;\n }\n\n module.exports = {\n defaults: getDefaults(),\n getDefaults: getDefaults,\n changeDefaults: changeDefaults\n };\n });\n var defaults_1 = defaults.defaults;\n var defaults_2 = defaults.getDefaults;\n var defaults_3 = defaults.changeDefaults;\n /**\n * Helpers\n */\n\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n\n var caret = /(^|[^\\[])\\^/g;\n\n function edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n function cleanUrl(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n\n var noopTest = {\n exec: function noopTest() {}\n };\n\n function merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n } // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n // /c*$/ is vulnerable to REDOS.\n // invert: Remove suffix of non-c chars instead. Default falsey.\n\n\n function rtrim(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n }\n\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n\n function checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n }\n\n var helpers = {\n escape: escape,\n unescape: unescape,\n edit: edit,\n cleanUrl: cleanUrl,\n resolveUrl: resolveUrl,\n noopTest: noopTest,\n merge: merge,\n splitCells: splitCells,\n rtrim: rtrim,\n findClosingBracket: findClosingBracket,\n checkSanitizeDeprecation: checkSanitizeDeprecation\n };\n var defaults$1 = defaults.defaults;\n var rtrim$1 = helpers.rtrim,\n splitCells$1 = helpers.splitCells,\n _escape = helpers.escape,\n findClosingBracket$1 = helpers.findClosingBracket;\n\n function outputLink(cap, link, raw) {\n var href = link.href;\n var title = link.title ? _escape(link.title) : null;\n\n if (cap[0].charAt(0) !== '!') {\n return {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: cap[1]\n };\n } else {\n return {\n type: 'image',\n raw: raw,\n text: _escape(cap[1]),\n href: href,\n title: title\n };\n }\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer_1 = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || defaults$1;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap) {\n if (cap[0].length > 1) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n\n return {\n raw: '\\n'\n };\n }\n };\n\n _proto.code = function code(src, tokens) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && lastToken.type === 'paragraph') {\n return {\n raw: cap[0],\n text: cap[0].trimRight()\n };\n }\n\n var text = cap[0].replace(/^ {4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim$1(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: cap[2]\n };\n }\n };\n\n _proto.nptable = function nptable(src) {\n var cap = this.rules.block.nptable.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : [],\n raw: cap[0]\n };\n\n if (item.header.length === item.align.length) {\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i], item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *> ?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var bull = cap[2];\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: raw,\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false,\n items: []\n }; // Get each top-level item.\n\n var itemMatch = cap[0].match(this.rules.block.item);\n var next = false,\n item,\n space,\n b,\n addBack,\n loose,\n istask,\n ischecked;\n var l = itemMatch.length;\n\n for (var i = 0; i < l; i++) {\n item = itemMatch[i];\n raw = item; // Remove the list item's bullet\n // so it is seen as the next token.\n\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, ''); // Outdent whatever the\n // list item contains. Hacky.\n\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, '');\n } // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n\n\n if (i !== l - 1) {\n b = this.rules.block.bullet.exec(itemMatch[i + 1])[0];\n\n if (bull.length > 1 ? b.length === 1 : b.length > 1 || this.options.smartLists && b !== bull) {\n addBack = itemMatch.slice(i + 1).join('\\n');\n list.raw = list.raw.substring(0, list.raw.length - addBack.length);\n i = l - 1;\n }\n } // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n\n\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n list.loose = true;\n } // Check for task list items\n\n\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: istask,\n checked: ischecked,\n loose: loose,\n text: item\n });\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n return {\n type: this.options.sanitize ? 'paragraph' : 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells$1(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells$1(item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''), item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n };\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n return {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1]\n };\n }\n };\n\n _proto.text = function text(src, tokens) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n var lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n return {\n raw: cap[0],\n text: cap[0]\n };\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0]\n };\n }\n };\n\n _proto.escape = function escape(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: _escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src, inLink, inRawBlock) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!inLink && /^<a /i.test(cap[0])) {\n inLink = true;\n } else if (inLink && /^<\\/a>/i.test(cap[0])) {\n inLink = false;\n }\n\n if (!inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = true;\n } else if (inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: inLink,\n inRawBlock: inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var lastParenIndex = findClosingBracket$1(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n var token = outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0]);\n return token;\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n var token = outputLink(cap, link, cap[0]);\n return token;\n }\n };\n\n _proto.strong = function strong(src) {\n var cap = this.rules.inline.strong.exec(src);\n\n if (cap) {\n return {\n type: 'strong',\n raw: cap[0],\n text: cap[4] || cap[3] || cap[2] || cap[1]\n };\n }\n };\n\n _proto.em = function em(src) {\n var cap = this.rules.inline.em.exec(src);\n\n if (cap) {\n return {\n type: 'em',\n raw: cap[0],\n text: cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]\n };\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = text.startsWith(' ') && text.endsWith(' ');\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = _escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[1]\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = _escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = _escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, inRawBlock, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];\n } else {\n text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n var noopTest$1 = helpers.noopTest,\n edit$1 = helpers.edit,\n merge$1 = helpers.merge;\n /**\n * Block-Level Grammar\n */\n\n var block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?>\\\\n*' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\n*' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|</(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *<?([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noopTest$1,\n table: noopTest$1,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit$1(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\n block.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\n block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();\n block.list = edit$1(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block._comment = /<!--(?!-?>)[\\s\\S]*?-->/;\n block.html = edit$1(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit$1(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit$1(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge$1({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge$1({}, block.normal, {\n nptable: '^ *([^|\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' *([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)',\n // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' *\\\\|?( *[-:]+[-| :]*)' // Align\n + '(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block.gfm.nptable = edit$1(block.gfm.nptable).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.table = edit$1(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block.pedantic = merge$1({}, block.normal, {\n html: edit$1('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b').getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noopTest$1,\n // fences not supported\n paragraph: edit$1(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest$1,\n tag: '^comment' + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>',\n // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^_([^\\s_<][\\s\\S]*?[^\\s_])_(?!_|[^\\s,punctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\s,punctuation])|^\\*([^\\s*<\\[])\\*(?!\\*)|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\[\\*])\\*(?![\\]`punctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest$1,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*]|\\b_|$)|[^ ](?= {2,}\\n))|(?= {2,}\\n))/\n }; // list of punctuation marks from common mark spec\n // without ` and ] to workaround Rule 17 (inline code blocks/links)\n // without , to work around example 393\n\n inline._punctuation = '!\"#$%&\\'()*+\\\\-./:;<=>?@\\\\[^_{|}~';\n inline.em = edit$1(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n inline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\n inline.autolink = edit$1(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();\n inline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline.tag = edit$1(inline.tag).replace('comment', block._comment).replace('attribute', inline._attribute).getRegex();\n inline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\n inline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline.link = edit$1(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();\n inline.reflink = edit$1(inline.reflink).replace('label', inline._label).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline.normal = merge$1({}, inline);\n /**\n * Pedantic Inline Grammar\n */\n\n inline.pedantic = merge$1({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit$1(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline._label).getRegex(),\n reflink: edit$1(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline.gfm = merge$1({}, inline.normal, {\n escape: edit$1(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*~]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))|(?= {2,}\\n|[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))/\n });\n inline.gfm.url = edit$1(inline.gfm.url, 'i').replace('email', inline.gfm._extended_email).getRegex();\n /**\n * GFM + Line Breaks Inline Grammar\n */\n\n inline.breaks = merge$1({}, inline.gfm, {\n br: edit$1(inline.br).replace('{2,}', '*').getRegex(),\n text: edit$1(inline.gfm.text).replace('\\\\b_', '\\\\b_| {2,}\\\\n').replace(/\\{2,\\}/g, '*').getRegex()\n });\n var rules = {\n block: block,\n inline: inline\n };\n var defaults$2 = defaults.defaults;\n var block$1 = rules.block,\n inline$1 = rules.inline;\n /**\n * smartypants text replacement\n */\n\n function smartypants(text) {\n return text // em-dashes\n .replace(/---/g, \"\\u2014\") // en-dashes\n .replace(/--/g, \"\\u2013\") // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, \"$1\\u2018\") // closing singles & apostrophes\n .replace(/'/g, \"\\u2019\") // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, \"$1\\u201C\") // closing doubles\n .replace(/\"/g, \"\\u201D\") // ellipses\n .replace(/\\.{3}/g, \"\\u2026\");\n }\n /**\n * mangle email addresses\n */\n\n\n function mangle(text) {\n var out = '',\n i,\n ch;\n var l = text.length;\n\n for (i = 0; i < l; i++) {\n ch = text.charCodeAt(i);\n\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n\n out += '&#' + ch + ';';\n }\n\n return out;\n }\n /**\n * Block Lexer\n */\n\n\n var Lexer_1 = /*#__PURE__*/function () {\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults$2;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer_1();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n var rules = {\n block: block$1.normal,\n inline: inline$1.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block$1.pedantic;\n rules.inline = inline$1.pedantic;\n } else if (this.options.gfm) {\n rules.block = block$1.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline$1.breaks;\n } else {\n rules.inline = inline$1.gfm;\n }\n }\n\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n\n /**\n * Static Lex Method\n */\n\n\n Lexer.lex = function lex(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Preprocessing\n */\n ;\n\n var _proto = Lexer.prototype;\n\n _proto.lex = function lex(src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n').replace(/\\t/g, ' ');\n this.blockTokens(src, this.tokens, true);\n this.inline(this.tokens);\n return this.tokens;\n }\n /**\n * Lexing\n */\n ;\n\n _proto.blockTokens = function blockTokens(src, tokens, top) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (top === void 0) {\n top = true;\n }\n\n src = src.replace(/^ +$/gm, '');\n var token, i, l, lastToken;\n\n while (src) {\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n }\n\n continue;\n } // code\n\n\n if (token = this.tokenizer.code(src, tokens)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n } else {\n lastToken = tokens[tokens.length - 1];\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n }\n\n continue;\n } // fences\n\n\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // heading\n\n\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // table no leading pipe (gfm)\n\n\n if (token = this.tokenizer.nptable(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // hr\n\n\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // blockquote\n\n\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.blockTokens(token.text, [], top);\n tokens.push(token);\n continue;\n } // list\n\n\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n l = token.items.length;\n\n for (i = 0; i < l; i++) {\n token.items[i].tokens = this.blockTokens(token.items[i].text, [], false);\n }\n\n tokens.push(token);\n continue;\n } // html\n\n\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // def\n\n\n if (top && (token = this.tokenizer.def(src))) {\n src = src.substring(token.raw.length);\n\n if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n\n continue;\n } // table (gfm)\n\n\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // lheading\n\n\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // top-level paragraph\n\n\n if (top && (token = this.tokenizer.paragraph(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.text(src, tokens)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n } else {\n lastToken = tokens[tokens.length - 1];\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _proto.inline = function inline(tokens) {\n var i, j, k, l2, row, token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'paragraph':\n case 'text':\n case 'heading':\n {\n token.tokens = [];\n this.inlineTokens(token.text, token.tokens);\n break;\n }\n\n case 'table':\n {\n token.tokens = {\n header: [],\n cells: []\n }; // header\n\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n token.tokens.header[j] = [];\n this.inlineTokens(token.header[j], token.tokens.header[j]);\n } // cells\n\n\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.cells[j];\n token.tokens.cells[j] = [];\n\n for (k = 0; k < row.length; k++) {\n token.tokens.cells[j][k] = [];\n this.inlineTokens(row[k], token.tokens.cells[j][k]);\n }\n }\n\n break;\n }\n\n case 'blockquote':\n {\n this.inline(token.tokens);\n break;\n }\n\n case 'list':\n {\n l2 = token.items.length;\n\n for (j = 0; j < l2; j++) {\n this.inline(token.items[j].tokens);\n }\n\n break;\n }\n }\n }\n\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n ;\n\n _proto.inlineTokens = function inlineTokens(src, tokens, inLink, inRawBlock) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (inLink === void 0) {\n inLink = false;\n }\n\n if (inRawBlock === void 0) {\n inRawBlock = false;\n }\n\n var token;\n\n while (src) {\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // tag\n\n\n if (token = this.tokenizer.tag(src, inLink, inRawBlock)) {\n src = src.substring(token.raw.length);\n inLink = token.inLink;\n inRawBlock = token.inRawBlock;\n tokens.push(token);\n continue;\n } // link\n\n\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n }\n\n tokens.push(token);\n continue;\n } // reflink, nolink\n\n\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n }\n\n tokens.push(token);\n continue;\n } // strong\n\n\n if (token = this.tokenizer.strong(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // em\n\n\n if (token = this.tokenizer.em(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // code\n\n\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // br\n\n\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // del (gfm)\n\n\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // autolink\n\n\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // url (gfm)\n\n\n if (!inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.inlineText(src, inRawBlock, smartypants)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _createClass(Lexer, null, [{\n key: \"rules\",\n get: function get() {\n return {\n block: block$1,\n inline: inline$1\n };\n }\n }]);\n\n return Lexer;\n }();\n\n var defaults$3 = defaults.defaults;\n var cleanUrl$1 = helpers.cleanUrl,\n escape$1 = helpers.escape;\n /**\n * Renderer\n */\n\n var Renderer_1 = /*#__PURE__*/function () {\n function Renderer(options) {\n this.options = options || defaults$3;\n }\n\n var _proto = Renderer.prototype;\n\n _proto.code = function code(_code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n\n if (this.options.highlight) {\n var out = this.options.highlight(_code, lang);\n\n if (out != null && out !== _code) {\n escaped = true;\n _code = out;\n }\n }\n\n if (!lang) {\n return '<pre><code>' + (escaped ? _code : escape$1(_code, true)) + '</code></pre>\\n';\n }\n\n return '<pre><code class=\"' + this.options.langPrefix + escape$1(lang, true) + '\">' + (escaped ? _code : escape$1(_code, true)) + '</code></pre>\\n';\n };\n\n _proto.blockquote = function blockquote(quote) {\n return '<blockquote>\\n' + quote + '</blockquote>\\n';\n };\n\n _proto.html = function html(_html) {\n return _html;\n };\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '<h' + level + ' id=\"' + this.options.headerPrefix + slugger.slug(raw) + '\">' + text + '</h' + level + '>\\n';\n } // ignore IDs\n\n\n return '<h' + level + '>' + text + '</h' + level + '>\\n';\n };\n\n _proto.hr = function hr() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n };\n\n _proto.listitem = function listitem(text) {\n return '<li>' + text + '</li>\\n';\n };\n\n _proto.checkbox = function checkbox(checked) {\n return '<input ' + (checked ? 'checked=\"\" ' : '') + 'disabled=\"\" type=\"checkbox\"' + (this.options.xhtml ? ' /' : '') + '> ';\n };\n\n _proto.paragraph = function paragraph(text) {\n return '<p>' + text + '</p>\\n';\n };\n\n _proto.table = function table(header, body) {\n if (body) body = '<tbody>' + body + '</tbody>';\n return '<table>\\n' + '<thead>\\n' + header + '</thead>\\n' + body + '</table>\\n';\n };\n\n _proto.tablerow = function tablerow(content) {\n return '<tr>\\n' + content + '</tr>\\n';\n };\n\n _proto.tablecell = function tablecell(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? '<' + type + ' align=\"' + flags.align + '\">' : '<' + type + '>';\n return tag + content + '</' + type + '>\\n';\n } // span level renderer\n ;\n\n _proto.strong = function strong(text) {\n return '<strong>' + text + '</strong>';\n };\n\n _proto.em = function em(text) {\n return '<em>' + text + '</em>';\n };\n\n _proto.codespan = function codespan(text) {\n return '<code>' + text + '</code>';\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? '<br/>' : '<br>';\n };\n\n _proto.del = function del(text) {\n return '<del>' + text + '</del>';\n };\n\n _proto.link = function link(href, title, text) {\n href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '<a href=\"' + escape$1(href) + '\"';\n\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n\n out += '>' + text + '</a>';\n return out;\n };\n\n _proto.image = function image(href, title, text) {\n href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n\n out += this.options.xhtml ? '/>' : '>';\n return out;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n return Renderer;\n }();\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n\n\n var TextRenderer_1 = /*#__PURE__*/function () {\n function TextRenderer() {}\n\n var _proto = TextRenderer.prototype; // no need for block level renderers\n\n _proto.strong = function strong(text) {\n return text;\n };\n\n _proto.em = function em(text) {\n return text;\n };\n\n _proto.codespan = function codespan(text) {\n return text;\n };\n\n _proto.del = function del(text) {\n return text;\n };\n\n _proto.html = function html(text) {\n return text;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n _proto.link = function link(href, title, text) {\n return '' + text;\n };\n\n _proto.image = function image(href, title, text) {\n return '' + text;\n };\n\n _proto.br = function br() {\n return '';\n };\n\n return TextRenderer;\n }();\n /**\n * Slugger generates header id\n */\n\n\n var Slugger_1 = /*#__PURE__*/function () {\n function Slugger() {\n this.seen = {};\n }\n /**\n * Convert string to unique id\n */\n\n\n var _proto = Slugger.prototype;\n\n _proto.slug = function slug(value) {\n var slug = value.toLowerCase().trim() // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '') // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '').replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n\n this.seen[slug] = 0;\n return slug;\n };\n\n return Slugger;\n }();\n\n var defaults$4 = defaults.defaults;\n var unescape$1 = helpers.unescape;\n /**\n * Parsing & Compiling\n */\n\n var Parser_1 = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || defaults$4;\n this.options.renderer = this.options.renderer || new Renderer_1();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer_1();\n this.slugger = new Slugger_1();\n }\n /**\n * Static Parse Method\n */\n\n\n Parser.parse = function parse(tokens, options) {\n var parser = new Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Parse Loop\n */\n ;\n\n var _proto = Parser.prototype;\n\n _proto.parse = function parse(tokens, top) {\n if (top === void 0) {\n top = true;\n }\n\n var out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'space':\n {\n continue;\n }\n\n case 'hr':\n {\n out += this.renderer.hr();\n continue;\n }\n\n case 'heading':\n {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape$1(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n\n case 'code':\n {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n\n case 'table':\n {\n header = ''; // header\n\n cell = '';\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.tokens.header[j]), {\n header: true,\n align: token.align[j]\n });\n }\n\n header += this.renderer.tablerow(cell);\n body = '';\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.tokens.cells[j];\n cell = '';\n l3 = row.length;\n\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k]), {\n header: false,\n align: token.align[k]\n });\n }\n\n body += this.renderer.tablerow(cell);\n }\n\n out += this.renderer.table(header, body);\n continue;\n }\n\n case 'blockquote':\n {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n\n case 'list':\n {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = '';\n\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = '';\n\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'text') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n\n case 'html':\n {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n\n case 'paragraph':\n {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n\n case 'text':\n {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n ;\n\n _proto.parseInline = function parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n var out = '',\n i,\n token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'escape':\n {\n out += renderer.text(token.text);\n break;\n }\n\n case 'html':\n {\n out += renderer.html(token.text);\n break;\n }\n\n case 'link':\n {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'image':\n {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n\n case 'strong':\n {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'em':\n {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'codespan':\n {\n out += renderer.codespan(token.text);\n break;\n }\n\n case 'br':\n {\n out += renderer.br();\n break;\n }\n\n case 'del':\n {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'text':\n {\n out += renderer.text(token.text);\n break;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n };\n\n return Parser;\n }();\n\n var merge$2 = helpers.merge,\n checkSanitizeDeprecation$1 = helpers.checkSanitizeDeprecation,\n escape$2 = helpers.escape;\n var getDefaults = defaults.getDefaults,\n changeDefaults = defaults.changeDefaults,\n defaults$5 = defaults.defaults;\n /**\n * Marked\n */\n\n function marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer_1.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n var done = function done(err) {\n var out;\n\n if (!err) {\n try {\n out = Parser_1.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n if (!tokens.length) return done();\n var pending = 0;\n marked.walkTokens(tokens, function (token) {\n if (token.type === 'code') {\n pending++;\n highlight(token.text, token.lang, function (err, code) {\n if (err) {\n return done(err);\n }\n\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n\n if (pending === 0) {\n done();\n }\n });\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n var _tokens = Lexer_1.lex(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser_1.parse(_tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '<p>An error occurred:</p><pre>' + escape$2(e.message + '', true) + '</pre>';\n }\n\n throw e;\n }\n }\n /**\n * Options\n */\n\n\n marked.options = marked.setOptions = function (opt) {\n merge$2(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = defaults$5;\n /**\n * Use Extension\n */\n\n marked.use = function (extension) {\n var opts = merge$2({}, extension);\n\n if (extension.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer_1();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop];\n\n renderer[prop] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var ret = extension.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (extension.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer_1();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop];\n\n tokenizer[prop] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = extension.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n }\n\n if (extension.walkTokens) {\n var walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n extension.walkTokens(token);\n\n if (walkTokens) {\n walkTokens(token);\n }\n };\n }\n\n marked.setOptions(opts);\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n var token = _step.value;\n callback(token);\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.tokens.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n marked.walkTokens(cell, callback);\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.tokens.cells), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n marked.walkTokens(_cell, callback);\n }\n }\n\n break;\n }\n\n case 'list':\n {\n marked.walkTokens(token.items, callback);\n break;\n }\n\n default:\n {\n if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser_1;\n marked.parser = Parser_1.parse;\n marked.Renderer = Renderer_1;\n marked.TextRenderer = TextRenderer_1;\n marked.Lexer = Lexer_1;\n marked.lexer = Lexer_1.lex;\n marked.Tokenizer = Tokenizer_1;\n marked.Slugger = Slugger_1;\n marked.parse = marked;\n var marked_1 = marked;\n return marked_1;\n});","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimEnd');\n\nvar trimEnd = FORCED ? function trimEnd() {\n return $trimEnd(this);\n} : ''.trimEnd;\n\n// `String.prototype.{ trimEnd, trimRight }` methods\n// https://github.com/tc39/ecmascript-string-left-right-trim\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimEnd: trimEnd,\n trimRight: trimEnd\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport jsonp from 'jsonp';\n/**\n * @constant {string | string} Host for the profile status API call\n * @private\n */\n\nvar _host = process && process.env.PROFILE_HOST || 'https://idaas.iam.ibm.com';\n/**\n * @constant {string | string} API version\n * @private\n */\n\n\nvar _version = process && process.env.PROFILE_VERSION || 'v1';\n/**\n * Profile status endpoint\n *\n * @type {string}\n * @private\n */\n\n\nvar _endpoint = \"\".concat(_host, \"/\").concat(_version, \"/mgmt/idaas/user/status/\");\n/**\n * Profile API class with methods for checking user authentication for ibm.com\n */\n\n\nvar ProfileAPI = /*#__PURE__*/function () {\n function ProfileAPI() {\n _classCallCheck(this, ProfileAPI);\n }\n\n _createClass(ProfileAPI, null, [{\n key: \"getUserStatus\",\n\n /**\n * Returns user status (authenticated or unauthenticated)\n *\n * @returns {Promise<any>} User status\n * @example\n * import { ProfileAPI } from '@carbon/ibmdotcom-services';\n *\n * async function getUserStatus() {\n * const response = await ProfileAPI.getUserStatus();\n * return response;\n * }\n */\n value: function getUserStatus() {\n var url = _endpoint;\n return new Promise(function (resolve, reject) {\n return jsonp(url, null, function (err, data) {\n return err ? reject(err) : resolve(data);\n });\n });\n }\n /**\n * Monitors user status (authenticated or unauthenticated)\n *\n * @example\n * import { ProfileAPI } from '@carbon/ibmdotcom-services';\n *\n * function monitorUserStatus() {\n * ProfileAPI.monitorUserStatus((err, status) => {\n * console.log('The new login status:', status.user);\n * });\n * }\n */\n\n }, {\n key: \"monitorUserStatus\",\n value: function monitorUserStatus(callback) {\n return jsonp(_endpoint, null, callback);\n }\n }]);\n\n return ProfileAPI;\n}();\n\nexport default ProfileAPI;","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome && 'undefined' != typeof chrome.storage ? chrome.storage.local : localstorage();\n/**\n * Colors.\n */\n\nexports.colors = ['lightseagreen', 'forestgreen', 'goldenrod', 'dodgerblue', 'darkorchid', 'crimson'];\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n } // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\n\n return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // is firebug? http://stackoverflow.com/a/398120/376773\n typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // double check webkit in userAgent just in case we are in a worker\n typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n}\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\n\nexports.formatters.j = function (v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n args[0] = (useColors ? '%c' : '') + this.namespace + (useColors ? ' %c' : ' ') + args[0] + (useColors ? '%c ' : ' ') + '+' + exports.humanize(this.diff);\n if (!useColors) return;\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit'); // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function (match) {\n if ('%%' === match) return;\n index++;\n\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n args.splice(lastC, 0, c);\n}\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments);\n}\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch (e) {}\n}\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\n\nfunction load() {\n var r;\n\n try {\n r = exports.storage.debug;\n } catch (e) {} // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\n\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\n\nexports.enable(load());\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _defineProperty(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\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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 _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\n}\n/**\n * Copyright IBM Corp. 2018, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nvar defaultAttributes = {\n // Reference:\n // https://github.com/IBM/carbon-components-react/issues/1392\n // https://github.com/PolymerElements/iron-iconset-svg/pull/47\n // `focusable` is a string attribute which is why we do not use a boolean here\n focusable: 'false',\n preserveAspectRatio: 'xMidYMid meet'\n};\n/**\n * Get supplementary HTML attributes for a given <svg> element based on existing\n * attributes.\n */\n\nfunction getAttributes() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n width = _ref.width,\n height = _ref.height,\n _ref$viewBox = _ref.viewBox,\n viewBox = _ref$viewBox === void 0 ? \"0 0 \".concat(width, \" \").concat(height) : _ref$viewBox,\n attributes = _objectWithoutProperties(_ref, [\"width\", \"height\", \"viewBox\"]);\n\n var tabindex = attributes.tabindex,\n rest = _objectWithoutProperties(attributes, [\"tabindex\"]);\n\n var iconAttributes = _objectSpread2(_objectSpread2(_objectSpread2({}, defaultAttributes), rest), {}, {\n width: width,\n height: height,\n viewBox: viewBox\n }); // TODO: attributes.title assumes that the consumer will implement <title> and\n // correctly set `aria-labelledby`.\n\n\n if (iconAttributes['aria-label'] || iconAttributes['aria-labelledby'] || iconAttributes.title) {\n iconAttributes.role = 'img'; // Reference:\n // https://allyjs.io/tutorials/focusing-in-svg.html\n\n if (tabindex !== undefined && tabindex !== null) {\n iconAttributes.focusable = 'true';\n iconAttributes.tabindex = tabindex;\n }\n } else {\n iconAttributes['aria-hidden'] = true;\n }\n\n return iconAttributes;\n}\n/**\n * Copyright IBM Corp. 2018, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Convert an icon descriptor to a String\n */\n\n\nfunction toString(descriptor) {\n var _descriptor$elem = descriptor.elem,\n elem = _descriptor$elem === void 0 ? 'svg' : _descriptor$elem,\n _descriptor$attrs = descriptor.attrs,\n attrs = _descriptor$attrs === void 0 ? {} : _descriptor$attrs,\n _descriptor$content = descriptor.content,\n content = _descriptor$content === void 0 ? [] : _descriptor$content;\n var children = content.map(toString).join('');\n\n if (elem !== 'svg') {\n return \"<\".concat(elem, \" \").concat(formatAttributes(attrs), \">\").concat(children, \"</\").concat(elem, \">\");\n }\n\n return \"<\".concat(elem, \" \").concat(formatAttributes(getAttributes(attrs)), \">\").concat(children, \"</\").concat(elem, \">\");\n}\n\nfunction formatAttributes(attrs) {\n return Object.keys(attrs).reduce(function (acc, key, index) {\n var attribute = \"\".concat(key, \"=\\\"\").concat(attrs[key], \"\\\"\");\n\n if (index === 0) {\n return attribute;\n }\n\n return acc + ' ' + attribute;\n }, '');\n}\n/**\n * Copyright IBM Corp. 2018, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Convert an icon descriptor to a DOM node.\n */\n\n\nfunction toSVG(descriptor) {\n var _descriptor$elem = descriptor.elem,\n elem = _descriptor$elem === void 0 ? 'svg' : _descriptor$elem,\n _descriptor$attrs = descriptor.attrs,\n attrs = _descriptor$attrs === void 0 ? {} : _descriptor$attrs,\n _descriptor$content = descriptor.content,\n content = _descriptor$content === void 0 ? [] : _descriptor$content;\n var node = document.createElementNS('http://www.w3.org/2000/svg', elem);\n var attributes = elem !== 'svg' ? attrs : getAttributes(attrs);\n Object.keys(attributes).forEach(function (key) {\n node.setAttribute(key, attrs[key]);\n });\n\n for (var i = 0; i < content.length; i++) {\n node.appendChild(toSVG(content[i]));\n }\n\n return node;\n}\n/**\n * Copyright IBM Corp. 2018, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nexport { defaultAttributes, getAttributes, formatAttributes, toString, toSVG };","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function () {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n\n return error;\n};","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Global settings\n *\n * @exports ibmdotcom.settings\n * @type {object} Settings object\n * @property {string} [prefix=dds]\n * Carbon for IBM.com prefix\n *\n */\nvar settings = {\n version: 'Carbon for IBM.com v1.13.0',\n stablePrefix: 'dds'\n};\nexport default settings;","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\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\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","var global = require('../internals/global');\n\nmodule.exports = global;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","'use strict';\n\nvar utils = require('../utils');\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\n\n\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = ['baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath'];\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys);\n var otherKeys = Object.keys(config2).filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n return config;\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 Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Ensure headers exist\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers);\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport axios from 'axios';\nimport geolocation from '@carbon/ibmdotcom-utilities/es/utilities/geolocation/geolocation';\nimport ipcinfoCookie from '@carbon/ibmdotcom-utilities/es/utilities/ipcinfoCookie/ipcinfoCookie';\nimport root from 'window-or-global';\n/**\n * @constant {string | string} Host for the Locale API call\n * @private\n */\n\nvar _host = process && (process.env.REACT_APP_TRANSLATION_HOST || process.env.TRANSLATION_HOST) || 'https://www.ibm.com';\n/**\n * Sets the default location if nothing is returned\n *\n * @type {object}\n * @private\n */\n\n\nvar _localeDefault = {\n lc: 'en',\n cc: 'us'\n};\n/**\n * Default display name for lang combination\n *\n * @type {string}\n * @private\n */\n\nvar _localeNameDefault = 'United States — English';\n/**\n * Locale API endpoint\n *\n * @type {string}\n * @private\n */\n\nvar _endpoint = \"\".concat(_host, \"/common/js/dynamicnav/www/countrylist/jsononly\");\n/**\n * Configuration for axios\n *\n * @type {{headers: {'Content-Type': string}}}\n * @private\n */\n\n\nvar _axiosConfig = {\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n }\n};\n/**\n * Session Storage key for country list\n *\n * @type {string}\n * @private\n */\n\nvar _sessionListKey = 'dds-countrylist';\n/**\n * Two hours in milliseconds to compare session timestamp.\n *\n * @type {number}\n * @private\n */\n\nvar _twoHours = 60 * 60 * 2000;\n/**\n * Use the <html> lang attr to determine a return locale object\n *\n * @type {object}\n * @private\n */\n\n\nvar _getLocaleByLangAttr = function _getLocaleByLangAttr() {\n var _root$document, _root$document$docume;\n\n if ((_root$document = root.document) === null || _root$document === void 0 ? void 0 : (_root$document$docume = _root$document.documentElement) === null || _root$document$docume === void 0 ? void 0 : _root$document$docume.lang) {\n var lang = root.document.documentElement.lang.toLowerCase();\n\n if (lang.indexOf('-') === -1) {\n return _localeDefault;\n } else {\n var codes = lang.split('-');\n return {\n cc: codes[1],\n lc: codes[0]\n };\n }\n } else {\n return _localeDefault;\n }\n};\n/**\n * The cache for in-flight or resolved requests for the country list, keyed by the initiating locale.\n *\n * @type {object<string, LocaleList>}\n */\n\n\nvar _requestsList = {};\n/**\n * Return a locale object based on the DDO API, or \"false\"\n * so the consumer can decide what to do next\n *\n * @type {(object | boolean)}\n * @private\n */\n\nfunction _getLocaleFromDDO() {\n var _ddoLocal$page, _ddoLocal$page$pageIn, _ddoLocal$page2, _ddoLocal$page2$pageI, _ddoLocal$page2$pageI2;\n\n var ddoLocal = Object.assign({}, root.digitalData || {});\n\n if (((_ddoLocal$page = ddoLocal.page) === null || _ddoLocal$page === void 0 ? void 0 : (_ddoLocal$page$pageIn = _ddoLocal$page.pageInfo) === null || _ddoLocal$page$pageIn === void 0 ? void 0 : _ddoLocal$page$pageIn.language) && ((_ddoLocal$page2 = ddoLocal.page) === null || _ddoLocal$page2 === void 0 ? void 0 : (_ddoLocal$page2$pageI = _ddoLocal$page2.pageInfo) === null || _ddoLocal$page2$pageI === void 0 ? void 0 : (_ddoLocal$page2$pageI2 = _ddoLocal$page2$pageI.ibm) === null || _ddoLocal$page2$pageI2 === void 0 ? void 0 : _ddoLocal$page2$pageI2.country)) {\n var lang = {}; // Set proper LC for us to use.\n\n lang.lc = ddoLocal.page.pageInfo.language.substring(0, 2).toLowerCase();\n lang.cc = ddoLocal.page.pageInfo.ibm.country.toLowerCase().trim(); // If there are multiple countries use just the first one for the CC value\n\n if (lang.cc.indexOf(',') > -1) lang.cc = lang.cc.substring(0, lang.cc.indexOf(',')).trim(); // Gb will be uk elsewhere\n\n if (lang.cc === 'gb') {\n lang.cc = 'uk';\n } // Map worldwide (ZZ) pages to US\n\n\n if (lang.cc === 'zz') {\n lang.cc = 'us';\n }\n\n return lang;\n }\n\n return false;\n}\n/**\n * Locale API class with method of fetching user's locale for\n * ibm.com\n */\n\n\nvar LocaleAPI = /*#__PURE__*/function () {\n function LocaleAPI() {\n _classCallCheck(this, LocaleAPI);\n }\n\n _createClass(LocaleAPI, null, [{\n key: \"clearCache\",\n\n /**\n * Clears the cache.\n */\n value: function clearCache() {\n if (typeof sessionStorage !== 'undefined') {\n Object.keys(_requestsList).forEach(function (key) {\n return delete _requestsList[key];\n });\n\n for (var i = 0; i < sessionStorage.length; ++i) {\n var key = sessionStorage.key(i);\n\n if (key.indexOf(_sessionListKey) === 0) {\n sessionStorage.removeItem(key);\n }\n }\n }\n }\n /**\n * Gets the user's locale\n *\n * Grab the locale from the `lang` attribute from html, else\n * check if ipcinfo cookie exists (ipcinfoCookie util)\n * if not, retrieve the user's locale through geolocation util + gets user's\n * browser language preference then set the cookie\n *\n * @returns {object} object with lc and cc\n *\n * @example\n * import { LocaleAPI } from '@carbon/ibmdotcom-services';\n *\n * async function getLocale() {\n * const locale = await LocaleAPI.getLocale();\n * return locale;\n * }\n */\n\n }, {\n key: \"getLocale\",\n value: function () {\n var _getLocale = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var cookie, lang, cc, _lang, lc, list, verifiedCodes;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cookie = ipcinfoCookie.get();\n _context.next = 3;\n return this.getLang();\n\n case 3:\n lang = _context.sent;\n\n if (!lang) {\n _context.next = 10;\n break;\n }\n\n _context.next = 7;\n return this.getList(lang);\n\n case 7:\n return _context.abrupt(\"return\", lang);\n\n case 10:\n if (!(cookie && cookie.cc && cookie.lc)) {\n _context.next = 16;\n break;\n }\n\n _context.next = 13;\n return this.getList(cookie);\n\n case 13:\n return _context.abrupt(\"return\", cookie);\n\n case 16:\n _context.next = 18;\n return geolocation();\n\n case 18:\n cc = _context.sent;\n /**\n * get language preference from browser\n * can return in either 'en-US' format or 'en' so will need to extract language only\n */\n\n _lang = root.navigator.language;\n lc = _lang.split('-')[0];\n\n if (!(cc && lc)) {\n _context.next = 28;\n break;\n }\n\n _context.next = 24;\n return this.getList({\n cc: cc,\n lc: lc\n });\n\n case 24:\n list = _context.sent;\n verifiedCodes = this.verifyLocale(cc, lc, list); // set the ipcInfo cookie\n\n ipcinfoCookie.set(verifiedCodes);\n return _context.abrupt(\"return\", verifiedCodes);\n\n case 28:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getLocale() {\n return _getLocale.apply(this, arguments);\n }\n\n return getLocale;\n }()\n /**\n * Checks for DDO object to return the correct cc and lc\n * Otherwise gets those values from the <html> lang attribute\n *\n * @returns {object} locale object\n *\n * @example\n * import { LocaleAPI } from '@carbon/ibmdotcom-services';\n *\n * function async getLocale() {\n * const locale = await LocaleAPI.getLang();\n * }\n */\n\n }, {\n key: \"getLang\",\n value: function getLang() {\n return new Promise(function (resolve) {\n var getLocaleFromDDO = _getLocaleFromDDO();\n\n if (getLocaleFromDDO) {\n resolve(getLocaleFromDDO);\n } else {\n resolve(_getLocaleByLangAttr());\n }\n });\n }\n /**\n * This fetches the language display name based on language/locale combo\n *\n * @param {object} langCode lang code with cc and lc\n *\n * @returns {Promise<string>} Display name of locale/language\n */\n\n }, {\n key: \"getLangDisplay\",\n value: function () {\n var _getLangDisplay = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(langCode) {\n var lang, list, countries, location;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!langCode) {\n _context2.next = 4;\n break;\n }\n\n _context2.t0 = langCode;\n _context2.next = 7;\n break;\n\n case 4:\n _context2.next = 6;\n return this.getLang();\n\n case 6:\n _context2.t0 = _context2.sent;\n\n case 7:\n lang = _context2.t0;\n _context2.next = 10;\n return this.getList(lang);\n\n case 10:\n list = _context2.sent; // combines the countryList arrays\n\n countries = [];\n list.regionList.forEach(function (region) {\n countries = countries.concat(region.countryList);\n }); // get match for countries with multiple languages\n\n location = countries.filter(function (country) {\n var htmlLang = country.locale.findIndex(function (loc) {\n return loc[0] === \"\".concat(lang.lc, \"-\").concat(lang.cc);\n });\n\n if (htmlLang !== -1) {\n var _country$locale;\n\n var localeMatch = country.locale.filter(function (l) {\n return l.includes(\"\".concat(lang.lc, \"-\").concat(lang.cc));\n });\n\n (_country$locale = country.locale).splice.apply(_country$locale, [0, country.locale.length].concat(_toConsumableArray(localeMatch)));\n\n return country;\n }\n });\n\n if (!location.length) {\n _context2.next = 18;\n break;\n }\n\n return _context2.abrupt(\"return\", \"\".concat(location[0].name, \" \\u2014 \").concat(location[0].locale[0][1]));\n\n case 18:\n return _context2.abrupt(\"return\", _localeNameDefault);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function getLangDisplay(_x) {\n return _getLangDisplay.apply(this, arguments);\n }\n\n return getLangDisplay;\n }()\n /**\n * Get the country list of all supported countries and their languages\n * if not set in session storage\n *\n * @param {object} params params object\n * @param {string} params.cc country code\n * @param {string} params.lc language code\n *\n * @returns {Promise<any>} promise object\n *\n * @example\n * import { LocaleAPI } from '@carbon/ibmdotcom-services';\n *\n * function async getLocale() {\n * const list = await LocaleAPI.getList({ cc: 'us', lc: 'en' });\n * return list;\n * }\n */\n\n }, {\n key: \"getList\",\n value: function () {\n var _getList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref) {\n var _this = this;\n\n var cc, lc;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n cc = _ref.cc, lc = _ref.lc;\n return _context3.abrupt(\"return\", new Promise(function (resolve, reject) {\n _this.fetchList(cc, lc, resolve, reject);\n }));\n\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function getList(_x2) {\n return _getList.apply(this, arguments);\n }\n\n return getList;\n }()\n /**\n * Fetches the list data based on cc/lc combination\n *\n * @param {string} cc country code\n * @param {string} lc language code\n * @param {Function} resolve resolves the Promise\n * @param {Function} reject rejects the promise\n */\n\n }, {\n key: \"fetchList\",\n value: function fetchList(cc, lc, resolve, reject) {\n var _this2 = this;\n\n var itemKey = \"\".concat(_sessionListKey, \"-\").concat(cc, \"-\").concat(lc);\n var sessionList = this.getSessionCache(itemKey);\n\n if (sessionList) {\n resolve(sessionList);\n } else {\n var key = \"\".concat(lc, \"-\").concat(cc);\n\n if (!_requestsList[key]) {\n var url = \"\".concat(_endpoint, \"/\").concat(cc).concat(lc, \"-utf8.json\");\n _requestsList[key] = axios.get(url, _axiosConfig).then(function (response) {\n var data = response.data;\n data['timestamp'] = Date.now();\n sessionStorage.setItem(\"\".concat(_sessionListKey, \"-\").concat(cc, \"-\").concat(lc), JSON.stringify(data));\n return data;\n });\n }\n\n _requestsList[key].then(resolve, function (error) {\n if (cc === _localeDefault.cc && lc === _localeDefault.lc) {\n reject(error);\n } else {\n _this2.fetchList(_localeDefault.cc, _localeDefault.lc, resolve, reject);\n }\n });\n }\n }\n /**\n * Verify that the cc and lc combo is in the list of\n * supported cc-lc combos\n *\n * @param {string} cc country code\n * @param {string} lc language code\n * @param {object} list country list\n *\n * @returns {object} object with lc and cc\n * @example\n * import { LocaleAPI } from '@carbon/ibmdotcom-services';\n *\n * async function getLocale() {\n * const locale = await LocaleAPI.verifyLocale(cc, lc, data);\n * return locale;\n * }\n */\n\n }, {\n key: \"verifyLocale\",\n value: function verifyLocale(cc, lc, list) {\n var priorityLC;\n var locale;\n var language = list && list.regionList.forEach(function (region) {\n return region.countryList.forEach(function (country) {\n var code = country.locale[0][0].split('-');\n var countryCode = code[1];\n var languageCode = code[0];\n\n if (countryCode === cc && languageCode === lc) {\n locale = {\n cc: cc,\n lc: lc\n };\n } // save the priority language associated with the user's country code\n else if (countryCode === cc && !priorityLC) {\n priorityLC = languageCode;\n }\n });\n });\n\n if (!language && priorityLC) {\n locale = {\n cc: cc,\n lc: priorityLC\n };\n }\n\n return locale;\n }\n /**\n * Retrieves session cache and checks if cache needs to be refreshed\n *\n * @param {string} key session storage key\n * @returns {object} session storage object\n */\n\n }, {\n key: \"getSessionCache\",\n value: function getSessionCache(key) {\n var session = typeof sessionStorage === 'undefined' ? undefined : JSON.parse(sessionStorage.getItem(key));\n\n if (!session || !session.timestamp) {\n return;\n }\n\n var currentTime = Date.now(),\n timeDiff = currentTime - session.timestamp;\n\n if (timeDiff > _twoHours) {\n sessionStorage.removeItem(key);\n return;\n }\n\n return session;\n }\n }]);\n\n return LocaleAPI;\n}();\n\nexport default LocaleAPI;","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _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}\n\nmodule.exports = _unsupportedIterableToArray;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\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 } // 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\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\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\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n 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 // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\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 continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\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 } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport root from 'window-or-global';\n/**\n * @constant {boolean} scrollTracker determines whether scroll tracking analytics is enabled\n * @private\n */\n\nvar _scrollTracker = process && process.env.SCROLL_TRACKING === 'true' || false;\n/**\n * Current NODE_ENV\n *\n * @type {string | string}\n * @private\n */\n\n\nvar _env = process && process.env.NODE_ENV || 'development';\n/**\n * Analytics API class with methods for firing analytics events on\n * ibm.com\n */\n\n\nvar AnalyticsAPI = /*#__PURE__*/function () {\n function AnalyticsAPI() {\n _classCallCheck(this, AnalyticsAPI);\n }\n\n _createClass(AnalyticsAPI, null, [{\n key: \"registerEvent\",\n\n /**\n * This method checks that the analytics script has been loaded\n * and fires an event to Coremetrics\n *\n * @param {object} eventData Object with standard IBM metric event properties and values to send to Coremetrics\n *\n * @example\n * import { AnalyticsAPI } from '@carbon/ibmdotcom-services';\n *\n * function fireEvent() {\n * const eventData = {\n * type: 'element',\n * primaryCategory: 'MASTHEAD',\n * eventName: 'CLICK',\n * executionPath: 'masthead__profile',\n * execPathReturnCode: 'none',\n * targetTitle: 'profile'\n * }\n * AnalyticsAPI.registerEvent(eventData);\n * }\n *\n *\n */\n value: function registerEvent(eventData) {\n if (root.ibmStats) {\n root.ibmStats.event(eventData);\n }\n }\n /**\n * Initializes all analytics global tracking init functions\n */\n\n }, {\n key: \"initAll\",\n value: function initAll() {\n this.initScrollTracker();\n this.initDynamicTabs();\n this.initModals();\n }\n /**\n *\n * If scroll tracking is enabled, this method will fire an event for every 400px\n * user scrolls down the page. Only the deepest depth will fire the event (e.g if\n * user scrolls back up the page, the event will not be triggered)\n *\n * @example\n * import { AnalyticsAPI } from '@carbon/ibmdotcom-services';\n *\n * function init() {\n * AnalyticsAPI.initScrollTracker();\n * }\n **/\n\n }, {\n key: \"initScrollTracker\",\n value: function initScrollTracker() {\n if (_scrollTracker) {\n var trackingInterval = 400;\n var trackedMarker = 0;\n var curMarker = 0;\n var didScroll = false;\n var fireEvent = this.registerEvent;\n root.addEventListener('scroll', function () {\n didScroll = true;\n });\n setInterval(function () {\n if (didScroll) {\n didScroll = false;\n curMarker = Math.floor(root.pageYOffset / trackingInterval);\n\n if (curMarker > trackedMarker) {\n trackedMarker = curMarker;\n fireEvent({\n type: 'element',\n primaryCategory: 'SCROLL DISTANCE',\n eventName: trackingInterval * trackedMarker,\n executionPath: root.innerWidth,\n execPathReturnCode: root.innerHeight\n });\n }\n }\n }, 50);\n }\n }\n /**\n * This instantiates an event listener to trigger an event if the Carbon\n * Tabs component is being interacted with by the user\n *\n * @example\n * import { AnalyticsAPI } from '@carbon/ibmdotcom-services';\n *\n * function init() {\n * AnalyticsAPI.initDynamicTabs();\n * }\n */\n\n }, {\n key: \"initDynamicTabs\",\n value: function initDynamicTabs() {\n var tabSelected = this.triggerTabSelected.bind(this);\n root.document.addEventListener('tab-selected', function (evt) {\n tabSelected(evt.target.id, evt.detail.item.innerText);\n });\n }\n /**\n * Triggers to CLICK event for the dynamic tabs\n *\n * @param {string} executionPath Target ID\n * @param {string} targetTitle Target innerText\n */\n\n }, {\n key: \"triggerTabSelected\",\n value: function triggerTabSelected(executionPath, targetTitle) {\n try {\n this.registerEvent({\n type: 'element',\n primaryCategory: 'WIDGET',\n eventName: 'CLICK',\n eventCategoryGroup: 'TABS DYNAMIC',\n executionPath: executionPath,\n targetTitle: targetTitle\n });\n } catch (err) {\n if (_env !== 'production') {\n console.error('Error triggering tab event:', err);\n }\n }\n }\n /**\n * This instantiates an event listener to trigger an event if the Carbon\n * Modal component is being interacted with by the user\n *\n * @example\n * import { AnalyticsAPI } from '@carbon/ibmdotcom-services';\n *\n * function init() {\n * AnalyticsAPI.initModals();\n * }\n */\n\n }, {\n key: \"initModals\",\n value: function initModals() {\n var modalHide = this.triggerModalHide.bind(this);\n root.document.addEventListener('modal-hidden', function (evt) {\n modalHide(evt.target.id, evt.detail.launchingElement.innerText);\n });\n var modalShow = this.triggerModalShow.bind(this);\n root.document.addEventListener('modal-shown', function (evt) {\n modalShow(evt.target.id, evt.detail.launchingElement.innerText);\n });\n }\n /**\n * Triggers the HIDE event for the modal\n *\n * @param {string} executionPath Target ID\n * @param {string} targetTitle Target innerText\n */\n\n }, {\n key: \"triggerModalHide\",\n value: function triggerModalHide(executionPath, targetTitle) {\n try {\n this.registerEvent({\n type: 'element',\n primaryCategory: 'WIDGET',\n eventName: 'HIDE',\n eventCategoryGroup: 'SHOWHIDE',\n executionPath: executionPath,\n targetTitle: targetTitle\n });\n } catch (err) {\n if (_env !== 'production') {\n console.error('Error triggering modal hide event:', err);\n }\n }\n }\n /**\n * Triggers the SHOW event for the modal\n *\n * @param {string} executionPath Target ID\n * @param {string} targetTitle Target innerText\n */\n\n }, {\n key: \"triggerModalShow\",\n value: function triggerModalShow(executionPath, targetTitle) {\n try {\n this.registerEvent({\n type: 'element',\n primaryCategory: 'WIDGET',\n eventName: 'SHOW',\n eventCategoryGroup: 'SHOWHIDE',\n executionPath: executionPath,\n targetTitle: targetTitle\n });\n } catch (err) {\n if (_env !== 'production') {\n console.error('Error triggering modal show event:', err);\n }\n }\n }\n /**\n * Sends video player metrics data\n *\n * @param {object} data event data from the video player\n *\n * @example\n * import { AnalyticsAPI } from '@carbon/ibmdotcom-services';\n *\n *function init() {\n * const data = {\n * playerType: 'kaltura',\n * title: 'Folgers Coffee',\n * currentTime: 1,\n * duration: 60,\n * playerState: 1,\n * videoId: '1_9h94wo6b',\n * };\n *\n * AnalyticsAPI.videoPlayerStats(data);\n *}\n *\n */\n\n }, {\n key: \"videoPlayerStats\",\n value: function videoPlayerStats(data) {\n var playerState = '',\n currentTime = Math.floor(data.currentTime),\n duration = Math.floor(data.duration),\n percentWatched = Math.floor(currentTime / duration * 100); // Set nicenames for player states for event.\n\n switch (data.playerState) {\n case 0:\n playerState = 'launched';\n break;\n\n case 1:\n playerState = 'paused';\n break;\n\n case 2:\n playerState = 'played';\n break;\n\n case 3:\n playerState = 'ended';\n break;\n\n case 99:\n playerState = 'error';\n break;\n\n default:\n }\n\n if (currentTime === 0) {\n currentTime = 'start';\n percentWatched = '0';\n }\n\n if (currentTime >= duration || data.playerState === 3) {\n currentTime = 'end';\n percentWatched = '100';\n } // If went to the end of the video, and fired \"pause\" event, don't fire pause event b/c it's really\n // the end of the video, so just let \"end\" event fire and tag metrics.\n\n\n if (currentTime === 'end' && data.playerState === 1) {\n return;\n }\n\n var eventData = {\n type: 'video',\n primaryCategory: 'VIDEO',\n eventName: data.title,\n eventCategoryGroup: data.playerType,\n executionPath: data.videoId,\n execPathReturnCode: playerState,\n eventVidStatus: data.playerState,\n eventVidTimeStamp: currentTime,\n eventVidLength: duration,\n eventVidPlayed: percentWatched + '%'\n };\n\n try {\n this.registerEvent(eventData);\n } catch (err) {\n if (_env !== 'production') {\n console.error('Error firing video metrics:', err);\n }\n }\n }\n }]);\n\n return AnalyticsAPI;\n}();\n\nexport default AnalyticsAPI;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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\nvar _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _sectionIterator = require('section-iterator');\n\nvar _sectionIterator2 = _interopRequireDefault(_sectionIterator);\n\nvar _reactThemeable = require('react-themeable');\n\nvar _reactThemeable2 = _interopRequireDefault(_reactThemeable);\n\nvar _SectionTitle = require('./SectionTitle');\n\nvar _SectionTitle2 = _interopRequireDefault(_SectionTitle);\n\nvar _ItemsList = require('./ItemsList');\n\nvar _ItemsList2 = _interopRequireDefault(_ItemsList);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar emptyObject = {};\n\nvar defaultRenderInputComponent = function defaultRenderInputComponent(props) {\n return _react2.default.createElement('input', props);\n};\n\nvar defaultRenderItemsContainer = function defaultRenderItemsContainer(_ref) {\n var containerProps = _ref.containerProps,\n children = _ref.children;\n return _react2.default.createElement('div', containerProps, children);\n};\n\nvar defaultTheme = {\n container: 'react-autowhatever__container',\n containerOpen: 'react-autowhatever__container--open',\n input: 'react-autowhatever__input',\n inputOpen: 'react-autowhatever__input--open',\n inputFocused: 'react-autowhatever__input--focused',\n itemsContainer: 'react-autowhatever__items-container',\n itemsContainerOpen: 'react-autowhatever__items-container--open',\n itemsList: 'react-autowhatever__items-list',\n item: 'react-autowhatever__item',\n itemFirst: 'react-autowhatever__item--first',\n itemHighlighted: 'react-autowhatever__item--highlighted',\n sectionContainer: 'react-autowhatever__section-container',\n sectionContainerFirst: 'react-autowhatever__section-container--first',\n sectionTitle: 'react-autowhatever__section-title'\n};\n\nvar Autowhatever = function (_Component) {\n _inherits(Autowhatever, _Component);\n\n function Autowhatever(props) {\n _classCallCheck(this, Autowhatever);\n\n var _this = _possibleConstructorReturn(this, (Autowhatever.__proto__ || Object.getPrototypeOf(Autowhatever)).call(this, props));\n\n _this.storeInputReference = function (input) {\n if (input !== null) {\n _this.input = input;\n }\n };\n\n _this.storeItemsContainerReference = function (itemsContainer) {\n if (itemsContainer !== null) {\n _this.itemsContainer = itemsContainer;\n }\n };\n\n _this.onHighlightedItemChange = function (highlightedItem) {\n _this.highlightedItem = highlightedItem;\n };\n\n _this.getItemId = function (sectionIndex, itemIndex) {\n if (itemIndex === null) {\n return null;\n }\n\n var id = _this.props.id;\n var section = sectionIndex === null ? '' : 'section-' + sectionIndex;\n return 'react-autowhatever-' + id + '-' + section + '-item-' + itemIndex;\n };\n\n _this.onFocus = function (event) {\n var inputProps = _this.props.inputProps;\n\n _this.setState({\n isInputFocused: true\n });\n\n inputProps.onFocus && inputProps.onFocus(event);\n };\n\n _this.onBlur = function (event) {\n var inputProps = _this.props.inputProps;\n\n _this.setState({\n isInputFocused: false\n });\n\n inputProps.onBlur && inputProps.onBlur(event);\n };\n\n _this.onKeyDown = function (event) {\n var _this$props = _this.props,\n inputProps = _this$props.inputProps,\n highlightedSectionIndex = _this$props.highlightedSectionIndex,\n highlightedItemIndex = _this$props.highlightedItemIndex;\n\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n {\n var nextPrev = event.key === 'ArrowDown' ? 'next' : 'prev';\n\n var _this$sectionIterator = _this.sectionIterator[nextPrev]([highlightedSectionIndex, highlightedItemIndex]),\n _this$sectionIterator2 = _slicedToArray(_this$sectionIterator, 2),\n newHighlightedSectionIndex = _this$sectionIterator2[0],\n newHighlightedItemIndex = _this$sectionIterator2[1];\n\n inputProps.onKeyDown(event, {\n newHighlightedSectionIndex: newHighlightedSectionIndex,\n newHighlightedItemIndex: newHighlightedItemIndex\n });\n break;\n }\n\n default:\n inputProps.onKeyDown(event, {\n highlightedSectionIndex: highlightedSectionIndex,\n highlightedItemIndex: highlightedItemIndex\n });\n }\n };\n\n _this.highlightedItem = null;\n _this.state = {\n isInputFocused: false\n };\n\n _this.setSectionsItems(props);\n\n _this.setSectionIterator(props);\n\n _this.setTheme(props);\n\n return _this;\n }\n\n _createClass(Autowhatever, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.ensureHighlightedItemIsVisible();\n } // eslint-disable-next-line camelcase, react/sort-comp\n\n }, {\n key: 'UNSAFE_componentWillReceiveProps',\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.items !== this.props.items) {\n this.setSectionsItems(nextProps);\n }\n\n if (nextProps.items !== this.props.items || nextProps.multiSection !== this.props.multiSection) {\n this.setSectionIterator(nextProps);\n }\n\n if (nextProps.theme !== this.props.theme) {\n this.setTheme(nextProps);\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.ensureHighlightedItemIsVisible();\n }\n }, {\n key: 'setSectionsItems',\n value: function setSectionsItems(props) {\n if (props.multiSection) {\n this.sectionsItems = props.items.map(function (section) {\n return props.getSectionItems(section);\n });\n this.sectionsLengths = this.sectionsItems.map(function (items) {\n return items.length;\n });\n this.allSectionsAreEmpty = this.sectionsLengths.every(function (itemsCount) {\n return itemsCount === 0;\n });\n }\n }\n }, {\n key: 'setSectionIterator',\n value: function setSectionIterator(props) {\n this.sectionIterator = (0, _sectionIterator2.default)({\n multiSection: props.multiSection,\n data: props.multiSection ? this.sectionsLengths : props.items.length\n });\n }\n }, {\n key: 'setTheme',\n value: function setTheme(props) {\n this.theme = (0, _reactThemeable2.default)(props.theme);\n }\n }, {\n key: 'renderSections',\n value: function renderSections() {\n var _this2 = this;\n\n if (this.allSectionsAreEmpty) {\n return null;\n }\n\n var theme = this.theme;\n var _props = this.props,\n id = _props.id,\n items = _props.items,\n renderItem = _props.renderItem,\n renderItemData = _props.renderItemData,\n renderSectionTitle = _props.renderSectionTitle,\n highlightedSectionIndex = _props.highlightedSectionIndex,\n highlightedItemIndex = _props.highlightedItemIndex,\n itemProps = _props.itemProps;\n return items.map(function (section, sectionIndex) {\n var keyPrefix = 'react-autowhatever-' + id + '-';\n var sectionKeyPrefix = keyPrefix + 'section-' + sectionIndex + '-';\n var isFirstSection = sectionIndex === 0; // `key` is provided by theme()\n\n /* eslint-disable react/jsx-key */\n\n return _react2.default.createElement('div', theme(sectionKeyPrefix + 'container', 'sectionContainer', isFirstSection && 'sectionContainerFirst'), _react2.default.createElement(_SectionTitle2.default, {\n section: section,\n renderSectionTitle: renderSectionTitle,\n theme: theme,\n sectionKeyPrefix: sectionKeyPrefix\n }), _react2.default.createElement(_ItemsList2.default, {\n items: _this2.sectionsItems[sectionIndex],\n itemProps: itemProps,\n renderItem: renderItem,\n renderItemData: renderItemData,\n sectionIndex: sectionIndex,\n highlightedItemIndex: highlightedSectionIndex === sectionIndex ? highlightedItemIndex : null,\n onHighlightedItemChange: _this2.onHighlightedItemChange,\n getItemId: _this2.getItemId,\n theme: theme,\n keyPrefix: keyPrefix,\n ref: _this2.storeItemsListReference\n }));\n /* eslint-enable react/jsx-key */\n });\n }\n }, {\n key: 'renderItems',\n value: function renderItems() {\n var items = this.props.items;\n\n if (items.length === 0) {\n return null;\n }\n\n var theme = this.theme;\n var _props2 = this.props,\n id = _props2.id,\n renderItem = _props2.renderItem,\n renderItemData = _props2.renderItemData,\n highlightedSectionIndex = _props2.highlightedSectionIndex,\n highlightedItemIndex = _props2.highlightedItemIndex,\n itemProps = _props2.itemProps;\n return _react2.default.createElement(_ItemsList2.default, {\n items: items,\n itemProps: itemProps,\n renderItem: renderItem,\n renderItemData: renderItemData,\n highlightedItemIndex: highlightedSectionIndex === null ? highlightedItemIndex : null,\n onHighlightedItemChange: this.onHighlightedItemChange,\n getItemId: this.getItemId,\n theme: theme,\n keyPrefix: 'react-autowhatever-' + id + '-'\n });\n }\n }, {\n key: 'ensureHighlightedItemIsVisible',\n value: function ensureHighlightedItemIsVisible() {\n var highlightedItem = this.highlightedItem;\n\n if (!highlightedItem) {\n return;\n }\n\n var itemsContainer = this.itemsContainer;\n var itemOffsetRelativeToContainer = highlightedItem.offsetParent === itemsContainer ? highlightedItem.offsetTop : highlightedItem.offsetTop - itemsContainer.offsetTop;\n var scrollTop = itemsContainer.scrollTop; // Top of the visible area\n\n if (itemOffsetRelativeToContainer < scrollTop) {\n // Item is off the top of the visible area\n scrollTop = itemOffsetRelativeToContainer;\n } else if (itemOffsetRelativeToContainer + highlightedItem.offsetHeight > scrollTop + itemsContainer.offsetHeight) {\n // Item is off the bottom of the visible area\n scrollTop = itemOffsetRelativeToContainer + highlightedItem.offsetHeight - itemsContainer.offsetHeight;\n }\n\n if (scrollTop !== itemsContainer.scrollTop) {\n itemsContainer.scrollTop = scrollTop;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var theme = this.theme;\n var _props3 = this.props,\n id = _props3.id,\n multiSection = _props3.multiSection,\n renderInputComponent = _props3.renderInputComponent,\n renderItemsContainer = _props3.renderItemsContainer,\n highlightedSectionIndex = _props3.highlightedSectionIndex,\n highlightedItemIndex = _props3.highlightedItemIndex;\n var isInputFocused = this.state.isInputFocused;\n var renderedItems = multiSection ? this.renderSections() : this.renderItems();\n var isOpen = renderedItems !== null;\n var ariaActivedescendant = this.getItemId(highlightedSectionIndex, highlightedItemIndex);\n var itemsContainerId = 'react-autowhatever-' + id;\n\n var containerProps = _extends({\n role: 'combobox',\n 'aria-haspopup': 'listbox',\n 'aria-owns': itemsContainerId,\n 'aria-expanded': isOpen\n }, theme('react-autowhatever-' + id + '-container', 'container', isOpen && 'containerOpen'), this.props.containerProps);\n\n var inputComponent = renderInputComponent(_extends({\n type: 'text',\n value: '',\n autoComplete: 'off',\n 'aria-autocomplete': 'list',\n 'aria-controls': itemsContainerId,\n 'aria-activedescendant': ariaActivedescendant\n }, theme('react-autowhatever-' + id + '-input', 'input', isOpen && 'inputOpen', isInputFocused && 'inputFocused'), this.props.inputProps, {\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeyDown: this.props.inputProps.onKeyDown && this.onKeyDown,\n ref: this.storeInputReference\n }));\n var itemsContainer = renderItemsContainer({\n containerProps: _extends({\n id: itemsContainerId,\n role: 'listbox'\n }, theme('react-autowhatever-' + id + '-items-container', 'itemsContainer', isOpen && 'itemsContainerOpen'), {\n ref: this.storeItemsContainerReference\n }),\n children: renderedItems\n });\n return _react2.default.createElement('div', containerProps, inputComponent, itemsContainer);\n }\n }]);\n\n return Autowhatever;\n}(_react.Component);\n\nAutowhatever.propTypes = {\n id: _propTypes2.default.string,\n // Used in aria-* attributes. If multiple Autowhatever's are rendered on a page, they must have unique ids.\n multiSection: _propTypes2.default.bool,\n // Indicates whether a multi section layout should be rendered.\n renderInputComponent: _propTypes2.default.func,\n // When specified, it is used to render the input element.\n renderItemsContainer: _propTypes2.default.func,\n // Renders the items container.\n items: _propTypes2.default.array.isRequired,\n // Array of items or sections to render.\n renderItem: _propTypes2.default.func,\n // This function renders a single item.\n renderItemData: _propTypes2.default.object,\n // Arbitrary data that will be passed to renderItem()\n renderSectionTitle: _propTypes2.default.func,\n // This function gets a section and renders its title.\n getSectionItems: _propTypes2.default.func,\n // This function gets a section and returns its items, which will be passed into `renderItem` for rendering.\n containerProps: _propTypes2.default.object,\n // Arbitrary container props\n inputProps: _propTypes2.default.object,\n // Arbitrary input props\n itemProps: _propTypes2.default.oneOfType([// Arbitrary item props\n _propTypes2.default.object, _propTypes2.default.func]),\n highlightedSectionIndex: _propTypes2.default.number,\n // Section index of the highlighted item\n highlightedItemIndex: _propTypes2.default.number,\n // Highlighted item index (within a section)\n theme: _propTypes2.default.oneOfType([// Styles. See: https://github.com/markdalgleish/react-themeable\n _propTypes2.default.object, _propTypes2.default.array])\n};\nAutowhatever.defaultProps = {\n id: '1',\n multiSection: false,\n renderInputComponent: defaultRenderInputComponent,\n renderItemsContainer: defaultRenderItemsContainer,\n renderItem: function renderItem() {\n throw new Error('`renderItem` must be provided');\n },\n renderItemData: emptyObject,\n renderSectionTitle: function renderSectionTitle() {\n throw new Error('`renderSectionTitle` must be provided');\n },\n getSectionItems: function getSectionItems() {\n throw new Error('`getSectionItems` must be provided');\n },\n containerProps: emptyObject,\n inputProps: emptyObject,\n itemProps: emptyObject,\n highlightedSectionIndex: null,\n highlightedItemIndex: null,\n theme: defaultTheme\n};\nexports.default = Autowhatever;","exports.f = Object.getOwnPropertySymbols;\n","import _regeneratorRuntime from \"/Users/brandonfrye/Sites/9892-ibm-security-managed-security-services-demo/node_modules/@babel/runtime/regenerator\";\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport axios from 'axios';\n\nvar _endpoint = process && process.env.GEO_API || 'https://api.www.s81c.com/webmaster/dbip/';\n/**\n * Utility to retrieve user's country code based on their IP address\n *\n * @example\n * import { geolocation } from '@carbon/ibmdotcom-utilities';\n *\n * const locationInfo = await geolocation();\n *\n * @returns {string} country cc (cc)\n *\n */\n\n\nfunction geolocation() {\n return _geolocation.apply(this, arguments);\n}\n\nfunction _geolocation() {\n _geolocation = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var location, cc;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return axios.get(_endpoint, {\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n }\n }).then(function (response) {\n return response.data;\n });\n\n case 2:\n location = _context.sent;\n cc = location && location.country;\n return _context.abrupt(\"return\", cc);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _geolocation.apply(this, arguments);\n}\n\nexport default geolocation;","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\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, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\nimport Cookies from 'js-cookie';\n/**\n * Name of cookie needed to grab cc and lc\n *\n * @type {string}\n * @private\n */\n\nvar _cookieName = 'ipcInfo';\n/**\n * Utility to set and get the ipcInfo cookie needed to determine country and language code\n */\n\nvar ipcinfoCookie = /*#__PURE__*/function () {\n function ipcinfoCookie() {\n _classCallCheck(this, ipcinfoCookie);\n }\n\n _createClass(ipcinfoCookie, null, [{\n key: \"get\",\n\n /**\n * retreive the ipcInfo cookie that contains the cc and lc\n * decodes and converts to object\n *\n * @example\n * import { ipcinfoCookie } from '@carbon/ibmdotcom-utilities';\n *\n * const info = ipcinfoCookie.get();\n *\n *\n * @returns {object} object containing cc and lc\n */\n value: function get() {\n var ipcinfo = Cookies.get(_cookieName);\n\n if (ipcinfo) {\n var cc;\n var lc;\n var info = decodeURIComponent(ipcinfo).split(';');\n info.map(function (code) {\n var itemParts = code.split('=');\n if (itemParts[0] === 'cc') cc = itemParts[1];\n if (itemParts[0] === 'lc') lc = itemParts[1];\n });\n return {\n cc: cc,\n lc: lc\n };\n }\n }\n /**\n * set the ipcInfo cookie with expiration of a year\n * takes care of converting to string and encoding\n *\n * @param {object} params params object\n * @param {string} params.cc country code\n * @param {string} params.lc language code\n *\n * @example\n * import { ipcinfoCookie } from '@carbon/ibmdotcom-utilities';\n *\n * const locale = {cc: 'us', lc: 'en'}\n * ipcinfoCookie.set(locale);\n *\n */\n\n }, {\n key: \"set\",\n value: function set(_ref) {\n var cc = _ref.cc,\n lc = _ref.lc;\n var info = \"cc=\".concat(cc, \";lc=\").concat(lc);\n Cookies.set(_cookieName, encodeURIComponent(info), {\n expires: 365,\n domain: '.ibm.com'\n });\n }\n }]);\n\n return ipcinfoCookie;\n}();\n\nexport default ipcinfoCookie;","/**\n * Copyright IBM Corp. 2018, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar unstable_tokens = [// Spacing\n'spacing01', 'spacing02', 'spacing03', 'spacing04', 'spacing05', 'spacing06', 'spacing07', 'spacing08', 'spacing09', 'spacing10', 'spacing11', 'spacing12', // Fluid spacing\n'fluidSpacing01', 'fluidSpacing02', 'fluidSpacing03', 'fluidSpacing04', // Layout\n'layout01', 'layout02', 'layout03', 'layout04', 'layout05', 'layout06', 'layout07', // Containers\n'container01', 'container02', 'container03', 'container04', 'container05', // Icon sizes\n'iconSize01', 'iconSize02'];\n/**\n * Copyright IBM Corp. 2018, 2018\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n// Default, Use with em() and rem() functions\n\nvar baseFontSize = 16;\n/**\n * Convert a given px unit to a rem unit\n * @param {number} px\n * @returns {string}\n */\n\nfunction rem(px) {\n return \"\".concat(px / baseFontSize, \"rem\");\n}\n/**\n * Convert a given px unit to a em unit\n * @param {number} px\n * @returns {string}\n */\n\n\nfunction em(px) {\n return \"\".concat(px / baseFontSize, \"em\");\n}\n/**\n * Convert a given px unit to its string representation\n * @param {number} value - number of pixels\n * @returns {string}\n */\n\n\nfunction px(value) {\n return \"\".concat(value, \"px\");\n} // Breakpoint\n// Initial map of our breakpoints and their values\n\n\nvar breakpoints = {\n sm: {\n width: rem(320),\n columns: 4,\n margin: '0'\n },\n md: {\n width: rem(672),\n columns: 8,\n margin: rem(16)\n },\n lg: {\n width: rem(1056),\n columns: 16,\n margin: rem(16)\n },\n xlg: {\n width: rem(1312),\n columns: 16,\n margin: rem(16)\n },\n max: {\n width: rem(1584),\n columns: 16,\n margin: rem(24)\n }\n};\n\nfunction breakpointUp(name) {\n return \"@media (min-width: \".concat(breakpoints[name].width, \")\");\n}\n\nfunction breakpointDown(name) {\n return \"@media (max-width: \".concat(breakpoints[name].width, \")\");\n}\n\nfunction breakpoint() {\n return breakpointUp.apply(void 0, arguments);\n} // Mini-unit\n\n\nvar miniUnit = 8;\n\nfunction miniUnits(count) {\n return rem(miniUnit * count);\n} // Spacing\n\n\nvar spacing01 = miniUnits(0.25);\nvar spacing02 = miniUnits(0.5);\nvar spacing03 = miniUnits(1);\nvar spacing04 = miniUnits(1.5);\nvar spacing05 = miniUnits(2);\nvar spacing06 = miniUnits(3);\nvar spacing07 = miniUnits(4);\nvar spacing08 = miniUnits(5);\nvar spacing09 = miniUnits(6);\nvar spacing10 = miniUnits(8);\nvar spacing11 = miniUnits(10);\nvar spacing12 = miniUnits(12);\nvar spacing = [spacing01, spacing02, spacing03, spacing04, spacing05, spacing06, spacing07, spacing08, spacing09, spacing10, spacing11, spacing12]; // Fluid spacing\n\nvar fluidSpacing01 = 0;\nvar fluidSpacing02 = '2vw';\nvar fluidSpacing03 = '5vw';\nvar fluidSpacing04 = '10vw';\nvar fluidSpacing = [fluidSpacing01, fluidSpacing02, fluidSpacing03, fluidSpacing04]; // Layout\n\nvar layout01 = miniUnits(2);\nvar layout02 = miniUnits(3);\nvar layout03 = miniUnits(4);\nvar layout04 = miniUnits(6);\nvar layout05 = miniUnits(8);\nvar layout06 = miniUnits(12);\nvar layout07 = miniUnits(20);\nvar layout = [layout01, layout02, layout03, layout04, layout05, layout06, layout07]; // Container\n\nvar container01 = miniUnits(3);\nvar container02 = miniUnits(4);\nvar container03 = miniUnits(5);\nvar container04 = miniUnits(6);\nvar container05 = miniUnits(8);\nvar container = [container01, container02, container03, container04, container05]; // Icon\n\nvar iconSize01 = '1rem';\nvar iconSize02 = '1.25rem';\nvar iconSize = [iconSize01, iconSize02];\nexport { unstable_tokens, baseFontSize, rem, em, px, breakpoints, breakpointUp, breakpointDown, breakpoint, miniUnit, miniUnits, spacing01, spacing02, spacing03, spacing04, spacing05, spacing06, spacing07, spacing08, spacing09, spacing10, spacing11, spacing12, spacing, fluidSpacing01, fluidSpacing02, fluidSpacing03, fluidSpacing04, fluidSpacing, layout01, layout02, layout03, layout04, layout05, layout06, layout07, layout, container01, container02, container03, container04, container05, container, iconSize01, iconSize02, iconSize };","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { baseFontSize, breakpoints } from '@carbon/layout';\nimport classnames from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport uniqueid from '@carbon/ibmdotcom-utilities/es/utilities/uniqueid/uniqueid';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * sorts media query min-widths order to ensure the\n * browser returns the proper sources and the specified widths\n *\n * @param {Array} sources image sources and min-widths\n *\n * @returns {Array} sorted array of sources\n */\n\nvar sortSources = function sortSources(sources) {\n var images = sources.map(function (elem) {\n if (typeof elem.breakpoint == 'number') {\n return elem;\n } else {\n return {\n breakpoint: parseFloat(breakpoints[elem.breakpoint].width) * baseFontSize,\n src: elem.src\n };\n }\n });\n return images.sort(function (a, b) {\n return a.breakpoint > b.breakpoint ? -1 : 1;\n });\n};\n/**\n * Picture element.\n */\n\n\nvar Image = function Image(_ref) {\n var classname = _ref.classname,\n sources = _ref.sources,\n defaultSrc = _ref.defaultSrc,\n alt = _ref.alt,\n longDescription = _ref.longDescription,\n Icon = _ref.icon;\n\n if (!defaultSrc || !alt) {\n return null;\n }\n\n var sortedImages = sources ? sortSources(sources) : [];\n var id = uniqueid(\"\".concat(prefix, \"--image-\"));\n return React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--image\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--image__longdescription\")\n }, React.createElement(\"picture\", null, sortedImages.map(function (imgSrc, key) {\n return React.createElement(\"source\", {\n media: \"(min-width: \".concat(imgSrc.breakpoint, \"px)\"),\n key: key,\n srcSet: imgSrc.src\n });\n }), React.createElement(\"img\", {\n className: classnames(\"\".concat(prefix, \"--image__img\"), classname),\n src: defaultSrc,\n alt: alt,\n \"aria-describedby\": longDescription ? \"\".concat(id) : undefined\n })), longDescription ? React.createElement(\"div\", {\n id: id,\n className: \"\".concat(prefix, \"--image__longdescription\")\n }, longDescription) : null, Icon && React.createElement(Icon, {\n className: \"\".concat(prefix, \"--image__icon\")\n }));\n};\n\nexport default Image;","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport axios from 'axios';\nimport { LocaleAPI } from '../Locale';\n/**\n * @constant {string | string} Host for the API calls\n * @private\n */\n\nvar _host = process && process.env.SEARCH_TYPEAHEAD_API || 'https://www-api.ibm.com';\n/**\n * @constant {string | string} API version\n * @private\n */\n\n\nvar _version = process && process.env.SEARCH_TYPEAHEAD_VERSION || 'v1';\n/**\n * SearchTypeahead endpoint\n *\n * @type {string}\n * @private\n */\n\n\nvar _endpoint = \"\".concat(_host, \"/search/typeahead/\").concat(_version);\n/**\n * SearchTypeahead API class with methods of fetching search results for\n * ibm.com\n */\n\n\nvar SearchTypeaheadAPI = /*#__PURE__*/function () {\n function SearchTypeaheadAPI() {\n _classCallCheck(this, SearchTypeaheadAPI);\n }\n\n _createClass(SearchTypeaheadAPI, null, [{\n key: \"getResults\",\n\n /**\n * Gets search results\n *\n * @param {string} query Query string to pass to the service\n * @returns {Promise<any>} Response data from ibm search\n * @example\n * import { SearchTypeaheadAPI } from '@carbon/ibmdotcom-services';\n *\n * async function getResults(query) {\n * const response = await SearchTypeaheadAPI.getResults(query);\n * return response;\n * }\n */\n value: function () {\n var _getResults = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(query) {\n var lang, urlQuery, url;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return LocaleAPI.getLang();\n\n case 2:\n lang = _context.sent;\n urlQuery = [\"lang=\".concat(lang.lc), \"cc=\".concat(lang.cc), \"query=\".concat(encodeURIComponent(query))].join('&');\n url = \"\".concat(_endpoint, \"?\").concat(urlQuery);\n _context.next = 7;\n return axios.get(url, {\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n }\n }).then(function (response) {\n return response.data.response;\n });\n\n case 7:\n return _context.abrupt(\"return\", _context.sent);\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function getResults(_x) {\n return _getResults.apply(this, arguments);\n }\n\n return getResults;\n }()\n }]);\n\n return SearchTypeaheadAPI;\n}();\n\nexport default SearchTypeaheadAPI;","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\n\nvar combineURLs = require('../helpers/combineURLs');\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\n\n\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n\n return requestedURL;\n};","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nexports.default = compareObjects;\n\nfunction compareObjects(objA, objB) {\n var keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n if (objA === objB) {\n return false;\n }\n\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (aKeys.length !== bKeys.length) {\n return true;\n }\n\n var keysMap = {};\n var i = void 0,\n len = void 0;\n\n for (i = 0, len = keys.length; i < len; i++) {\n keysMap[keys[i]] = true;\n }\n\n for (i = 0, len = aKeys.length; i < len; i++) {\n var key = aKeys[i];\n var aValue = objA[key];\n var bValue = objB[key];\n\n if (aValue === bValue) {\n continue;\n }\n\n if (!keysMap[key] || aValue === null || bValue === null || (typeof aValue === 'undefined' ? 'undefined' : _typeof(aValue)) !== 'object' || (typeof bValue === 'undefined' ? 'undefined' : _typeof(bValue)) !== 'object') {\n return true;\n }\n\n var aValueKeys = Object.keys(aValue);\n var bValueKeys = Object.keys(bValue);\n\n if (aValueKeys.length !== bValueKeys.length) {\n return true;\n }\n\n for (var n = 0, length = aValueKeys.length; n < length; n++) {\n var aValueKey = aValueKeys[n];\n\n if (aValue[aValueKey] !== bValue[aValueKey]) {\n return true;\n }\n }\n }\n\n return false;\n}","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _compareObjects = require('./compareObjects');\n\nvar _compareObjects2 = _interopRequireDefault(_compareObjects);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Item = function (_Component) {\n _inherits(Item, _Component);\n\n function Item() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Item);\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 = Item.__proto__ || Object.getPrototypeOf(Item)).call.apply(_ref, [this].concat(args))), _this), _this.storeItemReference = function (item) {\n if (item !== null) {\n _this.item = item;\n }\n }, _this.onMouseEnter = function (event) {\n var _this$props = _this.props,\n sectionIndex = _this$props.sectionIndex,\n itemIndex = _this$props.itemIndex;\n\n _this.props.onMouseEnter(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n }, _this.onMouseLeave = function (event) {\n var _this$props2 = _this.props,\n sectionIndex = _this$props2.sectionIndex,\n itemIndex = _this$props2.itemIndex;\n\n _this.props.onMouseLeave(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n }, _this.onMouseDown = function (event) {\n var _this$props3 = _this.props,\n sectionIndex = _this$props3.sectionIndex,\n itemIndex = _this$props3.itemIndex;\n\n _this.props.onMouseDown(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n }, _this.onClick = function (event) {\n var _this$props4 = _this.props,\n sectionIndex = _this$props4.sectionIndex,\n itemIndex = _this$props4.itemIndex;\n\n _this.props.onClick(event, {\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Item, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects2.default)(nextProps, this.props, ['renderItemData']);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n isHighlighted = _props.isHighlighted,\n item = _props.item,\n renderItem = _props.renderItem,\n renderItemData = _props.renderItemData,\n restProps = _objectWithoutProperties(_props, ['isHighlighted', 'item', 'renderItem', 'renderItemData']);\n\n delete restProps.sectionIndex;\n delete restProps.itemIndex;\n\n if (typeof restProps.onMouseEnter === 'function') {\n restProps.onMouseEnter = this.onMouseEnter;\n }\n\n if (typeof restProps.onMouseLeave === 'function') {\n restProps.onMouseLeave = this.onMouseLeave;\n }\n\n if (typeof restProps.onMouseDown === 'function') {\n restProps.onMouseDown = this.onMouseDown;\n }\n\n if (typeof restProps.onClick === 'function') {\n restProps.onClick = this.onClick;\n }\n\n return _react2.default.createElement('li', _extends({\n role: 'option'\n }, restProps, {\n ref: this.storeItemReference\n }), renderItem(item, _extends({\n isHighlighted: isHighlighted\n }, renderItemData)));\n }\n }]);\n\n return Item;\n}(_react.Component);\n\nItem.propTypes = {\n sectionIndex: _propTypes2.default.number,\n isHighlighted: _propTypes2.default.bool.isRequired,\n itemIndex: _propTypes2.default.number.isRequired,\n item: _propTypes2.default.any.isRequired,\n renderItem: _propTypes2.default.func.isRequired,\n renderItemData: _propTypes2.default.object.isRequired,\n onMouseEnter: _propTypes2.default.func,\n onMouseLeave: _propTypes2.default.func,\n onMouseDown: _propTypes2.default.func,\n onClick: _propTypes2.default.func\n};\nexports.default = Item;","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","/**\n * Helpers.\n */\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n\n throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));\n};\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\n\nfunction parse(str) {\n str = String(str);\n\n if (str.length > 100) {\n return;\n }\n\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);\n\n if (!match) {\n return;\n }\n\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n\n default:\n return undefined;\n }\n}\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n\n return ms + 'ms';\n}\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') || plural(ms, h, 'hour') || plural(ms, m, 'minute') || plural(ms, s, 'second') || ms + ' ms';\n}\n/**\n * Pluralization helper.\n */\n\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n\n return Math.ceil(ms / n) + ' ' + name + 's';\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Item = require('./Item');\n\nvar _Item2 = _interopRequireDefault(_Item);\n\nvar _compareObjects = require('./compareObjects');\n\nvar _compareObjects2 = _interopRequireDefault(_compareObjects);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar ItemsList = function (_Component) {\n _inherits(ItemsList, _Component);\n\n function ItemsList() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, ItemsList);\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 = ItemsList.__proto__ || Object.getPrototypeOf(ItemsList)).call.apply(_ref, [this].concat(args))), _this), _this.storeHighlightedItemReference = function (highlightedItem) {\n _this.props.onHighlightedItemChange(highlightedItem === null ? null : highlightedItem.item);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(ItemsList, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects2.default)(nextProps, this.props, ['itemProps']);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n items = _props.items,\n itemProps = _props.itemProps,\n renderItem = _props.renderItem,\n renderItemData = _props.renderItemData,\n sectionIndex = _props.sectionIndex,\n highlightedItemIndex = _props.highlightedItemIndex,\n getItemId = _props.getItemId,\n theme = _props.theme,\n keyPrefix = _props.keyPrefix;\n var sectionPrefix = sectionIndex === null ? keyPrefix : keyPrefix + 'section-' + sectionIndex + '-';\n var isItemPropsFunction = typeof itemProps === 'function';\n return _react2.default.createElement('ul', _extends({\n role: 'listbox'\n }, theme(sectionPrefix + 'items-list', 'itemsList')), items.map(function (item, itemIndex) {\n var isFirst = itemIndex === 0;\n var isHighlighted = itemIndex === highlightedItemIndex;\n var itemKey = sectionPrefix + 'item-' + itemIndex;\n var itemPropsObj = isItemPropsFunction ? itemProps({\n sectionIndex: sectionIndex,\n itemIndex: itemIndex\n }) : itemProps;\n\n var allItemProps = _extends({\n id: getItemId(sectionIndex, itemIndex),\n 'aria-selected': isHighlighted\n }, theme(itemKey, 'item', isFirst && 'itemFirst', isHighlighted && 'itemHighlighted'), itemPropsObj);\n\n if (isHighlighted) {\n allItemProps.ref = _this2.storeHighlightedItemReference;\n } // `key` is provided by theme()\n\n /* eslint-disable react/jsx-key */\n\n\n return _react2.default.createElement(_Item2.default, _extends({}, allItemProps, {\n sectionIndex: sectionIndex,\n isHighlighted: isHighlighted,\n itemIndex: itemIndex,\n item: item,\n renderItem: renderItem,\n renderItemData: renderItemData\n }));\n /* eslint-enable react/jsx-key */\n }));\n }\n }]);\n\n return ItemsList;\n}(_react.Component);\n\nItemsList.propTypes = {\n items: _propTypes2.default.array.isRequired,\n itemProps: _propTypes2.default.oneOfType([_propTypes2.default.object, _propTypes2.default.func]),\n renderItem: _propTypes2.default.func.isRequired,\n renderItemData: _propTypes2.default.object.isRequired,\n sectionIndex: _propTypes2.default.number,\n highlightedItemIndex: _propTypes2.default.number,\n onHighlightedItemChange: _propTypes2.default.func.isRequired,\n getItemId: _propTypes2.default.func.isRequired,\n theme: _propTypes2.default.func.isRequired,\n keyPrefix: _propTypes2.default.string.isRequired\n};\nItemsList.defaultProps = {\n sectionIndex: null\n};\nexports.default = ItemsList;","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","function _defineProperty(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\nmodule.exports = _defineProperty;","/**\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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0,\n i;\n\n for (i in namespace) {\n hash = (hash << 5) - hash + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\n\nfunction createDebug(namespace) {\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n var self = debug; // set `diff` timestamp\n\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr; // turn the `arguments` into a proper Array\n\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n } // apply any `formatters` transformations\n\n\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val); // now we need to remove `args[index]` since it's inlined in the `format`\n\n args.splice(index, 1);\n index--;\n }\n\n return match;\n }); // apply env-specific formatting (colors, etc.)\n\n exports.formatArgs.call(self, args);\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace); // env-specific initialization logic for debug instances\n\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n exports.names = [];\n exports.skips = [];\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n\n namespaces = split[i].replace(/\\*/g, '.*?');\n\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n/**\n * Disable debug output.\n *\n * @api public\n */\n\n\nfunction disable() {\n exports.enable('');\n}\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\n\nfunction enabled(name) {\n var i, len;\n\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n\n return false;\n}\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AnalyticsAPI } from '../Analytics';\nimport root from 'window-or-global';\n/**\n * Sets the Kaltura Partner ID, set by environment variable \"KALTURA_PARTNER_ID\"\n *\n * @type {number}\n * @private\n */\n\nvar _partnerId = process.env.KALTURA_PARTNER_ID || 1773841;\n/**\n * Sets the Kaltura UIConf ID, set by environment variable \"KALTURA_UICONF_ID\"\n *\n * @type {number}\n * @private\n */\n\n\nvar _uiConfId = process.env.KALTURA_UICONF_ID || 27941801;\n/**\n * @type {string} _embedUrl The API URL to call\n * @private\n */\n\n\nvar _embedUrl = \"https://cdnapisec.kaltura.com/p/\".concat(_partnerId, \"/sp/\").concat(_partnerId, \"00/embedIframeJs/uiconf_id/\").concat(_uiConfId, \"/partner_id/\").concat(_partnerId);\n/**\n * @type {string} _thumbnailUrl\n * @private\n */\n\n\nvar _thumbnailUrl = \"https://cdnsecakmi.kaltura.com/p/\".concat(_partnerId, \"/thumbnail/entry_id/\");\n/**\n * Number of times to retry the script ready loop before failing\n *\n * @type {number}\n * @private\n */\n\n\nvar _timeoutRetries = 50;\n/**\n * Tracks the number of attempts for the script ready loop\n *\n * @type {number}\n * @private\n */\n\nvar _attempt = 0;\n/**\n * Tracks the script status\n *\n * @type {boolean} _scriptLoading to track the script loading or not\n * @private\n */\n\nvar _scriptLoading = false;\n/**\n * Timeout loop to check script state is the _scriptLoaded state or _scriptLoading state\n *\n * @param {Function} resolve Resolve function\n * @param {Function} reject Reject function\n * @private\n */\n\nfunction _scriptReady(resolve, reject) {\n /**\n *\n * @param {object} root.kWidget if exists then resolve\n */\n if (root.kWidget) {\n _scriptLoading = false;\n resolve();\n } else if (_scriptLoading) {\n _attempt++;\n\n if (_attempt < _timeoutRetries) {\n setTimeout(function () {\n _scriptReady(resolve, reject);\n }, 100);\n } else {\n reject();\n }\n } else {\n _loadScript();\n\n _scriptReady(resolve, reject);\n }\n}\n/**\n * Returns boolean if the _scriptLoading and _scriptLoaded flag is false\n *\n * @private\n */\n\n\nfunction _loadScript() {\n _scriptLoading = true;\n var script = document.createElement('script');\n script.src = _embedUrl;\n script.async = true;\n document.body.appendChild(script);\n}\n/**\n *\n * Object to cache video data\n *\n * @private\n */\n\n\nvar videoData = {};\n/**\n * VideoPlayerAPI class with methods of checking script state and\n * embed video meta data and api data\n *\n * In order to set the Partner ID/UIConf ID, set the following environment\n * variables:\n *\n * - KALTURA_PARTNER_ID\n * - KALTURA_UICONF_ID\n */\n\nvar VideoPlayerAPI = /*#__PURE__*/function () {\n function VideoPlayerAPI() {\n _classCallCheck(this, VideoPlayerAPI);\n }\n\n _createClass(VideoPlayerAPI, null, [{\n key: \"checkScript\",\n\n /**\n *\n * Gets the full _scriptReady state\n *\n * @returns {Promise<*>} Promise kaltura video player file\n */\n value: function checkScript() {\n return new Promise(function (resolve, reject) {\n _scriptReady(resolve, reject);\n });\n }\n /**\n * Creates thumbnail image url with customizable params\n *\n * @param {object} params param object\n * @param {string} params.videoId video id\n * @param {string} params.height specify height in pixels\n * @param {string} params.width specify width in pixels\n *\n * @returns {string} url of thumbnail image\n *\n * @example\n * import { VideoPlayerAPI } from '@carbon/ibmdotcom-services';\n *\n * function thumbnail() {\n * const thumbnailData = {\n * videoId: '1_9h94wo6b',\n * height: '240',\n * width: '320'\n * }\n * const thumbnailUrl = VideoPlayerAPI.getThumbnailUrl(thumbnailData);\n * }\n */\n\n }, {\n key: \"getThumbnailUrl\",\n value: function getThumbnailUrl(_ref) {\n var videoId = _ref.videoId,\n height = _ref.height,\n width = _ref.width;\n var url = _thumbnailUrl + videoId;\n if (height) url = url + \"/height/\".concat(height);\n if (width) url = url + \"/width/\".concat(width);\n return url;\n }\n /**\n * Gets the embed meta data\n *\n * @param {string} videoId The videoId we're embedding the placeholder for.\n * @param {string} targetId The targetId the ID where we're putting the placeholder.\n * @param {boolean} autoPlay Determine whether to autoplay on load of video.\n * @returns {object} object\n *\n * @example\n * import { VideoPlayerAPI } from '@carbon/ibmdotcom-services';\n *\n * function embedMyVideo() {\n * const elem = document.getElementById('foo');\n * const videoid = '12345';\n * VideoPlayerAPI.embedVideo(videoid, elem);\n * }\n */\n\n }, {\n key: \"embedVideo\",\n value: function () {\n var _embedVideo = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(videoId, targetId, autoPlay) {\n var fireEvent;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n fireEvent = this.fireEvent;\n _context.next = 3;\n return this.checkScript().then(function () {\n var promiseKWidget = new Promise(function (resolve) {\n root.kWidget.embed({\n targetId: targetId,\n wid: '_' + _partnerId,\n uiconf_id: _uiConfId,\n entry_id: videoId,\n flashvars: {\n autoPlay: autoPlay,\n closedCaptions: {\n plugin: true\n },\n titleLabel: {\n plugin: true,\n align: 'left',\n text: '{mediaProxy.entry.name}'\n }\n },\n // Ready callback is issued for this player:\n readyCallback: function readyCallback(playerId) {\n var kdp = document.getElementById(playerId);\n kdp.addJsListener('playerPaused', function () {\n fireEvent({\n playerState: 1,\n kdp: kdp,\n videoId: videoId\n });\n });\n kdp.addJsListener('playerPlayed', function () {\n fireEvent({\n playerState: 2,\n kdp: kdp,\n videoId: videoId\n });\n });\n kdp.addJsListener('playerPlayEnd', function () {\n fireEvent({\n playerState: 3,\n kdp: kdp,\n videoId: videoId\n });\n });\n resolve(kdp);\n }\n });\n });\n return {\n kWidget: function kWidget() {\n return promiseKWidget;\n }\n };\n });\n\n case 3:\n return _context.abrupt(\"return\", _context.sent);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function embedVideo(_x, _x2, _x3) {\n return _embedVideo.apply(this, arguments);\n }\n\n return embedVideo;\n }()\n /**\n * Fires a metrics event when the video was played.\n * Pass events to common metrics event.\n *\n * @param {object} param params\n * @param {number} param.playerState state detecting different user actions\n * @param {object} param.kdp video object\n * @param {string} param.videoId id of the video\n *\n */\n\n }, {\n key: \"fireEvent\",\n value: function fireEvent(_ref2) {\n var playerState = _ref2.playerState,\n kdp = _ref2.kdp,\n videoId = _ref2.videoId; // If video was played and timestamp is 0, it should be \"launched\" state.\n\n var currentTime = Math.round(kdp.evaluate('{video.player.currentTime}'));\n\n if (playerState === 2 && currentTime === 0) {\n playerState = 0;\n }\n\n var eventData = {\n playerType: 'kaltura',\n title: kdp.evaluate('{mediaProxy.entry.name}'),\n currentTime: currentTime,\n duration: kdp.evaluate('{mediaProxy.entry.duration}'),\n playerState: playerState,\n videoId: videoId\n };\n AnalyticsAPI.videoPlayerStats(eventData);\n }\n /**\n * Gets the api data\n *\n * @param {string} videoId The videoId we're embedding the placeholder for.\n * @returns {object} object\n *\n * @example\n * import { VideoPlayerAPI } from '@carbon/ibmdotcom-services';\n *\n * async function getMyVideoInfo(id) {\n * const data = await VideoPlayerAPI.api(id);\n * console.log(data);\n * }\n */\n\n }, {\n key: \"api\",\n value: function () {\n var _api = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(videoId) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.checkScript().then(function () {\n if (videoData && videoData[videoId]) {\n return videoData[videoId];\n } else {\n return new Promise(function (resolve) {\n return new root.kWidget.api({\n wid: '_' + _partnerId\n }).doRequest({\n service: 'media',\n action: 'get',\n entryId: videoId\n }, function (jsonObj) {\n videoData[jsonObj.id] = jsonObj;\n resolve(jsonObj);\n });\n });\n }\n });\n\n case 2:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function api(_x4) {\n return _api.apply(this, arguments);\n }\n\n return api;\n }()\n /**\n * Convert video duration from milliseconds to HH:MM:SS\n *\n * @param {string} duration video duration in milliseconds\n * @returns {string} converted duration\n */\n\n }, {\n key: \"getVideoDuration\",\n value: function getVideoDuration(duration) {\n var seconds = Math.floor(duration / 1000 % 60);\n var minutes = Math.floor(duration / (1000 * 60) % 60);\n var hours = Math.floor(duration / (1000 * 60 * 60) % 24);\n hours = hours > 0 ? hours + ':' : '';\n seconds = seconds < 10 ? '0' + seconds : seconds;\n return duration && '(' + hours + minutes + ':' + seconds + ')';\n }\n }]);\n\n return VideoPlayerAPI;\n}();\n\nexport default VideoPlayerAPI;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _compareObjects = require('./compareObjects');\n\nvar _compareObjects2 = _interopRequireDefault(_compareObjects);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar SectionTitle = function (_Component) {\n _inherits(SectionTitle, _Component);\n\n function SectionTitle() {\n _classCallCheck(this, SectionTitle);\n\n return _possibleConstructorReturn(this, (SectionTitle.__proto__ || Object.getPrototypeOf(SectionTitle)).apply(this, arguments));\n }\n\n _createClass(SectionTitle, [{\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps) {\n return (0, _compareObjects2.default)(nextProps, this.props);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n section = _props.section,\n renderSectionTitle = _props.renderSectionTitle,\n theme = _props.theme,\n sectionKeyPrefix = _props.sectionKeyPrefix;\n var sectionTitle = renderSectionTitle(section);\n\n if (!sectionTitle) {\n return null;\n }\n\n return _react2.default.createElement('div', theme(sectionKeyPrefix + 'title', 'sectionTitle'), sectionTitle);\n }\n }]);\n\n return SectionTitle;\n}(_react.Component);\n\nSectionTitle.propTypes = {\n section: _propTypes2.default.any.isRequired,\n renderSectionTitle: _propTypes2.default.func.isRequired,\n theme: _propTypes2.default.func.isRequired,\n sectionKeyPrefix: _propTypes2.default.string.isRequired\n};\nexports.default = SectionTitle;","module.exports = require(\"regenerator-runtime\");\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;\n\n(function (factory) {\n var registeredInModuleLoader;\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n registeredInModuleLoader = true;\n }\n\n if (typeof exports === 'object') {\n module.exports = factory();\n registeredInModuleLoader = true;\n }\n\n if (!registeredInModuleLoader) {\n var OldCookies = window.Cookies;\n var api = window.Cookies = factory();\n\n api.noConflict = function () {\n window.Cookies = OldCookies;\n return api;\n };\n }\n})(function () {\n function extend() {\n var i = 0;\n var result = {};\n\n for (; i < arguments.length; i++) {\n var attributes = arguments[i];\n\n for (var key in attributes) {\n result[key] = attributes[key];\n }\n }\n\n return result;\n }\n\n function decode(s) {\n return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n }\n\n function init(converter) {\n function api() {}\n\n function set(key, value, attributes) {\n if (typeof document === 'undefined') {\n return;\n }\n\n attributes = extend({\n path: '/'\n }, api.defaults, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n } // We're using \"expires\" because \"max-age\" is not supported by IE\n\n\n attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n try {\n var result = JSON.stringify(value);\n\n if (/^[\\{\\[]/.test(result)) {\n value = result;\n }\n } catch (e) {}\n\n value = converter.write ? converter.write(value, key) : encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n key = encodeURIComponent(String(key)).replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent).replace(/[\\(\\)]/g, escape);\n var stringifiedAttributes = '';\n\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 } // 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\n\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return document.cookie = key + '=' + value + stringifiedAttributes;\n }\n\n function get(key, json) {\n if (typeof document === 'undefined') {\n return;\n }\n\n var jar = {}; // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var i = 0;\n\n for (; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var cookie = parts.slice(1).join('=');\n\n if (!json && cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n\n try {\n var name = decode(parts[0]);\n cookie = (converter.read || converter)(cookie, name) || decode(cookie);\n\n if (json) {\n try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n }\n\n jar[name] = cookie;\n\n if (key === name) {\n break;\n }\n } catch (e) {}\n }\n\n return key ? jar[key] : jar;\n }\n\n api.set = set;\n\n api.get = function (key) {\n return get(key, false\n /* read as raw */\n );\n };\n\n api.getJSON = function (key) {\n return get(key, true\n /* read as json */\n );\n };\n\n api.remove = function (key, attributes) {\n set(key, '', extend(attributes, {\n expires: -1\n }));\n };\n\n api.defaults = {};\n api.withConverter = init;\n return api;\n }\n\n return init(function () {});\n});","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\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 */\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(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\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\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","'use strict';\n\nmodule.exports = require('./Autowhatever').default;","// Diacritics.js\n// \n// Started as something to be an equivalent of the Google Java Library diacritics library for JavaScript.\n// Found this: http://jsperf.com/diacritics/6 and converted it into a reusable module.\n// \n// @author Nijiko Yonskai\n// @license MIT\n// @copyright Nijikokun 2013 <nijikokun@gmail.com>\n(function (name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition();else if (typeof define == 'function' && define.amd) define(definition);else this[name] = definition();\n})('Diacritics', function () {\n // Create public object\n var output = {\n map: {}\n }; // Create private reference map.\n\n var reference = [{\n 'base': ' ',\n 'letters': \"\\xA0\"\n }, {\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': 'Th',\n 'letters': \"\\xDE\"\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\\u0251\"\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': 'ff',\n 'letters': \"\\uFB00\"\n }, {\n 'base': 'fi',\n 'letters': \"\\uFB01\"\n }, {\n 'base': 'fl',\n 'letters': \"\\uFB02\"\n }, {\n 'base': 'ffi',\n 'letters': \"\\uFB03\"\n }, {\n 'base': 'ffl',\n 'letters': \"\\uFB04\"\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\\xF1n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\\u043B\\u0509\"\n }, {\n 'base': 'nj',\n 'letters': \"\\u01CC\"\n }, {\n 'base': 'o',\n 'letters': \"\\u07C0o\\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': 'oe',\n 'letters': \"\\u0152\\u0153\"\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': 'ss',\n 'letters': '\\xDF'\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': 'th',\n 'letters': \"\\xFE\"\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 }]; // Generate reference mapping\n\n for (var i = 0, refLength = reference.length; i < refLength; i++) {\n var letters = reference[i].letters.split(\"\");\n\n for (var j = 0, letLength = letters.length; j < letLength; j++) {\n output.map[letters[j]] = reference[i].base;\n }\n }\n /**\n * Clean accents (diacritics) from string.\n * \n * @param {String} input String to be cleaned of diacritics.\n * @return {String}\n */\n\n\n output.clean = function (input) {\n if (!input || !input.length || input.length < 1) {\n return \"\";\n }\n\n var string = \"\";\n var letters = input.split(\"\");\n var index = 0;\n var length = letters.length;\n var letter;\n\n for (; index < length; index++) {\n letter = letters[index];\n string += letter in output.map ? output.map[letter] : letter;\n }\n\n return string;\n };\n\n return output;\n});","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar buildFullPath = require('../core/buildFullPath');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle browser request cancellation (as opposed to a manual cancellation)\n\n\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","/**\n * Copyright IBM Corp. 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/**\n * Stores the latast id to increment\n *\n * @type {number} Number stored for the next ID\n * @private\n */\nvar _lastId = 0;\n/**\n * Creates a unique ID to use\n *\n * @param {string=} prefix Prefix to set for the id\n * @returns {string} Unique ID\n *\n * @example\n * import { uniqueid } from '@carbon/ibmdotcom-utilities';\n *\n * const id1 = uniqueid(); // id1\n * const id2 = uniqueid(); // id2\n * const id3 = uniqueid('prefix'); // prefix3\n * const id4 = uniqueid('prefix-'); // prefix-4\n */\n\nfunction uniqueid() {\n var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'id';\n _lastId++;\n return \"\".concat(prefix).concat(_lastId);\n}\n\nexport default uniqueid;","module.exports = require('./lib/axios');","/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport { Image } from '../Image';\n\nvar PlayIcon = function PlayIcon(props) {\n return React.createElement(\"svg\", props, React.createElement(\"title\", null, \"Group 3\"), React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, React.createElement(\"circle\", {\n fillOpacity: \".9\",\n fill: \"#525252\",\n cx: \"32\",\n cy: \"32\",\n r: \"32\"\n }), React.createElement(\"path\", {\n d: \"M26.556 43.111a1 1 0 0 1-1-1v-22a1 1 0 0 1 1.5-.87l19 11a1 1 0 0 1 0 1.74l-19 11a1 1 0 0 1-.5.13z\",\n fill: \"#F3F3F3\",\n fillRule: \"nonzero\"\n })));\n};\n\nPlayIcon.defaultProps = {\n width: \"64\",\n height: \"64\",\n viewBox: \"0 0 64 64\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nimport React from 'react';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport VideoPlayerAPI from '@carbon/ibmdotcom-services/es/services/VideoPlayer/VideoPlayer';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * VideoPlayer Image Overlay component\n */\n\nvar VideoImageOverlay = function VideoImageOverlay(_ref) {\n var videoId = _ref.videoId,\n videoData = _ref.videoData,\n embedVideo = _ref.embedVideo;\n return React.createElement(\"button\", {\n className: \"\".concat(prefix, \"--video-player__image-overlay\"),\n \"data-autoid\": \"\".concat(stablePrefix, \"--video-player__image-overlay\"),\n onClick: function onClick() {\n return _embedPlayer(event, embedVideo);\n }\n }, React.createElement(Image, {\n defaultSrc: VideoPlayerAPI.getThumbnailUrl({\n videoId: videoId,\n width: '655'\n }),\n alt: videoData.name,\n icon: PlayIcon\n }));\n};\n\nvar _embedPlayer = function _embedPlayer(e, embedVideo) {\n var element = e.target;\n element.remove();\n embedVideo(true);\n};\n\nexport default VideoImageOverlay;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n/**\n * Copyright IBM Corp. 2016, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport React, { useEffect, useState } from 'react';\nimport cx from 'classnames';\nimport ddsSettings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings';\nimport settings from 'carbon-components/es/globals/js/settings';\nimport uniqueid from '@carbon/ibmdotcom-utilities/es/utilities/uniqueid/uniqueid';\nimport VideoImageOverlay from './VideoImageOverlay';\nimport VideoPlayerAPI from '@carbon/ibmdotcom-services/es/services/VideoPlayer/VideoPlayer';\nvar stablePrefix = ddsSettings.stablePrefix;\nvar prefix = settings.prefix;\n/**\n * VideoPlayer component.\n */\n\nvar VideoPlayer = function VideoPlayer(_ref) {\n var showCaption = _ref.showCaption,\n videoId = _ref.videoId,\n customClassName = _ref.customClassName,\n autoPlay = _ref.autoPlay,\n aspectRatio = _ref.aspectRatio;\n\n var _useState = useState({\n description: '',\n name: ''\n }),\n _useState2 = _slicedToArray(_useState, 2),\n videoData = _useState2[0],\n setVideoData = _useState2[1]; // embedVideo is set to true when overlay thumbnail is clicked\n\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n embedVideo = _useState4[0],\n setEmbedVideo = _useState4[1];\n\n var videoPlayerId = uniqueid(\"video-player__video-\".concat(videoId, \"-\"));\n var videoDuration = VideoPlayerAPI.getVideoDuration(videoData.msDuration);\n useEffect(function () {\n var stale = false;\n\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var newVideoData;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(autoPlay || embedVideo)) {\n _context.next = 3;\n break;\n }\n\n _context.next = 3;\n return VideoPlayerAPI.embedVideo(videoId, \"\".concat(prefix, \"--\").concat(videoPlayerId), true);\n\n case 3:\n if (!stale) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 5:\n _context.next = 7;\n return VideoPlayerAPI.api(videoId);\n\n case 7:\n newVideoData = _context.sent;\n\n if (!stale) {\n _context.next = 10;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 10:\n setVideoData(newVideoData);\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n\n return function () {\n stale = true;\n };\n }, [autoPlay, videoId, videoPlayerId, embedVideo]);\n var classnames = cx(\"\".concat(prefix, \"--video-player\"), customClassName);\n var aspectRatioClass = cx(_defineProperty({}, \"\".concat(prefix, \"--video-player__aspect-ratio--\").concat(aspectRatio), aspectRatio));\n return React.createElement(\"div\", {\n \"aria-label\": \"\".concat(videoData.name, \" \").concat(videoDuration),\n className: classnames\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--video-player__video-container \").concat(aspectRatioClass),\n \"data-autoid\": \"\".concat(stablePrefix, \"--video-player__video-\").concat(videoId)\n }, React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--video-player__video\"),\n id: \"\".concat(prefix, \"--\").concat(videoPlayerId)\n }, !autoPlay && React.createElement(VideoImageOverlay, {\n videoId: videoId,\n videoData: videoData,\n embedVideo: setEmbedVideo\n }))), showCaption && React.createElement(\"div\", {\n className: \"\".concat(prefix, \"--video-player__video-caption\")\n }, videoData.name, \" \", videoDuration));\n};\n\nVideoPlayer.defaultProps = {\n autoPlay: false\n};\nexport default VideoPlayer;","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Helmet } from 'react-helmet'\nimport { useStaticQuery, graphql } from 'gatsby'\n\nconst SEO = ({ title, description, lang, meta }) => {\n const { site } = useStaticQuery(\n graphql`\n query {\n site {\n siteMetadata {\n author\n description\n name\n title\n siteUrl\n image\n }\n }\n }\n `\n )\n const metaTitle = title || site.siteMetadata.title\n const metaDescription = description || site.siteMetadata.description\n\n\n function getFormattedDate(date) {\n let year = date.getFullYear();\n let month = (1 + date.getMonth()).toString().padStart(2, '0');\n let day = date.getDate().toString().padStart(2, '0');\n\n return month + '/' + day + '/' + year;\n }\n\n return (\n <Helmet\n htmlAttributes={{\n lang,\n }}\n title={metaTitle}\n titleTemplate={`%s | ${site.siteMetadata.title}`}\n meta={[\n {\n name: `description`,\n content: metaDescription,\n },\n {\n property: `og:image`,\n content: site.siteMetadata.image,\n },\n {\n property: `og:title`,\n content: metaTitle,\n },\n {\n property: `og:description`,\n content: metaDescription,\n },\n {\n property: `og:type`,\n content: `interactive`,\n },\n {\n name: `twitter:card`,\n content: `summary_large_image`,\n },\n {\n name: `twitter:creator`,\n content: site.siteMetadata.author,\n },\n {\n name: `twitter:title`,\n content: metaTitle,\n },\n {\n name: `twitter:description`,\n content: metaDescription,\n },\n {\n name: `twitter:image:src`,\n content: site.siteMetadata.image,\n },\n {\n name: `article:author`,\n content: site.siteMetadata.name,\n },\n {\n name: `article:publisher`,\n content: site.siteMetadata.name,\n },\n {\n name: `geo.country`,\n content: `US`,\n },\n {\n name: `dcterms.rights`,\n content: `© Copyright IBM Corp. 2019, 2020`,\n },\n {\n name: `dcterms.date`,\n content: getFormattedDate( new Date() ),\n },\n ].concat(meta)}\n >\n <link rel=\"icon\" href=\"//www.ibm.com/favicon.ico\" />\n </Helmet>\n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n description: ``,\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n}\n\nexport default SEO\n","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.0.8/LICENSE */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = global || self, global.DOMPurify = factory());\n})(this, function () {\n 'use strict';\n\n function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n\n var hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen;\n var freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\n var _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\n if (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n }\n\n if (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n }\n\n if (!seal) {\n seal = function seal(x) {\n return x;\n };\n }\n\n if (!construct) {\n construct = function construct(Func, args) {\n return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();\n };\n }\n\n var arrayForEach = unapply(Array.prototype.forEach);\n var arrayPop = unapply(Array.prototype.pop);\n var arrayPush = unapply(Array.prototype.push);\n var stringToLowerCase = unapply(String.prototype.toLowerCase);\n var stringMatch = unapply(String.prototype.match);\n var stringReplace = unapply(String.prototype.replace);\n var stringIndexOf = unapply(String.prototype.indexOf);\n var stringTrim = unapply(String.prototype.trim);\n var regExpTest = unapply(RegExp.prototype.test);\n var typeErrorCreate = unconstruct(TypeError);\n\n function unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n }\n\n function unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n }\n /* Add properties to a lookup table */\n\n\n function addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n\n while (l--) {\n var element = array[l];\n\n if (typeof element === 'string') {\n var lcElement = stringToLowerCase(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n }\n /* Shallow clone an object */\n\n\n function clone(object) {\n var newObject = create(null);\n var property = void 0;\n\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n }\n\n var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG\n\n var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'audio', 'canvas', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'video', 'view', 'vkern']);\n var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);\n var text = freeze(['#text']);\n var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']);\n var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']); // eslint-disable-next-line unicorn/better-regex\n\n var MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\n var ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\n var DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\n var ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\n var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n );\n var IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n var ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n );\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n function _toConsumableArray$1(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n\n var getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n };\n /**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n\n\n var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n } // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n\n\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html$$1) {\n return html$$1;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n };\n\n function createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '2.2.2';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes; // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n getElementsByTagName = _document.getElementsByTagName,\n createDocumentFragment = _document.createDocumentFragment;\n var importNode = originalDocument.importNode;\n var documentMode = {};\n\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;\n var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,\n ERB_EXPR$$1 = ERB_EXPR,\n DATA_ATTR$$1 = DATA_ATTR,\n ARIA_ATTR$$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));\n /* Allowed attribute names */\n\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n var FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n var FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n var ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n var ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n var SAFE_FOR_TEMPLATES = false;\n /* Decide if document with <html>... should be returned */\n\n var WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n var SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n\n var FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n\n var RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n\n var RETURN_DOM_FRAGMENT = false;\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify.\n *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n\n var RETURN_DOM_IMPORT = true;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n var RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks? */\n\n var SANITIZE_DOM = true;\n /* Keep element content when removing element? */\n\n var KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n\n var IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n var USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']);\n /* Keep a reference to config to pass to hooks */\n\n var CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html);\n addToSet(ALLOWED_ATTR, html$1);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl);\n addToSet(ALLOWED_ATTR, mathMl$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n\n\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n\n try {\n node.parentNode.removeChild(node);\n } catch (_) {\n node.outerHTML = emptyHTML;\n }\n };\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n\n\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name);\n };\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n\n\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc = void 0;\n var leadingWhitespace = void 0;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /* Use the DOMParser API by default, fallback later if needs be */\n\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');\n } catch (_) {}\n /* Use createHTMLDocument in case DOMParser is not available */\n\n\n if (!doc || !doc.documentElement) {\n doc = implementation.createHTMLDocument('');\n var _doc = doc,\n body = _doc.body;\n body.parentNode.removeChild(body.parentNode.firstElementChild);\n body.outerHTML = dirtyPayload;\n }\n\n if (dirty && leadingWhitespace) {\n doc.body.insertBefore(document.createTextNode(leadingWhitespace), doc.body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n\n\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n };\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n\n\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, function () {\n return NodeFilter.FILTER_ACCEPT;\n }, false);\n };\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n\n\n var _isClobbered = function _isClobbered(elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string') {\n return true;\n }\n\n return false;\n };\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n\n\n var _isNode = function _isNode(object) {\n return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n\n\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n\n\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content = void 0;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeElements', currentNode, null);\n /* Check if element is clobbered or can clobber */\n\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check if tagname contains Unicode */\n\n\n if (stringMatch(currentNode.nodeName, /[\\u0080-\\uFFFF]/)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Now let's check the element's type and name */\n\n\n var tagName = stringToLowerCase(currentNode.nodeName);\n /* Execute a hook if present */\n\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Take care of an mXSS pattern using p, br inside svg, math */\n\n\n if ((tagName === 'svg' || tagName === 'math') && currentNode.querySelectorAll('p, br, form, table').length !== 0) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Detect mXSS attempts abusing namespace confusion */\n\n\n if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[!/\\w]/g, currentNode.innerHTML) && regExpTest(/<[!/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Remove element if anything forbids its presence */\n\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName] && typeof currentNode.insertAdjacentHTML === 'function') {\n try {\n var htmlToInsert = currentNode.innerHTML;\n currentNode.insertAdjacentHTML('AfterEnd', trustedTypesPolicy ? trustedTypesPolicy.createHTML(htmlToInsert) : htmlToInsert);\n } catch (_) {}\n }\n\n _forceRemove(currentNode);\n\n return true;\n }\n /* Remove in case a noscript/noembed XSS is suspected */\n\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Sanitize element content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR$$1, ' ');\n content = stringReplace(content, ERB_EXPR$$1, ' ');\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n\n\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n\n\n if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$$1, lcName)) ;else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) ;else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n return false;\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ;else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ;else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ;else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ;else if (!value) ;else {\n return false;\n }\n return true;\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n\n\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr = void 0;\n var value = void 0;\n var lcName = void 0;\n var l = void 0;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n value = stringTrim(attr.value);\n lcName = stringToLowerCase(name);\n /* Execute a hook if present */\n\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n\n\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n\n\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n\n\n if (regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR$$1, ' ');\n value = stringReplace(value, ERB_EXPR$$1, ' ');\n }\n /* Is `value` valid for this attribute? */\n\n\n var lcTag = currentNode.nodeName.toLowerCase();\n\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Handle invalid data-* attribute set by try-catching it */\n\n\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n\n\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode = void 0;\n\n var shadowIterator = _createIterator(fragment);\n /* Execute a hook if present */\n\n\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n /* Deep shadow DOM detected */\n\n\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(shadowNode);\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n\n\n DOMPurify.sanitize = function (dirty, cfg) {\n var body = void 0;\n var importedNode = void 0;\n var currentNode = void 0;\n var oldNode = void 0;\n var returnNode = void 0;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n\n if (!dirty) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n\n\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n /* Check we can run. Otherwise fall back or ignore */\n\n\n if (!DOMPurify.isSupported) {\n if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n /* Assign config vars */\n\n\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n\n\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) ;else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n\n\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n\n if (!body) {\n return RETURN_DOM ? null : emptyHTML;\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n\n\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n\n\n while (currentNode = nodeIterator.nextNode()) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n /* Shadow DOM detected, sanitize it */\n\n\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n /* If we sanitized `dirty` in-place, return it. */\n\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n\n\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (RETURN_DOM_IMPORT) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Sanitize final string template-safe */\n\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n\n\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n\n SET_CONFIG = true;\n };\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n\n\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n\n\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = stringToLowerCase(tag);\n var lcName = stringToLowerCase(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n\n\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n */\n\n\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n arrayPop(hooks[entryPoint]);\n }\n };\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n\n\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n\n\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n }\n\n var purify = createDOMPurify();\n return purify;\n});","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","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}\n\nmodule.exports = _nonIterableRest;","'use strict';\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualArrays;","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","module.exports = false;\n","module.exports = window.DOMPurify || (window.DOMPurify = require('dompurify').default || require('dompurify'));","'use strict';\n\nvar bind = require('./helpers/bind');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\n\n\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction deepMerge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n/** Used as the `TypeError` message for \"Functions\" methods. */\n\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/** Used to stand-in for `undefined` hash values. */\n\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n/** Used to compose bitmasks for comparison styles. */\n\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n/** Used as references for various `Number` constants. */\n\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n/** `Object#toString` result references. */\n\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 promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\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/** Used to match property names within property paths. */\n\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to match backslashes in property paths. */\n\nvar reEscapeChar = /\\\\(\\\\)?/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect host constructors (Safari). */\n\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Used to detect unsigned integer values. */\n\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n/** Used to identify `toStringTag` values of typed arrays. */\n\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/** Detect free variable `exports`. */\n\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n/** Detect free variable `module`. */\n\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n/** Detect the popular CommonJS extension `module.exports`. */\n\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n/** Detect free variable `process` from Node.js. */\n\nvar freeProcess = moduleExports && freeGlobal.process;\n/** Used to access faster Node.js helpers. */\n\nvar nodeUtil = function () {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}();\n/* Node.js helper references. */\n\n\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n\n return false;\n}\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n\n\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while (fromRight ? index-- : ++index < length) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n\n return -1;\n}\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n\n\nfunction baseProperty(key) {\n return function (object) {\n return object == null ? undefined : object[key];\n };\n}\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 */\n\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\n return result;\n}\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 */\n\n\nfunction baseUnary(func) {\n return function (value) {\n return func(value);\n };\n}\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 */\n\n\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\n\n\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n\n return result;\n}\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n\n\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n map.forEach(function (value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\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 */\n\n\nfunction overArg(func, transform) {\n return function (arg) {\n return func(transform(arg));\n };\n}\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n\n\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n set.forEach(function (value) {\n result[++index] = value;\n });\n return result;\n}\n/** Used for built-in method references. */\n\n\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n/** Used to detect overreaching core-js shims. */\n\nvar coreJsData = root['__core-js_shared__'];\n/** Used to detect methods masquerading as native. */\n\nvar maskSrcKey = function () {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? 'Symbol(src)_1.' + uid : '';\n}();\n/** Used to resolve the decompiled source of functions. */\n\n\nvar funcToString = funcProto.toString;\n/** Used to check objects for own properties. */\n\nvar hasOwnProperty = objectProto.hasOwnProperty;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/** Used to detect if a method is native. */\n\nvar reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&').replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n/** Built-in value references. */\n\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min;\n/* Built-in method references that are verified to be native. */\n\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n/** Used to detect maps, sets, and weakmaps. */\n\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n/** Used to convert symbols to primitives and strings. */\n\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n\n\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\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 */\n\n\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\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 */\n\n\nfunction hashGet(key) {\n var data = this.__data__;\n\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\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 */\n\n\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\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 */\n\n\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;\n return this;\n} // Add methods to `Hash`.\n\n\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n\n\nfunction listCacheClear() {\n this.__data__ = [];\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 */\n\n\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n\n var lastIndex = data.length - 1;\n\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n\n return true;\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 */\n\n\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n return index < 0 ? undefined : data[index][1];\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 */\n\n\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\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 */\n\n\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n\n return this;\n} // Add methods to `ListCache`.\n\n\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\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 */\n\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n this.clear();\n\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n\n\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash(),\n 'map': new (Map || ListCache)(),\n 'string': new Hash()\n };\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 */\n\n\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\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 */\n\n\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\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 */\n\n\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\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 */\n\n\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n} // Add methods to `MapCache`.\n\n\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n this.__data__ = new MapCache();\n\n while (++index < length) {\n this.add(values[index]);\n }\n}\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n\n\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n\n return this;\n}\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n\n\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n} // Add methods to `SetCache`.\n\n\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\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 */\n\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n\n\nfunction stackClear() {\n this.__data__ = new ListCache();\n}\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 */\n\n\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\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 */\n\n\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\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 */\n\n\nfunction stackHas(key) {\n return this.__data__.has(key);\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 */\n\n\nfunction stackSet(key, value) {\n var cache = this.__data__;\n\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n\n if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) {\n pairs.push([key, value]);\n return this;\n }\n\n cache = this.__data__ = new MapCache(pairs);\n }\n\n cache.set(key, value);\n return this;\n} // Add methods to `Stack`.\n\n\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\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 */\n\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = isArray(value) || isArguments(value) ? baseTimes(value.length, String) : [];\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n\n return result;\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 */\n\n\nfunction assocIndexOf(array, key) {\n var length = array.length;\n\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n\n return -1;\n}\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n\n\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n\n return index && index == length ? object : undefined;\n}\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n\n\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n\n\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n\n\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n\n if (value == null || other == null || !isObject(value) && !isObjectLike(other)) {\n return value !== value && other !== other;\n }\n\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n\n\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack());\n return objIsArr || isTypedArray(object) ? equalArrays(object, other, equalFunc, customizer, bitmask, stack) : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n stack || (stack = new Stack());\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n\n if (!isSameTag) {\n return false;\n }\n\n stack || (stack = new Stack());\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n\n\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n\n object = Object(object);\n\n while (index--) {\n var data = matchData[index];\n\n if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {\n return false;\n }\n }\n\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack();\n\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n\n if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack) : result)) {\n return false;\n }\n }\n }\n\n return true;\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 */\n\n\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n\n var pattern = isFunction(value) || isHostObject(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\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 */\n\n\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n\n\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n\n if (value == null) {\n return identity;\n }\n\n if (typeof value == 'object') {\n return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);\n }\n\n return property(value);\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 */\n\n\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n\n var result = [];\n\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n\n return result;\n}\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n\n\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n\n return function (object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n\n\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n\n return function (object) {\n var objValue = get(object, path);\n return objValue === undefined && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n\n\nfunction basePropertyDeep(path) {\n return function (object) {\n return baseGet(object, path);\n };\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 */\n\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\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\n\n\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n\n\nfunction createFind(findIndexFunc) {\n return function (collection, predicate, fromIndex) {\n var iterable = Object(collection);\n\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n\n predicate = function predicate(key) {\n return iteratee(iterable[key], key, iterable);\n };\n }\n\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n\n\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n } // Assume cyclic values are equal.\n\n\n var stacked = stack.get(array);\n\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n\n var index = -1,\n result = true,\n seen = bitmask & UNORDERED_COMPARE_FLAG ? new SetCache() : undefined;\n stack.set(array, other);\n stack.set(other, array); // Ignore non-index properties.\n\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);\n }\n\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n\n result = false;\n break;\n } // Recursively compare arrays (susceptible to call stack limits).\n\n\n if (seen) {\n if (!arraySome(other, function (othValue, othIndex) {\n if (!seen.has(othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n result = false;\n break;\n }\n }\n\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n\n\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {\n return false;\n }\n\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == other + '';\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n } // Assume cyclic values are equal.\n\n\n var stacked = stack.get(object);\n\n if (stacked) {\n return stacked == other;\n }\n\n bitmask |= UNORDERED_COMPARE_FLAG; // Recursively compare objects (susceptible to call stack limits).\n\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n\n }\n\n return false;\n}\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n\n\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n\n var index = objLength;\n\n while (index--) {\n var key = objProps[index];\n\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n } // Assume cyclic values are equal.\n\n\n var stacked = stack.get(object);\n\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n var skipCtor = isPartial;\n\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);\n } // Recursively compare objects (susceptible to call stack limits).\n\n\n if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack) : compared)) {\n result = false;\n break;\n }\n\n skipCtor || (skipCtor = key == 'constructor');\n }\n\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor; // Non `Object` object instances with different constructors are not equal.\n\n if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n\n stack['delete'](object);\n stack['delete'](other);\n return result;\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 */\n\n\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n}\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n\n\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n result[length] = [key, value, isStrictComparable(value)];\n }\n\n return result;\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 */\n\n\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\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 */\n\n\nvar getTag = baseGetTag; // Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\n\nif (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {\n getTag = function getTag(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString:\n return dataViewTag;\n\n case mapCtorString:\n return mapTag;\n\n case promiseCtorString:\n return promiseTag;\n\n case setCtorString:\n return setTag;\n\n case weakMapCtorString:\n return weakMapTag;\n }\n }\n\n return result;\n };\n}\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n\n\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n\n object = object[key];\n }\n\n if (result) {\n return result;\n }\n\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));\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 */\n\n\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n}\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n\n\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n\n var type = typeof value;\n\n if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {\n return true;\n }\n\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n}\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 */\n\n\nfunction isKeyable(value) {\n var type = typeof value;\n return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;\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 */\n\n\nfunction isMasked(func) {\n return !!maskSrcKey && maskSrcKey in func;\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 */\n\n\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;\n return value === proto;\n}\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n\n\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n\n\nfunction matchesStrictComparable(key, srcValue) {\n return function (object) {\n if (object == null) {\n return false;\n }\n\n return object[key] === srcValue && (srcValue !== undefined || key in Object(object));\n };\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 */\n\n\nvar stringToPath = memoize(function (string) {\n string = toString(string);\n var result = [];\n\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n\n string.replace(rePropName, function (match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : number || match);\n });\n return result;\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 */\n\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\n\n\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n\n try {\n return func + '';\n } catch (e) {}\n }\n\n return '';\n}\n/**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n\n\nfunction findLastIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n\n if (!length) {\n return -1;\n }\n\n var index = length - 1;\n\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n\n return baseFindIndex(array, baseIteratee(predicate, 3), index, true);\n}\n/**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n\n\nvar findLast = createFind(findLastIndex);\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 `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 */\n\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || resolver && typeof resolver != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n var memoized = function memoized() {\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\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n\n memoized.cache = new (memoize.Cache || MapCache)();\n return memoized;\n} // Assign cache to `_.memoize`.\n\n\nmemoize.Cache = MapCache;\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 */\n\nfunction eq(value, other) {\n return value === other || value !== value && other !== other;\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 */\n\n\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\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 */\n\n\nvar isArray = Array.isArray;\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 */\n\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n\n\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\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 */\n\n\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\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 */\n\n\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\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 */\n\n\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\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 */\n\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\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 */\n\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\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 */\n\n\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n\n value = toNumber(value);\n\n if (value === INFINITY || value === -INFINITY) {\n var sign = value < 0 ? -1 : 1;\n return sign * MAX_INTEGER;\n }\n\n return value === value ? value : 0;\n}\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n\n\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n return result === result ? remainder ? result - remainder : result : 0;\n}\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\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 process.\n * @returns {string} Returns the 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 */\n\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n\n\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n\n\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\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 */\n\n\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\n\n\nfunction identity(value) {\n return value;\n}\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\n\n\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = findLast;","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar mergeConfig = require('./core/mergeConfig');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;"],"sourceRoot":""}